diff --git a/benchmark/Directory.Build.props b/benchmark/Directory.Build.props index 2b1c507f4c6..90d1a8b087d 100644 --- a/benchmark/Directory.Build.props +++ b/benchmark/Directory.Build.props @@ -8,7 +8,7 @@ - + diff --git a/eng/Versions.props b/eng/Versions.props index a0f3f7c46df..312129d9c5d 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -52,6 +52,8 @@ 1.15.1 3.0.3 2.3.2 + 11.0.0-beta.26263.112 + 2.2.2 diff --git a/test/Directory.Build.props b/test/Directory.Build.props index cfd767dcf83..530081e5a0c 100644 --- a/test/Directory.Build.props +++ b/test/Directory.Build.props @@ -2,10 +2,14 @@ - $(NoWarn);CA1707;1591;xUnit1000;xUnit1003;xUnit1004;xUnit1010;xUnit1013;xUnit1026;xUnit2013;xUnit1024 + $(NoWarn);CA1707;1591;xUnit1000;xUnit1003;xUnit1004;xUnit1010;xUnit1013;xUnit1026;xUnit2013;xUnit1024;xUnit1051;xUnit1031 $(MSBuildThisFileDirectory)..\rulesets\EFCore.test.ruleset preview false + + XUnitV3 + + diff --git a/test/Directory.Packages.props b/test/Directory.Packages.props index 9aa6a3a2cc6..d12e9870d21 100644 --- a/test/Directory.Packages.props +++ b/test/Directory.Packages.props @@ -22,5 +22,8 @@ + + + diff --git a/test/EFCore.Analyzers.Tests/EFCore.Analyzers.Tests.csproj b/test/EFCore.Analyzers.Tests/EFCore.Analyzers.Tests.csproj index e7ddaa47503..ea0f454be00 100644 --- a/test/EFCore.Analyzers.Tests/EFCore.Analyzers.Tests.csproj +++ b/test/EFCore.Analyzers.Tests/EFCore.Analyzers.Tests.csproj @@ -1,4 +1,4 @@ - + $(DefaultNetCoreTargetFramework) @@ -34,7 +34,6 @@ - diff --git a/test/EFCore.Analyzers.Tests/InternalUsageDiagnosticAnalyzerTests.cs b/test/EFCore.Analyzers.Tests/InternalUsageDiagnosticAnalyzerTests.cs index 2b4af91332a..d8c724e425f 100644 --- a/test/EFCore.Analyzers.Tests/InternalUsageDiagnosticAnalyzerTests.cs +++ b/test/EFCore.Analyzers.Tests/InternalUsageDiagnosticAnalyzerTests.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.CodeAnalysis; @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore; public class InternalUsageDiagnosticAnalyzerTests { - [ConditionalFact] + [Fact] public Task Invocation_on_type_in_internal_namespace() => VerifySingleInternalUsageAsync( """ @@ -25,7 +25,7 @@ void M() } """, "Microsoft.EntityFrameworkCore.Internal.MethodInfoExtensions"); - [ConditionalFact] + [Fact] public Task Instantiation_on_type_in_internal_namespace() => VerifySingleInternalUsageAsync( """ @@ -38,7 +38,7 @@ void M() } """, "Microsoft.EntityFrameworkCore.Infrastructure.Internal.CoreSingletonOptions"); - [ConditionalFact] + [Fact] public async Task Base_type() { var source = """ @@ -62,7 +62,7 @@ await VerifyCS.VerifyAnalyzerAsync( .WithArguments("Microsoft.EntityFrameworkCore.Storage.Internal.RawRelationalParameter")); } - [ConditionalFact] + [Fact] public Task Implemented_interface() => VerifySingleInternalUsageAsync( """ @@ -77,7 +77,7 @@ class {|#0:MyClass|} : IDbSetSource } """, "Microsoft.EntityFrameworkCore.Internal.IDbSetSource"); - [ConditionalFact] + [Fact] public Task Access_property_with_internal_attribute() => VerifySingleInternalUsageAsync( """ @@ -90,7 +90,7 @@ void M() } """, "Microsoft.EntityFrameworkCore.Infrastructure.EntityFrameworkRelationalServicesBuilder.RelationalServices"); - [ConditionalFact] + [Fact] public Task Instantiation_with_ctor_with_internal_attribute() => VerifySingleInternalUsageAsync( """ @@ -103,7 +103,7 @@ void M() } """, "Microsoft.EntityFrameworkCore.Update.UpdateSqlGeneratorDependencies"); - [ConditionalFact] + [Fact] public Task Local_variable_declaration() => VerifySingleInternalUsageAsync( """ @@ -116,7 +116,7 @@ void M() } """, "Microsoft.EntityFrameworkCore.ChangeTracking.Internal.IStateManager"); - [ConditionalFact] + [Fact] public Task Generic_type_parameter_in_method_call() => VerifySingleInternalUsageAsync( """ @@ -131,7 +131,7 @@ void SomeGenericMethod() {} } """, "Microsoft.EntityFrameworkCore.ChangeTracking.Internal.IStateManager"); - [ConditionalFact] + [Fact] public Task Typeof() => VerifySingleInternalUsageAsync( """ @@ -144,7 +144,7 @@ void M() } """, "Microsoft.EntityFrameworkCore.ChangeTracking.Internal.IStateManager"); - [ConditionalFact] + [Fact] public Task Field_declaration() => VerifySingleInternalUsageAsync( """ @@ -154,7 +154,7 @@ class MyClass } """, "Microsoft.EntityFrameworkCore.ChangeTracking.Internal.IStateManager"); - [ConditionalFact] + [Fact] public Task Property_declaration() => VerifySingleInternalUsageAsync( """ @@ -164,7 +164,7 @@ class MyClass } """, "Microsoft.EntityFrameworkCore.ChangeTracking.Internal.IStateManager"); - [ConditionalFact] + [Fact] public Task Method_declaration_return_type() => VerifySingleInternalUsageAsync( """ @@ -174,7 +174,7 @@ class MyClass } """, "Microsoft.EntityFrameworkCore.ChangeTracking.Internal.IStateManager"); - [ConditionalFact] + [Fact] public Task Method_declaration_parameter() => VerifySingleInternalUsageAsync( """ @@ -184,7 +184,7 @@ private void Foo({|#0:Microsoft.EntityFrameworkCore.ChangeTracking.Internal.ISta } """, "Microsoft.EntityFrameworkCore.ChangeTracking.Internal.IStateManager"); - [ConditionalFact] + [Fact] public Task No_warning_on_non_internal() => VerifyCS.VerifyAnalyzerAsync( """ @@ -198,7 +198,7 @@ void M() } """); - [ConditionalFact] + [Fact] public Task No_warning_in_same_assembly() => VerifyCS.VerifyAnalyzerAsync( """ diff --git a/test/EFCore.Analyzers.Tests/UninitializedDbSetDiagnosticSuppressorTests.cs b/test/EFCore.Analyzers.Tests/UninitializedDbSetDiagnosticSuppressorTests.cs index dea9afcd00e..e5b42ab380c 100644 --- a/test/EFCore.Analyzers.Tests/UninitializedDbSetDiagnosticSuppressorTests.cs +++ b/test/EFCore.Analyzers.Tests/UninitializedDbSetDiagnosticSuppressorTests.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore; public class UninitializedDbSetDiagnosticSuppressorTests { - [ConditionalFact] + [Fact] public Task DbSet_property_on_DbContext_is_suppressed() => VerifySingleSuppressionAsync( """ @@ -24,7 +24,7 @@ public class Blog } """); - [ConditionalFact] + [Fact] public Task Non_public_DbSet_property_on_DbContext_is_suppressed() => VerifySingleSuppressionAsync( """ @@ -39,7 +39,7 @@ public class Blog } """); - [ConditionalFact] + [Fact] public Task DbSet_property_with_non_public_setter_on_DbContext_is_suppressed() => VerifySingleSuppressionAsync( """ @@ -54,7 +54,7 @@ public class Blog } """); - [ConditionalFact] + [Fact] public Task DbSet_property_without_setter_on_DbContext_is_not_suppressed() => VerifySingleSuppressionAsync( """ @@ -69,7 +69,7 @@ public class Blog } """, isSuppressed: false); - [ConditionalFact] + [Fact] public Task Static_DbSet_property_on_DbContext_is_not_suppressed() => VerifySingleSuppressionAsync( """ @@ -84,7 +84,7 @@ public class Blog } """, isSuppressed: false); - [ConditionalFact] + [Fact] public Task Non_DbSet_property_on_DbContext_is_not_suppressed() => VerifySingleSuppressionAsync( """ @@ -94,7 +94,7 @@ public class MyDbContext : Microsoft.EntityFrameworkCore.DbContext } """, isSuppressed: false); - [ConditionalFact] + [Fact] public Task DbSet_property_on_non_DbContext_is_not_suppressed() => VerifySingleSuppressionAsync( """ @@ -109,7 +109,7 @@ public class Blog } """, isSuppressed: false); - [ConditionalFact] + [Fact] public async Task DbSet_property_on_DbContext_with_ctor_is_suppressed() { var source = """ @@ -140,7 +140,7 @@ public class Blog }.RunAsync(); } - [ConditionalFact] + [Fact] public async Task DbSet_property_on_DbContext_with_ctors_is_suppressed() { var source = """ diff --git a/test/EFCore.AspNet.InMemory.FunctionalTests/AppServiceProviderFactoryTest.cs b/test/EFCore.AspNet.InMemory.FunctionalTests/AppServiceProviderFactoryTest.cs index 0aef69742ae..448a74b28e7 100644 --- a/test/EFCore.AspNet.InMemory.FunctionalTests/AppServiceProviderFactoryTest.cs +++ b/test/EFCore.AspNet.InMemory.FunctionalTests/AppServiceProviderFactoryTest.cs @@ -1,15 +1,13 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Design.Internal; using Microsoft.EntityFrameworkCore.Internal; -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore; public class AppServiceProviderFactoryTest { - [ConditionalFact] + [Fact] public void Create_services_from_template_method() { TestCreateServices(typeof(ProgramWithBuildWebHost)); @@ -57,8 +55,7 @@ public static TestWebHostBuilder CreateHostBuilder(string[] args) } } - [ConditionalFact] - [PlatformSkipCondition(TestUtilities.Xunit.TestPlatform.Mac)] + [Fact, SkipOnPlatform(TestPlatforms.OSX, "Test does not run on macOS")] public void Create_with_no_builder_method() { var factory = new TestAppServiceProviderFactory( @@ -95,7 +92,7 @@ private static ServiceProvider BuildTestServiceProvider() private class TestService; - [ConditionalFact] + [Fact] public void Create_works_when_no_BuildWebHost() { var factory = new TestAppServiceProviderFactory( @@ -108,7 +105,7 @@ public void Create_works_when_no_BuildWebHost() private class ProgramWithoutBuildWebHost; - [ConditionalFact] + [Fact] public void Create_works_when_BuildWebHost_throws() { var reporter = new TestOperationReporter(); diff --git a/test/EFCore.AspNet.InMemory.FunctionalTests/EFCore.AspNet.InMemory.FunctionalTests.csproj b/test/EFCore.AspNet.InMemory.FunctionalTests/EFCore.AspNet.InMemory.FunctionalTests.csproj index 3774b870241..d40d8bb1891 100644 --- a/test/EFCore.AspNet.InMemory.FunctionalTests/EFCore.AspNet.InMemory.FunctionalTests.csproj +++ b/test/EFCore.AspNet.InMemory.FunctionalTests/EFCore.AspNet.InMemory.FunctionalTests.csproj @@ -33,7 +33,6 @@ - diff --git a/test/EFCore.AspNet.Specification.Tests/AspNetIdentityCustomTypesDefaultTestBase.cs b/test/EFCore.AspNet.Specification.Tests/AspNetIdentityCustomTypesDefaultTestBase.cs index cf17cef20be..9091d0b5762 100644 --- a/test/EFCore.AspNet.Specification.Tests/AspNetIdentityCustomTypesDefaultTestBase.cs +++ b/test/EFCore.AspNet.Specification.Tests/AspNetIdentityCustomTypesDefaultTestBase.cs @@ -13,7 +13,7 @@ public abstract class AspNetIdentityCustomTypesDefaultTestBase(TFixtur CustomUserClaimString, CustomUserRoleString, CustomUserLoginString, CustomRoleClaimString, CustomUserTokenString>. AspNetIdentityFixtureBase { - [ConditionalFact] + [Fact] public async Task Can_lazy_load_User_navigations() { var userId = ""; @@ -36,7 +36,7 @@ await ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalFact] + [Fact] public async Task Can_lazy_load_Role_navigations() => await ExecuteWithStrategyInTransactionAsync( async context => @@ -51,7 +51,7 @@ public async Task Can_lazy_load_Role_navigations() Assert.Equal(1, role.UserRoles.Count); }); - [ConditionalFact] + [Fact] public async Task Can_lazy_load_User_navigations_many_to_many() { var userId = ""; @@ -71,7 +71,7 @@ await ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalFact] + [Fact] public async Task Can_lazy_load_Role_navigations_many_to_many() => await ExecuteWithStrategyInTransactionAsync( async context => @@ -85,7 +85,7 @@ public async Task Can_lazy_load_Role_navigations_many_to_many() Assert.Equal(1, role.Users.Count); }); - [ConditionalFact] + [Fact] public async Task Can_lazy_load_UserRole_navigations() => await ExecuteWithStrategyInTransactionAsync( async context => @@ -100,7 +100,7 @@ public async Task Can_lazy_load_UserRole_navigations() Assert.NotNull(userRole.User); }); - [ConditionalFact] + [Fact] public async Task Can_lazy_load_UserClaim_navigations() => await ExecuteWithStrategyInTransactionAsync( async context => @@ -113,7 +113,7 @@ public async Task Can_lazy_load_UserClaim_navigations() Assert.NotNull(userClaim.User); }); - [ConditionalFact] + [Fact] public async Task Can_lazy_load_UserLogin_navigations() => await ExecuteWithStrategyInTransactionAsync( async context => @@ -126,7 +126,7 @@ public async Task Can_lazy_load_UserLogin_navigations() Assert.NotNull(userLogin.User); }); - [ConditionalFact] + [Fact] public async Task Can_lazy_load_RoleClaim_navigations() => await ExecuteWithStrategyInTransactionAsync( async context => @@ -139,7 +139,7 @@ public async Task Can_lazy_load_RoleClaim_navigations() Assert.NotNull(roleClaim.Role); }); - [ConditionalFact] + [Fact] public async Task Can_lazy_load_UserToken_navigations() => await ExecuteWithStrategyInTransactionAsync( async context => diff --git a/test/EFCore.AspNet.Specification.Tests/AspNetIdentityCustomTypesIntKeyTestBase.cs b/test/EFCore.AspNet.Specification.Tests/AspNetIdentityCustomTypesIntKeyTestBase.cs index 62343ece048..f8542b0320e 100644 --- a/test/EFCore.AspNet.Specification.Tests/AspNetIdentityCustomTypesIntKeyTestBase.cs +++ b/test/EFCore.AspNet.Specification.Tests/AspNetIdentityCustomTypesIntKeyTestBase.cs @@ -12,7 +12,7 @@ public abstract class AspNetIdentityCustomTypesIntKeyTestBase(TFixture where TFixture : AspNetIdentityTestBase.AspNetIdentityFixtureBase { - [ConditionalFact] + [Fact] public async Task Can_use_navigation_properties_on_User() { var userId = 0; diff --git a/test/EFCore.AspNet.Specification.Tests/AspNetIdentityTestBase.cs b/test/EFCore.AspNet.Specification.Tests/AspNetIdentityTestBase.cs index f81239f3d0e..8f71eb99814 100644 --- a/test/EFCore.AspNet.Specification.Tests/AspNetIdentityTestBase.cs +++ b/test/EFCore.AspNet.Specification.Tests/AspNetIdentityTestBase.cs @@ -25,7 +25,7 @@ public abstract class protected virtual bool HasForeignKeyIndexes => true; - [ConditionalFact] + [Fact] public void Can_build_identity_model() { using (var context = CreateContext()) @@ -38,7 +38,7 @@ public void Can_build_identity_model() protected abstract List ExpectedMappings { get; } - [ConditionalFact] + [Fact] public async Task Can_call_UserStore_FindByNameAsync() { var user = new TUser { NormalizedUserName = "wendy" }; @@ -57,7 +57,7 @@ await ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalFact] + [Fact] public async Task Can_call_UserStore_FindByEmailAsync() { var user = new TUser { NormalizedEmail = "wendy@example.com" }; @@ -76,7 +76,7 @@ await ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalFact] + [Fact] public async Task Can_call_UserStore_GetRolesAsync() { var user = new TUser { NormalizedEmail = "wendy@example.com" }; @@ -98,7 +98,7 @@ await ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalFact] + [Fact] public async Task Can_call_UserStore_ReplaceClaimAsync() { var user = new TUser { NormalizedEmail = "wendy@example.com" }; @@ -133,7 +133,7 @@ await ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalFact] + [Fact] public async Task Can_call_UserStore_RemoveClaimsAsync() { var user = new TUser { NormalizedEmail = "wendy@example.com" }; @@ -164,7 +164,7 @@ await ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalFact] + [Fact] public async Task Can_call_UserStore_GetLoginsAsync() { var user = new TUser { NormalizedEmail = "wendy@example.com" }; @@ -186,7 +186,7 @@ await ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalFact] + [Fact] public async Task Can_call_UserStore_GetUsersForClaimAsync() { var user = new TUser { NormalizedEmail = "wendy@example.com" }; @@ -207,7 +207,7 @@ await ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalFact] + [Fact] public async Task Can_call_UserStore_GetUsersInRoleAsync() { var user = new TUser { NormalizedEmail = "wendy@example.com" }; @@ -228,7 +228,7 @@ await ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalFact] + [Fact] public async Task Can_call_UserOnlyStore_FindByNameAsync() { var user = new TUser { NormalizedUserName = "wendy" }; @@ -246,7 +246,7 @@ await ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalFact] + [Fact] public async Task Can_call_UserOnlyStore_FindByEmailAsync() { var user = new TUser { NormalizedEmail = "wendy@example.com" }; @@ -264,7 +264,7 @@ await ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalFact] + [Fact] public async Task Can_call_UserOnlyStore_GetClaimsAsync() { var user = new TUser { NormalizedEmail = "wendy@example.com" }; @@ -289,7 +289,7 @@ await ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalFact] + [Fact] public async Task Can_call_UserOnlyStore_ReplaceClaimAsync() { var user = new TUser { NormalizedEmail = "wendy@example.com" }; @@ -322,7 +322,7 @@ await ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalFact] + [Fact] public async Task Can_call_UserOnlyStore_RemoveClaimsAsync() { var user = new TUser { NormalizedEmail = "wendy@example.com" }; @@ -351,7 +351,7 @@ await ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalFact] + [Fact] public async Task Can_call_UserOnlyStore_GetLoginsAsync() { var user = new TUser { NormalizedEmail = "wendy@example.com" }; @@ -372,7 +372,7 @@ await ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalFact] + [Fact] public async Task Can_call_UserOnlyStore_GetUsersForClaimAsync() { var user = new TUser { NormalizedEmail = "wendy@example.com" }; @@ -392,7 +392,7 @@ await ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalFact] + [Fact] public async Task Can_call_RoleStore_GetClaimsAsync() { var user = new TUser { NormalizedEmail = "wendy@example.com" }; diff --git a/test/EFCore.AspNet.Specification.Tests/EFCore.AspNet.Specification.Tests.csproj b/test/EFCore.AspNet.Specification.Tests/EFCore.AspNet.Specification.Tests.csproj index 00355f309e4..4bca53cd424 100644 --- a/test/EFCore.AspNet.Specification.Tests/EFCore.AspNet.Specification.Tests.csproj +++ b/test/EFCore.AspNet.Specification.Tests/EFCore.AspNet.Specification.Tests.csproj @@ -39,7 +39,6 @@ - diff --git a/test/EFCore.AspNet.Specification.Tests/GrpcTestBase.cs b/test/EFCore.AspNet.Specification.Tests/GrpcTestBase.cs index a61e4b5859a..682dce99b21 100644 --- a/test/EFCore.AspNet.Specification.Tests/GrpcTestBase.cs +++ b/test/EFCore.AspNet.Specification.Tests/GrpcTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. #if !EXCLUDE_ON_MAC @@ -94,7 +94,7 @@ protected List ExpectedMappings ]; - [ConditionalFact] + [Fact] public void Can_build_Grpc_model() { using var context = Fixture.CreateContext(); @@ -103,7 +103,7 @@ public void Can_build_Grpc_model() EntityTypeMapping.AssertEqual(ExpectedMappings, entityTypeMappings); } - [ConditionalFact] + [Fact] public void Can_query_Grpc_model() { using var context = Fixture.CreateContext(); diff --git a/test/EFCore.AspNet.SqlServer.FunctionalTests/EFCore.AspNet.SqlServer.FunctionalTests.csproj b/test/EFCore.AspNet.SqlServer.FunctionalTests/EFCore.AspNet.SqlServer.FunctionalTests.csproj index ed3086b264d..3d8d27b25e1 100644 --- a/test/EFCore.AspNet.SqlServer.FunctionalTests/EFCore.AspNet.SqlServer.FunctionalTests.csproj +++ b/test/EFCore.AspNet.SqlServer.FunctionalTests/EFCore.AspNet.SqlServer.FunctionalTests.csproj @@ -38,7 +38,6 @@ - diff --git a/test/EFCore.AspNet.SqlServer.FunctionalTests/Properties/TestAssemblyConditions.cs b/test/EFCore.AspNet.SqlServer.FunctionalTests/Properties/TestAssemblyConditions.cs index 660729c7ab1..715607c9eb8 100644 --- a/test/EFCore.AspNet.SqlServer.FunctionalTests/Properties/TestAssemblyConditions.cs +++ b/test/EFCore.AspNet.SqlServer.FunctionalTests/Properties/TestAssemblyConditions.cs @@ -1,6 +1,7 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -// Skip the entire assembly if not on Windows and no external SQL Server is configured +using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; -[assembly: SqlServerConfiguredCondition] +// Skip the entire assembly if SQL Server is not available +[assembly: ConditionalAssembly(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SqlServerAvailable))] diff --git a/test/EFCore.AspNet.Sqlite.FunctionalTests/EFCore.AspNet.Sqlite.FunctionalTests.csproj b/test/EFCore.AspNet.Sqlite.FunctionalTests/EFCore.AspNet.Sqlite.FunctionalTests.csproj index 5838fe849ea..423679b5041 100644 --- a/test/EFCore.AspNet.Sqlite.FunctionalTests/EFCore.AspNet.Sqlite.FunctionalTests.csproj +++ b/test/EFCore.AspNet.Sqlite.FunctionalTests/EFCore.AspNet.Sqlite.FunctionalTests.csproj @@ -37,7 +37,6 @@ - diff --git a/test/EFCore.Cosmos.FunctionalTests/AdHocVectorSearchCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/AdHocVectorSearchCosmosTest.cs index 5da07a196b5..e9eabbfb6d8 100644 --- a/test/EFCore.Cosmos.FunctionalTests/AdHocVectorSearchCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/AdHocVectorSearchCosmosTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.Azure.Cosmos; @@ -6,7 +6,7 @@ namespace Microsoft.EntityFrameworkCore; -[CosmosCondition(CosmosCondition.DoesNotUseTokenCredential)] +[ConditionalClass(typeof(CosmosTestEnvironment), nameof(CosmosTestEnvironment.DoesNotUseTokenCredential))] public class AdHocVectorSearchCosmosTest(NonSharedFixture fixture) : NonSharedModelTestBase(fixture), IClassFixture { protected override string NonSharedStoreName @@ -17,7 +17,7 @@ protected override ITestStoreFactory NonSharedTestStoreFactory #region CompositeVectorIndex - [ConditionalFact] + [Fact] public async Task Validate_composite_vector_index_throws() { var message = (await Assert.ThrowsAsync(() => InitializeNonSharedTest())).Message; @@ -56,7 +56,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) #region VectorPropertyOnCollectionNavigation - [ConditionalFact] + [Fact] public async Task Validate_vector_property_on_collection_navigation_container_creation() { var message = diff --git a/test/EFCore.Cosmos.FunctionalTests/AddHocFullTextSearchCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/AddHocFullTextSearchCosmosTest.cs index b8e6d5e752d..663e41f21c1 100644 --- a/test/EFCore.Cosmos.FunctionalTests/AddHocFullTextSearchCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/AddHocFullTextSearchCosmosTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.Azure.Cosmos; @@ -6,7 +6,7 @@ namespace Microsoft.EntityFrameworkCore; -[CosmosCondition(CosmosCondition.DoesNotUseTokenCredential)] +[ConditionalClass(typeof(CosmosTestEnvironment), nameof(CosmosTestEnvironment.DoesNotUseTokenCredential))] public class AdHocFullTextSearchCosmosTest(NonSharedFixture fixture) : NonSharedModelTestBase(fixture), IClassFixture { protected override string NonSharedStoreName @@ -17,7 +17,7 @@ protected override ITestStoreFactory NonSharedTestStoreFactory #region CompositeFullTextIndex - [ConditionalFact] + [Fact] public async Task Validate_composite_full_text_index_throws() { var message = (await Assert.ThrowsAsync(() => InitializeNonSharedTest())).Message; @@ -56,7 +56,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) #region FullTextPropertyOnCollectionNavigation - [ConditionalFact] + [Fact] public async Task Validate_full_text_property_on_collection_navigation_container_creation() { var message = (await Assert.ThrowsAsync(() @@ -101,7 +101,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) #region FullTextOnNonStringProperty - [ConditionalFact] + [Fact] public async Task Validate_full_text_on_non_string_property() { var message = (await Assert.ThrowsAsync(() => InitializeNonSharedTest())) @@ -140,9 +140,9 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) #region SettingDefaultFullTextSearchLanguage - [ConditionalFact] + // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/162 (Full-text search not supported) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] + [ConditionalFact(typeof(CosmosTestEnvironment), nameof(CosmosTestEnvironment.IsNotLinuxEmulator))] public async Task Set_unsupported_full_text_search_default_language() { var exception = (await Assert.ThrowsAsync(() => InitializeNonSharedTest())); @@ -225,9 +225,8 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) #region DefaultFullTextSearchLanguageNoMismatchWhenNotSpecified - [ConditionalFact] // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/162 (Full-text search not supported) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] + [ConditionalFact(typeof(CosmosTestEnvironment), nameof(CosmosTestEnvironment.IsNotLinuxEmulator))] public async Task Explicitly_setting_default_full_text_language_doesnt_clash_with_not_setting_it_on_other_entity_for_the_same_container() { @@ -301,9 +300,9 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) #region DefaultFullTextSearchLanguageUsedWhenPropertyDoesntSpecifyOneExplicitly - [ConditionalFact] + // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/162 (Full-text search not supported) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] + [ConditionalFact(typeof(CosmosTestEnvironment), nameof(CosmosTestEnvironment.IsNotLinuxEmulator))] public async Task Default_full_text_language_is_used_for_full_text_properties_if_they_dont_specify_language_themselves() { var exception = (await Assert.ThrowsAsync(() @@ -342,9 +341,9 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) #region ExplicitFullTextLanguageOverridesTheDefault - [ConditionalFact] + // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/162 (Full-text search not supported) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] + [ConditionalFact(typeof(CosmosTestEnvironment), nameof(CosmosTestEnvironment.IsNotLinuxEmulator))] public async Task Explicitly_setting_full_text_language_overrides_default() { var exception = @@ -382,7 +381,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) #region EnableThenDisable - [ConditionalFact] + [Fact] public async Task Enable_full_text_search_for_property_then_disable_it() { var message = (await Assert.ThrowsAsync(() => InitializeNonSharedTest())).Message; diff --git a/test/EFCore.Cosmos.FunctionalTests/BuiltInDataTypesCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/BuiltInDataTypesCosmosTest.cs index 829688e7df4..6d61f076494 100644 --- a/test/EFCore.Cosmos.FunctionalTests/BuiltInDataTypesCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/BuiltInDataTypesCosmosTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Metadata.Internal; @@ -10,19 +10,19 @@ namespace Microsoft.EntityFrameworkCore; public class BuiltInDataTypesCosmosTest(BuiltInDataTypesCosmosTest.BuiltInDataTypesCosmosFixture fixture) : BuiltInDataTypesTestBase(fixture) { - [ConditionalTheory(Skip = "Issue #17246 No Explicit Convert")] + [Theory(Skip = "Issue #17246 No Explicit Convert")] public override Task Can_filter_projection_with_inline_enum_variable(bool async) => base.Can_filter_projection_with_inline_enum_variable(async); - [ConditionalTheory(Skip = "Issue #17246 No Explicit Convert")] + [Theory(Skip = "Issue #17246 No Explicit Convert")] public override Task Can_filter_projection_with_captured_enum_variable(bool async) => base.Can_filter_projection_with_captured_enum_variable(async); - [ConditionalFact(Skip = "Issue #16920")] + [Fact(Skip = "Issue #16920")] public override Task Can_insert_and_read_back_with_string_key() => base.Can_insert_and_read_back_with_string_key(); - [ConditionalFact(Skip = "Issue #16920")] + [Fact(Skip = "Issue #16920")] public override Task Can_insert_and_read_back_with_binary_key() => base.Can_insert_and_read_back_with_binary_key(); @@ -30,11 +30,11 @@ public override Task Can_perform_query_with_max_length() // TODO: Better translation of sequential equality #17246 => Task.CompletedTask; - [ConditionalFact(Skip = "Issue #17670")] + [Fact(Skip = "Issue #17670")] public override Task Can_read_back_mapped_enum_from_collection_first_or_default() => base.Can_read_back_mapped_enum_from_collection_first_or_default(); - [ConditionalFact(Skip = "Issue #17246")] + [Fact(Skip = "Issue #17246")] public override Task Can_read_back_bool_mapped_as_int_through_navigation() => base.Can_read_back_bool_mapped_as_int_through_navigation(); diff --git a/test/EFCore.Cosmos.FunctionalTests/ConcurrencyDetectorDisabledCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/ConcurrencyDetectorDisabledCosmosTest.cs index d118974f945..697b75725e9 100644 --- a/test/EFCore.Cosmos.FunctionalTests/ConcurrencyDetectorDisabledCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/ConcurrencyDetectorDisabledCosmosTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore; @@ -9,7 +9,7 @@ public class ConcurrencyDetectorDisabledCosmosTest(ConcurrencyDetectorDisabledCo : ConcurrencyDetectorDisabledTestBase< ConcurrencyDetectorDisabledCosmosTest.ConcurrencyDetectorCosmosFixture>(fixture) { - [ConditionalTheory(Skip = "Issue #17246")] + [Theory(Skip = "Issue #17246")] public override Task Any(bool async) => base.Any(async); diff --git a/test/EFCore.Cosmos.FunctionalTests/ConcurrencyDetectorEnabledCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/ConcurrencyDetectorEnabledCosmosTest.cs index 93660ba35d7..9a5e1714e23 100644 --- a/test/EFCore.Cosmos.FunctionalTests/ConcurrencyDetectorEnabledCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/ConcurrencyDetectorEnabledCosmosTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore; @@ -54,7 +54,7 @@ public override async Task Single(bool async) } } - [ConditionalTheory(Skip = "Issue #17246")] + [Theory(Skip = "Issue #17246")] public override Task Any(bool async) => base.Any(async); diff --git a/test/EFCore.Cosmos.FunctionalTests/ConfigPatternsCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/ConfigPatternsCosmosTest.cs index a2f885cf09d..814d94bf416 100644 --- a/test/EFCore.Cosmos.FunctionalTests/ConfigPatternsCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/ConfigPatternsCosmosTest.cs @@ -3,14 +3,12 @@ using System.Collections.Concurrent; using Microsoft.Azure.Cosmos; -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - // ReSharper disable UnusedAutoPropertyAccessor.Local namespace Microsoft.EntityFrameworkCore; #nullable disable -[CosmosCondition(CosmosCondition.DoesNotUseTokenCredential)] +[ConditionalClass(typeof(CosmosTestEnvironment), nameof(CosmosTestEnvironment.DoesNotUseTokenCredential))] public class ConfigPatternsCosmosTest(ConfigPatternsCosmosTest.CosmosFixture fixture) : IClassFixture { @@ -20,7 +18,7 @@ public class ConfigPatternsCosmosTest(ConfigPatternsCosmosTest.CosmosFixture fix protected CosmosFixture Fixture { get; } = fixture; - [ConditionalFact] + [Fact] public async Task Cosmos_client_instance_is_shared_between_contexts() { await using var testDatabase = await CosmosTestStore.CreateInitializedAsync(DatabaseName); @@ -50,7 +48,7 @@ public async Task Cosmos_client_instance_is_shared_between_contexts() } } - [ConditionalFact] + [Fact] public async Task Should_not_throw_if_specified_region_is_right() { var regionName = Regions.AustraliaCentral; @@ -68,7 +66,7 @@ public async Task Should_not_throw_if_specified_region_is_right() await context.SaveChangesAsync(); } - [ConditionalFact] + [Fact] public async Task Should_throw_if_specified_region_is_wrong() { var exception = await Assert.ThrowsAsync(async () => @@ -91,12 +89,9 @@ public async Task Should_throw_if_specified_region_is_wrong() exception.Message); } - [ConditionalFact] + [ConditionalFact(typeof(CosmosTestEnvironment), nameof(CosmosTestEnvironment.IsNotLinuxEmulator))] + [SkipOnPlatform(TestPlatforms.OSX, "Cosmos emulator on macOS does not support Direct connection mode.")] // Linux emulator: ConnectionMode.Direct may not be supported - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] - [PlatformSkipCondition( - TestUtilities.Xunit.TestPlatform.Mac, - SkipReason = "Test is very environment-dependent; when running the Cosmos emulator in a VM on Mac, ConnectionMode.Direct causes severe issues")] public async Task Should_not_throw_if_specified_connection_mode_is_right() { await using var testDatabase = await CosmosTestStore.CreateInitializedAsync(DatabaseName, o => o.ConnectionMode(ConnectionMode.Direct)); @@ -112,7 +107,7 @@ public async Task Should_not_throw_if_specified_connection_mode_is_right() await context.SaveChangesAsync(); } - [ConditionalFact] + [Fact] public async Task Should_throw_if_specified_connection_mode_is_wrong() { var exception = await Assert.ThrowsAsync(async () => @@ -132,7 +127,7 @@ public async Task Should_throw_if_specified_connection_mode_is_wrong() }); } - [ConditionalFact] + [Fact] public async Task Cosmos_client_instance_is_thread_safe() { await using var testDatabase = await CosmosTestStore.CreateInitializedAsync(DatabaseName); diff --git a/test/EFCore.Cosmos.FunctionalTests/ConnectionSpecificationTest.cs b/test/EFCore.Cosmos.FunctionalTests/ConnectionSpecificationTest.cs index 83b3867ae4c..f82f4890ace 100644 --- a/test/EFCore.Cosmos.FunctionalTests/ConnectionSpecificationTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/ConnectionSpecificationTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Cosmos.Internal; @@ -7,10 +7,10 @@ namespace Microsoft.EntityFrameworkCore; #nullable disable -[CosmosCondition(CosmosCondition.DoesNotUseTokenCredential)] +[ConditionalClass(typeof(CosmosTestEnvironment), nameof(CosmosTestEnvironment.DoesNotUseTokenCredential))] public class ConnectionSpecificationTest { - [ConditionalFact] + [Fact] public async Task Can_specify_connection_string_in_OnConfiguring() { await using var testDatabase = CosmosTestStore.Create("NonExisting"); @@ -32,7 +32,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) public DbSet Blogs { get; set; } } - [ConditionalFact] + [Fact] public async Task Throws_for_missing_connection_info() { using var context = new NoConnectionContext(); diff --git a/test/EFCore.Cosmos.FunctionalTests/CosmosComplexTypesTrackingTest.cs b/test/EFCore.Cosmos.FunctionalTests/CosmosComplexTypesTrackingTest.cs index 66d1b80a1b9..642d2c796e2 100644 --- a/test/EFCore.Cosmos.FunctionalTests/CosmosComplexTypesTrackingTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/CosmosComplexTypesTrackingTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Xunit.Sdk; @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore; public class CosmosComplexTypesTrackingTest(CosmosComplexTypesTrackingTest.CosmosFixture fixture) : ComplexTypesTrackingTestBase(fixture) { - [ConditionalFact] + [Fact] public async Task Can_reorder_complex_collection_elements() { await using var context = CreateContext(); @@ -26,7 +26,7 @@ public async Task Can_reorder_complex_collection_elements() Assert.Equivalent(last, dbPub.Activities.Last()); } - [ConditionalFact] + [Fact] public async Task Can_change_complex_collection_element() { await using var context = CreateContext(); @@ -42,7 +42,7 @@ public async Task Can_change_complex_collection_element() Assert.Equivalent("Changed123", dbPub.Activities[0].Name); } - [ConditionalFact] + [Fact] public async Task Can_change_complex_collection_element_complex_collection() { await using var context = CreateContext(); @@ -58,7 +58,7 @@ public async Task Can_change_complex_collection_element_complex_collection() Assert.Equal("NewTeam", dbPub.Activities[0].Teams.Last().Name); } - [ConditionalFact] + [Fact] public async Task Can_add_complex_collection_element() { await using var context = CreateContext(); diff --git a/test/EFCore.Cosmos.FunctionalTests/CosmosConcurrencyTest.cs b/test/EFCore.Cosmos.FunctionalTests/CosmosConcurrencyTest.cs index f69473226bf..c8c831c6814 100644 --- a/test/EFCore.Cosmos.FunctionalTests/CosmosConcurrencyTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/CosmosConcurrencyTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore; @@ -15,7 +15,7 @@ public class CosmosConcurrencyTest(CosmosConcurrencyTest.CosmosFixture fixture) protected CosmosFixture Fixture { get; } = fixture; - [ConditionalFact] + [Fact] public virtual Task Adding_the_same_entity_twice_results_in_DbUpdateException() => ConcurrencyTestAsync(ctx => { @@ -27,7 +27,7 @@ public virtual Task Adding_the_same_entity_twice_results_in_DbUpdateException() return Task.CompletedTask; }); - [ConditionalFact] + [Fact] public virtual Task Updating_then_deleting_the_same_entity_results_in_DbUpdateConcurrencyException() => ConcurrencyTestAsync( ctx => @@ -41,7 +41,7 @@ public virtual Task Updating_then_deleting_the_same_entity_results_in_DbUpdateCo }, async ctx => (await ctx.Customers.SingleAsync(c => c.Id == "2")).Name = "Updated", async ctx => ctx.Customers.Remove(await ctx.Customers.SingleAsync(c => c.Id == "2"))); - [ConditionalFact] + [Fact] public virtual Task Updating_then_updating_the_same_entity_results_in_DbUpdateConcurrencyException() => ConcurrencyTestAsync( ctx => @@ -55,7 +55,7 @@ public virtual Task Updating_then_updating_the_same_entity_results_in_DbUpdateCo }, async ctx => (await ctx.Customers.SingleAsync(c => c.Id == "3")).Name = "Updated", async ctx => (await ctx.Customers.SingleAsync(c => c.Id == "3")).Name = "Updated"); - [ConditionalTheory, InlineData(null), InlineData(true), InlineData(false)] + [Theory, InlineData(null), InlineData(true), InlineData(false)] public async Task Etag_is_updated_in_entity_after_SaveChanges(bool? contentResponseOnWriteEnabled) { var options = Fixture.TestStore.AddProviderOptions(Fixture.AddOptions(new DbContextOptionsBuilder() @@ -118,7 +118,7 @@ public async Task Etag_is_updated_in_entity_after_SaveChanges(bool? contentRespo } } - [ConditionalTheory, InlineData(null), InlineData(true), InlineData(false)] + [Theory, InlineData(null), InlineData(true), InlineData(false)] public async Task Etag_is_updated_in_derived_entity_after_SaveChanges(bool? contentResponseOnWriteEnabled) { var options = Fixture.TestStore.AddProviderOptions(Fixture.AddOptions(new DbContextOptionsBuilder() @@ -248,8 +248,8 @@ protected virtual ConcurrencyContext CreateContext() protected virtual ConcurrencyContext CreateContext(DbContextOptions options) => new ConcurrencyContext(options); - public virtual Task InitializeAsync() => Task.CompletedTask; - public virtual async Task DisposeAsync() => await ServiceProvider.DisposeAsync(); + public virtual ValueTask InitializeAsync() => ValueTask.CompletedTask; + public virtual async ValueTask DisposeAsync() => await ServiceProvider.DisposeAsync(); public class CosmosFixture : SharedStoreFixtureBase { diff --git a/test/EFCore.Cosmos.FunctionalTests/CosmosSessionTokensTest.cs b/test/EFCore.Cosmos.FunctionalTests/CosmosSessionTokensTest.cs index 2a99113b791..b71f736868b 100644 --- a/test/EFCore.Cosmos.FunctionalTests/CosmosSessionTokensTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/CosmosSessionTokensTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.Azure.Cosmos; @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore; // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/291 (Session tokens not properly tracked) -[CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] +[ConditionalClass(typeof(CosmosTestEnvironment), nameof(CosmosTestEnvironment.IsNotLinuxEmulator))] public class CosmosSessionTokensTest(CosmosSessionTokensTest.CosmosFixture fixture) : IClassFixture { private const string DatabaseName = nameof(CosmosSessionTokensTest); @@ -19,7 +19,7 @@ public class CosmosSessionTokensTest(CosmosSessionTokensTest.CosmosFixture fixtu private static TestSessionTokenStorage _sessionTokenStorage = null!; - [ConditionalFact] + [Fact] public virtual async Task AppendSessionToken_uses_AppendDefaultContainerSessionToken() { using var context = await CreateContext(); @@ -28,7 +28,7 @@ public virtual async Task AppendSessionToken_uses_AppendDefaultContainerSessionT Assert.Equal(arg, _sessionTokenStorage.AppendDefaultContainerSessionTokenCalls.Single()); } - [ConditionalFact] + [Fact] public virtual async Task AppendSessionTokens_uses_AppendSessionTokens() { using var context = await CreateContext(); @@ -38,7 +38,7 @@ public virtual async Task AppendSessionTokens_uses_AppendSessionTokens() Assert.Equal(arg, _sessionTokenStorage.AppendSessionTokensCalls.Single()); } - [ConditionalFact] + [Fact] public virtual async Task UseSessionToken_uses_SetDefaultContainerSessionToken() { using var context = await CreateContext(); @@ -47,7 +47,7 @@ public virtual async Task UseSessionToken_uses_SetDefaultContainerSessionToken() Assert.Equal(arg, _sessionTokenStorage.SetDefaultContainerSessionTokenCalls.Single()); } - [ConditionalFact] + [Fact] public virtual async Task UseSessionTokens_uses_SetSessionTokens() { using var context = await CreateContext(); @@ -57,7 +57,7 @@ public virtual async Task UseSessionTokens_uses_SetSessionTokens() Assert.Equal(arg, _sessionTokenStorage.SetSessionTokensCalls.Single()); } - [ConditionalFact] + [Fact] public virtual async Task GetSessionTokens_uses_GetTrackedSessionTokens() { using var context = await CreateContext(); @@ -66,7 +66,7 @@ public virtual async Task GetSessionTokens_uses_GetTrackedSessionTokens() Assert.Equal(_sessionTokenStorage.SessionTokens, sessionTokens); } - [ConditionalFact] + [Fact] public virtual async Task Query_uses_session_token() { using var context = await CreateContext(); @@ -85,7 +85,7 @@ await Assert.ThrowsAsync(() => context.OtherContainerCustomers. } } - [ConditionalFact] + [Fact] public virtual async Task PagingQuery_uses_session_token() { using var context = await CreateContext(); @@ -104,7 +104,7 @@ await Assert.ThrowsAsync(() => context.OtherContainerCustomers. } } - [ConditionalFact] + [Fact] public virtual async Task Shaped_query_uses_session_token() { using var context = await CreateContext(); @@ -123,7 +123,7 @@ public virtual async Task Shaped_query_uses_session_token() } } - [ConditionalFact] + [Fact] public virtual async Task Read_item_uses_session_token() { using var context = await CreateContext(); @@ -142,7 +142,7 @@ await Assert.ThrowsAsync(() => context.OtherContainerCustomers. } } - [ConditionalFact] + [Fact] public virtual async Task Query_uses_TrackSessionToken() { using var context = await CreateContext(); @@ -161,7 +161,7 @@ public virtual async Task Query_uses_TrackSessionToken() Assert.NotEmpty(otherContainerCall.sessionToken); } - [ConditionalFact] + [Fact] public virtual async Task PagingQuery_uses_TrackSessionToken() { using var context = await CreateContext(); @@ -180,7 +180,7 @@ public virtual async Task PagingQuery_uses_TrackSessionToken() Assert.NotEmpty(otherContainerCall.sessionToken); } - [ConditionalFact] + [Fact] public virtual async Task Read_item_uses_TrackSessionToken() { using var context = await CreateContext(); @@ -199,7 +199,7 @@ public virtual async Task Read_item_uses_TrackSessionToken() Assert.NotEmpty(otherContainerCall.sessionToken); } - [ConditionalFact] + [Fact] public virtual async Task Read_item_enumerable_uses_TrackSessionToken() { using var context = await CreateContext(); @@ -218,7 +218,7 @@ public virtual async Task Read_item_enumerable_uses_TrackSessionToken() Assert.NotEmpty(otherContainerCall.sessionToken); } - [ConditionalFact] + [Fact] public virtual async Task Add_AutoTransactionBehavior_Never_uses_TrackSessionToken() { using var context = await CreateContext(); @@ -239,7 +239,7 @@ public virtual async Task Add_AutoTransactionBehavior_Never_uses_TrackSessionTok Assert.NotEmpty(otherContainerCall.sessionToken); } - [ConditionalTheory] + [Theory] [InlineData(true)] [InlineData(false)] public virtual async Task Add_AutoTransactionBehavior_Always_uses_TrackSessionToken(bool defaultContainer) @@ -272,7 +272,7 @@ public virtual async Task Add_AutoTransactionBehavior_Always_uses_TrackSessionTo Assert.NotEmpty(call.sessionToken); } - [ConditionalFact] + [Fact] public virtual async Task Delete_never_uses_TrackSessionToken() { using var context = await CreateContext(); @@ -310,7 +310,7 @@ public virtual async Task Delete_never_uses_TrackSessionToken() Assert.NotEqual(initialOtherContainerCall.sessionToken, otherContainerCall.sessionToken); } - [ConditionalTheory] + [Theory] [InlineData(true)] [InlineData(false)] public virtual async Task Delete_always_uses_TrackSessionToken(bool defaultContainer) @@ -362,7 +362,7 @@ public virtual async Task Delete_always_uses_TrackSessionToken(bool defaultConta Assert.NotEqual(initialCall.sessionToken, call.sessionToken); } - [ConditionalFact] + [Fact] public virtual async Task Update_never_uses_TrackSessionToken() { using var context = await CreateContext(); @@ -401,7 +401,7 @@ public virtual async Task Update_never_uses_TrackSessionToken() Assert.NotEqual(initialOtherContainerCall.sessionToken, otherContainerCall.sessionToken); } - [ConditionalTheory] + [Theory] [InlineData(true)] [InlineData(false)] public virtual async Task Update_always_uses_TrackSessionToken(bool defaultContainer) @@ -452,7 +452,7 @@ public virtual async Task Update_always_uses_TrackSessionToken(bool defaultConta Assert.NotEqual(initialCall.sessionToken, call.sessionToken); } - [ConditionalTheory] + [Theory] [InlineData(AutoTransactionBehavior.WhenNeeded, true)] [InlineData(AutoTransactionBehavior.WhenNeeded, false)] [InlineData(AutoTransactionBehavior.Never, false)] @@ -482,7 +482,7 @@ public virtual async Task Add_uses_GetSessionToken(AutoTransactionBehavior autoT Assert.Contains("The session token provided 'invalidtoken' is invalid.", ((CosmosException)ex.InnerException!).ResponseBody); } - [ConditionalTheory] + [Theory] [InlineData(AutoTransactionBehavior.WhenNeeded, true)] [InlineData(AutoTransactionBehavior.WhenNeeded, false)] [InlineData(AutoTransactionBehavior.Never, false)] @@ -513,7 +513,7 @@ public virtual async Task Update_uses_session_token(AutoTransactionBehavior auto Assert.Contains("The session token provided 'invalidtoken' is invalid.", ((CosmosException)ex.InnerException!).ResponseBody); } - [ConditionalTheory] + [Theory] [InlineData(AutoTransactionBehavior.WhenNeeded, true)] [InlineData(AutoTransactionBehavior.WhenNeeded, false)] [InlineData(AutoTransactionBehavior.Never, false)] @@ -544,12 +544,12 @@ public virtual async Task Delete_uses_session_token(AutoTransactionBehavior auto Assert.Contains("The session token provided 'invalidtoken' is invalid.", ((CosmosException)ex.InnerException!).ResponseBody); } - [ConditionalFact] + [Fact] public virtual async Task Different_contexts_do_not_share_DefaultContainer_name() { var services = new ServiceCollection(); - var connectionString = TestEnvironment.ConnectionString; + var connectionString = CosmosTestEnvironment.ConnectionString; services.AddDbContext(cfg => cfg.UseCosmos(connectionString, "test", opts => opts.SessionTokenManagementMode(Cosmos.Infrastructure.SessionTokenManagementMode.SemiAutomatic)), ServiceLifetime.Transient); services.AddDbContext(cfg => cfg.UseCosmos(connectionString, "test2", opts => opts.SessionTokenManagementMode(Cosmos.Infrastructure.SessionTokenManagementMode.SemiAutomatic)), ServiceLifetime.Transient); @@ -601,7 +601,7 @@ protected Test2Context() } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/291 (Session tokens not properly tracked) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] + [ConditionalClass(typeof(CosmosTestEnvironment), nameof(CosmosTestEnvironment.IsNotLinuxEmulator))] public class CosmosNonSharedSessionTokenTests(NonSharedFixture fixture) : NonSharedModelTestBase(fixture), IClassFixture { protected override ITestStoreFactory NonSharedTestStoreFactory @@ -611,7 +611,7 @@ protected override ITestStoreFactory NonSharedTestStoreFactory protected override TestStore CreateTestStore() => CosmosTestStore.Create(NonSharedStoreName, (cfg) => cfg.SessionTokenManagementMode(Cosmos.Infrastructure.SessionTokenManagementMode.SemiAutomatic)); - [ConditionalFact] + [Fact] public virtual async Task UseSessionTokens_uses_session_tokens() { var contextFactory = await InitializeNonSharedTest(); @@ -644,7 +644,7 @@ await Assert.ThrowsAsync(() => context.OtherContainerCustomers. } } - [ConditionalFact] + [Fact] public virtual async Task ReadItem_does_not_exist_returns_null() { var contextFactory = await InitializeNonSharedTest(); @@ -655,7 +655,7 @@ public virtual async Task ReadItem_does_not_exist_returns_null() Assert.Null(result); } - [ConditionalFact] + [Fact] public virtual async Task Read_item_session_not_found_throws_CosmosException() { var contextFactory = await InitializeNonSharedTest(); @@ -688,7 +688,7 @@ await Assert.ThrowsAsync(() => context.OtherContainerCustomers. } } - [ConditionalFact] + [Fact] public virtual async Task New_context_does_not_use_same_SessionTokenStorage() { var contextFactory = await InitializeNonSharedTest(); @@ -702,7 +702,7 @@ public virtual async Task New_context_does_not_use_same_SessionTokenStorage() Assert.NotSame(((CosmosDatabaseWrapper)context.GetService()).SessionTokenStorage, ((CosmosDatabaseWrapper)newContext.GetService()).SessionTokenStorage); } - [ConditionalFact] + [Fact] public virtual async Task Pooled_context_uses_same_SessionTokenStorage() { var contextFactory = await InitializeNonSharedTest(); @@ -722,7 +722,7 @@ public virtual async Task Pooled_context_uses_same_SessionTokenStorage() Assert.Null(newContext.Database.GetSessionToken()); } - [ConditionalFact] + [Fact] public virtual async Task Pooled_context_clears_SessionTokenStorage() { var contextFactory = await InitializeNonSharedTest(addServices: services => services.Replace(ServiceDescriptor.Singleton())); @@ -742,7 +742,7 @@ public virtual async Task Pooled_context_clears_SessionTokenStorage() Assert.True(_sessionTokenStorage.ClearCalled); } - [ConditionalTheory] + [Theory] [InlineData(AutoTransactionBehavior.Never)] [InlineData(AutoTransactionBehavior.Always)] public virtual async Task Optimistic_concurrency_precondition_failure_updates_session_token(AutoTransactionBehavior autoTransactionBehavior) @@ -788,7 +788,7 @@ public virtual async Task Optimistic_concurrency_precondition_failure_updates_se Assert.Equal(removedSessionToken, afterRemoveExceptionSessionToken); } - [ConditionalTheory] + [Theory] [InlineData(AutoTransactionBehavior.Never)] [InlineData(AutoTransactionBehavior.Always)] public virtual async Task Add_conflict_updates_session_token(AutoTransactionBehavior autoTransactionBehavior) @@ -811,7 +811,7 @@ public virtual async Task Add_conflict_updates_session_token(AutoTransactionBeha Assert.Equal(createdSessionToken, afterExceptionSessionToken); } - [ConditionalFact] + [Fact] public virtual async Task Read_item_not_found_updates_session_token() { var contextFactory = await InitializeNonSharedTest(); @@ -852,7 +852,7 @@ public virtual async Task Read_item_not_found_updates_session_token() Assert.Equal(removedSessionToken, afterNotFoundSessionToken); } - [ConditionalFact] + [Fact] public virtual async Task Remove_not_found_updates_session_token() { var contextFactory = await InitializeNonSharedTest(); @@ -878,7 +878,7 @@ public virtual async Task Remove_not_found_updates_session_token() Assert.Equal(removedSessionToken, afterNotFoundSessionToken); } - [ConditionalFact] + [Fact] public virtual async Task Replace_not_found_updates_session_token() { var contextFactory = await InitializeNonSharedTest(); diff --git a/test/EFCore.Cosmos.FunctionalTests/CosmosTransactionalBatchTest.cs b/test/EFCore.Cosmos.FunctionalTests/CosmosTransactionalBatchTest.cs index 7e41b4703c5..69973f51cd3 100644 --- a/test/EFCore.Cosmos.FunctionalTests/CosmosTransactionalBatchTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/CosmosTransactionalBatchTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Net; @@ -9,14 +9,14 @@ namespace Microsoft.EntityFrameworkCore; // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/292 (Transactional batch limits not enforced) -[CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] +[ConditionalClass(typeof(CosmosTestEnvironment), nameof(CosmosTestEnvironment.IsNotLinuxEmulator))] public class CosmosTransactionalBatchTest(CosmosTransactionalBatchTest.CosmosFixture fixture) : IClassFixture, IAsyncLifetime { private const string DatabaseName = nameof(CosmosTransactionalBatchTest); protected CosmosFixture Fixture { get; } = fixture; - [ConditionalFact] + [Fact] public virtual async Task SaveChanges_fails_for_duplicate_key_in_same_partition_prevents_other_inserts_in_same_partition_even_if_staged_before_add() { using (var arrangeContext = Fixture.CreateContext()) @@ -41,7 +41,7 @@ public virtual async Task SaveChanges_fails_for_duplicate_key_in_same_partition_ Assert.Equal(1, customersCount); } - [ConditionalFact] + [Fact] public virtual async Task SaveChanges_fails_for_duplicate_key_in_same_partition_writes_only_partition_staged_before_error() { using (var arrangeContext = Fixture.CreateContext()) @@ -74,7 +74,7 @@ public virtual async Task SaveChanges_fails_for_duplicate_key_in_same_partition_ Assert.Equal(4, customersCount); } - [ConditionalFact] + [Fact] public virtual async Task SaveChanges_transaction_behavior_never_fails_for_duplicate_key_in_same_partition_writes_all_staged_before_error() { using (var arrangeContext = Fixture.CreateContext()) @@ -108,7 +108,7 @@ public virtual async Task SaveChanges_transaction_behavior_never_fails_for_dupli Assert.Equal(4, customersCount); } - [ConditionalFact] + [Fact] public virtual async Task SaveChanges_transaction_behavior_always_fails_for_multiple_partitionkeys() { using var context = Fixture.CreateContext(); @@ -125,7 +125,7 @@ public virtual async Task SaveChanges_transaction_behavior_always_fails_for_mult Assert.Equal(0, customersCount); } - [ConditionalFact] + [Fact] public virtual async Task SaveChanges_succeeds_for_101_entities_in_same_partition() { using var context = Fixture.CreateContext(); @@ -139,7 +139,7 @@ public virtual async Task SaveChanges_succeeds_for_101_entities_in_same_partitio Assert.Equal(101, customersCount); } - [ConditionalFact] + [Fact] public virtual async Task SaveChanges_transaction_behavior_always_fails_for_101_entities_in_same_partition() { using var context = Fixture.CreateContext(); @@ -155,7 +155,7 @@ public virtual async Task SaveChanges_transaction_behavior_always_fails_for_101_ Assert.Equal(0, customersCount); } - [ConditionalFact] + [Fact] public virtual async Task SaveChanges_transaction_behavior_always_succeeds_for_100_entities_in_same_partition() { using var context = Fixture.CreateContext(); @@ -170,7 +170,7 @@ public virtual async Task SaveChanges_transaction_behavior_always_succeeds_for_1 Assert.Equal(100, customersCount); } - [ConditionalFact] + [Fact] public virtual async Task SaveChanges_transaction_behavior_always_fails_for_multiple_entities_with_triggers() { using var context = Fixture.CreateContext(); @@ -187,7 +187,7 @@ public virtual async Task SaveChanges_transaction_behavior_always_fails_for_mult Assert.Equal(0, customersCount); } - [ConditionalFact] + [Fact] public virtual async Task SaveChanges_transaction_behavior_always_succeeds_for_single_entity_with_trigger() { using var context = Fixture.CreateContext(); @@ -230,7 +230,7 @@ public virtual async Task SaveChanges_transaction_behavior_always_succeeds_for_s Assert.Equal(1, customersCount); } - [ConditionalFact] + [Fact] public virtual async Task SaveChanges_transaction_behavior_always_fails_for_single_entity_with_trigger_and_entity_without_trigger() { using var context = Fixture.CreateContext(); @@ -247,7 +247,7 @@ public virtual async Task SaveChanges_transaction_behavior_always_fails_for_sing Assert.Equal(0, customersCount); } - [ConditionalFact] + [Fact] public virtual async Task SaveChanges_three_1mb_entries_succeeds() { using var context = Fixture.CreateContext(); @@ -263,7 +263,7 @@ public virtual async Task SaveChanges_three_1mb_entries_succeeds() Assert.Equal(3, customersCount); } - [ConditionalFact] + [Fact] public virtual async Task SaveChanges_entity_too_large_throws() { using var context = Fixture.CreateContext(); @@ -281,7 +281,7 @@ public virtual async Task SaveChanges_entity_too_large_throws() } - [ConditionalFact] + [Fact] public virtual async Task SaveChanges_too_large_entry_after_smaller_throws_after_saving_smaller() { using var context = Fixture.CreateContext(); @@ -297,7 +297,7 @@ public virtual async Task SaveChanges_too_large_entry_after_smaller_throws_after Assert.Equal("1", (await assertContext.Customers.FirstAsync()).Id); } - [ConditionalFact] + [Fact] public virtual async Task SaveChanges_transaction_behavior_always_payload_larger_than_cosmos_limit_throws() { using var context = Fixture.CreateContext(); @@ -322,7 +322,7 @@ public virtual async Task SaveChanges_transaction_behavior_always_payload_larger private const int MaxSerializedCustomerTransactionalBatchRequestSize = 2094389; private const int MaxKeySize = 1023; - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task SaveChanges_exactly_2_mib_does_not_split_and_one_byte_over_splits(bool oneByteOver) { using var context = Fixture.CreateContext(); @@ -360,7 +360,7 @@ public virtual async Task SaveChanges_exactly_2_mib_does_not_split_and_one_byte_ private const int MaxSpecialCharsInId = MaxKeySize / 3; - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task SaveChanges_update_id_contains_special_chars_which_makes_request_larger_than_2_mib_splits_into_2_batches(bool isIdSpecialChar) { using var context = Fixture.CreateContext(); @@ -399,7 +399,7 @@ public virtual async Task SaveChanges_update_id_contains_special_chars_which_mak } } - [ConditionalFact] + [Fact] public async Task SaveChanges_transaction_behavior_never_does_not_use_transactions() { TransactionalBatchContext CreateContext() @@ -481,14 +481,14 @@ TransactionalBatchContext CreateContext() } } - public async Task InitializeAsync() + public async ValueTask InitializeAsync() { using var context = Fixture.CreateContext(); context.RemoveRange(await context.Set().Select(x => new Customer { Id = x.Id, PartitionKey = x.PartitionKey }).ToListAsync()); context.RemoveRange(await context.Set().Select(x => new CustomerWithTrigger { Id = x.Id, PartitionKey = x.PartitionKey }).ToListAsync()); await context.SaveChangesAsync(); } - public async Task DisposeAsync() + public async ValueTask DisposeAsync() { } diff --git a/test/EFCore.Cosmos.FunctionalTests/CosmosTriggersTest.cs b/test/EFCore.Cosmos.FunctionalTests/CosmosTriggersTest.cs index d9d33782ddb..24470ba5fd5 100644 --- a/test/EFCore.Cosmos.FunctionalTests/CosmosTriggersTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/CosmosTriggersTest.cs @@ -15,9 +15,9 @@ protected override string NonSharedStoreName protected override ITestStoreFactory NonSharedTestStoreFactory => CosmosTestStoreFactory.Instance; - [ConditionalFact] + // Linux emulator: server-side scripts are not supported - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] + [ConditionalFact(typeof(CosmosTestEnvironment), nameof(CosmosTestEnvironment.IsNotLinuxEmulator))] public async Task Triggers_are_executed_on_SaveChanges() { var contextFactory = await InitializeNonSharedTest(shouldLogCategory: _ => true); diff --git a/test/EFCore.Cosmos.FunctionalTests/CustomConvertersCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/CustomConvertersCosmosTest.cs index 0d1272f6b73..caedcb6e608 100644 --- a/test/EFCore.Cosmos.FunctionalTests/CustomConvertersCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/CustomConvertersCosmosTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Metadata.Internal; @@ -13,55 +13,55 @@ public CustomConvertersCosmosTest(CustomConvertersCosmosFixture fixture) : base(fixture) => Fixture.TestSqlLoggerFactory.Clear(); - [ConditionalTheory(Skip = "Issue #17246 No Explicit Convert")] + [Theory(Skip = "Issue #17246 No Explicit Convert")] public override Task Can_filter_projection_with_inline_enum_variable(bool async) => base.Can_filter_projection_with_inline_enum_variable(async); - [ConditionalTheory(Skip = "Issue #17246 No Explicit Convert")] + [Theory(Skip = "Issue #17246 No Explicit Convert")] public override Task Can_filter_projection_with_captured_enum_variable(bool async) => base.Can_filter_projection_with_captured_enum_variable(async); - [ConditionalFact(Skip = "Issue #16920")] + [Fact(Skip = "Issue #16920")] public override Task Can_insert_and_read_back_with_string_key() => base.Can_insert_and_read_back_with_string_key(); - [ConditionalFact(Skip = "Issue #17246 No Explicit Convert")] + [Fact(Skip = "Issue #17246 No Explicit Convert")] public override Task Can_query_and_update_with_conversion_for_custom_type() => base.Can_query_and_update_with_conversion_for_custom_type(); - [ConditionalFact(Skip = "Issue #16920")] + [Fact(Skip = "Issue #16920")] public override Task Can_query_and_update_with_nullable_converter_on_primary_key() => base.Can_query_and_update_with_nullable_converter_on_primary_key(); - [ConditionalFact(Skip = "Issue #16920")] + [Fact(Skip = "Issue #16920")] public override Task Can_insert_and_read_back_with_binary_key() => base.Can_insert_and_read_back_with_binary_key(); - [ConditionalFact(Skip = "Issue #16920")] + [Fact(Skip = "Issue #16920")] public override Task Can_insert_and_read_back_with_case_insensitive_string_key() => base.Can_insert_and_read_back_with_case_insensitive_string_key(); - [ConditionalFact(Skip = "Issue #17246 No Explicit Convert")] + [Fact(Skip = "Issue #17246 No Explicit Convert")] public override Task Can_insert_and_query_struct_to_string_converter_for_pk() => base.Can_insert_and_query_struct_to_string_converter_for_pk(); - [ConditionalFact(Skip = "Issue #17670")] + [Fact(Skip = "Issue #17670")] public override Task Can_read_back_mapped_enum_from_collection_first_or_default() => base.Can_read_back_mapped_enum_from_collection_first_or_default(); - [ConditionalFact(Skip = "Issue #17246")] + [Fact(Skip = "Issue #17246")] public override Task Can_read_back_bool_mapped_as_int_through_navigation() => base.Can_read_back_bool_mapped_as_int_through_navigation(); - [ConditionalFact(Skip = "Issue #17246")] + [Fact(Skip = "Issue #17246")] public override Task Value_conversion_is_appropriately_used_for_join_condition() => base.Value_conversion_is_appropriately_used_for_join_condition(); - [ConditionalFact(Skip = "Issue #17246")] + [Fact(Skip = "Issue #17246")] public override Task Value_conversion_is_appropriately_used_for_left_join_condition() => base.Value_conversion_is_appropriately_used_for_left_join_condition(); - [ConditionalFact] + [Fact] public override async Task Where_bool_gets_converted_to_equality_when_value_conversion_is_used() { await base.Where_bool_gets_converted_to_equality_when_value_conversion_is_used(); @@ -74,7 +74,7 @@ FROM root c """); } - [ConditionalFact] + [Fact] public override async Task Where_negated_bool_gets_converted_to_equality_when_value_conversion_is_used() { await base.Where_negated_bool_gets_converted_to_equality_when_value_conversion_is_used(); @@ -87,7 +87,7 @@ FROM root c """); } - [ConditionalFact] + [Fact] public override async Task Where_bool_gets_converted_to_equality_when_value_conversion_is_used_using_EFProperty() { await base.Where_bool_gets_converted_to_equality_when_value_conversion_is_used_using_EFProperty(); @@ -100,7 +100,7 @@ FROM root c """); } - [ConditionalFact] + [Fact] public override async Task Where_bool_gets_converted_to_equality_when_value_conversion_is_used_using_indexer() { await base.Where_bool_gets_converted_to_equality_when_value_conversion_is_used_using_indexer(); @@ -113,7 +113,7 @@ FROM root c """); } - [ConditionalFact(Skip = "Issue#27678")] + [Fact(Skip = "Issue#27678")] public override void Optional_owned_with_converter_reading_non_nullable_column() => base.Optional_owned_with_converter_reading_non_nullable_column(); diff --git a/test/EFCore.Cosmos.FunctionalTests/DefaultKeyValuesTest.cs b/test/EFCore.Cosmos.FunctionalTests/DefaultKeyValuesTest.cs index 28c08e9831f..7bad9e69d60 100644 --- a/test/EFCore.Cosmos.FunctionalTests/DefaultKeyValuesTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/DefaultKeyValuesTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Cosmos.Diagnostics.Internal; @@ -11,7 +11,7 @@ public class DefaultKeyValuesTest(DefaultKeyValuesTest.CosmosDefaultKeyValuesTes { protected CosmosDefaultKeyValuesTestFixture Fixture { get; } = fixture; - [ConditionalFact] + [Fact] public async Task Single_key_value_with_single_partition_key_must_have_key_set() { using var context = CreateContext(); @@ -29,7 +29,7 @@ public async Task Single_key_value_with_single_partition_key_must_have_key_set() await AssertSaves(context); } - [ConditionalFact] + [Fact] public async Task Composite_key_value_with_single_partition_key_must_have_key_set() { using var context = CreateContext(); @@ -114,7 +114,7 @@ public async Task Composite_key_value_with_single_partition_key_must_have_key_se await AssertSaves(context); } - [ConditionalFact] + [Fact] public async Task Single_key_value_with_composite_partition_key_must_have_key_set() { using var context = CreateContext(); @@ -166,7 +166,7 @@ public async Task Single_key_value_with_composite_partition_key_must_have_key_se await AssertSaves(context); } - [ConditionalFact] + [Fact] public async Task Composite_key_value_with_composite_partition_key_must_have_key_set() { using var context = CreateContext(); @@ -268,7 +268,7 @@ public async Task Composite_key_value_with_composite_partition_key_must_have_key await AssertSaves(context); } - [ConditionalFact] + [Fact] public async Task Single_same_key_and_partition_key_must_have_key_set() { using var context = CreateContext(); @@ -280,7 +280,7 @@ public async Task Single_same_key_and_partition_key_must_have_key_set() await AssertSaves(context); } - [ConditionalFact] + [Fact] public async Task Composite_same_key_and_partition_key_must_have_key_set() { using var context = CreateContext(); @@ -307,7 +307,7 @@ public async Task Composite_same_key_and_partition_key_must_have_key_set() await AssertSaves(context); } - [ConditionalFact] + [Fact] public async Task Single_key_value_with_single_partition_key_can_use_generated_value() { using var context = CreateContext(); @@ -325,7 +325,7 @@ public async Task Single_key_value_with_single_partition_key_can_use_generated_v await AssertSaves(context); } - [ConditionalFact] + [Fact] public async Task Composite_key_value_with_single_partition_key_can_use_generated_value() { using var context = CreateContext(); @@ -410,7 +410,7 @@ public async Task Composite_key_value_with_single_partition_key_can_use_generate await AssertSaves(context); } - [ConditionalFact] + [Fact] public async Task Single_key_value_with_composite_partition_key_can_use_generated_value() { using var context = CreateContext(); @@ -462,7 +462,7 @@ public async Task Single_key_value_with_composite_partition_key_can_use_generate await AssertSaves(context); } - [ConditionalFact] + [Fact] public async Task Composite_key_value_with_composite_partition_key_can_use_generated_value() { using var context = CreateContext(); @@ -564,7 +564,7 @@ public async Task Composite_key_value_with_composite_partition_key_can_use_gener await AssertSaves(context); } - [ConditionalFact] + [Fact] public async Task Single_same_key_and_partition_key_can_use_generated_value() { using var context = CreateContext(); @@ -576,7 +576,7 @@ public async Task Single_same_key_and_partition_key_can_use_generated_value() await AssertSaves(context); } - [ConditionalFact] + [Fact] public async Task Composite_same_key_and_partition_key_can_use_generated_value() { using var context = CreateContext(); diff --git a/test/EFCore.Cosmos.FunctionalTests/EFCore.Cosmos.FunctionalTests.csproj b/test/EFCore.Cosmos.FunctionalTests/EFCore.Cosmos.FunctionalTests.csproj index 4285a13207d..13cb2b7bc34 100644 --- a/test/EFCore.Cosmos.FunctionalTests/EFCore.Cosmos.FunctionalTests.csproj +++ b/test/EFCore.Cosmos.FunctionalTests/EFCore.Cosmos.FunctionalTests.csproj @@ -1,4 +1,4 @@ - + $(DefaultNetCoreTargetFramework) @@ -44,7 +44,6 @@ - diff --git a/test/EFCore.Cosmos.FunctionalTests/EmbeddedDocumentsTest.cs b/test/EFCore.Cosmos.FunctionalTests/EmbeddedDocumentsTest.cs index 3bd6976bbd7..56856aaf6f8 100644 --- a/test/EFCore.Cosmos.FunctionalTests/EmbeddedDocumentsTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/EmbeddedDocumentsTest.cs @@ -22,7 +22,7 @@ public EmbeddedDocumentsTest(CosmosFixture fixture, ITestOutputHelper testOutput TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact(Skip = "Issue #17670")] + [Fact(Skip = "Issue #17670")] public virtual async Task Can_update_dependents() { var options = await Fixture.CreateOptions(); @@ -50,7 +50,7 @@ public virtual async Task Can_update_dependents() } } - [ConditionalFact] + [Fact] public virtual async Task Can_update_owner_with_dependents() { var options = await Fixture.CreateOptions(); @@ -70,7 +70,7 @@ public virtual async Task Can_update_owner_with_dependents() } } - [ConditionalFact] + [Fact] public virtual async Task Can_attach_owner_with_dependents() { var options = await Fixture.CreateOptions(); @@ -99,7 +99,7 @@ public virtual async Task Can_attach_owner_with_dependents() } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Can_manipulate_embedded_collections(bool useIds) { var options = await Fixture.CreateOptions(seed: false); @@ -375,7 +375,7 @@ async Task AssertState(EmbeddedTransportationContext context, bool useIds) } } - [ConditionalFact] + [Fact] public virtual async Task Old_still_works() { var options = await Fixture.CreateOptions(seed: false); @@ -439,7 +439,7 @@ await context.AddAsync( public record struct CosmosPage(List Results, string ContinuationToken); - [ConditionalFact] + [Fact] public virtual async Task Properties_on_owned_types_can_be_client_generated() { var options = await Fixture.CreateOptions(seed: false); @@ -463,7 +463,7 @@ public virtual async Task Properties_on_owned_types_can_be_client_generated() } } - [ConditionalFact] + [Fact] public virtual async Task Can_use_non_int_keys_for_embedded_entities() { var options = await Fixture.CreateOptions( @@ -507,7 +507,7 @@ public virtual async Task Can_use_non_int_keys_for_embedded_entities() } } - [ConditionalFact] + [Fact] public virtual async Task Can_query_and_modify_nested_embedded_types() { var options = await Fixture.CreateOptions(); @@ -537,7 +537,7 @@ OFFSET 0 LIMIT 1 } } - [ConditionalFact] + [Fact] public virtual async Task Can_query_just_embedded_reference() { var options = await Fixture.CreateOptions(); @@ -549,7 +549,7 @@ public virtual async Task Can_query_just_embedded_reference() Assert.Null(firstOperator.Vehicle); } - [ConditionalFact] + [Fact] public virtual async Task Can_query_just_embedded_collection() { var options = await Fixture.CreateOptions(seed: false); @@ -577,7 +577,7 @@ await context.AddAsync( } } - [ConditionalFact] + [Fact] public virtual async Task Inserting_dependent_without_principal_throws() { var options = await Fixture.CreateOptions(seed: false); @@ -596,7 +596,7 @@ await context.AddAsync( (await Assert.ThrowsAsync(() => context.SaveChangesAsync())).Message); } - [ConditionalFact] + [Fact] public virtual async Task Can_change_nested_instance_non_derived() { var options = await Fixture.CreateOptions(); @@ -621,7 +621,7 @@ public virtual async Task Can_change_nested_instance_non_derived() } } - [ConditionalFact] + [Fact] public virtual async Task Can_change_principal_instance_non_derived() { var options = await Fixture.CreateOptions(); @@ -652,7 +652,7 @@ public virtual async Task Can_change_principal_instance_non_derived() } } - [ConditionalFact] + [Fact] public virtual async Task Can_use_non_persisted_properties_owned() { var options = await Fixture.CreateOptions( @@ -696,9 +696,9 @@ public virtual async Task Can_use_non_persisted_properties_owned() } } - [ConditionalFact] + // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/288 (Complex-type equality comparisons return no results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] + [ConditionalFact(typeof(CosmosTestEnvironment), nameof(CosmosTestEnvironment.IsNotLinuxEmulator))] public virtual async Task Can_use_non_persisted_properties_complex() { var options = await Fixture.CreateOptions( @@ -808,10 +808,10 @@ protected override object GetAdditionalModelCacheKey(DbContext context) : options; } - public Task InitializeAsync() - => Task.CompletedTask; + public ValueTask InitializeAsync() + => ValueTask.CompletedTask; - public async Task DisposeAsync() + public async ValueTask DisposeAsync() => await TestStore.DisposeAsync(); } diff --git a/test/EFCore.Cosmos.FunctionalTests/EndToEndCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/EndToEndCosmosTest.cs index fe4903de9ed..e240c8a77bb 100644 --- a/test/EFCore.Cosmos.FunctionalTests/EndToEndCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/EndToEndCosmosTest.cs @@ -14,9 +14,11 @@ namespace Microsoft.EntityFrameworkCore; public class EndToEndCosmosTest(NonSharedFixture fixture) : NonSharedModelTestBase(fixture), IClassFixture { - [ConditionalTheory, InlineData(false), InlineData(true)] + // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/292 (Transactional batch limits not enforced) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] + [ConditionalTheory(typeof(CosmosTestEnvironment), nameof(CosmosTestEnvironment.IsNotLinuxEmulator))] + [InlineData(false)] + [InlineData(true)] public async Task Can_add_update_delete_end_to_end(bool transactionalBatch) { var contextFactory = await InitializeNonSharedTest( @@ -112,7 +114,7 @@ public async Task Can_add_update_delete_end_to_end(bool transactionalBatch) } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Can_add_update_delete_detached_entity_end_to_end(bool transactionalBatch) { var contextFactory = await InitializeNonSharedTest( @@ -179,7 +181,7 @@ public async Task Can_add_update_delete_detached_entity_end_to_end(bool transact } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Can_add_update_delete_end_to_end_with_Guid(bool transactionalBatch) { var contextFactory = await InitializeNonSharedTest( @@ -235,7 +237,7 @@ public async Task Can_add_update_delete_end_to_end_with_Guid(bool transactionalB } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Can_add_update_delete_end_to_end_with_DateTime(bool transactionalBatch) { var contextFactory = await InitializeNonSharedTest( @@ -332,7 +334,7 @@ private class CustomerNoPartitionKey public string Name { get; set; } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Can_add_update_delete_with_dateTime_string_end_to_end(bool transactionalBatch) { var contextFactory = await InitializeNonSharedTest( @@ -384,7 +386,7 @@ public async Task Can_add_update_delete_with_dateTime_string_end_to_end(bool tra } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Entities_with_null_PK_can_be_added_with_normal_use_of_DbContext_methods_and_have_id_shadow_value_and_PK_created(bool transactionalBatch) { var contextFactory = await InitializeNonSharedTest( @@ -408,7 +410,7 @@ public async Task Entities_with_null_PK_can_be_added_with_normal_use_of_DbContex Assert.Equal(EntityState.Added, entry.State); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Entities_can_be_tracked_with_normal_use_of_DbContext_methods_and_have_correct_resultant_state_and_id_shadow_value(bool transactionalBatch) { var contextFactory = await InitializeNonSharedTest( @@ -453,7 +455,7 @@ protected class Item public int Id { get; set; } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Can_add_update_delete_with_collections(bool transactionalBatch) { await Can_add_update_delete_with_collection( @@ -565,7 +567,7 @@ await Can_add_update_delete_with_collection( new Dictionary { { "1", 1 }, { "2", null } }); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Can_add_update_delete_with_nested_collections(bool transactionalBatch) { await Can_add_update_delete_with_collection( @@ -774,7 +776,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) => onModelBuilder?.Invoke(modelBuilder); } - [ConditionalFact] + [Fact] public async Task Can_read_with_find_with_resource_id() { var contextFactory = await InitializeNonSharedTest(shouldLogCategory: _ => true); @@ -838,7 +840,7 @@ await context.AddAsync( } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Find_with_empty_resource_id_throws(bool transactionalBatch) { var contextFactory = await InitializeNonSharedTest(shouldLogCategory: _ => true); @@ -853,7 +855,7 @@ public async Task Find_with_empty_resource_id_throws(bool transactionalBatch) } } - [ConditionalFact] + [Fact] public async Task Can_read_with_find_with_partition_key_and_value_generator() { var contextFactory = await InitializeNonSharedTest( @@ -918,7 +920,7 @@ await context.AddAsync( } } - [ConditionalFact] + [Fact] public async Task Can_read_with_find_with_partition_key_without_value_generator() { var contextFactory = await InitializeNonSharedTest(shouldLogCategory: _ => true); @@ -978,7 +980,7 @@ public async Task Can_read_with_find_with_partition_key_without_value_generator( } } - [ConditionalFact] + [Fact] public async Task Can_read_with_find_with_partition_key_not_part_of_primary_key() { var contextFactory = await InitializeNonSharedTest( @@ -1013,7 +1015,7 @@ public async Task Can_read_with_find_with_partition_key_not_part_of_primary_key( } } - [ConditionalFact] + [Fact] public async Task Can_read_with_find_without_partition_key() { var contextFactory = await InitializeNonSharedTest( @@ -1039,7 +1041,7 @@ public async Task Can_read_with_find_without_partition_key() } } - [ConditionalFact] + [Fact] public async Task Can_read_with_find_with_PK_partition_key() { var contextFactory = await InitializeNonSharedTest(shouldLogCategory: _ => true); @@ -1063,7 +1065,7 @@ public async Task Can_read_with_find_with_PK_partition_key() } } - [ConditionalFact] + [Fact] public async Task Can_read_with_find_with_PK_resource_id() { var contextFactory = await InitializeNonSharedTest(shouldLogCategory: _ => true); @@ -1213,7 +1215,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) }); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Can_use_detached_entities_without_discriminators(bool transactionalBatch) { var contextFactory = await InitializeNonSharedTest( @@ -1262,7 +1264,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) => modelBuilder.Entity().HasNoDiscriminator(); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Can_update_unmapped_properties(bool transactionalBatch) { var contextFactory = await InitializeNonSharedTest( @@ -1321,7 +1323,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) => modelBuilder.Entity().Property("EMail").ToJsonProperty("e-mail"); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Can_use_non_persisted_properties(bool transactionalBatch) { var contextFactory = await InitializeNonSharedTest( @@ -1357,7 +1359,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) => modelBuilder.Entity().Property(c => c.Name).ToJsonProperty(""); } - [ConditionalTheory, InlineData(false, Skip = "Fails only on C.I. See #33402"), InlineData(true, Skip = "Fails only on C.I. See #33402")] + [Theory, InlineData(false, Skip = "Fails only on C.I. See #33402"), InlineData(true, Skip = "Fails only on C.I. See #33402")] public async Task Add_update_delete_query_throws_if_no_container(bool transactionalBatch) { await using var testDatabase = await CosmosTestStore.CreateInitializedAsync("EndToEndEmpty"); @@ -1427,7 +1429,7 @@ public DbSet Customers => Set(); } - [ConditionalFact] + [Fact] public async Task Using_a_conflicting_incompatible_id_throws() { var contextFactory = await InitializeNonSharedTest(shouldLogCategory: _ => true); @@ -1455,7 +1457,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) => modelBuilder.Entity(); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Can_add_update_delete_end_to_end_with_conflicting_id(bool transactionalBatch) { var contextFactory = await InitializeNonSharedTest( @@ -1521,7 +1523,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) => modelBuilder.Entity(); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Can_have_non_string_property_named_Discriminator(bool useDiscriminator) { var contextFactory = await InitializeNonSharedTest( diff --git a/test/EFCore.Cosmos.FunctionalTests/FindCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/FindCosmosTest.cs index 2cec905464b..8deffcdb2de 100644 --- a/test/EFCore.Cosmos.FunctionalTests/FindCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/FindCosmosTest.cs @@ -11,17 +11,17 @@ protected FindCosmosTest(FindCosmosFixture fixture) : base(fixture) => fixture.TestSqlLoggerFactory.Clear(); - [ConditionalFact(Skip = "#25886")] + [Fact(Skip = "#25886")] public override void Find_base_type_using_derived_set_tracked() { } - [ConditionalTheory(Skip = "#25886")] + [Theory(Skip = "#25886")] public override Task Find_base_type_using_derived_set_tracked_async(CancellationType cancellationType) => Task.CompletedTask; - [ConditionalFact(Skip = "#25886")] + [Fact(Skip = "#25886")] public override void Find_derived_using_base_set_type_from_store() { } - [ConditionalTheory(Skip = "#25886")] + [Theory(Skip = "#25886")] public override Task Find_derived_using_base_set_type_from_store_async(CancellationType cancellationType) => Task.CompletedTask; diff --git a/test/EFCore.Cosmos.FunctionalTests/HierarchicalPartitionKeyTest.cs b/test/EFCore.Cosmos.FunctionalTests/HierarchicalPartitionKeyTest.cs index 9f023a5ed0f..5005d7d93a1 100644 --- a/test/EFCore.Cosmos.FunctionalTests/HierarchicalPartitionKeyTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/HierarchicalPartitionKeyTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore; @@ -22,7 +22,7 @@ public HierarchicalPartitionKeyTest(CosmosHierarchicalPartitionKeyFixture fixtur ClearLog(); } - [ConditionalFact] + [Fact] public virtual async Task Can_add_update_delete_end_to_end_with_partition_key() { const string read1Sql = @@ -53,7 +53,7 @@ await PartitionKeyTestAsync( 2); } - [ConditionalFact] + [Fact] public virtual async Task Can_add_update_delete_end_to_end_with_with_partition_key_extension() { const string readSql = @@ -73,7 +73,7 @@ await PartitionKeyTestAsync( 1); } - [ConditionalFact] + [Fact] public async Task Can_query_with_implicit_partition_key_filter() { const string readSql = diff --git a/test/EFCore.Cosmos.FunctionalTests/MaterializationInterceptionCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/MaterializationInterceptionCosmosTest.cs index 86ab4893198..352388ec1ad 100644 --- a/test/EFCore.Cosmos.FunctionalTests/MaterializationInterceptionCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/MaterializationInterceptionCosmosTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore; @@ -42,19 +42,19 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalTheory(Skip = "Issue #33600 - flaky test")] + [Theory(Skip = "Issue #33600 - flaky test")] public override Task Binding_interceptors_are_used_by_queries(bool inject, bool usePooling) => base.Binding_interceptors_are_used_by_queries(inject, usePooling); - [ConditionalTheory(Skip = "Issue #33600 - flaky test")] + [Theory(Skip = "Issue #33600 - flaky test")] public override Task Multiple_materialization_interceptors_can_be_used(bool inject, bool usePooling) => base.Multiple_materialization_interceptors_can_be_used(inject, usePooling); - [ConditionalTheory(Skip = "Issue #33600 - flaky test")] + [Theory(Skip = "Issue #33600 - flaky test")] public override Task Intercept_query_materialization_for_empty_constructor(bool inject, bool usePooling) => base.Intercept_query_materialization_for_empty_constructor(inject, usePooling); - [ConditionalTheory(Skip = "Issue #33600 - flaky test")] + [Theory(Skip = "Issue #33600 - flaky test")] public override Task Intercept_query_materialization_for_full_constructor(bool inject, bool usePooling) => base.Intercept_query_materialization_for_full_constructor(inject, usePooling); diff --git a/test/EFCore.Cosmos.FunctionalTests/ModelBuilding/CosmosModelBuilderGenericTest.cs b/test/EFCore.Cosmos.FunctionalTests/ModelBuilding/CosmosModelBuilderGenericTest.cs index 6560246328a..03421436f26 100644 --- a/test/EFCore.Cosmos.FunctionalTests/ModelBuilding/CosmosModelBuilderGenericTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/ModelBuilding/CosmosModelBuilderGenericTest.cs @@ -126,7 +126,7 @@ public override void Properties_can_be_set_to_generate_values_on_Add() Assert.Equal(ValueGenerated.OnUpdate, entityType.FindProperty("Bottom")!.ValueGenerated); } - [ConditionalFact] + [Fact] public virtual void Partition_key_is_added_to_the_keys() { var modelBuilder = CreateModelBuilder(); @@ -148,7 +148,7 @@ public virtual void Partition_key_is_added_to_the_keys() Assert.Equal(1, entity.GetKeys().Count()); } - [ConditionalFact] + [Fact] public virtual void Hierarchical_partition_key_is_added_to_the_keys() { var modelBuilder = CreateModelBuilder(); @@ -169,7 +169,7 @@ public virtual void Hierarchical_partition_key_is_added_to_the_keys() Assert.Equal(1, entity.GetKeys().Count()); } - [ConditionalFact] + [Fact] public virtual void Three_level_hierarchical_partition_key_is_added_to_the_keys() { var modelBuilder = CreateModelBuilder(); @@ -196,7 +196,7 @@ public virtual void Three_level_hierarchical_partition_key_is_added_to_the_keys( Assert.Equal(1, entity.GetKeys().Count()); } - [ConditionalFact] + [Fact] public virtual void Partition_key_is_added_to_the_alternate_key_if_primary_key_contains_id() { var modelBuilder = CreateModelBuilder(); @@ -222,7 +222,7 @@ public virtual void Partition_key_is_added_to_the_alternate_key_if_primary_key_c Assert.Equal(1, entity.GetKeys().Count()); } - [ConditionalFact] + [Fact] public virtual void Hierarchical_partition_key_is_added_to_the_alternate_key_if_primary_key_contains_id() { var modelBuilder = CreateModelBuilder(); @@ -253,7 +253,7 @@ public virtual void Hierarchical_partition_key_is_added_to_the_alternate_key_if_ entity.FindPrimaryKey()!.Properties.Select(p => p.Name)); } - [ConditionalFact] + [Fact] public virtual void Id_property_created_if_key_not_mapped_to_id() { var modelBuilder = CreateModelBuilder(); @@ -277,7 +277,7 @@ public virtual void Id_property_created_if_key_not_mapped_to_id() Assert.Equal(1, entity.GetKeys().Count()); } - [ConditionalFact] + [Fact] public virtual void No_id_property_created_if_another_property_mapped_to_id() { var modelBuilder = CreateModelBuilder(); @@ -298,7 +298,7 @@ public virtual void No_id_property_created_if_another_property_mapped_to_id() Assert.Equal(1, entity.GetKeys().Count()); } - [ConditionalFact] + [Fact] public virtual void No_id_property_created_if_another_property_mapped_to_id_in_pk() { var modelBuilder = CreateModelBuilder(); @@ -326,7 +326,7 @@ public virtual void No_id_property_created_if_another_property_mapped_to_id_in_p Assert.Equal(1, entity.GetKeys().Count()); } - [ConditionalFact] + [Fact] public virtual void No_alternate_key_is_created_if_primary_key_contains_id() { var modelBuilder = CreateModelBuilder(); @@ -350,7 +350,7 @@ public virtual void No_alternate_key_is_created_if_primary_key_contains_id() Assert.Equal(1, entity.GetKeys().Count()); } - [ConditionalFact] + [Fact] public virtual void No_alternate_key_is_created_if_primary_key_contains_id_and_partition_key() { var modelBuilder = CreateModelBuilder(); @@ -374,7 +374,7 @@ public virtual void No_alternate_key_is_created_if_primary_key_contains_id_and_p Assert.DoesNotContain(entity.GetKeys(), k => k != entity.FindPrimaryKey()); } - [ConditionalFact] + [Fact] public virtual void No_alternate_key_is_created_if_primary_key_contains_id_and_hierarchical_partition_key() { var modelBuilder = CreateModelBuilder(); @@ -417,7 +417,7 @@ public virtual void No_alternate_key_is_created_if_primary_key_contains_id_and_h Assert.DoesNotContain(entity.GetKeys(), k => k != entity.FindPrimaryKey()); } - [ConditionalFact] + [Fact] public virtual void No_alternate_key_is_created_if_primary_key_contains_id_and_hierarchical_partition_key_in_different_order() { var modelBuilder = CreateModelBuilder(); @@ -460,7 +460,7 @@ public virtual void No_alternate_key_is_created_if_primary_key_contains_id_and_h Assert.DoesNotContain(entity.GetKeys(), k => k != entity.FindPrimaryKey()); } - [ConditionalFact] + [Fact] public virtual void Hierarchical_partition_key_is_added_to_the_alternate_key_if_primary_key_contains_part_of_partition_key() { var modelBuilder = CreateModelBuilder(); @@ -496,7 +496,7 @@ public virtual void Hierarchical_partition_key_is_added_to_the_alternate_key_if_ entity.FindPrimaryKey()!.Properties.Select(p => p.Name)); } - [ConditionalFact] + [Fact] public virtual void No_alternate_key_is_created_if_id_is_partition_key() { var modelBuilder = CreateModelBuilder(); @@ -518,7 +518,7 @@ public virtual void No_alternate_key_is_created_if_id_is_partition_key() Assert.DoesNotContain(entity.GetKeys(), k => k != entity.FindPrimaryKey()); } - [ConditionalFact] + [Fact] public virtual void No_alternate_key_is_created_if_id_is_hierarchical_partition_key() { var modelBuilder = CreateModelBuilder(); @@ -550,7 +550,7 @@ public virtual void No_alternate_key_is_created_if_id_is_hierarchical_partition_ Assert.DoesNotContain(entity.GetKeys(), k => k != entity.FindPrimaryKey()); } - [ConditionalFact] + [Fact] public virtual void Single_string_primary_key_maps_to_JSON_id() { var modelBuilder = CreateModelBuilder(); @@ -577,7 +577,7 @@ public virtual void Single_string_primary_key_maps_to_JSON_id() Assert.Equal("id", entityType.FindProperty("Id")!.GetJsonPropertyName()); } - [ConditionalFact] // Issue #34511 + [Fact] // Issue #34511 public virtual void Single_string_primary_key_with_single_partition_key_maps_to_JSON_id() { var modelBuilder = CreateModelBuilder(); @@ -604,7 +604,7 @@ public virtual void Single_string_primary_key_with_single_partition_key_maps_to_ Assert.Equal("id", entityType.FindProperty("Id")!.GetJsonPropertyName()); } - [ConditionalFact] // Issue #34511 + [Fact] // Issue #34511 public virtual void Single_string_primary_key_with_hierarchical_partition_key_maps_to_JSON_id() { var modelBuilder = CreateModelBuilder(); @@ -645,7 +645,7 @@ protected class SingleStringKey public string P3 { get; set; } = null!; } - [ConditionalFact] // Issue #34554 + [Fact] // Issue #34554 public virtual void Single_GUID_primary_key_maps_to_JSON_id() { var modelBuilder = CreateModelBuilder(); @@ -672,7 +672,7 @@ public virtual void Single_GUID_primary_key_maps_to_JSON_id() Assert.Equal("id", entityType.FindProperty("Id")!.GetJsonPropertyName()); } - [ConditionalFact] // Issue #34554 + [Fact] // Issue #34554 public virtual void Single_GUID_primary_key_with_single_partition_key_maps_to_JSON_id() { var modelBuilder = CreateModelBuilder(); @@ -699,7 +699,7 @@ public virtual void Single_GUID_primary_key_with_single_partition_key_maps_to_JS Assert.Equal("id", entityType.FindProperty("Id")!.GetJsonPropertyName()); } - [ConditionalFact] // Issue #34554 + [Fact] // Issue #34554 public virtual void Single_GUID_primary_key_with_hierarchical_partition_key_maps_to_JSON_id() { var modelBuilder = CreateModelBuilder(); @@ -1017,7 +1017,7 @@ public override void Navigation_to_shared_type_is_not_discovered_by_convention() owned.DisplayName()); } - [ConditionalFact] // Issue #34329 + [Fact] // Issue #34329 public virtual void Navigation_cycle_can_be_broken() { var modelBuilder = CreateModelBuilder(); @@ -1064,7 +1064,7 @@ protected override TestModelBuilder CreateModelBuilder(Action { - [ConditionalFact] + [Fact] public virtual void Can_use_shared_type_as_join_entity_with_partition_keys() { var modelBuilder = CreateModelBuilder(); @@ -1116,7 +1116,7 @@ public virtual void Can_use_shared_type_as_join_entity_with_partition_keys() Assert.Equal("PartitionId", joinType.FindPrimaryKey()!.Properties.Last().Name); } - [ConditionalFact] + [Fact] public virtual void Can_use_shared_type_as_join_entity_with_hierarchical_partition_keys() { var modelBuilder = CreateModelBuilder(); @@ -1176,7 +1176,7 @@ public virtual void Can_use_shared_type_as_join_entity_with_hierarchical_partiti joinType.FindPrimaryKey()!.Properties.Select(p => p.Name)); } - [ConditionalFact] + [Fact] public virtual void Can_use_implicit_join_entity_with_partition_keys() { var modelBuilder = CreateModelBuilder(); @@ -1213,7 +1213,7 @@ public virtual void Can_use_implicit_join_entity_with_partition_keys() Assert.Equal("PartitionId", joinType.FindPrimaryKey()!.Properties.Last().Name); } - [ConditionalFact] + [Fact] public virtual void Can_use_implicit_join_entity_with_hierarchical_partition_keys() { var modelBuilder = CreateModelBuilder(); @@ -1261,7 +1261,7 @@ public virtual void Can_use_implicit_join_entity_with_hierarchical_partition_key Assert.Equal("DbContext", joinType.GetContainer()); } - [ConditionalFact] + [Fact] public virtual void Can_use_implicit_join_entity_with_partition_keys_changed() { var modelBuilder = CreateModelBuilder(); @@ -1383,7 +1383,7 @@ public override void Shared_type_entity_types_with_FK_to_another_entity_works() Assert.Throws( base.Shared_type_entity_types_with_FK_to_another_entity_works).Message); - [ConditionalFact] + [Fact] public virtual void Reference_type_is_discovered_as_owned() { var modelBuilder = CreateModelBuilder(); diff --git a/test/EFCore.Cosmos.FunctionalTests/OptimisticConcurrencyCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/OptimisticConcurrencyCosmosTest.cs index 599d18467d9..bc74342d5f7 100644 --- a/test/EFCore.Cosmos.FunctionalTests/OptimisticConcurrencyCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/OptimisticConcurrencyCosmosTest.cs @@ -120,9 +120,9 @@ public Task RollbackAsync(CancellationToken cancellationToken = default) => Task.CompletedTask; } - public Task InitializeAsync() - => Fixture.ReseedAsync(); + public async ValueTask InitializeAsync() + => await Fixture.ReseedAsync(); - public Task DisposeAsync() - => Task.CompletedTask; + public ValueTask DisposeAsync() + => ValueTask.CompletedTask; } diff --git a/test/EFCore.Cosmos.FunctionalTests/OverzealousInitializationCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/OverzealousInitializationCosmosTest.cs index de5897e34bf..62888b8c421 100644 --- a/test/EFCore.Cosmos.FunctionalTests/OverzealousInitializationCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/OverzealousInitializationCosmosTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore; public class OverzealousInitializationCosmosTest(OverzealousInitializationCosmosTest.OverzealousInitializationCosmosFixture fixture) : OverzealousInitializationTestBase(fixture) { - [ConditionalFact(Skip = "Issue #17246")] + [Fact(Skip = "Issue #17246")] public override void Fixup_ignores_eagerly_initialized_reference_navs() { } diff --git a/test/EFCore.Cosmos.FunctionalTests/PartitionKeyTest.cs b/test/EFCore.Cosmos.FunctionalTests/PartitionKeyTest.cs index 7f9033382f8..a786dc6a46a 100644 --- a/test/EFCore.Cosmos.FunctionalTests/PartitionKeyTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/PartitionKeyTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore; @@ -24,7 +24,7 @@ public PartitionKeyTest(CosmosPartitionKeyFixture fixture) ClearLog(); } - [ConditionalFact] + [Fact] public virtual async Task Can_add_update_delete_end_to_end_with_partition_key() { const string readSql = @@ -43,7 +43,7 @@ await PartitionKeyTestAsync( 2); } - [ConditionalFact] + [Fact] public virtual async Task Can_add_update_delete_end_to_end_with_with_partition_key_extension() { const string readSql = @@ -61,7 +61,7 @@ await PartitionKeyTestAsync( 1); } - [ConditionalFact] + [Fact] public async Task Can_query_with_implicit_partition_key_filter() { const string readSql = diff --git a/test/EFCore.Cosmos.FunctionalTests/Properties/TestAssemblyCondition.cs b/test/EFCore.Cosmos.FunctionalTests/Properties/TestAssemblyCondition.cs index 4bfe2bfbbc3..af1a3794f17 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Properties/TestAssemblyCondition.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Properties/TestAssemblyCondition.cs @@ -1,9 +1,10 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -// Skip the entire assembly if cannot connect to CosmosDb +using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; -[assembly: CosmosDbConfiguredCondition] +// Skip the entire assembly if cannot connect to CosmosDb +[assembly: ConditionalAssembly(typeof(CosmosTestEnvironment), nameof(CosmosTestEnvironment.IsAvailable))] // Waiting on Task causes deadlocks when run in parallel [assembly: CollectionBehavior(DisableTestParallelization = true)] diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/AdHocComplexTypeQueryCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/AdHocComplexTypeQueryCosmosTest.cs index 502e8227722..159305577d5 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/AdHocComplexTypeQueryCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/AdHocComplexTypeQueryCosmosTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Cosmos.Internal; @@ -11,9 +11,10 @@ protected override ITestStoreFactory NonSharedTestStoreFactory => CosmosTestStoreFactory.Instance; // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/288 (Complex-type equality comparisons return no results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Complex_type_equals_parameter_with_nested_types_with_property_of_same_name() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Complex_type_equals_parameter_with_nested_types_with_property_of_same_name(); AssertSql( @@ -221,7 +222,7 @@ protected override DbContextOptionsBuilder AddNonSharedOptions(DbContextOptionsB => base.AddNonSharedOptions(builder) .ConfigureWarnings(w => w.Ignore(CosmosEventId.NoPartitionKeyDefined)); - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/AdHocJsonQueryCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/AdHocJsonQueryCosmosTest.cs index 8aac913ff9f..5a0871d1144 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/AdHocJsonQueryCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/AdHocJsonQueryCosmosTest.cs @@ -26,7 +26,7 @@ FROM root c } } - [ConditionalTheory(Skip = "issue #35702")] + [Theory(Skip = "issue #35702")] public override async Task Project_top_level_json_entity_with_missing_scalars(bool async) { if (async) @@ -47,7 +47,7 @@ public override async Task Project_nested_json_entity_with_missing_scalars(bool } } - [ConditionalTheory(Skip = "issue #34067")] + [Theory(Skip = "issue #34067")] public override async Task Project_top_level_entity_with_null_value_required_scalars(bool async) { if (async) @@ -717,7 +717,7 @@ await AdHocCosmosTestHelpers.CreateCustomEntityHelperAsync( #region 30028 - [ConditionalTheory(Skip = "issue #35702")] + [Theory(Skip = "issue #35702")] public override Task Missing_navigation_works_with_deduplication(bool async) => base.Missing_navigation_works_with_deduplication(async); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/AdHocMiscellaneousQueryCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/AdHocMiscellaneousQueryCosmosTest.cs index 2de10459392..7f6264cf729 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/AdHocMiscellaneousQueryCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/AdHocMiscellaneousQueryCosmosTest.cs @@ -13,7 +13,7 @@ public class AdHocMiscellaneousQueryCosmosTest(NonSharedFixture fixture) : NonSh { #region 21006 - [ConditionalFact] + [Fact] public virtual async Task Project_all_types_entity_with_missing_scalars() { var contextFactory = await InitializeNonSharedTest( @@ -150,7 +150,7 @@ public enum JsonEnum #region 34911 - [ConditionalFact] + [Fact] public virtual async Task Enum_partition_key() { var contextFactory = await InitializeNonSharedTest( @@ -195,84 +195,84 @@ public enum MemberType // TODO: Move these tests to a better location. They require nullable properties with nulls in the database. - [ConditionalFact] + [Fact] public virtual async Task Min_over_value_type_containing_nulls() { await using var context = (await InitializeNonSharedTest()).CreateDbContext(); Assert.Null(await context.Set().MinAsync(p => p.NullableVal)); } - [ConditionalFact] + [Fact] public virtual async Task Min_over_value_type_containing_all_nulls() { await using var context = (await InitializeNonSharedTest()).CreateDbContext(); Assert.Null(await context.Set().Where(e => e.NullableVal == null).MinAsync(p => p.NullableVal)); } - [ConditionalFact] + [Fact] public virtual async Task Min_over_reference_type_containing_nulls() { await using var context = (await InitializeNonSharedTest()).CreateDbContext(); Assert.Null(await context.Set().MinAsync(p => p.NullableRef)); } - [ConditionalFact] + [Fact] public virtual async Task Min_over_reference_type_containing_all_nulls() { await using var context = (await InitializeNonSharedTest()).CreateDbContext(); Assert.Null(await context.Set().Where(e => e.NullableRef == null).MinAsync(p => p.NullableRef)); } - [ConditionalFact] + [Fact] public virtual async Task Min_over_reference_type_containing_no_data() { await using var context = (await InitializeNonSharedTest()).CreateDbContext(); Assert.Null(await context.Set().Where(e => e.Id < 0).MinAsync(p => p.NullableRef)); } - [ConditionalFact] + [Fact] public virtual async Task Max_over_value_type_containing_nulls() { await using var context = (await InitializeNonSharedTest()).CreateDbContext(); Assert.Equal(3.14, await context.Set().MaxAsync(p => p.NullableVal)); } - [ConditionalFact] + [Fact] public virtual async Task Max_over_value_type_containing_all_nulls() { await using var context = (await InitializeNonSharedTest()).CreateDbContext(); Assert.Null(await context.Set().Where(e => e.NullableVal == null).MaxAsync(p => p.NullableVal)); } - [ConditionalFact] + [Fact] public virtual async Task Max_over_reference_type_containing_nulls() { await using var context = (await InitializeNonSharedTest()).CreateDbContext(); Assert.Equal("Value", await context.Set().MaxAsync(p => p.NullableRef)); } - [ConditionalFact] + [Fact] public virtual async Task Max_over_reference_type_containing_all_nulls() { await using var context = (await InitializeNonSharedTest()).CreateDbContext(); Assert.Null(await context.Set().Where(e => e.NullableRef == null).MaxAsync(p => p.NullableRef)); } - [ConditionalFact] + [Fact] public virtual async Task Max_over_reference_type_containing_no_data() { await using var context = (await InitializeNonSharedTest()).CreateDbContext(); Assert.Null(await context.Set().Where(e => e.Id < 0).MaxAsync(p => p.NullableRef)); } - [ConditionalFact] + [Fact] public virtual async Task Average_over_value_type_containing_nulls() { await using var context = (await InitializeNonSharedTest()).CreateDbContext(); Assert.Null(await context.Set().AverageAsync(p => p.NullableVal)); } - [ConditionalFact] + [Fact] public virtual async Task Average_over_value_type_containing_all_nulls() { await using var context = (await InitializeNonSharedTest()).CreateDbContext(); @@ -308,7 +308,7 @@ public class Product #region 36329 - [ConditionalFact] + [Fact] public virtual async Task Enum_discriminator_with_value_converter_on_derived_dbset() { var contextFactory = await InitializeNonSharedTest( @@ -388,7 +388,7 @@ public enum PetType36329 #region 37653 - [ConditionalFact] + [Fact] public virtual async Task Coalesce_in_conditional_with_value_conversion() { var contextFactory = await InitializeNonSharedTest(); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Associations/ComplexProperties/ComplexPropertiesCollectionCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Associations/ComplexProperties/ComplexPropertiesCollectionCosmosTest.cs index 92c2c3adbd9..6a3cdadc760 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Associations/ComplexProperties/ComplexPropertiesCollectionCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Associations/ComplexProperties/ComplexPropertiesCollectionCosmosTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.Azure.Cosmos; @@ -27,9 +27,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Where() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Where(); AssertSql( @@ -43,7 +44,7 @@ FROM a IN c["AssociateCollection"] """); } - [ConditionalFact] + [Fact] public async Task Where_subquery_structural_equality() { var param = new AssociateType @@ -201,16 +202,17 @@ FROM root c #region GroupBy - [ConditionalFact] + [Fact] public override Task GroupBy() => AssertTranslationFailed(base.GroupBy); #endregion GroupBy // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Select_within_Select_within_Select_with_aggregates() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Select_within_Select_within_Select_with_aggregates(); AssertSql( @@ -229,7 +231,7 @@ FROM root c public override Task Project_struct_complex_type_with_entity_collection_navigation() => Task.CompletedTask; - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Associations/ComplexProperties/ComplexPropertiesMiscellaneousCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Associations/ComplexProperties/ComplexPropertiesMiscellaneousCosmosTest.cs index d625d726dac..80f7fed4895 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Associations/ComplexProperties/ComplexPropertiesMiscellaneousCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Associations/ComplexProperties/ComplexPropertiesMiscellaneousCosmosTest.cs @@ -86,7 +86,7 @@ FROM root c #endregion Value types - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Associations/ComplexProperties/ComplexPropertiesPrimitiveCollectionCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Associations/ComplexProperties/ComplexPropertiesPrimitiveCollectionCosmosTest.cs index dd1173ad6bf..050d1473276 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Associations/ComplexProperties/ComplexPropertiesPrimitiveCollectionCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Associations/ComplexProperties/ComplexPropertiesPrimitiveCollectionCosmosTest.cs @@ -73,9 +73,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Select_Sum() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Select_Sum(); AssertSql( @@ -90,7 +91,7 @@ SELECT VALUE SUM(i) """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Associations/ComplexProperties/ComplexPropertiesProjectionCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Associations/ComplexProperties/ComplexPropertiesProjectionCosmosTest.cs index 989be45022c..e8edbc0b94d 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Associations/ComplexProperties/ComplexPropertiesProjectionCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Associations/ComplexProperties/ComplexPropertiesProjectionCosmosTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query.Associations.ComplexProperties; @@ -98,7 +98,7 @@ FROM root c """); } - [ConditionalFact] + [Fact] public Task Select_distinct_associate() => AssertTranslationFailed(() => AssertQuery( ss => ss.Set().Select(x => x.RequiredAssociate).Distinct(), @@ -354,7 +354,7 @@ ORDER BY c["Id"] #endregion Value types - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Associations/ComplexProperties/ComplexPropertiesSetOperationsCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Associations/ComplexProperties/ComplexPropertiesSetOperationsCosmosTest.cs index 75aaca87562..12086981a5a 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Associations/ComplexProperties/ComplexPropertiesSetOperationsCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Associations/ComplexProperties/ComplexPropertiesSetOperationsCosmosTest.cs @@ -58,7 +58,7 @@ FROM n0 IN c["RequiredAssociate"]["NestedCollection"] public override Task Over_different_collection_properties() => AssertTranslationFailed(base.Over_different_collection_properties); - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Associations/ComplexProperties/ComplexPropertiesStructuralEqualityCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Associations/ComplexProperties/ComplexPropertiesStructuralEqualityCosmosTest.cs index 2d1dc3f1f5d..df5c5b4114f 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Associations/ComplexProperties/ComplexPropertiesStructuralEqualityCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Associations/ComplexProperties/ComplexPropertiesStructuralEqualityCosmosTest.cs @@ -84,9 +84,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/288 (Complex-type equality comparisons return no results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Nested_associate_with_inline() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Nested_associate_with_inline(); AssertSql( @@ -98,9 +99,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/288 (Complex-type equality comparisons return no results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Nested_associate_with_parameter() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Nested_associate_with_parameter(); AssertSql( @@ -113,7 +115,7 @@ FROM root c """); } - [ConditionalFact] + [Fact] public async Task Nested_associate_with_parameter_null() { NestedAssociateType? nested = null; @@ -130,7 +132,7 @@ FROM root c """); } - [ConditionalFact] + [Fact] public async Task Nested_associate_with_parameter_not_null() { NestedAssociateType? nested = null; @@ -160,9 +162,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/288 (Complex-type equality comparisons return no results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Nested_collection_with_inline() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Nested_collection_with_inline(); AssertSql( @@ -174,9 +177,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/288 (Complex-type equality comparisons return no results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Nested_collection_with_parameter() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Nested_collection_with_parameter(); AssertSql( @@ -189,7 +193,7 @@ FROM root c """); } - [ConditionalFact] + [Fact] public override async Task Nullable_value_type_with_null() { await base.Nullable_value_type_with_null(); @@ -205,9 +209,10 @@ FROM root c #region Contains // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/288 (Complex-type equality comparisons return no results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Contains_with_inline() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Contains_with_inline(); AssertSql( @@ -222,9 +227,10 @@ FROM n IN c["RequiredAssociate"]["NestedCollection"] } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/288 (Complex-type equality comparisons return no results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Contains_with_parameter() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Contains_with_parameter(); AssertSql( @@ -241,9 +247,10 @@ FROM n IN c["RequiredAssociate"]["NestedCollection"] } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/288 (Complex-type equality comparisons return no results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Contains_with_operators_composed_on_the_collection() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Contains_with_operators_composed_on_the_collection(); AssertSql( @@ -261,9 +268,10 @@ FROM n IN c["RequiredAssociate"]["NestedCollection"] } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/288 (Complex-type equality comparisons return no results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Contains_with_nested_and_composed_operators() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Contains_with_nested_and_composed_operators(); AssertSql( @@ -282,7 +290,7 @@ FROM a IN c["AssociateCollection"] #endregion Contains - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsCollectionCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsCollectionCosmosTest.cs index 95efd4db7ca..8a0a11d8fa2 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsCollectionCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsCollectionCosmosTest.cs @@ -26,7 +26,7 @@ FROM root c """); } - [ConditionalFact] + [Fact] public async Task Where_first_inline_not_null() { await AssertQuery(ss => ss.Set().Where(e => e.AssociateCollection.FirstOrDefault() != null)); @@ -40,9 +40,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Where() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Where(); AssertSql( @@ -157,16 +158,17 @@ FROM root c #region GroupBy - [ConditionalFact] + [Fact] public override Task GroupBy() => AssertTranslationFailed(base.GroupBy); #endregion GroupBy // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Select_within_Select_within_Select_with_aggregates() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Select_within_Select_within_Select_with_aggregates(); AssertSql( @@ -180,7 +182,7 @@ FROM root c """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsMiscellaneousCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsMiscellaneousCosmosTest.cs index b9387d47a93..54aafbe3fe1 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsMiscellaneousCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsMiscellaneousCosmosTest.cs @@ -48,7 +48,7 @@ FROM root c """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsPrimitiveCollectionCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsPrimitiveCollectionCosmosTest.cs index a9a765e9d6a..bae7ca0101a 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsPrimitiveCollectionCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsPrimitiveCollectionCosmosTest.cs @@ -73,9 +73,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Select_Sum() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Select_Sum(); AssertSql( @@ -90,7 +91,7 @@ SELECT VALUE SUM(i) """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsProjectionCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsProjectionCosmosTest.cs index 9027b062b25..408f651a6e8 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsProjectionCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsProjectionCosmosTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query.Associations.OwnedNavigations; @@ -102,7 +102,7 @@ FROM root c } } - [ConditionalFact] + [Fact] public Task Select_distinct_associate() => AssertTranslationFailed(() => AssertQuery( ss => ss.Set().Select(x => x.RequiredAssociate).Distinct(), @@ -365,7 +365,7 @@ public override async Task Select_subquery_optional_related_FirstOrDefault(Query #endregion Subquery - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsSetOperationsCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsSetOperationsCosmosTest.cs index 65b57617810..c1cbcafc139 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsSetOperationsCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsSetOperationsCosmosTest.cs @@ -58,7 +58,7 @@ FROM n0 IN c["RequiredAssociate"]["NestedCollection"] public override Task Over_different_collection_properties() => AssertTranslationFailed(base.Over_different_collection_properties); - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsStructuralEqualityCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsStructuralEqualityCosmosTest.cs index 7db2fb379e3..f3cc739b0fb 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsStructuralEqualityCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsStructuralEqualityCosmosTest.cs @@ -117,7 +117,7 @@ public override async Task Nested_collection_with_parameter() #region Contains - [ConditionalFact] + [Fact] public async Task Contains_with_inline_null() { await AssertQuery(ss => ss.Set().Where(e => @@ -165,7 +165,7 @@ public override async Task Contains_with_nested_and_composed_operators() #endregion Contains - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/ComplexTypeQueryCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/ComplexTypeQueryCosmosTest.cs index ccf2c48f6fc..5552303dac9 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/ComplexTypeQueryCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/ComplexTypeQueryCosmosTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Cosmos.Internal; @@ -95,10 +95,11 @@ FROM root c }); // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/288 (Complex-type equality comparisons return no results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override Task Complex_type_equals_constant(bool async) => CosmosTestHelpers.Instance.NoSyncTest(async, async (async) => { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Complex_type_equals_constant(async); AssertSql( @@ -110,10 +111,11 @@ FROM root c }); // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/288 (Complex-type equality comparisons return no results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override Task Complex_type_equals_parameter(bool async) => CosmosTestHelpers.Instance.NoSyncTest(async, async (async) => { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Complex_type_equals_parameter(async); AssertSql( @@ -272,10 +274,11 @@ FROM root c }); // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/288 (Complex-type equality comparisons return no results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override Task Struct_complex_type_equals_constant(bool async) => CosmosTestHelpers.Instance.NoSyncTest(async, async (async) => { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Struct_complex_type_equals_constant(async); AssertSql( @@ -287,10 +290,11 @@ FROM root c }); // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/288 (Complex-type equality comparisons return no results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override Task Struct_complex_type_equals_parameter(bool async) => CosmosTestHelpers.Instance.NoSyncTest(async, async (async) => { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Struct_complex_type_equals_parameter(async); AssertSql( @@ -378,7 +382,7 @@ public override Task Same_complex_type_projected_twice_with_pushdown_as_part_of_ #region GroupBy - [ConditionalTheory(Skip = "#17313 Cosmos: Translate GroupBy")] + [Theory(Skip = "#17313 Cosmos: Translate GroupBy")] public override async Task GroupBy_over_property_in_nested_complex_type(bool async) { await base.GroupBy_over_property_in_nested_complex_type(async); @@ -389,7 +393,7 @@ public override async Task GroupBy_over_property_in_nested_complex_type(bool asy """); } - [ConditionalTheory(Skip = "#17313 Cosmos: Translate GroupBy")] + [Theory(Skip = "#17313 Cosmos: Translate GroupBy")] public override async Task GroupBy_over_complex_type(bool async) { await base.GroupBy_over_complex_type(async); @@ -400,7 +404,7 @@ public override async Task GroupBy_over_complex_type(bool async) """); } - [ConditionalTheory(Skip = "#17313 Cosmos: Translate GroupBy")] + [Theory(Skip = "#17313 Cosmos: Translate GroupBy")] public override async Task GroupBy_over_nested_complex_type(bool async) { await base.GroupBy_over_nested_complex_type(async); @@ -411,7 +415,7 @@ public override async Task GroupBy_over_nested_complex_type(bool async) """); } - [ConditionalTheory(Skip = "#17313 Cosmos: Translate GroupBy")] + [Theory(Skip = "#17313 Cosmos: Translate GroupBy")] public override async Task Entity_with_complex_type_with_group_by_and_first(bool async) { await base.Entity_with_complex_type_with_group_by_and_first(async); @@ -433,7 +437,7 @@ public override Task Projecting_complex_from_optional_navigation_using_condition public override Task Project_entity_with_complex_type_pushdown_and_then_left_join(bool async) => AssertTranslationFailedWithDetails(() => base.Project_entity_with_complex_type_pushdown_and_then_left_join(async), CosmosStrings.LimitOffsetNotSupportedInSubqueries); - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/ComplexTypeToJsonPropertyQueryCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/ComplexTypeToJsonPropertyQueryCosmosTest.cs index 582e7073f07..258ba5cbae7 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/ComplexTypeToJsonPropertyQueryCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/ComplexTypeToJsonPropertyQueryCosmosTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Cosmos.Internal; @@ -95,10 +95,11 @@ FROM root c }); // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/288 (Complex-type equality comparisons return no results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override Task Complex_type_equals_constant(bool async) => CosmosTestHelpers.Instance.NoSyncTest(async, async (async) => { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Complex_type_equals_constant(async); AssertSql( @@ -110,10 +111,11 @@ FROM root c }); // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/288 (Complex-type equality comparisons return no results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override Task Complex_type_equals_parameter(bool async) => CosmosTestHelpers.Instance.NoSyncTest(async, async (async) => { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Complex_type_equals_parameter(async); AssertSql( @@ -272,10 +274,11 @@ FROM root c }); // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/288 (Complex-type equality comparisons return no results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override Task Struct_complex_type_equals_constant(bool async) => CosmosTestHelpers.Instance.NoSyncTest(async, async (async) => { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Struct_complex_type_equals_constant(async); AssertSql( @@ -287,10 +290,11 @@ FROM root c }); // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/288 (Complex-type equality comparisons return no results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override Task Struct_complex_type_equals_parameter(bool async) => CosmosTestHelpers.Instance.NoSyncTest(async, async (async) => { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Struct_complex_type_equals_parameter(async); AssertSql( @@ -378,7 +382,7 @@ public override Task Same_complex_type_projected_twice_with_pushdown_as_part_of_ #region GroupBy - [ConditionalTheory(Skip = "#17313 Cosmos: Translate GroupBy")] + [Theory(Skip = "#17313 Cosmos: Translate GroupBy")] public override async Task GroupBy_over_property_in_nested_complex_type(bool async) { await base.GroupBy_over_property_in_nested_complex_type(async); @@ -389,7 +393,7 @@ public override async Task GroupBy_over_property_in_nested_complex_type(bool asy """); } - [ConditionalTheory(Skip = "#17313 Cosmos: Translate GroupBy")] + [Theory(Skip = "#17313 Cosmos: Translate GroupBy")] public override async Task GroupBy_over_complex_type(bool async) { await base.GroupBy_over_complex_type(async); @@ -400,7 +404,7 @@ public override async Task GroupBy_over_complex_type(bool async) """); } - [ConditionalTheory(Skip = "#17313 Cosmos: Translate GroupBy")] + [Theory(Skip = "#17313 Cosmos: Translate GroupBy")] public override async Task GroupBy_over_nested_complex_type(bool async) { await base.GroupBy_over_nested_complex_type(async); @@ -411,7 +415,7 @@ public override async Task GroupBy_over_nested_complex_type(bool async) """); } - [ConditionalTheory(Skip = "#17313 Cosmos: Translate GroupBy")] + [Theory(Skip = "#17313 Cosmos: Translate GroupBy")] public override async Task Entity_with_complex_type_with_group_by_and_first(bool async) { await base.Entity_with_complex_type_with_group_by_and_first(async); @@ -433,7 +437,7 @@ public override Task Projecting_complex_from_optional_navigation_using_condition public override Task Project_entity_with_complex_type_pushdown_and_then_left_join(bool async) => AssertTranslationFailedWithDetails(() => base.Project_entity_with_complex_type_pushdown_and_then_left_join(async), CosmosStrings.LimitOffsetNotSupportedInSubqueries); - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/FromSqlQueryCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/FromSqlQueryCosmosTest.cs index 2a73db26640..47167c540f1 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/FromSqlQueryCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/FromSqlQueryCosmosTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.Northwind; @@ -21,7 +21,7 @@ public FromSqlQueryCosmosTest( protected NorthwindContext CreateContext() => Fixture.CreateContext(); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public Task FromSqlRaw_queryable_simple(bool async) => Fixture.NoSyncTest( async, async a => @@ -46,7 +46,7 @@ SELECT VALUE s """); }); - [ConditionalFact] + [Fact] public async Task FromSqlRaw_queryable_incorrect_discriminator_throws() { using var context = CreateContext(); @@ -62,7 +62,7 @@ public async Task FromSqlRaw_queryable_incorrect_discriminator_throws() exception.Message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public Task FromSqlRaw_queryable_simple_columns_out_of_order(bool async) => Fixture.NoSyncTest( async, async a => @@ -89,7 +89,7 @@ SELECT VALUE s """); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public Task FromSqlRaw_queryable_simple_columns_out_of_order_and_extra_columns(bool async) => Fixture.NoSyncTest( async, async a => @@ -116,7 +116,7 @@ SELECT VALUE s """); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public Task FromSqlRaw_queryable_composed(bool async) => Fixture.NoSyncTest( async, async a => @@ -147,7 +147,7 @@ WHERE CONTAINS(s["ContactName"], "z") """); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_queryable_composed_after_removing_whitespaces(bool async) => Fixture.NoSyncTest( async, async a => @@ -182,7 +182,7 @@ WHERE CONTAINS(s["ContactName"], "z") """); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public Task FromSqlRaw_queryable_composed_compiled(bool async) => Fixture.NoSyncTest( async, async a => @@ -227,7 +227,7 @@ WHERE CONTAINS(s["ContactName"], "z") """); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_queryable_composed_compiled_with_parameter(bool async) => Fixture.NoSyncTest( async, async a => @@ -269,7 +269,7 @@ WHERE CONTAINS(s["ContactName"], "z") """); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_queryable_multiple_line_query(bool async) => Fixture.NoSyncTest( async, async a => @@ -300,7 +300,7 @@ FROM root c """); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_queryable_composed_multiple_line_query(bool async) => Fixture.NoSyncTest( async, async a => @@ -333,7 +333,7 @@ FROM root c """); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public Task FromSqlRaw_queryable_with_parameters(bool async) => Fixture.NoSyncTest( async, async a => @@ -367,7 +367,7 @@ SELECT VALUE s """); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public Task FromSqlRaw_queryable_with_parameters_inline(bool async) => Fixture.NoSyncTest( async, async a => @@ -398,7 +398,7 @@ SELECT VALUE s """); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public Task FromSqlRaw_queryable_with_null_parameter(bool async) => Fixture.NoSyncTest( async, async a => @@ -427,7 +427,7 @@ SELECT VALUE s """); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public Task FromSqlRaw_queryable_with_parameters_and_closure(bool async) => Fixture.NoSyncTest( async, async a => @@ -462,7 +462,7 @@ SELECT VALUE s """); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_queryable_simple_cache_key_includes_query_string(bool async) => Fixture.NoSyncTest( async, async a => @@ -504,7 +504,7 @@ SELECT VALUE s """); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_queryable_with_parameters_cache_key_includes_parameters(bool async) => Fixture.NoSyncTest( async, async a => @@ -560,7 +560,7 @@ SELECT VALUE s """); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_queryable_simple_as_no_tracking_not_composed(bool async) => Fixture.NoSyncTest( async, async a => @@ -588,7 +588,7 @@ SELECT VALUE s """); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_queryable_simple_projection_composed(bool async) => Fixture.NoSyncTest( async, async a => @@ -619,7 +619,7 @@ FROM root c """); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_composed_with_nullable_predicate(bool async) => Fixture.NoSyncTest( async, async a => @@ -647,7 +647,7 @@ SELECT VALUE s """); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_does_not_parameterize_interpolated_string(bool async) => Fixture.NoSyncTest( async, async a => @@ -665,7 +665,7 @@ public virtual Task FromSqlRaw_does_not_parameterize_interpolated_string(bool as Assert.Equal(2, actual.Count); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_queryable_simple_projection_not_composed(bool async) => Fixture.NoSyncTest( async, async a => @@ -698,7 +698,7 @@ SELECT VALUE """); }); - [ConditionalFact] + [Fact] public async Task FromSqlRaw_queryable_simple_with_missing_key_and_non_tracking_throws() { using var context = CreateContext(); @@ -715,7 +715,7 @@ public async Task FromSqlRaw_queryable_simple_with_missing_key_and_non_tracking_ exception.Message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSql_queryable_with_parameters_interpolated(bool async) => Fixture.NoSyncTest( async, async a => @@ -741,7 +741,7 @@ SELECT VALUE s """); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSql_queryable_with_parameters_inline_interpolated(bool async) => Fixture.NoSyncTest( async, async a => @@ -764,7 +764,7 @@ SELECT VALUE s """); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Both_FromSql_and_regular_parameters(bool async) => Fixture.NoSyncTest( async, async a => diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Inheritance/InheritanceQueryCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Inheritance/InheritanceQueryCosmosTest.cs index e5b6cb558a6..64780ac44dc 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Inheritance/InheritanceQueryCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Inheritance/InheritanceQueryCosmosTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Cosmos.Internal; @@ -16,7 +16,7 @@ public InheritanceQueryCosmosTest(InheritanceQueryCosmosFixture fixture, ITestOu Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -272,7 +272,7 @@ ORDER BY c["Species"] """); }); - [ConditionalTheory(Skip = "Issue#17246 Views are not supported")] + [Theory(Skip = "Issue#17246 Views are not supported")] public override async Task Can_query_all_animal_views(bool async) { await base.Can_query_all_animal_views(async); @@ -355,7 +355,7 @@ OFFSET 0 LIMIT 2 """); }); - [ConditionalTheory(Skip = "Issue#17246 Non-embedded Include")] + [Theory(Skip = "Issue#17246 Non-embedded Include")] public override async Task Can_include_animals(bool async) { await base.Can_include_animals(async); @@ -363,7 +363,7 @@ public override async Task Can_include_animals(bool async) AssertSql(" "); } - [ConditionalTheory(Skip = "Issue#17246 Non-embedded Include")] + [Theory(Skip = "Issue#17246 Non-embedded Include")] public override async Task Can_include_prey(bool async) { await base.Can_include_prey(async); @@ -455,7 +455,7 @@ FROM root c """); }); - [ConditionalFact(Skip = "Issue#17246 Transations not supported")] + [Fact(Skip = "Issue#17246 Transations not supported")] public override async Task Can_insert_update_delete() { await base.Can_insert_update_delete(); @@ -536,7 +536,7 @@ ORDER BY c["Name"] """); } - [ConditionalTheory(Skip = "Issue#17246 subquery usage")] + [Theory(Skip = "Issue#17246 subquery usage")] public override async Task Is_operator_on_result_of_FirstOrDefault(bool async) { await base.Is_operator_on_result_of_FirstOrDefault(async); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/JsonQueryCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/JsonQueryCosmosTest.cs index 7b4b1da164e..07f01ff2310 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/JsonQueryCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/JsonQueryCosmosTest.cs @@ -1,11 +1,9 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.Azure.Cosmos; using Microsoft.EntityFrameworkCore.Cosmos.Internal; using Microsoft.EntityFrameworkCore.TestModels.JsonQuery; -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Query; public class JsonQueryCosmosTest : JsonQueryTestBase @@ -199,7 +197,7 @@ FROM root c """); }); - [ConditionalTheory(Skip = "issue #34350")] + [Theory(Skip = "issue #34350")] public override Task Custom_naming_projection_everything(bool async) => Fixture.NoSyncTest( async, async a => @@ -278,35 +276,35 @@ public override async Task Entity_including_collection_with_json(bool async) message); } - [ConditionalTheory(Skip = "issue #17313")] + [Theory(Skip = "issue #17313")] public override Task Group_by_FirstOrDefault_on_json_scalar(bool async) => base.Group_by_FirstOrDefault_on_json_scalar(async); - [ConditionalTheory(Skip = "issue #17313")] + [Theory(Skip = "issue #17313")] public override Task Group_by_First_on_json_scalar(bool async) => base.Group_by_First_on_json_scalar(async); - [ConditionalTheory(Skip = "issue #17313")] + [Theory(Skip = "issue #17313")] public override Task Group_by_json_scalar_Orderby_json_scalar_FirstOrDefault(bool async) => base.Group_by_json_scalar_Orderby_json_scalar_FirstOrDefault(async); - [ConditionalTheory(Skip = "issue #17313")] + [Theory(Skip = "issue #17313")] public override Task Group_by_json_scalar_Skip_First_project_json_scalar(bool async) => base.Group_by_json_scalar_Skip_First_project_json_scalar(async); - [ConditionalTheory(Skip = "issue #17313")] + [Theory(Skip = "issue #17313")] public override Task Group_by_on_json_scalar(bool async) => base.Group_by_on_json_scalar(async); - [ConditionalTheory(Skip = "issue #17313")] + [Theory(Skip = "issue #17313")] public override Task Group_by_on_json_scalar_using_collection_indexer(bool async) => base.Group_by_on_json_scalar_using_collection_indexer(async); - [ConditionalTheory(Skip = "issue #17313")] + [Theory(Skip = "issue #17313")] public override Task Group_by_Skip_Take_on_json_scalar(bool async) => base.Group_by_Skip_Take_on_json_scalar(async); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_all_types_entity_projection(bool async) => Fixture.NoSyncTest( async, async a => @@ -321,7 +319,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_all_types_projection_from_owned_entity_reference(bool async) => Fixture.NoSyncTest( async, async a => @@ -351,7 +349,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_boolean_predicate(bool async) => Fixture.NoSyncTest( async, async a => @@ -411,7 +409,7 @@ FROM root c public override Task Json_branch_collection_distinct_and_other_collection(bool async) => AssertTranslationFailed(() => base.Json_branch_collection_distinct_and_other_collection(async)); - [ConditionalTheory(Skip = "issue #34335")] + [Theory(Skip = "issue #34335")] public override Task Json_collection_after_collection_index_in_projection_using_constant_when_owner_is_not_present(bool async) => Fixture.NoSyncTest( async, async a => @@ -421,7 +419,7 @@ public override Task Json_collection_after_collection_index_in_projection_using_ AssertSql(""); }); - [ConditionalTheory(Skip = "issue #34335")] + [Theory(Skip = "issue #34335")] public override Task Json_collection_after_collection_index_in_projection_using_constant_when_owner_is_present(bool async) => Fixture.NoSyncTest( async, async a => @@ -431,7 +429,7 @@ public override Task Json_collection_after_collection_index_in_projection_using_ AssertSql(""); }); - [ConditionalTheory(Skip = "issue #34335")] + [Theory(Skip = "issue #34335")] public override Task Json_collection_after_collection_index_in_projection_using_parameter_when_owner_is_not_present(bool async) => Fixture.NoSyncTest( async, async a => @@ -441,7 +439,7 @@ public override Task Json_collection_after_collection_index_in_projection_using_ AssertSql(""); }); - [ConditionalTheory(Skip = "issue #34335")] + [Theory(Skip = "issue #34335")] public override Task Json_collection_after_collection_index_in_projection_using_parameter_when_owner_is_present(bool async) => Fixture.NoSyncTest( async, async a => @@ -483,7 +481,7 @@ public override Task Json_collection_Distinct_Count_with_predicate(bool async) public override Task Json_collection_distinct_in_projection(bool async) => AssertTranslationFailed(() => base.Json_collection_distinct_in_projection(async)); - [ConditionalTheory(Skip = "issue #34335")] + [Theory(Skip = "issue #34335")] public override Task Json_collection_ElementAtOrDefault_in_projection(bool async) => Fixture.NoSyncTest( async, async a => @@ -493,7 +491,7 @@ public override Task Json_collection_ElementAtOrDefault_in_projection(bool async AssertSql(""); }); - [ConditionalTheory(Skip = "issue #34335")] + [Theory(Skip = "issue #34335")] public override Task Json_collection_ElementAtOrDefault_project_collection(bool async) => Fixture.NoSyncTest( async, async a => @@ -535,7 +533,7 @@ FROM root c """); }); - [ConditionalTheory(Skip = "issue #34335")] + [Theory(Skip = "issue #34335")] public override Task Json_collection_ElementAt_in_projection(bool async) => Fixture.NoSyncTest( async, async a => @@ -545,7 +543,7 @@ public override Task Json_collection_ElementAt_in_projection(bool async) AssertSql(""); }); - [ConditionalTheory(Skip = "issue #34335")] + [Theory(Skip = "issue #34335")] public override Task Json_collection_ElementAt_project_collection(bool async) => Fixture.NoSyncTest( async, async a => @@ -619,7 +617,7 @@ FROM root c """); }); - [ConditionalTheory(Skip = "issue #34335")] + [Theory(Skip = "issue #34335")] public override Task Json_collection_index_in_projection_basic(bool async) => Fixture.NoSyncTest( async, async a => @@ -674,7 +672,7 @@ public override async Task Json_collection_index_in_projection_nested_project_sc Assert.Equal(NotImplementedBindPropertyMessage, message); } - [ConditionalTheory(Skip = "issue #34335")] + [Theory(Skip = "issue #34335")] public override Task Json_collection_index_in_projection_project_collection(bool async) => Fixture.NoSyncTest( async, async a => @@ -684,7 +682,7 @@ public override Task Json_collection_index_in_projection_project_collection(bool AssertSql(""); }); - [ConditionalTheory(Skip = "issue #34335")] + [Theory(Skip = "issue #34335")] public override Task Json_collection_index_in_projection_using_column(bool async) => Fixture.NoSyncTest( async, async a => @@ -694,7 +692,7 @@ public override Task Json_collection_index_in_projection_using_column(bool async AssertSql(""); }); - [ConditionalTheory(Skip = "issue #34335")] + [Theory(Skip = "issue #34335")] public override Task Json_collection_index_in_projection_using_constant_when_owner_is_not_present(bool async) => Fixture.NoSyncTest( async, async a => @@ -704,7 +702,7 @@ public override Task Json_collection_index_in_projection_using_constant_when_own AssertSql(""); }); - [ConditionalTheory(Skip = "issue #34335")] + [Theory(Skip = "issue #34335")] public override Task Json_collection_index_in_projection_using_constant_when_owner_is_present(bool async) => Fixture.NoSyncTest( async, async a => @@ -714,7 +712,7 @@ public override Task Json_collection_index_in_projection_using_constant_when_own AssertSql(""); }); - [ConditionalTheory(Skip = "issue #34335")] + [Theory(Skip = "issue #34335")] public override Task Json_collection_index_in_projection_using_parameter(bool async) => Fixture.NoSyncTest( async, async a => @@ -724,7 +722,7 @@ public override Task Json_collection_index_in_projection_using_parameter(bool as AssertSql(""); }); - [ConditionalTheory(Skip = "issue #34335")] + [Theory(Skip = "issue #34335")] public override Task Json_collection_index_in_projection_using_parameter_when_owner_is_not_present(bool async) => Fixture.NoSyncTest( async, async a => @@ -734,7 +732,7 @@ public override Task Json_collection_index_in_projection_using_parameter_when_ow AssertSql(""); }); - [ConditionalTheory(Skip = "issue #34335")] + [Theory(Skip = "issue #34335")] public override Task Json_collection_index_in_projection_using_parameter_when_owner_is_present(bool async) => Fixture.NoSyncTest( async, async a => @@ -744,7 +742,7 @@ public override Task Json_collection_index_in_projection_using_parameter_when_ow AssertSql(""); }); - [ConditionalTheory(Skip = "issue #34335")] + [Theory(Skip = "issue #34335")] public override Task Json_collection_index_in_projection_using_untranslatable_client_method(bool async) => base.Json_collection_index_in_projection_using_untranslatable_client_method(async); @@ -762,7 +760,7 @@ public override async Task Json_collection_index_in_projection_when_owner_is_not Assert.Equal(NotImplementedBindPropertyMessage, message); } - [ConditionalTheory(Skip = "issue #34350")] + [Theory(Skip = "issue #34350")] public override Task Json_collection_index_in_projection_when_owner_is_not_present_misc2(bool async) => Fixture.NoSyncTest( async, async a => @@ -790,7 +788,7 @@ public override async Task Json_collection_index_in_projection_when_owner_is_pre Assert.Equal(NotImplementedBindPropertyMessage, message); } - [ConditionalTheory(Skip = "issue #34350")] + [Theory(Skip = "issue #34350")] public override Task Json_collection_index_in_projection_when_owner_is_present_misc2(bool async) => Fixture.NoSyncTest( async, async a => @@ -809,7 +807,7 @@ public override async Task Json_collection_index_in_projection_when_owner_is_pre Assert.Equal(NotImplementedBindPropertyMessage, message); } - [ConditionalTheory(Skip = "issue #34335")] + [Theory(Skip = "issue #34335")] public override Task Json_collection_index_outside_bounds(bool async) => Fixture.NoSyncTest( async, async a => @@ -819,7 +817,7 @@ public override Task Json_collection_index_outside_bounds(bool async) AssertSql(""); }); - [ConditionalTheory(Skip = "issue #34350")] + [Theory(Skip = "issue #34350")] public override Task Json_collection_index_outside_bounds2(bool async) => Fixture.NoSyncTest( async, async a => @@ -851,7 +849,7 @@ public override async Task Json_collection_index_with_parameter_Select_ElementAt Assert.Equal(NotImplementedBindPropertyMessage, message); } - [ConditionalTheory(Skip = "issue #34004")] // anonymous projection + [Theory(Skip = "issue #34004")] // anonymous projection public override Task Json_collection_in_projection_with_anonymous_projection_of_scalars(bool async) => base.Json_collection_in_projection_with_anonymous_projection_of_scalars(async); @@ -870,11 +868,11 @@ ORDER BY c["Id"] """); }); - [ConditionalTheory(Skip = "issue #34004")] // anonymous projection + [Theory(Skip = "issue #34004")] // anonymous projection public override Task Json_collection_in_projection_with_composition_where_and_anonymous_projection_of_primitive_arrays(bool async) => base.Json_collection_in_projection_with_composition_where_and_anonymous_projection_of_primitive_arrays(async); - [ConditionalTheory(Skip = "issue #34004")] // anonymous projection + [Theory(Skip = "issue #34004")] // anonymous projection public override Task Json_collection_in_projection_with_composition_where_and_anonymous_projection_of_scalars(bool async) => base.Json_collection_in_projection_with_composition_where_and_anonymous_projection_of_scalars(async); @@ -939,7 +937,7 @@ FROM root c """); }); - [ConditionalTheory(Skip = "issue #34026")] //enums property is ignored + [Theory(Skip = "issue #34026")] //enums property is ignored public override Task Json_collection_of_primitives_index_used_in_projection(bool async) => Fixture.NoSyncTest( async, async a => @@ -975,7 +973,7 @@ public override Task Json_collection_OrderByDescending_Skip_ElementAt(bool async () => base.Json_collection_OrderByDescending_Skip_ElementAt(async), CosmosStrings.LimitOffsetNotSupportedInSubqueries + Environment.NewLine + CosmosStrings.LimitOffsetNotSupportedInSubqueries); - [ConditionalTheory(Skip = "issue #34335")] + [Theory(Skip = "issue #34335")] public override Task Json_collection_Select_entity_collection_ElementAt(bool async) => base.Json_collection_Select_entity_collection_ElementAt(async); @@ -1097,7 +1095,7 @@ FROM root c """); }); - [ConditionalTheory(Skip = "issue #34350")] + [Theory(Skip = "issue #34350")] public override Task Json_entity_with_inheritance_project_navigations(bool async) => Fixture.NoSyncTest( async, async a => @@ -1107,7 +1105,7 @@ public override Task Json_entity_with_inheritance_project_navigations(bool async AssertSql(""); }); - [ConditionalTheory(Skip = "issue #34350")] + [Theory(Skip = "issue #34350")] public override Task Json_entity_with_inheritance_project_navigations_on_derived(bool async) => Fixture.NoSyncTest( async, async a => @@ -1218,7 +1216,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_byte(bool async) => Fixture.NoSyncTest( async, async a => @@ -1233,7 +1231,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_byte_array(bool async) => Fixture.NoSyncTest( async, async a => @@ -1248,7 +1246,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_character(bool async) => Fixture.NoSyncTest( async, async a => @@ -1263,7 +1261,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_dateonly(bool async) => Fixture.NoSyncTest( async, async a => @@ -1278,7 +1276,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_datetime(bool async) => Fixture.NoSyncTest( async, async a => @@ -1293,7 +1291,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_datetimeoffset(bool async) => Fixture.NoSyncTest( async, async a => @@ -1308,7 +1306,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_decimal(bool async) => Fixture.NoSyncTest( async, async a => @@ -1323,7 +1321,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_default_string(bool async) => Fixture.NoSyncTest( async, async a => @@ -1338,7 +1336,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_double(bool async) => Fixture.NoSyncTest( async, async a => @@ -1353,7 +1351,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_enum(bool async) => Fixture.NoSyncTest( async, async a => @@ -1368,7 +1366,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_enumwithintconverter(bool async) => Fixture.NoSyncTest( async, async a => @@ -1383,7 +1381,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_guid(bool async) => Fixture.NoSyncTest( async, async a => @@ -1398,7 +1396,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_int16(bool async) => Fixture.NoSyncTest( async, async a => @@ -1413,7 +1411,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_int32(bool async) => Fixture.NoSyncTest( async, async a => @@ -1428,7 +1426,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_int64(bool async) => Fixture.NoSyncTest( async, async a => @@ -1457,7 +1455,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_max_length_string(bool async) => Fixture.NoSyncTest( async, async a => @@ -1472,7 +1470,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_nullableenum1(bool async) => Fixture.NoSyncTest( async, async a => @@ -1487,7 +1485,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_nullableenum2(bool async) => Fixture.NoSyncTest( async, async a => @@ -1502,7 +1500,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_nullableenumwithconverter1(bool async) => Fixture.NoSyncTest( async, async a => @@ -1517,7 +1515,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_nullableenumwithconverter2(bool async) => Fixture.NoSyncTest( async, async a => @@ -1532,7 +1530,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_nullableenumwithconverterthathandlesnulls1(bool async) => Fixture.NoSyncTest( async, async a => @@ -1556,7 +1554,7 @@ public override Task Json_predicate_on_nullableenumwithconverterthathandlesnulls AssertSql(""); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_nullableint321(bool async) => Fixture.NoSyncTest( async, async a => @@ -1571,7 +1569,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_nullableint322(bool async) => Fixture.NoSyncTest( async, async a => @@ -1586,7 +1584,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_signedbyte(bool async) => Fixture.NoSyncTest( async, async a => @@ -1601,7 +1599,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_single(bool async) => Fixture.NoSyncTest( async, async a => @@ -1616,7 +1614,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_string_condition(bool async) => Fixture.NoSyncTest( async, async a => @@ -1659,7 +1657,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_timeonly(bool async) => Fixture.NoSyncTest( async, async a => @@ -1674,7 +1672,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_timespan(bool async) => Fixture.NoSyncTest( async, async a => @@ -1689,7 +1687,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_unisgnedint16(bool async) => Fixture.NoSyncTest( async, async a => @@ -1704,7 +1702,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_unsignedint32(bool async) => Fixture.NoSyncTest( async, async a => @@ -1719,7 +1717,7 @@ FROM root c """); }); - [SkipOnCiCondition] + [SkipOnCI("Test does not run on CI")] public override Task Json_predicate_on_unsignedint64(bool async) => Fixture.NoSyncTest( async, async a => @@ -1852,7 +1850,7 @@ public override Task Json_projection_second_element_projected_before_owner_as_we () => base.Json_projection_second_element_projected_before_owner_as_well_as_root_AsNoTrackingWithIdentityResolution(async), CosmosStrings.LimitOffsetNotSupportedInSubqueries); - [ConditionalTheory(Skip = "issue #34350")] + [Theory(Skip = "issue #34350")] public override Task Json_projection_second_element_projected_before_owner_nested_as_well_as_root_AsNoTrackingWithIdentityResolution( bool async) => Fixture.NoSyncTest( @@ -2105,7 +2103,7 @@ public override async Task Project_json_collection_in_tracking_query_fails(bool Assert.Equal(CoreStrings.OwnedEntitiesCannotBeTrackedWithoutTheirOwner, message); } - [ConditionalTheory(Skip = "issue #34350")] + [Theory(Skip = "issue #34350")] public override async Task Project_json_entity_in_tracking_query_fails_even_when_owner_is_present(bool async) { var message = (await Assert.ThrowsAsync(() diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindAggregateOperatorsQueryCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindAggregateOperatorsQueryCosmosTest.cs index e0f9eb9a8c6..5ec77ace8c4 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindAggregateOperatorsQueryCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindAggregateOperatorsQueryCosmosTest.cs @@ -5,8 +5,6 @@ using Microsoft.Azure.Cosmos; using Microsoft.EntityFrameworkCore.Cosmos.Internal; using Microsoft.EntityFrameworkCore.TestModels.Northwind; -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Query; #nullable disable @@ -23,7 +21,7 @@ public NorthwindAggregateOperatorsQueryCosmosTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -1450,7 +1448,8 @@ FROM root c """); }); - [SkipOnCiCondition(SkipReason = "Fails on CI #27688")] + // Tracked in #27688 + [Theory, SkipOnCI("Test does not run on CI")] public override Task Distinct_Scalar(bool async) => Fixture.NoSyncTest( async, async a => @@ -1464,7 +1463,7 @@ FROM root c """); }); - [ConditionalTheory(Skip = "Fails on emulator https://github.com/Azure/azure-cosmos-dotnet-v3/issues/4339")] + [Theory(Skip = "Fails on emulator https://github.com/Azure/azure-cosmos-dotnet-v3/issues/4339")] public override Task OrderBy_Distinct(bool async) => Fixture.NoSyncTest( async, async a => @@ -2623,11 +2622,12 @@ WHERE ARRAY_CONTAINS(@ids, c["id"]) }); // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/289 (EXISTS/ANY/ALL subqueries cause internal server error) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override Task Where_subquery_where_any(bool async) => Fixture.NoSyncTest( async, async a => { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Where_subquery_where_any(a); AssertSql( @@ -2695,11 +2695,12 @@ WHERE NOT(ARRAY_CONTAINS(@ids, c["id"])) }); // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/289 (EXISTS/ANY/ALL subqueries cause internal server error) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override Task Where_subquery_where_all(bool async) => Fixture.NoSyncTest( async, async a => { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Where_subquery_where_all(a); AssertSql( @@ -3082,7 +3083,7 @@ OFFSET 0 LIMIT 1 """); }); - [ConditionalTheory(Skip = "Issue #20677")] + [Theory(Skip = "Issue #20677")] public override async Task Type_casting_inside_sum(bool async) { await base.Type_casting_inside_sum(async); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindDbFunctionsQueryCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindDbFunctionsQueryCosmosTest.cs index 0481da61533..06a9f9b835b 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindDbFunctionsQueryCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindDbFunctionsQueryCosmosTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -13,7 +13,7 @@ public NorthwindDbFunctionsQueryCosmosTest( : base(fixture) => ClearLog(); - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindFunctionsQueryCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindFunctionsQueryCosmosTest.cs index f98ee1fc818..99fbf4c2e4c 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindFunctionsQueryCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindFunctionsQueryCosmosTest.cs @@ -18,7 +18,7 @@ public NorthwindFunctionsQueryCosmosTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindKeylessEntitiesQueryCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindKeylessEntitiesQueryCosmosTest.cs index fab76debaa6..7cd64906e07 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindKeylessEntitiesQueryCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindKeylessEntitiesQueryCosmosTest.cs @@ -19,7 +19,7 @@ public NorthwindKeylessEntitiesQueryCosmosTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindMiscellaneousQueryCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindMiscellaneousQueryCosmosTest.cs index fda17714951..d1b0620c99c 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindMiscellaneousQueryCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindMiscellaneousQueryCosmosTest.cs @@ -24,11 +24,11 @@ public NorthwindMiscellaneousQueryCosmosTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Simple_IQueryable(bool async) => Fixture.NoSyncTest( async, async a => @@ -1469,9 +1469,10 @@ public override async Task Distinct_Take_Count(bool async) } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/238 (ORDER BY with expressions/functions not supported) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task OrderBy_shadow(bool async) { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + // Always throws for sync. if (async) { @@ -1487,9 +1488,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/238 (ORDER BY with expressions/functions not supported) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task OrderBy_multiple(bool async) { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + // Always throws for sync. if (async) { @@ -1556,7 +1558,7 @@ public override async Task Where_query_composition4(bool async) AssertSql(); } - [ConditionalTheory(Skip = "Always does sync evaluation.")] + [Theory(Skip = "Always does sync evaluation.")] public override Task Where_subquery_expression(bool async) => Fixture.NoSyncTest( async, async a => @@ -1576,7 +1578,7 @@ OFFSET 0 LIMIT 1 """); }); - [ConditionalTheory(Skip = "Always does sync evaluation.")] + [Theory(Skip = "Always does sync evaluation.")] public override async Task Where_subquery_expression_same_parametername(bool async) { // Always throws @@ -2316,9 +2318,10 @@ public override async Task DefaultIfEmpty_in_subquery_nested_filter_order_compar } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/238 (ORDER BY with expressions/functions not supported) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task OrderBy_skip_take(bool async) { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + // Always throws for sync. if (async) { @@ -3213,9 +3216,10 @@ FROM root c }); // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/238 (ORDER BY with expressions/functions not supported) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Entity_equality_orderby_descending_composite_key(bool async) { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + // Always throws for sync. if (async) { @@ -3300,9 +3304,10 @@ public override async Task Null_Coalesce_Short_Circuit(bool async) } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/238 (ORDER BY with expressions/functions not supported) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task OrderByDescending_ThenBy(bool async) { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + // Always throws for sync. if (async) { @@ -3319,9 +3324,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/238 (ORDER BY with expressions/functions not supported) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task OrderByDescending_ThenByDescending(bool async) { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + // Always throws for sync. if (async) { @@ -3346,9 +3352,10 @@ public override async Task OrderBy_Join(bool async) } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/238 (ORDER BY with expressions/functions not supported) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task OrderBy_ThenBy(bool async) { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + // Always throws for sync. if (async) { @@ -3365,9 +3372,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/238 (ORDER BY with expressions/functions not supported) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task OrderBy_ThenBy_predicate(bool async) { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + // Always throws for sync. if (async) { @@ -4858,9 +4866,9 @@ FROM root c #region ToPageAsync - [ConditionalFact] + // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/285 (MaxItemCount not respected) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] + [ConditionalFact(typeof(CosmosTestEnvironment), nameof(CosmosTestEnvironment.IsNotLinuxEmulator))] public virtual async Task ToPageAsync() { await using var context = CreateContext(); @@ -4915,9 +4923,9 @@ ORDER BY c["id"] """); } - [ConditionalFact] + // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/285 (MaxItemCount not respected) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] + [ConditionalFact(typeof(CosmosTestEnvironment), nameof(CosmosTestEnvironment.IsNotLinuxEmulator))] public virtual async Task ToPageAsync_with_scalar() { await using var context = CreateContext(); @@ -4975,7 +4983,7 @@ ORDER BY c["id"] """); } - [ConditionalFact] + [Fact] public virtual async Task ToPageAsync_with_exact_maxItemCount() { await using var context = CreateContext(); @@ -5002,7 +5010,7 @@ ORDER BY c["id"] """); } - [ConditionalFact] + [Fact] public virtual async Task ToPageAsync_does_not_use_ReadItem() { await using var context = CreateContext(); @@ -5021,7 +5029,7 @@ FROM root c """); } - [ConditionalFact] + [Fact] public virtual async Task ToPageAsync_in_subquery_throws() => await AssertTranslationFailedWithDetails( () => AssertQuery( @@ -5086,7 +5094,7 @@ public override async Task Late_subquery_pushdown(bool async) AssertSql(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Concat_on_entity_queries_throws(bool async) { await AssertTranslationFailedWithDetails( diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindSelectQueryCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindSelectQueryCosmosTest.cs index 076cb29cfe0..5d6d144469a 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindSelectQueryCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindSelectQueryCosmosTest.cs @@ -21,11 +21,11 @@ public NorthwindSelectQueryCosmosTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_with_Value_Property(bool async) => Fixture.NoSyncTest( async, async a => @@ -1685,9 +1685,10 @@ public override async Task Reverse_in_projection_scalar_subquery(bool async) } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/238 (ORDER BY with expressions/functions not supported) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Reverse_after_orderby_thenby(bool async) { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + // Always throws for sync. if (async) { @@ -1773,7 +1774,7 @@ ORDER BY c["EmployeeID"] """); }); - [ConditionalTheory(Skip = "Always does sync evaluation.")] + [Theory(Skip = "Always does sync evaluation.")] public override async Task VisitLambda_should_not_be_visited_trivially(bool async) { // Always throws for sync. @@ -2062,15 +2063,15 @@ WHERE STARTSWITH(c["id"], "F") """); }); - [ConditionalTheory(Skip = "Cross collection join Issue#17246")] + [Theory(Skip = "Cross collection join Issue#17246")] public override Task List_from_result_of_single_result(bool async) => base.List_from_result_of_single_result(async); - [ConditionalTheory(Skip = "Cross collection join Issue#17246")] + [Theory(Skip = "Cross collection join Issue#17246")] public override Task List_from_result_of_single_result_2(bool async) => base.List_from_result_of_single_result_2(async); - [ConditionalTheory(Skip = "Cross collection join Issue#17246")] + [Theory(Skip = "Cross collection join Issue#17246")] public override Task List_from_result_of_single_result_3(bool async) => base.List_from_result_of_single_result_3(async); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindWhereQueryCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindWhereQueryCosmosTest.cs index 1a3c641e885..562586c3f7b 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindWhereQueryCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindWhereQueryCosmosTest.cs @@ -19,7 +19,7 @@ public NorthwindWhereQueryCosmosTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -419,7 +419,7 @@ public override async Task Where_simple_closure_via_query_cache_nullable_type_re AssertSql(); } - [ConditionalTheory(Skip = "Always uses sync code.")] + [Theory(Skip = "Always uses sync code.")] public override Task Where_subquery_closure_via_query_cache(bool async) => Task.CompletedTask; diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/OwnedQueryCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/OwnedQueryCosmosTest.cs index 30163d4769f..bbdbf5fc22a 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/OwnedQueryCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/OwnedQueryCosmosTest.cs @@ -46,7 +46,7 @@ await AssertTranslationFailedWithDetails( AssertSql(); } - [ConditionalTheory] + [Theory] public override Task Navigation_rewrite_on_owned_collection(bool async) => CosmosTestHelpers.Instance.NoSyncTest( async, async a => @@ -62,7 +62,7 @@ ORDER BY c["Id"] """); }); - [ConditionalTheory] + [Theory] public override async Task Navigation_rewrite_on_owned_collection_with_composition(bool async) { // Always throws for sync. @@ -303,7 +303,7 @@ await AssertTranslationFailedWithDetails( AssertSql(); } - [ConditionalTheory] + [Theory] public override Task SelectMany_on_owned_collection(bool async) => CosmosTestHelpers.Instance.NoSyncTest( async, async a => @@ -319,7 +319,7 @@ JOIN o IN c["Orders"] """); }); - [ConditionalTheory] + [Theory] public override Task SelectMany_with_result_selector(bool async) => CosmosTestHelpers.Instance.NoSyncTest( async, async a => @@ -669,9 +669,10 @@ FROM root c }); // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/238 (ORDER BY with expressions/functions not supported) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Can_OrderBy_indexer_properties(bool async) { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + // Always throws for sync. if (async) { @@ -692,9 +693,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/238 (ORDER BY with expressions/functions not supported) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Can_OrderBy_indexer_properties_converted(bool async) { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + // Always throws for sync. if (async) { @@ -715,9 +717,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/238 (ORDER BY with expressions/functions not supported) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Can_OrderBy_owned_indexer_properties(bool async) { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + // Always throws for sync. if (async) { @@ -738,9 +741,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/238 (ORDER BY with expressions/functions not supported) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Can_OrderBy_owned_indexer_properties_converted(bool async) { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + // Always throws for sync. if (async) { @@ -814,11 +818,12 @@ public override Task Indexer_property_is_pushdown_into_subquery(bool async) CosmosStrings.NonCorrelatedSubqueriesNotSupported); // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override Task Can_query_indexer_property_on_owned_collection(bool async) => CosmosTestHelpers.Instance.NoSyncTest( async, async a => { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Can_query_indexer_property_on_owned_collection(a); AssertSql( @@ -855,9 +860,10 @@ public override async Task Trying_to_access_non_existent_indexer_property_throws } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/238 (ORDER BY with expressions/functions not supported) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Ordering_by_identifying_projection(bool async) { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + // Always throws for sync. if (async) { @@ -1124,7 +1130,7 @@ OFFSET 0 LIMIT @p """); }); - [ConditionalTheory] + [Theory] public override Task Client_method_take_loads_owned_navigations_variation_2(bool async) => CosmosTestHelpers.Instance.NoSyncTest( async, async a => @@ -1143,7 +1149,7 @@ OFFSET 0 LIMIT @p """); }); - [ConditionalTheory] + [Theory] public override Task Count_over_owned_collection(bool async) => CosmosTestHelpers.Instance.NoSyncTest( async, async a => @@ -1158,7 +1164,7 @@ FROM root c """); }); - [ConditionalTheory] + [Theory] public override Task Any_without_predicate_over_owned_collection(bool async) => CosmosTestHelpers.Instance.NoSyncTest( async, async a => @@ -1173,7 +1179,7 @@ FROM root c """); }); - [ConditionalTheory] + [Theory] public override Task Any_with_predicate_over_owned_collection(bool async) => CosmosTestHelpers.Instance.NoSyncTest( async, async a => @@ -1191,7 +1197,7 @@ FROM o IN c["Orders"] """); }); - [ConditionalTheory] + [Theory] public override Task Contains_over_owned_collection(bool async) => CosmosTestHelpers.Instance.NoSyncTest( async, async a => @@ -1209,7 +1215,7 @@ FROM o IN c["Orders"] """); }); - [ConditionalTheory] + [Theory] public override Task ElementAt_over_owned_collection(bool async) => CosmosTestHelpers.Instance.NoSyncTest( async, async a => @@ -1224,7 +1230,7 @@ FROM root c """); }); - [ConditionalTheory] + [Theory] public override Task ElementAtOrDefault_over_owned_collection(bool async) => CosmosTestHelpers.Instance.NoSyncTest( async, async a => @@ -1239,7 +1245,7 @@ FROM root c """); }); - [ConditionalTheory] + [Theory] public override async Task OrderBy_ElementAt_over_owned_collection(bool async) { // Always throws for sync. @@ -1261,7 +1267,7 @@ FROM o IN c["Orders"] } } - [ConditionalTheory] + [Theory] public override Task Skip_Take_over_owned_collection(bool async) => CosmosTestHelpers.Instance.NoSyncTest( async, async a => @@ -1276,7 +1282,7 @@ FROM root c """); }); - [ConditionalTheory] + [Theory] public override Task FirstOrDefault_over_owned_collection(bool async) => CosmosTestHelpers.Instance.NoSyncTest( async, async a => @@ -1294,7 +1300,7 @@ FROM o IN c["Orders"] """); }); - [ConditionalTheory] + [Theory] public override async Task Distinct_over_owned_collection(bool async) { // Always throws for sync. @@ -1307,7 +1313,7 @@ public override async Task Distinct_over_owned_collection(bool async) } } - [ConditionalTheory] + [Theory] public override Task Union_over_owned_collection(bool async) => CosmosTestHelpers.Instance.NoSyncTest( async, async a => @@ -1328,7 +1334,7 @@ FROM o0 IN c["Orders"] """); }); - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/PrimitiveCollectionsQueryCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/PrimitiveCollectionsQueryCosmosTest.cs index f08d13fc970..7e92c71634d 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/PrimitiveCollectionsQueryCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/PrimitiveCollectionsQueryCosmosTest.cs @@ -56,9 +56,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Inline_collection_Count_with_zero_values() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Inline_collection_Count_with_zero_values(); AssertSql( @@ -73,9 +74,10 @@ FROM a IN (SELECT VALUE []) } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Inline_collection_Count_with_one_value() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Inline_collection_Count_with_one_value(); AssertSql( @@ -90,9 +92,10 @@ FROM a IN (SELECT VALUE [2]) } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Inline_collection_Count_with_two_values() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Inline_collection_Count_with_two_values(); AssertSql( @@ -107,9 +110,10 @@ FROM a IN (SELECT VALUE [2, 999]) } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Inline_collection_Count_with_three_values() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Inline_collection_Count_with_three_values(); AssertSql( @@ -248,9 +252,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Inline_collection_Min_with_two_values() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Inline_collection_Min_with_two_values(); AssertSql( @@ -264,9 +269,10 @@ FROM a IN (SELECT VALUE [30, c["Int"]])) = 30) } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Inline_collection_List_Min_with_two_values() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Inline_collection_List_Min_with_two_values(); AssertSql( @@ -280,9 +286,10 @@ FROM a IN (SELECT VALUE [30, c["Int"]])) = 30) } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Inline_collection_Max_with_two_values() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Inline_collection_Max_with_two_values(); AssertSql( @@ -296,9 +303,10 @@ FROM a IN (SELECT VALUE [30, c["Int"]])) = 30) } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Inline_collection_List_Max_with_two_values() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Inline_collection_List_Max_with_two_values(); AssertSql( @@ -312,9 +320,10 @@ FROM a IN (SELECT VALUE [30, c["Int"]])) = 30) } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Inline_collection_Min_with_three_values() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Inline_collection_Min_with_three_values(); AssertSql( @@ -330,9 +339,10 @@ FROM a IN (SELECT VALUE [30, c["Int"], @i])) = 25) } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Inline_collection_List_Min_with_three_values() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Inline_collection_List_Min_with_three_values(); AssertSql( @@ -348,9 +358,10 @@ FROM a IN (SELECT VALUE [30, c["Int"], @i])) = 25) } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Inline_collection_Max_with_three_values() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Inline_collection_Max_with_three_values(); AssertSql( @@ -366,9 +377,10 @@ FROM a IN (SELECT VALUE [30, c["Int"], @i])) = 35) } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Inline_collection_List_Max_with_three_values() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Inline_collection_List_Max_with_three_values(); AssertSql( @@ -384,9 +396,10 @@ FROM a IN (SELECT VALUE [30, c["Int"], @i])) = 35) } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Inline_collection_of_nullable_value_type_Min() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Inline_collection_of_nullable_value_type_Min(); AssertSql( @@ -402,9 +415,10 @@ FROM a IN (SELECT VALUE [30, c["Int"], @i])) = 25) } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Inline_collection_of_nullable_value_type_Max() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Inline_collection_of_nullable_value_type_Max(); AssertSql( @@ -439,9 +453,10 @@ FROM a IN (SELECT VALUE [30, c["NullableInt"], @i])) = 30) } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Inline_collection_of_nullable_value_type_with_null_Max() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Inline_collection_of_nullable_value_type_with_null_Max(); AssertSql( @@ -467,9 +482,10 @@ public override async Task Inline_collection_with_single_parameter_element_Conta } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Inline_collection_with_single_parameter_element_Count() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Inline_collection_with_single_parameter_element_Count(); AssertSql( @@ -514,9 +530,10 @@ WHERE ARRAY_CONTAINS(@Select, c["NullableString"]) } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Inline_collection_Count_with_column_predicate_with_EF_Parameter() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Inline_collection_Count_with_column_predicate_with_EF_Parameter(); AssertSql( @@ -533,9 +550,10 @@ FROM p IN (SELECT VALUE @p) } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Inline_collection_in_query_filter() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Inline_collection_in_query_filter(); AssertSql( @@ -551,9 +569,10 @@ OFFSET 0 LIMIT 2 } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Parameter_collection_Count() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Parameter_collection_Count(); AssertSql( @@ -1235,7 +1254,7 @@ public override async Task Constant_with_inferred_value_converter() AssertSql(); } - [ConditionalFact] + [Fact] public override Task Multidimensional_array_is_not_supported() => base.Multidimensional_array_is_not_supported(); @@ -1300,9 +1319,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Column_collection_Count_with_predicate() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Column_collection_Count_with_predicate(); AssertSql( @@ -1317,9 +1337,10 @@ FROM i IN c["Ints"] } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Column_collection_Where_Count() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Column_collection_Where_Count(); AssertSql( @@ -2293,9 +2314,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Values_of_enum_casted_to_underlying_value() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Values_of_enum_casted_to_underlying_value(); AssertSql( @@ -2311,7 +2333,7 @@ FROM a IN (SELECT VALUE [0, 1, 2, 3]) #region Cosmos-specific tests - [ConditionalFact] + [Fact] public virtual async Task IsDefined() { await AssertQuery( @@ -2326,7 +2348,7 @@ WHERE IS_DEFINED(c["Ints"][2]) """); } - [ConditionalFact] + [Fact] public virtual async Task CoalesceUndefined() { await AssertQuery( @@ -2343,7 +2365,7 @@ FROM root c #endregion Cosmos-specific tests - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/QueryLoggingCosmosTestBase.cs b/test/EFCore.Cosmos.FunctionalTests/Query/QueryLoggingCosmosTestBase.cs index ca47210a7f5..3e2a22f9d99 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/QueryLoggingCosmosTestBase.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/QueryLoggingCosmosTestBase.cs @@ -23,7 +23,7 @@ protected QueryLoggingCosmosTestBase(NorthwindQueryCosmosFixture true; - [ConditionalFact] + [Fact] public virtual async Task Queryable_simple() { using var context = CreateContext(); @@ -57,7 +57,7 @@ public virtual async Task Queryable_simple() } } - [ConditionalFact] + [Fact] public virtual async Task Queryable_with_parameter_outputs_parameter_value_logging_warning() { using var context = CreateContext(); @@ -95,7 +95,7 @@ public virtual async Task Queryable_with_parameter_outputs_parameter_value_loggi } } - [ConditionalFact] + [Fact] public virtual async Task Skip_without_order_by() { using var context = CreateContext(); @@ -108,7 +108,7 @@ public virtual async Task Skip_without_order_by() Fixture.TestSqlLoggerFactory.Log[1].Message); } - [ConditionalFact] + [Fact] public virtual async Task Take_without_order_by() { using var context = CreateContext(); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/ReadItemPartitionKeyQueryDiscriminatorInIdTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/ReadItemPartitionKeyQueryDiscriminatorInIdTest.cs index 603f4717b6d..ea878932094 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/ReadItemPartitionKeyQueryDiscriminatorInIdTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/ReadItemPartitionKeyQueryDiscriminatorInIdTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -13,7 +13,7 @@ public ReadItemPartitionKeyQueryDiscriminatorInIdTest(ReadItemPartitionKeyQueryF Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -98,9 +98,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/290 (Partial hierarchical partition key queries return too many results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Predicate_with_partial_values_in_hierarchical_partition_key() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Predicate_with_partial_values_in_hierarchical_partition_key(); // Not ReadItem because no primary key value @@ -126,9 +127,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/290 (Partial hierarchical partition key queries return too many results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Predicate_with_partial_values_in_only_hierarchical_partition_key() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Predicate_with_partial_values_in_only_hierarchical_partition_key(); // Not ReadItem because part of primary key value missing @@ -140,7 +142,7 @@ FROM root c """); } - [ConditionalFact] // #33960 + [Fact] // #33960 public override async Task Predicate_with_hierarchical_partition_key_and_additional_things_in_predicate() { await base.Predicate_with_hierarchical_partition_key_and_additional_things_in_predicate(); @@ -154,7 +156,7 @@ FROM root c """); } - [ConditionalFact] // #33960 + [Fact] // #33960 public override async Task Predicate_with_only_hierarchical_partition_key_and_additional_things_in_predicate() { await base.Predicate_with_only_hierarchical_partition_key_and_additional_things_in_predicate(); @@ -221,9 +223,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/290 (Partial hierarchical partition key queries return too many results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task WithPartitionKey_with_partial_value_in_hierarchical_partition_key() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.WithPartitionKey_with_partial_value_in_hierarchical_partition_key(); AssertSql( @@ -625,9 +628,10 @@ public override async Task Predicate_with_only_single_partition_key_leaf() } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/290 (Partial hierarchical partition key queries return too many results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Predicate_with_partial_values_in_hierarchical_partition_key_leaf() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Predicate_with_partial_values_in_hierarchical_partition_key_leaf(); // Not ReadItem because no primary key value @@ -640,9 +644,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/290 (Partial hierarchical partition key queries return too many results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Predicate_with_partial_values_in_only_hierarchical_partition_key_leaf() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Predicate_with_partial_values_in_only_hierarchical_partition_key_leaf(); // Not ReadItem because part of primary key value missing @@ -654,7 +659,7 @@ FROM root c """); } - [ConditionalFact] // #33960 + [Fact] // #33960 public override async Task Predicate_with_hierarchical_partition_key_and_additional_things_in_predicate_leaf() { await base.Predicate_with_hierarchical_partition_key_and_additional_things_in_predicate_leaf(); @@ -668,7 +673,7 @@ FROM root c """); } - [ConditionalFact] // #33960 + [Fact] // #33960 public override async Task Predicate_with_only_hierarchical_partition_key_and_additional_things_in_predicate_leaf() { await base.Predicate_with_only_hierarchical_partition_key_and_additional_things_in_predicate_leaf(); @@ -735,9 +740,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/290 (Partial hierarchical partition key queries return too many results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task WithPartitionKey_with_partial_value_in_hierarchical_partition_key_leaf() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.WithPartitionKey_with_partial_value_in_hierarchical_partition_key(); AssertSql( diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/ReadItemPartitionKeyQueryInheritanceTestBase.cs b/test/EFCore.Cosmos.FunctionalTests/Query/ReadItemPartitionKeyQueryInheritanceTestBase.cs index 60e2b54cb00..39a0c545c79 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/ReadItemPartitionKeyQueryInheritanceTestBase.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/ReadItemPartitionKeyQueryInheritanceTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -13,61 +13,61 @@ protected ReadItemPartitionKeyQueryInheritanceTestBase(TFixture fixture, ITestOu Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual Task Predicate_with_hierarchical_partition_key_leaf() => AssertQuery( async: true, ss => ss.Set() .Where(e => e.PartitionKey1 == "PK1" && e.PartitionKey2 == 1 && e.PartitionKey3)); - [ConditionalFact] + [Fact] public virtual Task Predicate_with_only_hierarchical_partition_key_leaf() => AssertQuery( async: true, ss => ss.Set() .Where(e => e.PartitionKey1 == "PK1c" && e.PartitionKey2 == 1 && e.PartitionKey3)); - [ConditionalFact] + [Fact] public virtual Task Predicate_with_single_partition_key_leaf() => AssertQuery( async: true, ss => ss.Set().Where(e => e.PartitionKey == "PK1")); - [ConditionalFact] + [Fact] public virtual Task Predicate_with_only_single_partition_key_leaf() => AssertQuery( async: true, ss => ss.Set().Where(e => e.PartitionKey == "PK1c")); - [ConditionalFact] + [Fact] public virtual Task Predicate_with_partial_values_in_hierarchical_partition_key_leaf() => AssertQuery( async: true, ss => ss.Set() .Where(e => e.PartitionKey1 == "PK1" && e.PartitionKey2 == 1)); - [ConditionalFact] + [Fact] public virtual Task Predicate_with_partial_values_in_only_hierarchical_partition_key_leaf() => AssertQuery( async: true, ss => ss.Set() .Where(e => e.PartitionKey1 == "PK1c" && e.PartitionKey2 == 1)); - [ConditionalFact] // #33960 + [Fact] // #33960 public virtual Task Predicate_with_hierarchical_partition_key_and_additional_things_in_predicate_leaf() => AssertQuery( async: true, ss => ss.Set() .Where(e => e.Payload.Contains("3") && e.PartitionKey1 == "PK1" && e.PartitionKey2 == 1 && e.PartitionKey3)); - [ConditionalFact] // #33960 + [Fact] // #33960 public virtual Task Predicate_with_only_hierarchical_partition_key_and_additional_things_in_predicate_leaf() => AssertQuery( async: true, ss => ss.Set() .Where(e => e.Payload.Contains("3") && e.PartitionKey1 == "PK1d" && e.PartitionKey2 == 1 && e.PartitionKey3)); - [ConditionalFact] + [Fact] public virtual Task WithPartitionKey_with_hierarchical_partition_key_leaf() { var partitionKey2 = 1; @@ -79,7 +79,7 @@ public virtual Task WithPartitionKey_with_hierarchical_partition_key_leaf() .Where(e => e.PartitionKey1 == "PK1" && e.PartitionKey2 == partitionKey2 && e.PartitionKey3)); } - [ConditionalFact] + [Fact] public virtual Task WithPartitionKey_with_only_hierarchical_partition_key_leaf() { var partitionKey2 = 1; @@ -91,28 +91,28 @@ public virtual Task WithPartitionKey_with_only_hierarchical_partition_key_leaf() .Where(e => e.PartitionKey1 == "PK1c" && e.PartitionKey2 == partitionKey2 && e.PartitionKey3)); } - [ConditionalFact] + [Fact] public virtual Task WithPartitionKey_with_single_partition_key_leaf() => AssertQuery( async: true, ss => ss.Set().WithPartitionKey("PK1"), ss => ss.Set().Where(e => e.PartitionKey == "PK1")); - [ConditionalFact] + [Fact] public virtual Task WithPartitionKey_with_only_single_partition_key_leaf() => AssertQuery( async: true, ss => ss.Set().WithPartitionKey("PK1c"), ss => ss.Set().Where(e => e.PartitionKey == "PK1c")); - [ConditionalFact] + [Fact] public virtual Task WithPartitionKey_with_partial_value_in_hierarchical_partition_key_leaf() => AssertQuery( async: true, ss => ss.Set().WithPartitionKey("PK1", 1), ss => ss.Set().Where(e => e.PartitionKey1 == "PK1" && e.PartitionKey2 == 1)); - [ConditionalFact] + [Fact] public virtual Task Both_WithPartitionKey_and_predicate_comparisons_with_different_values_leaf() => AssertQuery( async: true, @@ -120,7 +120,7 @@ public virtual Task Both_WithPartitionKey_and_predicate_comparisons_with_differe ss => ss.Set().Where(e => e.PartitionKey == "PK1").Where(e => e.PartitionKey == "PK2"), assertEmpty: true); - [ConditionalFact] + [Fact] public virtual Task Both_WithPartitionKey_and_predicate_comparisons_with_different_values_with_only_partition_key_leaf() => AssertQuery( async: true, @@ -128,7 +128,7 @@ public virtual Task Both_WithPartitionKey_and_predicate_comparisons_with_differe ss => ss.Set().Where(e => e.PartitionKey == "PK1c").Where(e => e.PartitionKey == "PK2c"), assertEmpty: true); - [ConditionalFact] + [Fact] public virtual Task Both_WithPartitionKey_and_predicate_comparisons_with_same_values_leaf() => AssertQuery( async: true, @@ -136,7 +136,7 @@ public virtual Task Both_WithPartitionKey_and_predicate_comparisons_with_same_va .WithPartitionKey("PK1") .Where(e => e.PartitionKey == "PK1")); - [ConditionalFact] + [Fact] public virtual Task Both_WithPartitionKey_and_predicate_comparisons_with_same_values_with_only_partition_key_leaf() => AssertQuery( async: true, @@ -144,7 +144,7 @@ public virtual Task Both_WithPartitionKey_and_predicate_comparisons_with_same_va .WithPartitionKey("PK1c") .Where(e => e.PartitionKey == "PK1c")); - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_hierarchical_partition_key_leaf() { var partitionKey2 = 1; @@ -158,7 +158,7 @@ public virtual Task ReadItem_with_hierarchical_partition_key_leaf() && e.PartitionKey3)); } - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_only_hierarchical_partition_key_leaf() { var partitionKey2 = 1; @@ -169,20 +169,20 @@ public virtual Task ReadItem_with_only_hierarchical_partition_key_leaf() .Where(e => e.PartitionKey1 == "PK1c" && e.PartitionKey2 == partitionKey2 && e.PartitionKey3)); } - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_single_partition_key_constant_leaf() => AssertQuery( async: true, ss => ss.Set() .Where(e => e.Id == Guid.Parse("188D3253-81BE-4A87-B58F-A2BD07E6B98C") && e.PartitionKey == "PK1")); - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_only_single_partition_key_constant_leaf() => AssertQuery( async: true, ss => ss.Set().Where(e => e.PartitionKey == "PK1c")); - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_single_partition_key_parameter_leaf() { var partitionKey = "PK1"; @@ -193,7 +193,7 @@ public virtual Task ReadItem_with_single_partition_key_parameter_leaf() => e.Id == Guid.Parse("188D3253-81BE-4A87-B58F-A2BD07E6B98C") && e.PartitionKey == partitionKey)); } - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_only_single_partition_key_parameter_leaf() { var partitionKey = "PK1c"; @@ -203,7 +203,7 @@ public virtual Task ReadItem_with_only_single_partition_key_parameter_leaf() ss => ss.Set().Where(e => e.PartitionKey == partitionKey)); } - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_SingleAsync_leaf() { var partitionKey = "PK1"; @@ -214,7 +214,7 @@ public virtual Task ReadItem_with_SingleAsync_leaf() => e.Id == Guid.Parse("188D3253-81BE-4A87-B58F-A2BD07E6B98C") && e.PartitionKey == partitionKey)); } - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_SingleAsync_with_only_partition_key_leaf() { var partitionKey = "PK1c"; @@ -224,20 +224,20 @@ public virtual Task ReadItem_with_SingleAsync_with_only_partition_key_leaf() ss => ss.Set().Where(e => e.PartitionKey == partitionKey)); } - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_inverse_comparison_leaf() => AssertQuery( async: true, ss => ss.Set() .Where(e => Guid.Parse("188D3253-81BE-4A87-B58F-A2BD07E6B98C") == e.Id && "PK1" == e.PartitionKey)); - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_inverse_comparison_with_only_partition_key_leaf() => AssertQuery( async: true, ss => ss.Set().Where(e => "PK1c" == e.PartitionKey)); - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_EF_Property_leaf() => AssertQuery( async: true, @@ -245,7 +245,7 @@ public virtual Task ReadItem_with_EF_Property_leaf() => EF.Property(e, nameof(DerivedSinglePartitionKeyEntity.Id)) == Guid.Parse("188D3253-81BE-4A87-B58F-A2BD07E6B98C") && EF.Property(e, nameof(DerivedSinglePartitionKeyEntity.PartitionKey)) == "PK1")); - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_WithPartitionKey_leaf() => AssertQuery( async: true, @@ -254,14 +254,14 @@ public virtual Task ReadItem_with_WithPartitionKey_leaf() ss => ss.Set().Where(e => e.PartitionKey == "PK1") .Where(e => e.Id == Guid.Parse("188D3253-81BE-4A87-B58F-A2BD07E6B98C"))); - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_WithPartitionKey_with_only_partition_key_leaf() => AssertQuery( async: true, ss => ss.Set().WithPartitionKey("PK1c").Where(e => e.PartitionKey == "PK1c"), ss => ss.Set().Where(e => e.PartitionKey == "PK1c")); - [ConditionalFact] + [Fact] public virtual Task Multiple_incompatible_predicate_comparisons_cause_no_ReadItem_leaf() { var partitionKey = "PK1"; @@ -275,7 +275,7 @@ public virtual Task Multiple_incompatible_predicate_comparisons_cause_no_ReadIte assertEmpty: true); } - [ConditionalFact] + [Fact] public virtual Task Multiple_incompatible_predicate_comparisons_cause_no_ReadItem_with_only_partition_key_leaf() { var partitionKey = "PK1c"; @@ -287,19 +287,19 @@ public virtual Task Multiple_incompatible_predicate_comparisons_cause_no_ReadIte assertEmpty: true); } - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_no_partition_key_leaf() => AssertQuery( async: true, ss => ss.Set().Where(e => e.Id == 11)); - [ConditionalFact] + [Fact] public virtual Task ReadItem_is_not_used_without_partition_key_leaf() => AssertQuery( async: true, ss => ss.Set().Where(e => e.Id == Guid.Parse("188D3253-81BE-4A87-B58F-A2BD07E6B98C"))); - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_non_existent_id_leaf() => AssertQuery( async: true, @@ -307,21 +307,21 @@ public virtual Task ReadItem_with_non_existent_id_leaf() .Where(e => e.Id == Guid.Parse("B964BEDA-B4E1-4F5C-A729-0A35DAE696FE") && e.PartitionKey == "PK1"), assertEmpty: true); - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_AsNoTracking_leaf() => AssertQuery( async: true, ss => ss.Set().AsNoTracking().Where(e => e.Id == Guid.Parse("188D3253-81BE-4A87-B58F-A2BD07E6B98C") && e.PartitionKey == "PK1")); - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_AsNoTrackingWithIdentityResolution_leaf() => AssertQuery( async: true, ss => ss.Set().AsNoTrackingWithIdentityResolution() .Where(e => e.Id == Guid.Parse("188D3253-81BE-4A87-B58F-A2BD07E6B98C") && e.PartitionKey == "PK1")); - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_single_explicit_discriminator_mapping_leaf() { var partitionKey = "PK1"; @@ -336,7 +336,7 @@ public virtual Task ReadItem_with_single_explicit_discriminator_mapping_leaf() .Where(e => e.Id == Guid.Parse("188D3253-81BE-4A87-B58F-A2BD07E6B98C") && e.PartitionKey == partitionKey)); } - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_single_explicit_incorrect_discriminator_mapping_leaf() { var partitionKey = "PK1"; @@ -351,7 +351,7 @@ public virtual Task ReadItem_with_single_explicit_incorrect_discriminator_mappin assertEmpty: true); } - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_single_explicit_parameterized_discriminator_mapping_leaf() { var partitionKey = "PK1"; diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/ReadItemPartitionKeyQueryNoDiscriminatorInIdTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/ReadItemPartitionKeyQueryNoDiscriminatorInIdTest.cs index ed5cd16aa18..0a7af84e3d5 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/ReadItemPartitionKeyQueryNoDiscriminatorInIdTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/ReadItemPartitionKeyQueryNoDiscriminatorInIdTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -13,7 +13,7 @@ public ReadItemPartitionKeyQueryNoDiscriminatorInIdTest(ReadItemPartitionKeyQuer Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -95,9 +95,10 @@ public override async Task Predicate_with_only_single_partition_key() } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/290 (Partial hierarchical partition key queries return too many results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Predicate_with_partial_values_in_hierarchical_partition_key() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Predicate_with_partial_values_in_hierarchical_partition_key(); // Not ReadItem because no primary key value @@ -123,9 +124,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/290 (Partial hierarchical partition key queries return too many results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Predicate_with_partial_values_in_only_hierarchical_partition_key() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Predicate_with_partial_values_in_only_hierarchical_partition_key(); // Not ReadItem because part of primary key value missing @@ -216,9 +218,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/290 (Partial hierarchical partition key queries return too many results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task WithPartitionKey_with_partial_value_in_hierarchical_partition_key() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.WithPartitionKey_with_partial_value_in_hierarchical_partition_key(); AssertSql( @@ -503,9 +506,10 @@ public override async Task Predicate_with_only_single_partition_key_leaf() } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/290 (Partial hierarchical partition key queries return too many results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Predicate_with_partial_values_in_hierarchical_partition_key_leaf() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Predicate_with_partial_values_in_hierarchical_partition_key_leaf(); // Not ReadItem because no primary key value @@ -518,9 +522,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/290 (Partial hierarchical partition key queries return too many results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Predicate_with_partial_values_in_only_hierarchical_partition_key_leaf() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Predicate_with_partial_values_in_only_hierarchical_partition_key_leaf(); // Not ReadItem because part of primary key value missing @@ -611,9 +616,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/290 (Partial hierarchical partition key queries return too many results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task WithPartitionKey_with_partial_value_in_hierarchical_partition_key_leaf() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.WithPartitionKey_with_partial_value_in_hierarchical_partition_key_leaf(); AssertSql( diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/ReadItemPartitionKeyQueryRootDiscriminatorInIdTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/ReadItemPartitionKeyQueryRootDiscriminatorInIdTest.cs index dfa42a04ca5..23a98ca0062 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/ReadItemPartitionKeyQueryRootDiscriminatorInIdTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/ReadItemPartitionKeyQueryRootDiscriminatorInIdTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -13,7 +13,7 @@ public ReadItemPartitionKeyQueryRootDiscriminatorInIdTest(ReadItemPartitionKeyQu Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -86,9 +86,10 @@ public override async Task Predicate_with_only_single_partition_key() } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/290 (Partial hierarchical partition key queries return too many results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Predicate_with_partial_values_in_hierarchical_partition_key() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Predicate_with_partial_values_in_hierarchical_partition_key(); // Not ReadItem because no primary key value @@ -114,9 +115,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/290 (Partial hierarchical partition key queries return too many results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Predicate_with_partial_values_in_only_hierarchical_partition_key() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Predicate_with_partial_values_in_only_hierarchical_partition_key(); // Not ReadItem because part of primary key value missing @@ -128,7 +130,7 @@ FROM root c """); } - [ConditionalFact] // #33960 + [Fact] // #33960 public override async Task Predicate_with_hierarchical_partition_key_and_additional_things_in_predicate() { await base.Predicate_with_hierarchical_partition_key_and_additional_things_in_predicate(); @@ -142,7 +144,7 @@ FROM root c """); } - [ConditionalFact] // #33960 + [Fact] // #33960 public override async Task Predicate_with_only_hierarchical_partition_key_and_additional_things_in_predicate() { await base.Predicate_with_only_hierarchical_partition_key_and_additional_things_in_predicate(); @@ -209,9 +211,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/290 (Partial hierarchical partition key queries return too many results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task WithPartitionKey_with_partial_value_in_hierarchical_partition_key() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.WithPartitionKey_with_partial_value_in_hierarchical_partition_key(); AssertSql( @@ -496,9 +499,10 @@ public override async Task Predicate_with_only_single_partition_key_leaf() } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/290 (Partial hierarchical partition key queries return too many results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Predicate_with_partial_values_in_hierarchical_partition_key_leaf() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Predicate_with_partial_values_in_hierarchical_partition_key_leaf(); // Not ReadItem because no primary key value @@ -511,9 +515,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/290 (Partial hierarchical partition key queries return too many results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Predicate_with_partial_values_in_only_hierarchical_partition_key_leaf() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Predicate_with_partial_values_in_only_hierarchical_partition_key_leaf(); // Not ReadItem because part of primary key value missing @@ -525,7 +530,7 @@ FROM root c """); } - [ConditionalFact] // #33960 + [Fact] // #33960 public override async Task Predicate_with_hierarchical_partition_key_and_additional_things_in_predicate_leaf() { await base.Predicate_with_hierarchical_partition_key_and_additional_things_in_predicate_leaf(); @@ -539,7 +544,7 @@ FROM root c """); } - [ConditionalFact] // #33960 + [Fact] // #33960 public override async Task Predicate_with_only_hierarchical_partition_key_and_additional_things_in_predicate_leaf() { await base.Predicate_with_only_hierarchical_partition_key_and_additional_things_in_predicate_leaf(); @@ -606,9 +611,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/290 (Partial hierarchical partition key queries return too many results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task WithPartitionKey_with_partial_value_in_hierarchical_partition_key_leaf() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.WithPartitionKey_with_partial_value_in_hierarchical_partition_key_leaf(); AssertSql( diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/ReadItemPartitionKeyQueryTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/ReadItemPartitionKeyQueryTest.cs index b58f0cca851..349b3046431 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/ReadItemPartitionKeyQueryTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/ReadItemPartitionKeyQueryTest.cs @@ -13,7 +13,7 @@ public ReadItemPartitionKeyQueryTest(ReadItemPartitionKeyQueryFixture fixture, I Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -88,9 +88,10 @@ public override async Task Predicate_with_only_single_partition_key() } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/290 (Partial hierarchical partition key queries return too many results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Predicate_with_partial_values_in_hierarchical_partition_key() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Predicate_with_partial_values_in_hierarchical_partition_key(); // Not ReadItem because no primary key value, but partial partition key value is extracted @@ -115,11 +116,12 @@ FROM root c """); } - [ConditionalFact] + // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/290 (Partial hierarchical partition key queries return too many results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task Predicate_with_partial_values_in_only_hierarchical_partition_key() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.Predicate_with_partial_values_in_only_hierarchical_partition_key(); // Not ReadItem because part of primary key value missing @@ -208,9 +210,10 @@ FROM root c } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/290 (Partial hierarchical partition key queries return too many results) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] public override async Task WithPartitionKey_with_partial_value_in_hierarchical_partition_key() { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + await base.WithPartitionKey_with_partial_value_in_hierarchical_partition_key(); AssertSql( diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/ReadItemPartitionKeyQueryTestBase.cs b/test/EFCore.Cosmos.FunctionalTests/Query/ReadItemPartitionKeyQueryTestBase.cs index 9d4a68bffd9..c598dcf1a64 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/ReadItemPartitionKeyQueryTestBase.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/ReadItemPartitionKeyQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -13,92 +13,92 @@ protected ReadItemPartitionKeyQueryTestBase(TFixture fixture, ITestOutputHelper Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] // Issue #35224 + [Fact] // Issue #35224 public virtual Task Key_with_special_characters_1() => AssertQuery( async: true, ss => ss.Set().Where(c => c.Id == "Cat|1")); - [ConditionalFact] + [Fact] public virtual Task Key_with_special_characters_2() => AssertQuery( async: true, ss => ss.Set().Where(c => c.Id == "Cat2||")); - [ConditionalFact] + [Fact] public virtual Task Key_with_special_characters_3() => AssertQuery( async: true, ss => ss.Set().Where(c => c.Id == "Cat|3|$|5")); - [ConditionalFact] + [Fact] public virtual Task Key_with_special_characters_4() => AssertQuery( async: true, ss => ss.Set().Where(c => c.Id == "|Cat|")); - [ConditionalFact] + [Fact] public virtual Task Predicate_with_hierarchical_partition_key() => AssertQuery( async: true, ss => ss.Set() .Where(e => e.PartitionKey1 == "PK1" && e.PartitionKey2 == 1 && e.PartitionKey3)); - [ConditionalFact] + [Fact] public virtual Task Predicate_with_only_hierarchical_partition_key() => AssertQuery( async: true, ss => ss.Set() .Where(e => e.PartitionKey1 == "PK1a" && e.PartitionKey2 == 1 && e.PartitionKey3)); - [ConditionalFact] + [Fact] public virtual Task Predicate_with_single_partition_key() => AssertQuery( async: true, ss => ss.Set().Where(e => e.PartitionKey == "PK1")); - [ConditionalFact] + [Fact] public virtual Task Predicate_with_only_single_partition_key() => AssertQuery( async: true, ss => ss.Set().Where(e => e.PartitionKey == "PK1a")); - [ConditionalFact] + [Fact] public virtual Task Predicate_with_partial_values_in_hierarchical_partition_key() => AssertQuery( async: true, ss => ss.Set() .Where(e => e.PartitionKey1 == "PK1" && e.PartitionKey2 == 1)); - [ConditionalFact] + [Fact] public virtual Task Predicate_with_partial_values_and_gap_in_hierarchical_partition_key() => AssertQuery( async: true, ss => ss.Set() .Where(e => e.PartitionKey1 == "PK1" && e.PartitionKey3)); - [ConditionalFact] + [Fact] public virtual Task Predicate_with_partial_values_in_only_hierarchical_partition_key() => AssertQuery( async: true, ss => ss.Set() .Where(e => e.PartitionKey1 == "PK1a" && e.PartitionKey2 == 1)); - [ConditionalFact] // #33960 + [Fact] // #33960 public virtual Task Predicate_with_hierarchical_partition_key_and_additional_things_in_predicate() => AssertQuery( async: true, ss => ss.Set() .Where(e => e.Payload.Contains("3") && e.PartitionKey1 == "PK1" && e.PartitionKey2 == 1 && e.PartitionKey3)); - [ConditionalFact] // #33960 + [Fact] // #33960 public virtual Task Predicate_with_only_hierarchical_partition_key_and_additional_things_in_predicate() => AssertQuery( async: true, ss => ss.Set() .Where(e => e.Payload.Contains("3") && e.PartitionKey1 == "PK1b" && e.PartitionKey2 == 1 && e.PartitionKey3)); - [ConditionalFact] + [Fact] public virtual Task WithPartitionKey_with_hierarchical_partition_key() { var partitionKey2 = 1; @@ -110,7 +110,7 @@ public virtual Task WithPartitionKey_with_hierarchical_partition_key() .Where(e => e.PartitionKey1 == "PK1" && e.PartitionKey2 == partitionKey2 && e.PartitionKey3)); } - [ConditionalFact] + [Fact] public virtual Task WithPartitionKey_with_only_hierarchical_partition_key() { var partitionKey2 = 1; @@ -122,28 +122,28 @@ public virtual Task WithPartitionKey_with_only_hierarchical_partition_key() .Where(e => e.PartitionKey1 == "PK1a" && e.PartitionKey2 == partitionKey2 && e.PartitionKey3)); } - [ConditionalFact] + [Fact] public virtual Task WithPartitionKey_with_single_partition_key() => AssertQuery( async: true, ss => ss.Set().WithPartitionKey("PK1"), ss => ss.Set().Where(e => e.PartitionKey == "PK1")); - [ConditionalFact] + [Fact] public virtual Task WithPartitionKey_with_only_single_partition_key() => AssertQuery( async: true, ss => ss.Set().WithPartitionKey("PK1a"), ss => ss.Set().Where(e => e.PartitionKey == "PK1a")); - [ConditionalFact] + [Fact] public virtual Task WithPartitionKey_with_partial_value_in_hierarchical_partition_key() => AssertQuery( async: true, ss => ss.Set().WithPartitionKey("PK1", 1), ss => ss.Set().Where(e => e.PartitionKey1 == "PK1" && e.PartitionKey2 == 1)); - [ConditionalFact] + [Fact] public virtual Task Both_WithPartitionKey_and_predicate_comparisons_with_different_values() => AssertQuery( async: true, @@ -151,7 +151,7 @@ public virtual Task Both_WithPartitionKey_and_predicate_comparisons_with_differe ss => ss.Set().Where(e => e.PartitionKey == "PK1").Where(e => e.PartitionKey == "PK2"), assertEmpty: true); - [ConditionalFact] + [Fact] public virtual Task Both_WithPartitionKey_and_predicate_comparisons_with_different_values_with_only_partition_key() => AssertQuery( async: true, @@ -159,7 +159,7 @@ public virtual Task Both_WithPartitionKey_and_predicate_comparisons_with_differe ss => ss.Set().Where(e => e.PartitionKey == "PK1a").Where(e => e.PartitionKey == "PK2a"), assertEmpty: true); - [ConditionalFact] + [Fact] public virtual Task Both_WithPartitionKey_and_predicate_comparisons_with_same_values() => AssertQuery( async: true, @@ -167,7 +167,7 @@ public virtual Task Both_WithPartitionKey_and_predicate_comparisons_with_same_va .WithPartitionKey("PK1") .Where(e => e.PartitionKey == "PK1")); - [ConditionalFact] + [Fact] public virtual Task Both_WithPartitionKey_and_predicate_comparisons_with_same_values_with_only_partition_key() => AssertQuery( async: true, @@ -175,7 +175,7 @@ public virtual Task Both_WithPartitionKey_and_predicate_comparisons_with_same_va .WithPartitionKey("PK1a") .Where(e => e.PartitionKey == "PK1a")); - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_hierarchical_partition_key() { var partitionKey2 = 1; @@ -189,7 +189,7 @@ public virtual Task ReadItem_with_hierarchical_partition_key() && e.PartitionKey3)); } - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_only_hierarchical_partition_key() { var partitionKey2 = 1; @@ -200,20 +200,20 @@ public virtual Task ReadItem_with_only_hierarchical_partition_key() .Where(e => e.PartitionKey1 == "PK1a" && e.PartitionKey2 == partitionKey2 && e.PartitionKey3)); } - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_single_partition_key_constant() => AssertQuery( async: true, ss => ss.Set() .Where(e => e.Id == Guid.Parse("B29BCED8-E1E5-420E-82D7-1C7A51703D34") && e.PartitionKey == "PK1")); - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_only_single_partition_key_constant() => AssertQuery( async: true, ss => ss.Set().Where(e => e.PartitionKey == "PK1a")); - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_single_partition_key_parameter() { var partitionKey = "PK1"; @@ -224,7 +224,7 @@ public virtual Task ReadItem_with_single_partition_key_parameter() => e.Id == Guid.Parse("B29BCED8-E1E5-420E-82D7-1C7A51703D34") && e.PartitionKey == partitionKey)); } - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_only_single_partition_key_parameter() { var partitionKey = "PK1a"; @@ -234,7 +234,7 @@ public virtual Task ReadItem_with_only_single_partition_key_parameter() ss => ss.Set().Where(e => e.PartitionKey == partitionKey)); } - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_SingleAsync() { var partitionKey = "PK1"; @@ -245,7 +245,7 @@ public virtual Task ReadItem_with_SingleAsync() => e.Id == Guid.Parse("B29BCED8-E1E5-420E-82D7-1C7A51703D34") && e.PartitionKey == partitionKey)); } - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_SingleAsync_with_only_partition_key() { var partitionKey = "PK1a"; @@ -255,20 +255,20 @@ public virtual Task ReadItem_with_SingleAsync_with_only_partition_key() ss => ss.Set().Where(e => e.PartitionKey == partitionKey)); } - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_inverse_comparison() => AssertQuery( async: true, ss => ss.Set() .Where(e => Guid.Parse("B29BCED8-E1E5-420E-82D7-1C7A51703D34") == e.Id && "PK1" == e.PartitionKey)); - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_inverse_comparison_with_only_partition_key() => AssertQuery( async: true, ss => ss.Set().Where(e => "PK1a" == e.PartitionKey)); - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_EF_Property() => AssertQuery( async: true, @@ -276,7 +276,7 @@ public virtual Task ReadItem_with_EF_Property() => EF.Property(e, nameof(SinglePartitionKeyEntity.Id)) == Guid.Parse("B29BCED8-E1E5-420E-82D7-1C7A51703D34") && EF.Property(e, nameof(SinglePartitionKeyEntity.PartitionKey)) == "PK1")); - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_WithPartitionKey() => AssertQuery( async: true, @@ -285,14 +285,14 @@ public virtual Task ReadItem_with_WithPartitionKey() ss => ss.Set().Where(e => e.PartitionKey == "PK1") .Where(e => e.Id == Guid.Parse("B29BCED8-E1E5-420E-82D7-1C7A51703D34"))); - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_WithPartitionKey_with_only_partition_key() => AssertQuery( async: true, ss => ss.Set().WithPartitionKey("PK1a").Where(e => e.PartitionKey == "PK1a"), ss => ss.Set().Where(e => e.PartitionKey == "PK1a")); - [ConditionalFact] + [Fact] public virtual Task Multiple_incompatible_predicate_comparisons_cause_no_ReadItem() { var partitionKey = "PK1"; @@ -305,7 +305,7 @@ public virtual Task Multiple_incompatible_predicate_comparisons_cause_no_ReadIte assertEmpty: true); } - [ConditionalFact] + [Fact] public virtual Task Multiple_incompatible_predicate_comparisons_cause_no_ReadItem_with_only_partition_key() { var partitionKey = "PK1a"; @@ -317,19 +317,19 @@ public virtual Task Multiple_incompatible_predicate_comparisons_cause_no_ReadIte assertEmpty: true); } - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_no_partition_key() => AssertQuery( async: true, ss => ss.Set().Where(e => e.Id == 1)); - [ConditionalFact] + [Fact] public virtual Task ReadItem_is_not_used_without_partition_key() => AssertQuery( async: true, ss => ss.Set().Where(e => e.Id == Guid.Parse("B29BCED8-E1E5-420E-82D7-1C7A51703D34"))); - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_non_existent_id() => AssertQuery( async: true, @@ -337,45 +337,45 @@ public virtual Task ReadItem_with_non_existent_id() .Where(e => e.Id == Guid.Parse("50B66960-35BE-40C5-BC3D-4C9F2799D4D1") && e.PartitionKey == "PK1"), assertEmpty: true); - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_AsNoTracking() => AssertQuery( async: true, ss => ss.Set().AsNoTracking() .Where(e => e.Id == Guid.Parse("B29BCED8-E1E5-420E-82D7-1C7A51703D34") && e.PartitionKey == "PK1")); - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_AsNoTrackingWithIdentityResolution() => AssertQuery( async: true, ss => ss.Set().AsNoTrackingWithIdentityResolution().Where(e => e.Id == Guid.Parse("B29BCED8-E1E5-420E-82D7-1C7A51703D34") && e.PartitionKey == "PK1")); - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_shared_container() => AssertQuery( async: true, ss => ss.Set().Where(e => e.Id == "1" && e.PartitionKey == "PK1")); - [ConditionalFact] + [Fact] public virtual Task ReadItem_for_base_type_with_shared_container() => AssertQuery( async: true, ss => ss.Set().Where(e => e.Id == 4 && e.PartitionKey == "PK2")); - [ConditionalFact] + [Fact] public virtual Task ReadItem_for_abstract_base_type_with_shared_container() => AssertQuery( async: true, ss => ss.Set().Where(e => e.Id == 6 && e.PartitionKey == "PK2")); - [ConditionalFact] + [Fact] public virtual Task ReadItem_for_child_type_with_shared_container() => AssertQuery( async: true, ss => ss.Set().Where(e => e.Id == 5 && e.PartitionKey == "PK2")); - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_single_explicit_discriminator_mapping() { var partitionKey = "PK1"; @@ -390,7 +390,7 @@ public virtual Task ReadItem_with_single_explicit_discriminator_mapping() .Where(e => e.Id == Guid.Parse("B29BCED8-E1E5-420E-82D7-1C7A51703D34") && e.PartitionKey == partitionKey)); } - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_single_explicit_incorrect_discriminator_mapping() { var partitionKey = "PK1"; @@ -405,7 +405,7 @@ public virtual Task ReadItem_with_single_explicit_incorrect_discriminator_mappin assertEmpty: true); } - [ConditionalFact] + [Fact] public virtual Task ReadItem_with_single_explicit_parameterized_discriminator_mapping() { var partitionKey = "PK1"; diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/ByteArrayTranslationsCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/ByteArrayTranslationsCosmosTest.cs index da3dc404855..428ed4cd12e 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/ByteArrayTranslationsCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/ByteArrayTranslationsCosmosTest.cs @@ -36,7 +36,7 @@ public override Task Any() public override Task SequenceEqual() => AssertTranslationFailed(() => base.SequenceEqual()); - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/EnumTranslationsCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/EnumTranslationsCosmosTest.cs index cea01a51843..c275d2b6bb2 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/EnumTranslationsCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/EnumTranslationsCosmosTest.cs @@ -241,7 +241,7 @@ public override Task HasFlag_with_non_nullable_parameter() public override Task HasFlag_with_nullable_parameter() => AssertTranslationFailed(() => base.HasFlag()); - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/FullTextSearchTranslationsCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/FullTextSearchTranslationsCosmosTest.cs index 83ffceb9ebe..3d70ff9ee1a 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/FullTextSearchTranslationsCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/FullTextSearchTranslationsCosmosTest.cs @@ -1,11 +1,11 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.Azure.Cosmos; namespace Microsoft.EntityFrameworkCore.Query.Translations; -[CosmosCondition(CosmosCondition.DoesNotUseTokenCredential | CosmosCondition.IsNotEmulator)] +[ConditionalClass(typeof(CosmosTestEnvironment), nameof(CosmosTestEnvironment.DoesNotUseTokenCredential), nameof(CosmosTestEnvironment.IsNotEmulator))] public class FullTextSearchTranslationsCosmosTest : IClassFixture { public FullTextSearchTranslationsCosmosTest(FullTextSearchFixture fixture, ITestOutputHelper testOutputHelper) @@ -21,7 +21,7 @@ public FullTextSearchTranslationsCosmosTest(FullTextSearchFixture fixture, ITest #region FullTextContains - [ConditionalFact] + [Fact] public virtual async Task FullTextContains_with_constant() { await using var context = CreateContext(); @@ -41,7 +41,7 @@ WHERE FullTextContains(c["Description"], "beaver") """); } - [ConditionalFact] + [Fact] public virtual async Task FullTextContains_with_parameter() { await using var context = CreateContext(); @@ -64,7 +64,7 @@ WHERE FullTextContains(c["Description"], @beaver) """); } - [ConditionalFact] + [Fact] public virtual async Task FullTextContains_projected() { await using var context = CreateContext(); @@ -88,7 +88,7 @@ ORDER BY c["Id"] #region FullTextContainsAny - [ConditionalFact] + [Fact] public virtual async Task FullTextContainsAny_with_constant() { await using var context = CreateContext(); @@ -108,7 +108,7 @@ WHERE FullTextContainsAny(c["Description"], "bat") """); } - [ConditionalFact] + [Fact] public virtual async Task FullTextContainsAny_with_constants_array() { await using var context = CreateContext(); @@ -128,7 +128,7 @@ WHERE FullTextContainsAny(c["Description"], "bat", "beaver") """); } - [ConditionalFact] + [Fact] public virtual async Task FullTextContainsAny_with_constant_and_parameter() { await using var context = CreateContext(); @@ -156,7 +156,7 @@ WHERE FullTextContainsAny(c["Description"], @beaver, "bat") #region FullTextContainsAll - [ConditionalFact] + [Fact] public virtual async Task FullTextContainsAll_with_constants_array() { await using var context = CreateContext(); @@ -179,7 +179,7 @@ WHERE FullTextContainsAll(c["Description"], @beaver, "salmon", "frog") """); } - [ConditionalFact] + [Fact] public virtual async Task FullTextContainsAll_with_parameter() { await using var context = CreateContext(); @@ -203,7 +203,7 @@ WHERE FullTextContainsAll(c["Description"], @beaver) } - [ConditionalFact] + [Fact] public virtual async Task FullTextContainsAll_with_parameterized_array() { await using var context = CreateContext(); @@ -229,7 +229,7 @@ WHERE FullTextContainsAll(c["Description"], "beaver", "salmon", "frog") #region FullTextScore - [ConditionalFact] + [Fact] public virtual async Task FullTextScore_with_constant() { await using var context = CreateContext(); @@ -246,7 +246,7 @@ ORDER BY RANK FullTextScore(c["Description"], "otter") """); } - [ConditionalFact] + [Fact] public virtual async Task FullTextScore_with_parameter() { await using var context = CreateContext(); @@ -267,7 +267,7 @@ ORDER BY RANK FullTextScore(c["Description"], @otter) """); } - [ConditionalFact] + [Fact] public virtual async Task FullTextScore_with_constants_array() { await using var context = CreateContext(); @@ -284,7 +284,7 @@ ORDER BY RANK FullTextScore(c["Description"], "otter", "beaver") """); } - [ConditionalFact] + [Fact] public virtual async Task FullTextScore_with_parameterized_array() { await using var context = CreateContext(); @@ -302,7 +302,7 @@ ORDER BY RANK FullTextScore(c["Description"], "otter", "beaver") """); } - [ConditionalFact] + [Fact] public virtual async Task FullTextScore_with_complex_expression() { await using var context = CreateContext(); @@ -317,7 +317,7 @@ public virtual async Task FullTextScore_with_complex_expression() .ToListAsync())).Message; } - [ConditionalFact] + [Fact] public virtual async Task FullTextScore_projected() { await using var context = CreateContext(); @@ -332,7 +332,7 @@ public virtual async Task FullTextScore_projected() message); } - [ConditionalFact] + [Fact] public virtual async Task FullTextScore_on_non_FTS_property() { await using var context = CreateContext(); @@ -352,7 +352,7 @@ ORDER BY RANK FullTextScore(c["PartitionKey"], "taxonomy") #region RRF - [ConditionalFact] + [Fact] public virtual async Task Rrf_using_two_FullTextScore_functions() { await using var context = CreateContext(); @@ -371,7 +371,7 @@ ORDER BY RANK RRF(FullTextScore(c["Description"], "beaver"), FullTextScore(c["De """); } - [ConditionalFact] + [Fact] public virtual async Task Nested_RRF() { await using var context = CreateContext(); @@ -395,7 +395,7 @@ public virtual async Task Nested_RRF() #region ORDER BY RANK - [ConditionalFact] + [Fact] public virtual async Task OrderByRank_Take() { await using var context = CreateContext(); @@ -413,7 +413,7 @@ OFFSET 0 LIMIT 10 """); } - [ConditionalFact] + [Fact] public virtual async Task OrderByRank_Skip_Take() { await using var context = CreateContext(); @@ -432,7 +432,7 @@ OFFSET 1 LIMIT 20 """); } - [ConditionalFact] + [Fact] public virtual async Task OrderByRank_scoring_function_overridden_by_another() { await using var context = CreateContext(); @@ -449,7 +449,7 @@ ORDER BY RANK FullTextScore(c["Description"], "beaver", "dolphin", "second") """); } - [ConditionalFact] + [Fact] public virtual async Task OrderByRank_scoring_function_overridden_by_regular_OrderBy() { await using var context = CreateContext(); @@ -466,7 +466,7 @@ ORDER BY c["Name"] """); } - [ConditionalFact] + [Fact] public virtual async Task Regular_OrderBy_overridden_by_OrderByRank() { await using var context = CreateContext(); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/GuidTranslationsCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/GuidTranslationsCosmosTest.cs index c255117a147..520ffc7192f 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/GuidTranslationsCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/GuidTranslationsCosmosTest.cs @@ -57,7 +57,7 @@ public override async Task NewGuid() AssertSql(); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/HybridSearchTranslationsCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/HybridSearchTranslationsCosmosTest.cs index 9c363ec0709..10df589b7e9 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/HybridSearchTranslationsCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/HybridSearchTranslationsCosmosTest.cs @@ -1,11 +1,11 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.Azure.Cosmos; namespace Microsoft.EntityFrameworkCore.Query.Translations; -[CosmosCondition(CosmosCondition.DoesNotUseTokenCredential | CosmosCondition.IsNotEmulator)] +[ConditionalClass(typeof(CosmosTestEnvironment), nameof(CosmosTestEnvironment.DoesNotUseTokenCredential), nameof(CosmosTestEnvironment.IsNotEmulator))] public class HybridSearchCosmosTest : IClassFixture { public HybridSearchCosmosTest(HybridSearchFixture fixture, ITestOutputHelper testOutputHelper) @@ -16,7 +16,7 @@ public HybridSearchCosmosTest(HybridSearchFixture fixture, ITestOutputHelper tes protected HybridSearchFixture Fixture { get; } - [ConditionalFact] + [Fact] public virtual async Task Rrf_with_FullTextScore_and_VectorDistance() { await using var context = CreateContext(); @@ -39,7 +39,7 @@ ORDER BY RANK RRF(FullTextScore(c["Description"], "beaver", "otter"), VectorDist """); } - [ConditionalFact] + [Fact] public virtual async Task Rrf_with_FullTextScore_and_VectorDistance_with_weights() { await using var context = CreateContext(); @@ -66,7 +66,7 @@ ORDER BY RANK RRF(FullTextScore(c["Description"], "beaver", "otter"), VectorDist """); } - [ConditionalFact] + [Fact] public virtual async Task Rrf_with_FullTextScore_and_FullTextScore_with_owned_type() { await using var context = CreateContext(); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/MathTranslationsCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/MathTranslationsCosmosTest.cs index f65838697ca..ef14bcfe9e8 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/MathTranslationsCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/MathTranslationsCosmosTest.cs @@ -775,7 +775,7 @@ FROM root c #endregion Trigonometry - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/MiscellaneousTranslationsCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/MiscellaneousTranslationsCosmosTest.cs index 441e9f91102..edd5c9e5549 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/MiscellaneousTranslationsCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/MiscellaneousTranslationsCosmosTest.cs @@ -166,7 +166,7 @@ public override async Task TimeSpan_Compare_to_simple_zero(bool compareTo) #endregion Compare - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Operators/ArithmeticOperatorTranslationsCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Operators/ArithmeticOperatorTranslationsCosmosTest.cs index a53334d97e3..b015ea789a1 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Operators/ArithmeticOperatorTranslationsCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Operators/ArithmeticOperatorTranslationsCosmosTest.cs @@ -72,7 +72,7 @@ FROM root c """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Operators/BitwiseOperatorTranslationsCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Operators/BitwiseOperatorTranslationsCosmosTest.cs index ced0b7bdb90..06ac8711eb5 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Operators/BitwiseOperatorTranslationsCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Operators/BitwiseOperatorTranslationsCosmosTest.cs @@ -198,7 +198,7 @@ FROM root c """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Operators/ComparisonOperatorTranslationsTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Operators/ComparisonOperatorTranslationsTest.cs index 304b2c867f8..2bb9e514bb3 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Operators/ComparisonOperatorTranslationsTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Operators/ComparisonOperatorTranslationsTest.cs @@ -84,7 +84,7 @@ FROM root c """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Operators/LogicalOperatorTranslationsCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Operators/LogicalOperatorTranslationsCosmosTest.cs index b0658d98a5e..553a89409fc 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Operators/LogicalOperatorTranslationsCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Operators/LogicalOperatorTranslationsCosmosTest.cs @@ -84,7 +84,7 @@ WHERE NOT(c["Bool"]) """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Operators/MiscellaneousOperatorTranslationsCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Operators/MiscellaneousOperatorTranslationsCosmosTest.cs index 55d81882f15..07687b8fefc 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Operators/MiscellaneousOperatorTranslationsCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Operators/MiscellaneousOperatorTranslationsCosmosTest.cs @@ -36,7 +36,7 @@ FROM root c """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/StringTranslationsCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/StringTranslationsCosmosTest.cs index 567dd360ea2..c55f8527edb 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/StringTranslationsCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/StringTranslationsCosmosTest.cs @@ -1147,7 +1147,7 @@ WHERE RegexMatch("Seattle", c["String"]) """); } - // [ConditionalTheory] + // [Theory] // [MemberData(nameof(IsAsyncData))] // public virtual Task Regex_IsMatch_with_RegexOptions_None() // => Fixture.NoSyncTest( @@ -1165,7 +1165,7 @@ WHERE RegexMatch("Seattle", c["String"]) // """); // } // - // [ConditionalTheory] + // [Theory] // [MemberData(nameof(IsAsyncData))] // public virtual Task Regex_IsMatch_with_RegexOptions_IgnoreCase() // => Fixture.NoSyncTest( @@ -1183,7 +1183,7 @@ WHERE RegexMatch("Seattle", c["String"]) // """); // } // - // [ConditionalTheory] + // [Theory] // [MemberData(nameof(IsAsyncData))] // public virtual Task Regex_IsMatch_with_RegexOptions_Multiline() // => Fixture.NoSyncTest( @@ -1201,7 +1201,7 @@ WHERE RegexMatch("Seattle", c["String"]) // """); // } // - // [ConditionalTheory] + // [Theory] // [MemberData(nameof(IsAsyncData))] // public virtual Task Regex_IsMatch_with_RegexOptions_Singleline() // => Fixture.NoSyncTest( @@ -1219,7 +1219,7 @@ WHERE RegexMatch("Seattle", c["String"]) // """); // } // - // [ConditionalTheory] + // [Theory] // [MemberData(nameof(IsAsyncData))] // public virtual Task Regex_IsMatch_with_RegexOptions_IgnorePatternWhitespace() // => Fixture.NoSyncTest( @@ -1237,7 +1237,7 @@ WHERE RegexMatch("Seattle", c["String"]) // """); // } // - // [ConditionalTheory] + // [Theory] // [MemberData(nameof(IsAsyncData))] // public virtual Task Regex_IsMatch_with_RegexOptions_IgnoreCase_and_IgnorePatternWhitespace() // => Fixture.NoSyncTest( @@ -1256,7 +1256,7 @@ WHERE RegexMatch("Seattle", c["String"]) // """); // } // - // [ConditionalTheory] + // [Theory] // [MemberData(nameof(IsAsyncData))] // public virtual Task Regex_IsMatch_with_RegexOptions_RightToLeft() // => AssertTranslationFailed( @@ -1264,7 +1264,7 @@ WHERE RegexMatch("Seattle", c["String"]) // async, // ss => ss.Set().Where(o => Regex.IsMatch(o.CustomerID, "^T", RegexOptions.RightToLeft)))); // - // [ConditionalTheory] + // [Theory] // [MemberData(nameof(IsAsyncData))] // public virtual Task Regex_IsMatch_with_RegexOptions_IgnoreCase_and_RightToLeft() // => AssertTranslationFailed( @@ -1275,7 +1275,7 @@ WHERE RegexMatch("Seattle", c["String"]) #endregion Regex - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Temporal/DateOnlyTranslationsCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Temporal/DateOnlyTranslationsCosmosTest.cs index d77cb821711..e52146422ca 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Temporal/DateOnlyTranslationsCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Temporal/DateOnlyTranslationsCosmosTest.cs @@ -68,7 +68,7 @@ public override Task ToDateTime_with_complex_DateTime() public override Task ToDateTime_with_complex_TimeOnly() => AssertTranslationFailed(() => base.ToDateTime_with_complex_TimeOnly()); - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Temporal/DateTimeOffsetTranslationsCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Temporal/DateTimeOffsetTranslationsCosmosTest.cs index c0a34901265..236a514a541 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Temporal/DateTimeOffsetTranslationsCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Temporal/DateTimeOffsetTranslationsCosmosTest.cs @@ -42,9 +42,10 @@ public override async Task Date() AssertSql(); } - [CosmosCondition(CosmosCondition.IsEmulator)] public override async Task Year() { + CosmosTestEnvironment.SkipIfNotEmulator(); + await base.Year(); AssertSql( @@ -55,9 +56,10 @@ FROM root c """); } - [CosmosCondition(CosmosCondition.IsEmulator)] public override async Task Month() { + CosmosTestEnvironment.SkipIfNotEmulator(); + // Our persisted representation of DateTimeOffset (xxx+00:00) isn't supported by Cosmos (should be xxxZ). #35310 await Assert.ThrowsAsync(() => base.Month()); @@ -77,9 +79,10 @@ public override async Task DayOfYear() AssertSql(); } - [CosmosCondition(CosmosCondition.IsEmulator)] public override async Task Day() { + CosmosTestEnvironment.SkipIfNotEmulator(); + await base.Day(); AssertSql( @@ -90,9 +93,10 @@ FROM root c """); } - [CosmosCondition(CosmosCondition.IsEmulator)] public override async Task Hour() { + CosmosTestEnvironment.SkipIfNotEmulator(); + // Our persisted representation of DateTimeOffset (xxx+00:00) isn't supported by Cosmos (should be xxxZ). #35310 await Assert.ThrowsAsync(() => base.Hour()); @@ -104,9 +108,10 @@ FROM root c """); } - [CosmosCondition(CosmosCondition.IsEmulator)] public override async Task Minute() { + CosmosTestEnvironment.SkipIfNotEmulator(); + // Our persisted representation of DateTimeOffset (xxx+00:00) isn't supported by Cosmos (should be xxxZ). #35310 await Assert.ThrowsAsync(() => base.Minute()); @@ -118,9 +123,10 @@ FROM root c """); } - [CosmosCondition(CosmosCondition.IsEmulator)] public override async Task Second() { + CosmosTestEnvironment.SkipIfNotEmulator(); + await base.Second(); AssertSql( @@ -131,9 +137,10 @@ FROM root c """); } - [CosmosCondition(CosmosCondition.IsEmulator)] public override async Task Millisecond() { + CosmosTestEnvironment.SkipIfNotEmulator(); + await base.Millisecond(); AssertSql( @@ -144,9 +151,10 @@ FROM root c """); } - [CosmosCondition(CosmosCondition.IsEmulator)] public override async Task Microsecond() { + CosmosTestEnvironment.SkipIfNotEmulator(); + await base.Microsecond(); AssertSql( @@ -316,7 +324,7 @@ FROM root c """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Temporal/DateTimeTranslationsCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Temporal/DateTimeTranslationsCosmosTest.cs index f5fa9c5a1cd..084da9656f1 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Temporal/DateTimeTranslationsCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Temporal/DateTimeTranslationsCosmosTest.cs @@ -222,7 +222,7 @@ FROM root c """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Temporal/TimeOnlyTranslationsCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Temporal/TimeOnlyTranslationsCosmosTest.cs index dc176c8d6df..c6a7c1aa9b9 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Temporal/TimeOnlyTranslationsCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Temporal/TimeOnlyTranslationsCosmosTest.cs @@ -75,7 +75,7 @@ public override Task FromTimeSpan_compared_to_parameter() public override Task Order_by_FromTimeSpan() => AssertTranslationFailed(() => base.Order_by_FromTimeSpan()); - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Temporal/TimeSpanTranslationsCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Temporal/TimeSpanTranslationsCosmosTest.cs index 7b66b9981b3..c67b23b4a86 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Temporal/TimeSpanTranslationsCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/Temporal/TimeSpanTranslationsCosmosTest.cs @@ -30,7 +30,7 @@ public override Task Microseconds() public override Task Nanoseconds() => AssertTranslationFailed(() => base.Nanoseconds()); - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/VectorSearchTranslationsCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/VectorSearchTranslationsCosmosTest.cs index feb34832ca7..ad5a9498052 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/Translations/VectorSearchTranslationsCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/Translations/VectorSearchTranslationsCosmosTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.Azure.Cosmos; @@ -19,7 +19,7 @@ public VectorSearchTranslationsCosmosTest(VectorSearchFixture fixture, ITestOutp private readonly ITestOutputHelper _testOutputHelper; - [ConditionalFact] + [Fact] public virtual async Task OrderBy_VectorDistance_singles_memory() { await using var context = CreateContext(); @@ -41,7 +41,7 @@ ORDER BY VectorDistance(c["SinglesArray"], @p) """); } - [ConditionalFact] + [Fact] public virtual async Task OrderBy_VectorDistance_singles_array() { await using var context = CreateContext(); @@ -66,7 +66,7 @@ FROM root c """); } - [ConditionalFact] + [Fact] public virtual async Task OrderBy_VectorDistance_bytes_memory() { await using var context = CreateContext(); @@ -88,7 +88,7 @@ ORDER BY VectorDistance(c["Bytes"], @p) """); } - [ConditionalFact] + [Fact] public virtual async Task OrderBy_VectorDistance_bytes_array() { await using var context = CreateContext(); @@ -110,7 +110,7 @@ ORDER BY VectorDistance(c["BytesArray"], @p) """); } - [ConditionalFact] + [Fact] public virtual async Task OrderBy_VectorDistance_sbyte() { await using var context = CreateContext(); @@ -135,7 +135,7 @@ ORDER BY VectorDistance(c["SBytes"], @p) #region Brute force and options - [ConditionalFact] + [Fact] public virtual async Task VectorDistance_with_brute_force_true() { await using var context = CreateContext(); @@ -157,7 +157,7 @@ ORDER BY VectorDistance(c["SinglesArray"], @p, true) """); } - [ConditionalFact] + [Fact] public virtual async Task VectorDistance_with_brute_force_and_distance_function() { await using var context = CreateContext(); @@ -181,7 +181,7 @@ ORDER BY VectorDistance(c["SinglesArray"], @p, true, { 'distanceFunction': 'dotp """); } - [ConditionalFact] + [Fact] public virtual async Task VectorDistance_with_distance_function_and_brute_force_null() { await using var context = CreateContext(); @@ -205,7 +205,7 @@ ORDER BY VectorDistance(c["SinglesArray"], @p, false, { 'distanceFunction': 'dot """); } - [ConditionalFact] + [Fact] public virtual async Task VectorDistance_with_data_type_and_distance_function() { await using var context = CreateContext(); @@ -231,7 +231,7 @@ ORDER BY VectorDistance(c["SinglesArray"], @p, false, { 'distanceFunction': 'dot #endregion Brute force and options - [ConditionalFact] + [Fact] public virtual async Task Select_VectorDistance() { await using var context = CreateContext(); @@ -254,7 +254,7 @@ FROM root c """); } - [ConditionalFact] + [Fact] public virtual async Task RRF_with_two_Vector_distance_functions_in_OrderBy() { await using var context = CreateContext(); @@ -281,7 +281,7 @@ ORDER BY RANK RRF(VectorDistance(c["BytesArray"], @p), VectorDistance(c["Singles """); } - [ConditionalFact] + [Fact] public virtual async Task VectorDistance_throws_when_used_on_non_vector() { await using var context = CreateContext(); @@ -302,7 +302,7 @@ public virtual async Task VectorDistance_throws_when_used_on_non_vector() .ToListAsync())).Message); } - [ConditionalFact] + [Fact] public virtual async Task VectorDistance_throws_when_used_with_non_const_args() { await using var context = CreateContext(); diff --git a/test/EFCore.Cosmos.FunctionalTests/ReloadTest.cs b/test/EFCore.Cosmos.FunctionalTests/ReloadTest.cs index 2913707dfff..b24372a5cac 100644 --- a/test/EFCore.Cosmos.FunctionalTests/ReloadTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/ReloadTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Newtonsoft.Json.Linq; @@ -23,7 +23,7 @@ public ReloadTest(CosmosReloadTestFixture fixture) ClearLog(); } - [ConditionalFact] + [Fact] public async Task Entity_reference_can_be_reloaded() { using var context = CreateContext(); diff --git a/test/EFCore.Cosmos.FunctionalTests/Scaffolding/CompiledModelCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Scaffolding/CompiledModelCosmosTest.cs index 8c63b118deb..45c5d1af315 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Scaffolding/CompiledModelCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Scaffolding/CompiledModelCosmosTest.cs @@ -14,7 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding; public class CompiledModelCosmosTest(NonSharedFixture fixture) : CompiledModelTestBase(fixture) { - [ConditionalFact] + [Fact] public virtual Task Basic_cosmos_model() => Test( modelBuilder => diff --git a/test/EFCore.Cosmos.FunctionalTests/Storage/CosmosDatabaseCreatorTest.cs b/test/EFCore.Cosmos.FunctionalTests/Storage/CosmosDatabaseCreatorTest.cs index f9b74659ced..03339747df7 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Storage/CosmosDatabaseCreatorTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Storage/CosmosDatabaseCreatorTest.cs @@ -1,16 +1,16 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Storage; #nullable disable -[CosmosCondition(CosmosCondition.DoesNotUseTokenCredential)] +[ConditionalClass(typeof(CosmosTestEnvironment), nameof(CosmosTestEnvironment.DoesNotUseTokenCredential))] public class CosmosDatabaseCreatorTest { public static readonly IEnumerable IsAsyncData = [[true]]; - [ConditionalFact] + [Fact] public async Task EnsureCreated_returns_true_when_database_does_not_exist() { await using var testDatabase = CosmosTestStore.Create("NonExistingDatabase"); @@ -20,7 +20,7 @@ public async Task EnsureCreated_returns_true_when_database_does_not_exist() Assert.True(await creator.EnsureCreatedAsync()); } - [ConditionalFact] + [Fact] public async Task EnsureCreated_returns_true_when_database_exists_but_collections_do_not() { await using var testDatabase = CosmosTestStore.Create("EnsureCreatedTest"); @@ -31,7 +31,7 @@ public async Task EnsureCreated_returns_true_when_database_exists_but_collection Assert.True(await creator.EnsureCreatedAsync()); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public Task EnsureCreated_returns_false_when_database_and_collections_exist(bool async) => CosmosTestHelpers.Instance.NoSyncTest( async, async a => @@ -46,7 +46,7 @@ await testDatabase.InitializeAsync( Assert.False(a ? await creator.EnsureCreatedAsync() : creator.EnsureCreated()); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public Task EnsureDeleted_returns_true_when_database_exists(bool async) => CosmosTestHelpers.Instance.NoSyncTest( async, async a => @@ -58,7 +58,7 @@ public Task EnsureDeleted_returns_true_when_database_exists(bool async) Assert.True(a ? await creator.EnsureDeletedAsync() : creator.EnsureDeleted()); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public Task EnsureDeleted_returns_false_when_database_does_not_exist(bool async) => CosmosTestHelpers.Instance.NoSyncTest( async, async a => @@ -70,7 +70,7 @@ public Task EnsureDeleted_returns_false_when_database_does_not_exist(bool async) Assert.False(a ? await creator.EnsureDeletedAsync() : creator.EnsureDeleted()); }); - [ConditionalFact] + [Fact] public async Task EnsureCreated_throws_for_missing_seed() { await using var testDatabase = await CosmosTestStore.CreateInitializedAsync("EnsureCreatedSeedTest"); diff --git a/test/EFCore.Cosmos.FunctionalTests/TestUtilities/CosmosCondition.cs b/test/EFCore.Cosmos.FunctionalTests/TestUtilities/CosmosCondition.cs deleted file mode 100644 index 8f29a4da780..00000000000 --- a/test/EFCore.Cosmos.FunctionalTests/TestUtilities/CosmosCondition.cs +++ /dev/null @@ -1,14 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -namespace Microsoft.EntityFrameworkCore.TestUtilities; - -[Flags] -public enum CosmosCondition -{ - UsesTokenCredential = 1 << 0, - DoesNotUseTokenCredential = 1 << 1, - IsEmulator = 1 << 2, - IsNotEmulator = 1 << 3, - IsNotLinuxEmulator = 1 << 4, -} diff --git a/test/EFCore.Cosmos.FunctionalTests/TestUtilities/CosmosConditionAttribute.cs b/test/EFCore.Cosmos.FunctionalTests/TestUtilities/CosmosConditionAttribute.cs deleted file mode 100644 index a268f8ef5a3..00000000000 --- a/test/EFCore.Cosmos.FunctionalTests/TestUtilities/CosmosConditionAttribute.cs +++ /dev/null @@ -1,53 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - -namespace Microsoft.EntityFrameworkCore.TestUtilities; - -[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class)] -public sealed class CosmosConditionAttribute(CosmosCondition conditions) : Attribute, ITestCondition -{ - public CosmosCondition Conditions { get; set; } = conditions; - - public ValueTask IsMetAsync() - { - var isMet = true; - - if (Conditions.HasFlag(CosmosCondition.UsesTokenCredential)) - { - isMet &= TestEnvironment.UseTokenCredential; - } - - if (Conditions.HasFlag(CosmosCondition.DoesNotUseTokenCredential)) - { - isMet &= !TestEnvironment.UseTokenCredential; - } - - if (Conditions.HasFlag(CosmosCondition.IsEmulator)) - { - isMet &= TestEnvironment.IsEmulator; - } - - if (Conditions.HasFlag(CosmosCondition.IsNotEmulator)) - { - isMet &= !TestEnvironment.IsEmulator; - } - - if (Conditions.HasFlag(CosmosCondition.IsNotLinuxEmulator)) - { - isMet &= !TestEnvironment.IsLinuxEmulator; - } - - return ValueTask.FromResult(isMet); - } - - public string SkipReason - => string.Format( - "The test Cosmos account does not meet these conditions: '{0}'", - string.Join( - ", ", Enum.GetValues(typeof(CosmosCondition)) - .Cast() - .Where(Conditions.HasFlag) - .Select(f => Enum.GetName(typeof(CosmosCondition), f)))); -} diff --git a/test/EFCore.Cosmos.FunctionalTests/TestUtilities/CosmosDbConfiguredConditionAttribute.cs b/test/EFCore.Cosmos.FunctionalTests/TestUtilities/CosmosDbConfiguredConditionAttribute.cs deleted file mode 100644 index f0e4ecf7289..00000000000 --- a/test/EFCore.Cosmos.FunctionalTests/TestUtilities/CosmosDbConfiguredConditionAttribute.cs +++ /dev/null @@ -1,16 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - -namespace Microsoft.EntityFrameworkCore.TestUtilities; - -[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class | AttributeTargets.Assembly)] -public class CosmosDbConfiguredConditionAttribute : Attribute, ITestCondition -{ - public string SkipReason - => "Unable to connect to Cosmos DB. Please install/start the emulator service or configure a valid endpoint."; - - public ValueTask IsMetAsync() - => CosmosTestStore.IsConnectionAvailableAsync(); -} diff --git a/test/EFCore.Cosmos.FunctionalTests/TestUtilities/CosmosDbContextOptionsBuilderExtensions.cs b/test/EFCore.Cosmos.FunctionalTests/TestUtilities/CosmosDbContextOptionsBuilderExtensions.cs index f19ee56afb8..af3d2df71c0 100644 --- a/test/EFCore.Cosmos.FunctionalTests/TestUtilities/CosmosDbContextOptionsBuilderExtensions.cs +++ b/test/EFCore.Cosmos.FunctionalTests/TestUtilities/CosmosDbContextOptionsBuilderExtensions.cs @@ -14,7 +14,7 @@ public static CosmosDbContextOptionsBuilder ApplyConfiguration(this CosmosDbCont { if (_httpClientFactory == null) { - _handler = TestEnvironment.HttpMessageHandler + _handler = CosmosTestEnvironment.HttpMessageHandler ?? new HttpClientHandler { ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator diff --git a/test/EFCore.Cosmos.FunctionalTests/TestUtilities/TestEnvironment.cs b/test/EFCore.Cosmos.FunctionalTests/TestUtilities/CosmosTestEnvironment.cs similarity index 82% rename from test/EFCore.Cosmos.FunctionalTests/TestUtilities/TestEnvironment.cs rename to test/EFCore.Cosmos.FunctionalTests/TestUtilities/CosmosTestEnvironment.cs index 2c4a512a9fa..60684b4cd83 100644 --- a/test/EFCore.Cosmos.FunctionalTests/TestUtilities/TestEnvironment.cs +++ b/test/EFCore.Cosmos.FunctionalTests/TestUtilities/CosmosTestEnvironment.cs @@ -5,12 +5,13 @@ using Azure.Identity; using Microsoft.Extensions.Configuration; using Testcontainers.CosmosDb; +using Xunit.Sdk; namespace Microsoft.EntityFrameworkCore.TestUtilities; #nullable disable -public static class TestEnvironment +public static class CosmosTestEnvironment { private static readonly string _emulatorAuthToken = "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw=="; @@ -165,4 +166,37 @@ private static async Task TryProbeEmulatorAsync(string endpoint) public static bool IsLinuxEmulator => IsEmulator && EmulatorType.Equals("linux", StringComparison.OrdinalIgnoreCase); + + public static bool IsAvailable => CosmosTestStore.IsConnectionAvailableAsync().AsTask().GetAwaiter().GetResult(); + + // ---- Conditional* helpers consumed by [ConditionalFact(typeof(TestEnvironment), nameof(...))] ---- + + public static bool DoesNotUseTokenCredential => !UseTokenCredential; + public static bool IsNotEmulator => !IsEmulator; + public static bool IsNotLinuxEmulator => !IsLinuxEmulator; + + /// + /// Throws when running on the Linux Cosmos emulator. + /// Use inside override methods whose base already carries [Fact] / [Theory] + /// so that a second [ConditionalFact] is not needed (xUnit v3 forbids it). + /// + public static void SkipOnLinuxEmulator(string reason = "Not supported on the Linux Cosmos emulator") + { + if (IsLinuxEmulator) + { + throw SkipException.ForSkip(reason); + } + } + + /// + /// Throws when NOT running on the emulator. + /// Use inside override methods whose base already carries [Fact] / [Theory]. + /// + public static void SkipIfNotEmulator(string reason = "Only supported on the Cosmos emulator") + { + if (!IsEmulator) + { + throw SkipException.ForSkip(reason); + } + } } diff --git a/test/EFCore.Cosmos.FunctionalTests/TestUtilities/CosmosTestHelpers.cs b/test/EFCore.Cosmos.FunctionalTests/TestUtilities/CosmosTestHelpers.cs index 2fe44663c4c..4d5f9811734 100644 --- a/test/EFCore.Cosmos.FunctionalTests/TestUtilities/CosmosTestHelpers.cs +++ b/test/EFCore.Cosmos.FunctionalTests/TestUtilities/CosmosTestHelpers.cs @@ -22,14 +22,14 @@ public override IServiceCollection AddProviderServices(IServiceCollection servic => services.AddEntityFrameworkCosmos(); public override DbContextOptionsBuilder UseProviderOptions(DbContextOptionsBuilder optionsBuilder) - => TestEnvironment.UseTokenCredential + => CosmosTestEnvironment.UseTokenCredential ? optionsBuilder.UseCosmos( - TestEnvironment.DefaultConnection, - TestEnvironment.TokenCredential, + CosmosTestEnvironment.DefaultConnection, + CosmosTestEnvironment.TokenCredential, "UnitTests") : optionsBuilder.UseCosmos( - TestEnvironment.DefaultConnection, - TestEnvironment.AuthToken, + CosmosTestEnvironment.DefaultConnection, + CosmosTestEnvironment.AuthToken, "UnitTests"); public override LoggingDefinitions LoggingDefinitions { get; } = new CosmosLoggingDefinitions(); diff --git a/test/EFCore.Cosmos.FunctionalTests/TestUtilities/CosmosTestStore.cs b/test/EFCore.Cosmos.FunctionalTests/TestUtilities/CosmosTestStore.cs index 2f6502998df..dd000d0050d 100644 --- a/test/EFCore.Cosmos.FunctionalTests/TestUtilities/CosmosTestStore.cs +++ b/test/EFCore.Cosmos.FunctionalTests/TestUtilities/CosmosTestStore.cs @@ -82,10 +82,10 @@ private CosmosTestStore( Action? extensionConfiguration = null) : base(CreateName(name), shared) { - ConnectionUri = TestEnvironment.DefaultConnection; - AuthToken = TestEnvironment.AuthToken; - ConnectionString = TestEnvironment.ConnectionString; - TokenCredential = TestEnvironment.TokenCredential; + ConnectionUri = CosmosTestEnvironment.DefaultConnection; + AuthToken = CosmosTestEnvironment.AuthToken; + ConnectionString = CosmosTestEnvironment.ConnectionString; + TokenCredential = CosmosTestEnvironment.TokenCredential; _configureCosmos = extensionConfiguration == null ? b => b.ApplyConfiguration() : b => @@ -110,7 +110,7 @@ private CosmosTestStore( } private static string CreateName(string name) - => TestEnvironment.IsEmulator + => CosmosTestEnvironment.IsEmulator ? name : name + _runId; @@ -126,11 +126,11 @@ protected override DbContext CreateDefaultContext() public override DbContextOptionsBuilder AddProviderOptions(DbContextOptionsBuilder builder) { - var result = TestEnvironment.UseTokenCredential + var result = CosmosTestEnvironment.UseTokenCredential ? builder.UseCosmos(ConnectionUri, TokenCredential, Name, _configureCosmos) : builder.UseCosmos(ConnectionUri, AuthToken, Name, _configureCosmos); - if (TestEnvironment.IsLinuxEmulator) + if (CosmosTestEnvironment.IsLinuxEmulator) { result.AddInterceptors(LinuxEmulatorSaveChangesInterceptor.Instance); } @@ -140,7 +140,7 @@ public override DbContextOptionsBuilder AddProviderOptions(DbContextOptionsBuild public static async ValueTask IsConnectionAvailableAsync() { - if (TestEnvironment.SkipConnectionCheck) + if (CosmosTestEnvironment.SkipConnectionCheck) { return true; } @@ -210,11 +210,11 @@ private static bool IsNotConfigured(Exception exception) protected override async Task InitializeAsync(Func createContext, Func? seed, Func? clean) { - await TestEnvironment.InitializeAsync().ConfigureAwait(false); + await CosmosTestEnvironment.InitializeAsync().ConfigureAwait(false); // Update connection details in case InitializeAsync changed them (e.g., testcontainer started). - ConnectionUri = TestEnvironment.DefaultConnection; - ConnectionString = TestEnvironment.ConnectionString; + ConnectionUri = CosmosTestEnvironment.DefaultConnection; + ConnectionString = CosmosTestEnvironment.ConnectionString; _initialized = true; @@ -226,11 +226,11 @@ protected override async Task InitializeAsync(Func createContext, Fun await base.InitializeAsync(createContext ?? (() => _storeContext), seed, clean).ConfigureAwait(false); } - private static readonly ArmClient _armClient = new(TestEnvironment.TokenCredential); + private static readonly ArmClient _armClient = new(CosmosTestEnvironment.TokenCredential); public async Task EnsureCreatedAsync(DbContext context, CancellationToken cancellationToken = default) { - if (!TestEnvironment.UseTokenCredential) + if (!CosmosTestEnvironment.UseTokenCredential) { var cosmosClientWrapper = context.GetService(); return await cosmosClientWrapper.CreateDatabaseIfNotExistsAsync(null, cancellationToken).ConfigureAwait(false); @@ -239,7 +239,7 @@ public async Task EnsureCreatedAsync(DbContext context, CancellationToken var databaseAccount = await GetDBAccount(cancellationToken).ConfigureAwait(false); var collection = databaseAccount.Value.GetCosmosDBSqlDatabases(); var sqlDatabaseCreateUpdateContent = new CosmosDBSqlDatabaseCreateOrUpdateContent( - TestEnvironment.AzureLocation, + CosmosTestEnvironment.AzureLocation, new CosmosDBSqlDatabaseResourceInfo(Name)); if (await collection.ExistsAsync(Name, cancellationToken)) { @@ -271,7 +271,7 @@ public async Task EnsureCreatedAsync(DbContext context, CancellationToken private async Task EnsureDeletedAsync(DbContext context, CancellationToken cancellationToken = default) { - if (!TestEnvironment.UseTokenCredential) + if (!CosmosTestEnvironment.UseTokenCredential) { return await context.Database.EnsureDeletedAsync(cancellationToken).ConfigureAwait(false); } @@ -294,7 +294,7 @@ private async Task EnsureDeletedAsync(DbContext context, CancellationToken { var accountName = new Uri(ConnectionUri).Host.Split('.').First(); var databaseAccountIdentifier = CosmosDBAccountResource.CreateResourceIdentifier( - TestEnvironment.SubscriptionId, TestEnvironment.ResourceGroup, accountName); + CosmosTestEnvironment.SubscriptionId, CosmosTestEnvironment.ResourceGroup, accountName); return _armClient.GetCosmosDBAccountResource(databaseAccountIdentifier).GetAsync(cancellationToken); } @@ -330,7 +330,7 @@ private async Task CleanAsyncImpl(DbContext context, bool createTables) return; } - if (!TestEnvironment.UseTokenCredential) + if (!CosmosTestEnvironment.UseTokenCredential) { created = await context.Database.EnsureCreatedAsync().ConfigureAwait(false); if (!created) @@ -384,7 +384,7 @@ private async Task CreateContainersAsync(DbContext context) resource.PartitionKey.Paths.Add("/" + partitionKey); } - var content = new CosmosDBSqlContainerCreateOrUpdateContent(TestEnvironment.AzureLocation, resource); + var content = new CosmosDBSqlContainerCreateOrUpdateContent(CosmosTestEnvironment.AzureLocation, resource); if (container.Throughput != null) { content.Options = new CosmosDBCreateUpdateConfig @@ -498,7 +498,7 @@ private static IReadOnlyList GetPartitionKeyStoreNames(IEntityType entit private async Task DeleteContainersAsync(DbContext context) { - if (!TestEnvironment.UseTokenCredential) + if (!CosmosTestEnvironment.UseTokenCredential) { var cosmosClient = context.Database.GetCosmosClient(); var database = cosmosClient.GetDatabase(Name); @@ -569,7 +569,7 @@ private class TestStoreContext(CosmosTestStore testStore) : DbContext protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { - if (TestEnvironment.UseTokenCredential) + if (CosmosTestEnvironment.UseTokenCredential) { optionsBuilder.UseCosmos( _testStore.ConnectionUri, _testStore.TokenCredential, _testStore.Name, _testStore._configureCosmos); diff --git a/test/EFCore.Cosmos.FunctionalTests/TestUtilities/TestCosmosExecutionStrategy.cs b/test/EFCore.Cosmos.FunctionalTests/TestUtilities/TestCosmosExecutionStrategy.cs index bde9a927840..04e7d05ada9 100644 --- a/test/EFCore.Cosmos.FunctionalTests/TestUtilities/TestCosmosExecutionStrategy.cs +++ b/test/EFCore.Cosmos.FunctionalTests/TestUtilities/TestCosmosExecutionStrategy.cs @@ -19,8 +19,8 @@ public TestCosmosExecutionStrategy() new DbContextOptionsBuilder() .EnableServiceProviderCaching(false) .UseCosmos( - TestEnvironment.DefaultConnection, - TestEnvironment.AuthToken, + CosmosTestEnvironment.DefaultConnection, + CosmosTestEnvironment.AuthToken, "NonExistent").Options), DefaultMaxRetryCount, DefaultMaxDelay) { diff --git a/test/EFCore.Cosmos.FunctionalTests/Types/CosmosMiscellaneousTypeTest.cs b/test/EFCore.Cosmos.FunctionalTests/Types/CosmosMiscellaneousTypeTest.cs index 50b722b9e2e..d57bb1e07af 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Types/CosmosMiscellaneousTypeTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Types/CosmosMiscellaneousTypeTest.cs @@ -7,12 +7,16 @@ public class CosmosBoolTypeTest(CosmosBoolTypeTest.BoolTypeFixture fixture) : TypeTestBase(fixture) { // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] - public override Task Primitive_collection_in_query() - => base.Primitive_collection_in_query(); + public override async Task Primitive_collection_in_query() + { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + + await base.Primitive_collection_in_query(); + } public class BoolTypeFixture : CosmosTypeFixtureBase { + public override bool Value { get; } = true; public override bool OtherValue { get; } = false; @@ -24,12 +28,16 @@ public class CosmosStringTypeTest(CosmosStringTypeTest.StringTypeFixture fixture : TypeTestBase(fixture) { // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] - public override Task Primitive_collection_in_query() - => base.Primitive_collection_in_query(); + public override async Task Primitive_collection_in_query() + { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + + await base.Primitive_collection_in_query(); + } public class StringTypeFixture : CosmosTypeFixtureBase { + public override string Value { get; } = "foo"; public override string OtherValue { get; } = "bar"; diff --git a/test/EFCore.Cosmos.FunctionalTests/Types/CosmosNumericTypeTest.cs b/test/EFCore.Cosmos.FunctionalTests/Types/CosmosNumericTypeTest.cs index 9374cb5a6ef..a885107e20d 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Types/CosmosNumericTypeTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Types/CosmosNumericTypeTest.cs @@ -23,9 +23,12 @@ public class CosmosShortTypeTest(CosmosShortTypeTest.ShortTypeFixture fixture) : TypeTestBase(fixture) { // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] - public override Task Primitive_collection_in_query() - => base.Primitive_collection_in_query(); + public override async Task Primitive_collection_in_query() + { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + + await base.Primitive_collection_in_query(); + } public class ShortTypeFixture : CosmosTypeFixtureBase { @@ -39,9 +42,12 @@ public class ShortTypeFixture : CosmosTypeFixtureBase public class CosmosIntTypeTest(CosmosIntTypeTest.IntTypeFixture fixture) : TypeTestBase(fixture) { // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] - public override Task Primitive_collection_in_query() - => base.Primitive_collection_in_query(); + public override async Task Primitive_collection_in_query() + { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + + await base.Primitive_collection_in_query(); + } public class IntTypeFixture : CosmosTypeFixtureBase { @@ -56,9 +62,12 @@ public class CosmosLongTypeTest(CosmosLongTypeTest.LongTypeFixture fixture) : TypeTestBase(fixture) { // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] - public override Task Primitive_collection_in_query() - => base.Primitive_collection_in_query(); + public override async Task Primitive_collection_in_query() + { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + + await base.Primitive_collection_in_query(); + } public class LongTypeFixture : CosmosTypeFixtureBase { @@ -73,9 +82,12 @@ public class CosmosDecimalTypeTest(CosmosDecimalTypeTest.DecimalTypeFixture fixt : TypeTestBase(fixture) { // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] - public override Task Primitive_collection_in_query() - => base.Primitive_collection_in_query(); + public override async Task Primitive_collection_in_query() + { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + + await base.Primitive_collection_in_query(); + } public class DecimalTypeFixture : CosmosTypeFixtureBase { @@ -90,9 +102,12 @@ public class CosmosDoubleTypeTest(CosmosDoubleTypeTest.DoubleTypeFixture fixture : TypeTestBase(fixture) { // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] - public override Task Primitive_collection_in_query() - => base.Primitive_collection_in_query(); + public override async Task Primitive_collection_in_query() + { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + + await base.Primitive_collection_in_query(); + } public class DoubleTypeFixture : CosmosTypeFixtureBase { @@ -107,9 +122,12 @@ public class CosmosFloatTypeTest(CosmosFloatTypeTest.FloatTypeFixture fixture) : TypeTestBase(fixture) { // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] - public override Task Primitive_collection_in_query() - => base.Primitive_collection_in_query(); + public override async Task Primitive_collection_in_query() + { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + + await base.Primitive_collection_in_query(); + } public class FloatTypeFixture : CosmosTypeFixtureBase { diff --git a/test/EFCore.Cosmos.FunctionalTests/Types/CosmosTemporalTypeTest.cs b/test/EFCore.Cosmos.FunctionalTests/Types/CosmosTemporalTypeTest.cs index 79d74881e2c..a25cd663c12 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Types/CosmosTemporalTypeTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Types/CosmosTemporalTypeTest.cs @@ -7,9 +7,12 @@ public class CosmosDateTimeTypeTest(CosmosDateTimeTypeTest.DateTimeTypeFixture f : TypeTestBase(fixture) { // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] - public override Task Primitive_collection_in_query() - => base.Primitive_collection_in_query(); + public override async Task Primitive_collection_in_query() + { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + + await base.Primitive_collection_in_query(); + } public class DateTimeTypeFixture : CosmosTypeFixtureBase { @@ -24,9 +27,12 @@ public class CosmosDateTimeOffsetTypeTest(CosmosDateTimeOffsetTypeTest.DateTimeO : TypeTestBase(fixture) { // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] - public override Task Primitive_collection_in_query() - => base.Primitive_collection_in_query(); + public override async Task Primitive_collection_in_query() + { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + + await base.Primitive_collection_in_query(); + } public class DateTimeOffsetTypeFixture : CosmosTypeFixtureBase { @@ -40,9 +46,12 @@ public class DateTimeOffsetTypeFixture : CosmosTypeFixtureBase public class CosmosDateOnlyTypeTest(CosmosDateOnlyTypeTest.DateOnlyTypeFixture fixture) : TypeTestBase(fixture) { // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] - public override Task Primitive_collection_in_query() - => base.Primitive_collection_in_query(); + public override async Task Primitive_collection_in_query() + { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + + await base.Primitive_collection_in_query(); + } public class DateOnlyTypeFixture : CosmosTypeFixtureBase { @@ -57,9 +66,12 @@ public class CosmosTimeOnlyTypeTest(CosmosTimeOnlyTypeTest.TimeOnlyTypeFixture f : TypeTestBase(fixture) { // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] - public override Task Primitive_collection_in_query() - => base.Primitive_collection_in_query(); + public override async Task Primitive_collection_in_query() + { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + + await base.Primitive_collection_in_query(); + } public class TimeOnlyTypeFixture : CosmosTypeFixtureBase { @@ -73,9 +85,12 @@ public class TimeOnlyTypeFixture : CosmosTypeFixtureBase public class CosmosTimeSpanTypeTest(CosmosTimeSpanTypeTest.TimeSpanTypeFixture fixture) : TypeTestBase(fixture) { // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/287 (Aggregates over subqueries return null result set) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] - public override Task Primitive_collection_in_query() - => base.Primitive_collection_in_query(); + public override async Task Primitive_collection_in_query() + { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + + await base.Primitive_collection_in_query(); + } public class TimeSpanTypeFixture : CosmosTypeFixtureBase { diff --git a/test/EFCore.Cosmos.FunctionalTests/Update/CosmosBulkConcurrencyTest.cs b/test/EFCore.Cosmos.FunctionalTests/Update/CosmosBulkConcurrencyTest.cs index c9a03fd6f43..ab0a99b952e 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Update/CosmosBulkConcurrencyTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Update/CosmosBulkConcurrencyTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Update; @@ -6,17 +6,24 @@ namespace Microsoft.EntityFrameworkCore.Update; public class CosmosBulkConcurrencyTest(CosmosBulkConcurrencyTest.ConcurrencyFixture fixture) : CosmosConcurrencyTest(fixture), IClassFixture { // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/292 (Transactional batch limits not enforced) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] - public override Task Updating_then_deleting_the_same_entity_results_in_DbUpdateConcurrencyException() - => base.Updating_then_deleting_the_same_entity_results_in_DbUpdateConcurrencyException(); + public override async Task Updating_then_deleting_the_same_entity_results_in_DbUpdateConcurrencyException() + { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + + await base.Updating_then_deleting_the_same_entity_results_in_DbUpdateConcurrencyException(); + } // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/292 (Transactional batch limits not enforced) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] - public override Task Updating_then_updating_the_same_entity_results_in_DbUpdateConcurrencyException() - => base.Updating_then_updating_the_same_entity_results_in_DbUpdateConcurrencyException(); + public override async Task Updating_then_updating_the_same_entity_results_in_DbUpdateConcurrencyException() + { + CosmosTestEnvironment.SkipOnLinuxEmulator(); + + await base.Updating_then_updating_the_same_entity_results_in_DbUpdateConcurrencyException(); + } public class ConcurrencyFixture : CosmosConcurrencyTest.CosmosFixture { + protected override string StoreName => nameof(CosmosBulkConcurrencyTest); diff --git a/test/EFCore.Cosmos.FunctionalTests/Update/CosmosBulkExecutionTest.cs b/test/EFCore.Cosmos.FunctionalTests/Update/CosmosBulkExecutionTest.cs index 94b9b15708d..b6bbfd9f45f 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Update/CosmosBulkExecutionTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Update/CosmosBulkExecutionTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Cosmos.Diagnostics.Internal; @@ -13,9 +13,9 @@ public class CosmosBulkExecutionTest(NonSharedFixture nonSharedFixture, CosmosBu protected override ITestStoreFactory NonSharedTestStoreFactory => CosmosTestStoreFactory.Instance; - [ConditionalFact] + // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/292 (Transactional batch limits not enforced) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] + [ConditionalFact(typeof(CosmosTestEnvironment), nameof(CosmosTestEnvironment.IsNotLinuxEmulator))] public virtual async Task DoesNotBatchSingleBatchableWrite() { using var context = fixture.CreateContext(); @@ -34,7 +34,7 @@ public virtual async Task DoesNotBatchSingleBatchableWrite() Assert.Equal(CosmosEventId.ExecutedTransactionalBatch, fixture.ListLoggerFactory.Log[3].Id); } - [ConditionalFact] + [Fact] public virtual async Task AutoTransactionBehaviorNever_DoesNotThrow() { var contextFactory = await InitializeNonSharedTest( @@ -46,9 +46,9 @@ public virtual async Task AutoTransactionBehaviorNever_DoesNotThrow() await context.SaveChangesAsync(); } - [ConditionalFact] + // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/292 (Transactional batch limits not enforced) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] + [ConditionalFact(typeof(CosmosTestEnvironment), nameof(CosmosTestEnvironment.IsNotLinuxEmulator))] public virtual async Task AutoTransactionBehaviorWhenNeeded_Throws() { var contextFactory = await InitializeNonSharedTest( @@ -61,9 +61,9 @@ public virtual async Task AutoTransactionBehaviorWhenNeeded_Throws() Assert.Equal(BulkExecutionWithTransactionalBatchMessage, ex.Message); } - [ConditionalFact] + // https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/292 (Transactional batch limits not enforced) - [CosmosCondition(CosmosCondition.IsNotLinuxEmulator)] + [ConditionalFact(typeof(CosmosTestEnvironment), nameof(CosmosTestEnvironment.IsNotLinuxEmulator))] public virtual async Task AutoTransactionBehaviorAlways_Throws() { var contextFactory = await InitializeNonSharedTest( @@ -76,7 +76,7 @@ public virtual async Task AutoTransactionBehaviorAlways_Throws() Assert.Equal(BulkExecutionWithTransactionalBatchMessage, ex.Message); } - [ConditionalFact] + [Fact] public async Task SessionEnabled_Throws() { var contextFactory = await InitializeNonSharedTest( @@ -94,7 +94,7 @@ public async Task SessionEnabled_Throws() inner.Message); } - [ConditionalFact] + [Fact] public async Task Trigger_Throws() { var contextFactory = await InitializeNonSharedTest( diff --git a/test/EFCore.Cosmos.Tests/Diagnostics/CosmosEventIdTest.cs b/test/EFCore.Cosmos.Tests/Diagnostics/CosmosEventIdTest.cs index 78a1ef3db69..de375533987 100644 --- a/test/EFCore.Cosmos.Tests/Diagnostics/CosmosEventIdTest.cs +++ b/test/EFCore.Cosmos.Tests/Diagnostics/CosmosEventIdTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Cosmos.Diagnostics.Internal; @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Diagnostics; public class CosmosEventIdTest : EventIdTestBase { - [ConditionalFact] + [Fact] public void Every_eventId_has_a_logger_method_and_logs_when_level_enabled() { var model = new Model(); diff --git a/test/EFCore.Cosmos.Tests/EFCore.Cosmos.Tests.csproj b/test/EFCore.Cosmos.Tests/EFCore.Cosmos.Tests.csproj index 949d9872ac9..615620cdb47 100644 --- a/test/EFCore.Cosmos.Tests/EFCore.Cosmos.Tests.csproj +++ b/test/EFCore.Cosmos.Tests/EFCore.Cosmos.Tests.csproj @@ -1,4 +1,4 @@ - + $(DefaultNetCoreTargetFramework) @@ -35,7 +35,6 @@ - diff --git a/test/EFCore.Cosmos.Tests/Extensions/CosmosBuilderExtensionsTest.cs b/test/EFCore.Cosmos.Tests/Extensions/CosmosBuilderExtensionsTest.cs index 87864735901..193fe2084af 100644 --- a/test/EFCore.Cosmos.Tests/Extensions/CosmosBuilderExtensionsTest.cs +++ b/test/EFCore.Cosmos.Tests/Extensions/CosmosBuilderExtensionsTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // ReSharper disable once CheckNamespace @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos; public class CosmosBuilderExtensionsTest { - [ConditionalFact] + [Fact] public void Can_get_and_set_collection_name() { var modelBuilder = CreateConventionModelBuilder(); @@ -29,7 +29,7 @@ public void Can_get_and_set_collection_name() Assert.Equal("Unicorn", entityType.Metadata.GetContainer()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_partition_key_name() { var modelBuilder = CreateConventionModelBuilder(); @@ -71,7 +71,7 @@ public void Can_get_and_set_partition_key_name() Assert.Null(((IConventionEntityType)entityType).GetPartitionKeyPropertyNamesConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_hierarchical_partition_key_name() { var modelBuilder = CreateConventionModelBuilder(); @@ -100,7 +100,7 @@ public void Can_get_and_set_hierarchical_partition_key_name() Assert.Null(((IConventionEntityType)entityType).GetPartitionKeyPropertyNamesConfigurationSource()); } - [ConditionalFact] + [Fact] public void Default_container_name_is_used_if_not_set() { var modelBuilder = CreateConventionModelBuilder(); @@ -126,7 +126,7 @@ public void Default_container_name_is_used_if_not_set() Assert.Equal("db1", entityType.GetContainer()); } - [ConditionalFact] + [Fact] public void Default_discriminator_can_be_removed() { var modelBuilder = CreateConventionModelBuilder(); @@ -153,7 +153,7 @@ public void Default_discriminator_can_be_removed() Assert.Null(entityType.FindDiscriminatorProperty()); } - [ConditionalFact] + [Fact] public void Can_set_etag_concurrency_entity() { var modelBuilder = CreateConventionModelBuilder(); @@ -166,7 +166,7 @@ public void Can_set_etag_concurrency_entity() Assert.True(etagProperty.IsConcurrencyToken); } - [ConditionalFact] + [Fact] public void Can_set_etag_concurrency_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -180,7 +180,7 @@ public void Can_set_etag_concurrency_property() Assert.Equal("_etag", etagProperty.GetJsonPropertyName()); } - [ConditionalFact] + [Fact] public void Can_use_convention_trigger_builder() { var modelBuilder = CreateConventionModelBuilder(); @@ -204,7 +204,7 @@ public void Can_use_convention_trigger_builder() Assert.Equal(ConfigurationSource.DataAnnotation, conventionTrigger.GetTriggerTypeConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_create_trigger() { var modelBuilder = CreateConventionModelBuilder(); diff --git a/test/EFCore.Cosmos.Tests/Extensions/CosmosDbContextOptionsExtensionsTests.cs b/test/EFCore.Cosmos.Tests/Extensions/CosmosDbContextOptionsExtensionsTests.cs index d7afe29cee0..7d205552182 100644 --- a/test/EFCore.Cosmos.Tests/Extensions/CosmosDbContextOptionsExtensionsTests.cs +++ b/test/EFCore.Cosmos.Tests/Extensions/CosmosDbContextOptionsExtensionsTests.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Net; @@ -12,7 +12,7 @@ namespace Microsoft.EntityFrameworkCore; public class CosmosDbContextOptionsExtensionsTests { - [ConditionalFact] + [Fact] public void Service_collection_extension_method_can_configure_Cosmos_options() { var serviceCollection = new ServiceCollection(); @@ -50,7 +50,7 @@ public void Service_collection_extension_method_can_configure_Cosmos_options() } } - [ConditionalFact] + [Fact] public void Can_create_options_with_valid_values() { Test(o => o.Region(Regions.EastAsia), o => Assert.Equal(Regions.EastAsia, o.Region)); @@ -89,7 +89,7 @@ public void Can_create_options_with_valid_values() ); } - [ConditionalFact] + [Fact] public void Endpoint_and_key_overrides_connection_string() { var options = new DbContextOptionsBuilder() @@ -109,7 +109,7 @@ public void Endpoint_and_key_overrides_connection_string() Assert.Equal("databaseName", extension.DatabaseName); } - [ConditionalFact] + [Fact] public void Connection_string_overrides_endpoint_and_key() { var options = new DbContextOptionsBuilder() @@ -129,7 +129,7 @@ public void Connection_string_overrides_endpoint_and_key() Assert.Equal("databaseName", extension.DatabaseName); } - [ConditionalFact] + [Fact] public async Task Endpoint_and_token_overrides_connection_string() { await using var testDatabase = CosmosTestStore.Create("NonExisting"); @@ -152,7 +152,7 @@ public async Task Endpoint_and_token_overrides_connection_string() Assert.Equal("databaseName", extension.DatabaseName); } - [ConditionalFact] + [Fact] public async Task Connection_string_overrides_endpoint_and_token() { await using var testDatabase = CosmosTestStore.Create("NonExisting"); @@ -175,7 +175,7 @@ public async Task Connection_string_overrides_endpoint_and_token() Assert.Equal("databaseName", extension.DatabaseName); } - [ConditionalFact] + [Fact] public void Throws_for_invalid_values() => Throws(o => o.ConnectionMode((ConnectionMode)958410610)); diff --git a/test/EFCore.Cosmos.Tests/Extensions/CosmosMetadataExtensionsTest.cs b/test/EFCore.Cosmos.Tests/Extensions/CosmosMetadataExtensionsTest.cs index 229df3b4a06..3b1d1102267 100644 --- a/test/EFCore.Cosmos.Tests/Extensions/CosmosMetadataExtensionsTest.cs +++ b/test/EFCore.Cosmos.Tests/Extensions/CosmosMetadataExtensionsTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // ReSharper disable once CheckNamespace @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos; public class CosmosMetadataExtensionsTest { - [ConditionalFact] + [Fact] public void Can_get_and_set_collection_name() { var modelBuilder = CreateModelBuilder(); @@ -33,7 +33,7 @@ public void Can_get_and_set_collection_name() Assert.Equal("Unicorn", entityType.GetContainer()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_partition_key_name() { var modelBuilder = CreateModelBuilder(); @@ -58,7 +58,7 @@ public void Can_get_and_set_partition_key_name() Assert.Null(((IConventionEntityType)entityType).GetPartitionKeyPropertyNamesConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_partition_key_name_obsolete() { var modelBuilder = CreateModelBuilder(); @@ -83,7 +83,7 @@ public void Can_get_and_set_partition_key_name_obsolete() Assert.Null(((IConventionEntityType)entityType).GetPartitionKeyPropertyNamesConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_hierarchical_partition_key_name() { var modelBuilder = CreateModelBuilder(); @@ -108,7 +108,7 @@ public void Can_get_and_set_hierarchical_partition_key_name() Assert.Null(((IConventionEntityType)entityType).GetPartitionKeyPropertyNamesConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_etag_name() { var modelBuilder = CreateModelBuilder(); diff --git a/test/EFCore.Cosmos.Tests/Extensions/PartitionKeyBuilderExtensionsTest.cs b/test/EFCore.Cosmos.Tests/Extensions/PartitionKeyBuilderExtensionsTest.cs index 112c76f5393..c52455c779f 100644 --- a/test/EFCore.Cosmos.Tests/Extensions/PartitionKeyBuilderExtensionsTest.cs +++ b/test/EFCore.Cosmos.Tests/Extensions/PartitionKeyBuilderExtensionsTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. #nullable enable @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos; public class PartitionKeyBuilderExtensionsTest { - [ConditionalFact] + [Fact] public void Add_expected_value_types() { using var context = new PartitionKeyContext(); @@ -44,7 +44,7 @@ public void Add_expected_value_types() builder.Add(null, FindProperty(context, typeof(Customer4), nameof(Customer4.NullableLong))); } - [ConditionalFact] + [Fact] public void Throw_for_unexpected_types() { using var context = new PartitionKeyContext(); diff --git a/test/EFCore.Cosmos.Tests/Infrastructure/CosmosModelValidatorTest.cs b/test/EFCore.Cosmos.Tests/Infrastructure/CosmosModelValidatorTest.cs index 4bf4a2ae0f5..f343fb355b6 100644 --- a/test/EFCore.Cosmos.Tests/Infrastructure/CosmosModelValidatorTest.cs +++ b/test/EFCore.Cosmos.Tests/Infrastructure/CosmosModelValidatorTest.cs @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure; public class CosmosModelValidatorTest : ModelValidatorTestBase { - [ConditionalFact] + [Fact] public virtual void Passes_on_valid_model() { var modelBuilder = CreateConventionModelBuilder(); @@ -19,7 +19,7 @@ public virtual void Passes_on_valid_model() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_on_valid_keyless_entity_type() { var modelBuilder = CreateConventionModelBuilder(); @@ -30,7 +30,7 @@ public virtual void Passes_on_valid_keyless_entity_type() Assert.Empty(model.FindEntityType(typeof(Customer)).GetKeys()); } - [ConditionalFact] + [Fact] public virtual void Detects_missing_id_property() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -47,7 +47,7 @@ public virtual void Detects_missing_id_property() VerifyError(CosmosStrings.NoIdProperty(nameof(Order)), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_non_string_id_property() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -66,7 +66,7 @@ public virtual void Detects_non_string_id_property() VerifyError(CosmosStrings.IdNonStringStoreType("id", nameof(Order), "int"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_on_valid_partition_keys() { var modelBuilder = CreateConventionModelBuilder(); @@ -80,7 +80,7 @@ public virtual void Passes_on_valid_partition_keys() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_PK_partition_key() { var modelBuilder = CreateConventionModelBuilder(); @@ -95,7 +95,7 @@ public virtual void Passes_PK_partition_key() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_missing_partition_key_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -105,7 +105,7 @@ public virtual void Detects_missing_partition_key_property() VerifyError(CosmosStrings.PartitionKeyMissingProperty(nameof(Order), "PartitionKey"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_missing_partition_key_on_first_type() { var modelBuilder = CreateConventionModelBuilder(); @@ -115,7 +115,7 @@ public virtual void Detects_missing_partition_key_on_first_type() VerifyError(CosmosStrings.NoPartitionKey(nameof(Customer), "", nameof(Order), "PartitionId", "Orders"), modelBuilder); } - [ConditionalFact] // Issue #34176 + [Fact] // Issue #34176 public virtual void Partition_keys_do_not_need_to_be_explicitly_configured_on_non_root_types() { var modelBuilder = CreateConventionModelBuilder(); @@ -129,7 +129,7 @@ public virtual void Partition_keys_do_not_need_to_be_explicitly_configured_on_no Validate(modelBuilder); } - [ConditionalFact] // Issue #34176 + [Fact] // Issue #34176 public virtual void Partition_keys_can_only_be_defined_on_the_root_of_a_hierarchy() { var modelBuilder = CreateConventionModelBuilder(); @@ -149,7 +149,7 @@ public virtual void Partition_keys_can_only_be_defined_on_the_root_of_a_hierarch VerifyError(CosmosStrings.PartitionKeyNotOnRoot(nameof(D), nameof(A)), modelBuilder); } - [ConditionalFact] // Issue #34176 + [Fact] // Issue #34176 public virtual void Container_does_not_need_to_be_explicitly_configured_on_non_root_types() { var modelBuilder = CreateConventionModelBuilder(); @@ -163,7 +163,7 @@ public virtual void Container_does_not_need_to_be_explicitly_configured_on_non_r Validate(modelBuilder); } - [ConditionalFact] // Issue #34176 + [Fact] // Issue #34176 public virtual void Container_can_only_be_defined_on_the_root_of_a_hierarchy() { var modelBuilder = CreateConventionModelBuilder(); @@ -177,7 +177,7 @@ public virtual void Container_can_only_be_defined_on_the_root_of_a_hierarchy() VerifyError(CosmosStrings.ContainerNotOnRoot(nameof(D), nameof(A)), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_missing_partition_keys_one_last_type() { var modelBuilder = CreateConventionModelBuilder(); @@ -187,7 +187,7 @@ public virtual void Detects_missing_partition_keys_one_last_type() VerifyError(CosmosStrings.NoPartitionKey(nameof(Customer), "PartitionId", nameof(Order), "", "Orders"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_missing_partition_key_properties_composite_less_first() { var modelBuilder = CreateConventionModelBuilder(); @@ -203,7 +203,7 @@ public virtual void Detects_missing_partition_key_properties_composite_less_firs CosmosStrings.NoPartitionKey(nameof(Customer), "PartitionId,Id,Name", nameof(Order), "PartitionId,Id", "Orders"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_missing_partition_key_properties_composite_less_last() { var modelBuilder = CreateConventionModelBuilder(); @@ -213,7 +213,7 @@ public virtual void Detects_missing_partition_key_properties_composite_less_last VerifyError(CosmosStrings.NoPartitionKey(nameof(Customer), "PartitionId", nameof(Order), "PartitionId,Id", "Orders"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_missing_partition_key_properties_composite_three() { var modelBuilder = CreateConventionModelBuilder(); @@ -229,7 +229,7 @@ public virtual void Detects_missing_partition_key_properties_composite_three() CosmosStrings.NoPartitionKey(nameof(Customer), "PartitionId,Id", nameof(OrderProduct), "OrderId", "Orders"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_partition_keys_mapped_to_different_properties() { var modelBuilder = CreateConventionModelBuilder(); @@ -243,7 +243,7 @@ public virtual void Detects_partition_keys_mapped_to_different_properties() nameof(Order.PartitionId)), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_partition_key_of_different_type() { var modelBuilder = TestHelpers.CreateConventionBuilder( @@ -266,7 +266,7 @@ public virtual void Detects_partition_key_of_different_type() VerifyError(CosmosStrings.PartitionKeyBadStoreType("foo", nameof(Customer), "JObject"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_conflicting_IsDiscriminatorMappingCompleteMismatch() { var modelBuilder = CreateConventionModelBuilder(); @@ -279,7 +279,7 @@ public virtual void Detects_conflicting_IsDiscriminatorMappingCompleteMismatch() CosmosStrings.IsDiscriminatorMappingCompleteMismatch(true, nameof(Customer), nameof(Order), false, "Orders"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_conflicting_analytical_ttl() { var modelBuilder = CreateConventionModelBuilder(); @@ -291,7 +291,7 @@ public virtual void Detects_conflicting_analytical_ttl() VerifyError(CosmosStrings.AnalyticalTTLMismatch(-1, nameof(Customer), nameof(Order), 60, "Orders"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_conflicting_default_ttl() { var modelBuilder = CreateConventionModelBuilder(); @@ -303,7 +303,7 @@ public virtual void Detects_conflicting_default_ttl() VerifyError(CosmosStrings.DefaultTTLMismatch(100, nameof(Customer), nameof(Order), 60, "Orders"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_conflicting_throughput() { var modelBuilder = CreateConventionModelBuilder(); @@ -315,7 +315,7 @@ public virtual void Detects_conflicting_throughput() VerifyError(CosmosStrings.ThroughputMismatch(200, nameof(Customer), nameof(Order), 60, "Orders"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_conflicting_throughput_type() { var modelBuilder = CreateConventionModelBuilder(); @@ -327,7 +327,7 @@ public virtual void Detects_conflicting_throughput_type() VerifyError(CosmosStrings.ThroughputTypeMismatch(nameof(Customer), nameof(Order), "Orders"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_properties_mapped_to_same_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -343,7 +343,7 @@ public virtual void Detects_properties_mapped_to_same_property() nameof(Order.PartitionId), nameof(Order.Id), nameof(Order), "Details"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_property_and_embedded_type_mapped_to_same_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -359,7 +359,7 @@ public virtual void Detects_property_and_embedded_type_mapped_to_same_property() nameof(Order.OrderDetails), nameof(Order.PartitionId), nameof(Order), "Details"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_owned_type_mapped_to_a_container() { var modelBuilder = CreateConventionModelBuilder(); @@ -381,7 +381,7 @@ public virtual void Detects_owned_type_mapped_to_a_container() nameof(OrderDetails), nameof(Order), "Details"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_conflicting_containing_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -391,7 +391,7 @@ public virtual void Detects_conflicting_containing_property() VerifyError(CosmosStrings.ContainerContainingPropertyConflict(nameof(Order), "Orders", "Prop"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_index() { var modelBuilder = CreateConventionModelBuilder(); @@ -403,7 +403,7 @@ public virtual void Detects_index() VerifyError(CosmosStrings.IndexesExist(nameof(Customer), "Name,OtherName"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_missing_discriminator() { var modelBuilder = CreateConventionModelBuilder(); @@ -413,7 +413,7 @@ public virtual void Detects_missing_discriminator() VerifyError(CosmosStrings.NoDiscriminatorProperty(nameof(Customer), "Orders"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_missing_discriminator_value() { var modelBuilder = CreateConventionModelBuilder(); @@ -423,7 +423,7 @@ public virtual void Detects_missing_discriminator_value() VerifyError(CoreStrings.NoDiscriminatorValue(nameof(Customer)), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_discriminator_values() { var modelBuilder = CreateConventionModelBuilder(); @@ -434,7 +434,7 @@ public virtual void Detects_duplicate_discriminator_values() CosmosStrings.DuplicateDiscriminatorValue(nameof(Order), "type", nameof(Customer), "Orders"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_on_valid_concurrency_token() { var modelBuilder = CreateConventionModelBuilder(); @@ -444,7 +444,7 @@ public virtual void Passes_on_valid_concurrency_token() .IsConcurrencyToken(); } - [ConditionalFact] + [Fact] public virtual void Detects_invalid_concurrency_token() { var modelBuilder = CreateConventionModelBuilder(); @@ -456,7 +456,7 @@ public virtual void Detects_invalid_concurrency_token() VerifyError(CosmosStrings.NonETagConcurrencyToken(nameof(Customer), "_not_etag"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_nonString_concurrency_token() { var modelBuilder = CreateConventionModelBuilder(); @@ -468,7 +468,7 @@ public virtual void Detects_nonString_concurrency_token() VerifyError(CosmosStrings.ETagNonStringStoreType("_etag", nameof(Customer), "int"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_full_text_index_without_full_text_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -485,7 +485,7 @@ public virtual void Detects_full_text_index_without_full_text_property() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_vector_index_on_non_vector_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -497,7 +497,7 @@ public virtual void Detects_vector_index_on_non_vector_property() VerifyError(CosmosStrings.VectorIndexOnNonVector(nameof(Customer), "Name"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_vector_property_with_unknown_data_type() { var modelBuilder = CreateConventionModelBuilder(); @@ -515,7 +515,7 @@ private class NonVector public double[] Vector { get; set; } } - [ConditionalFact] + [Fact] public virtual void Detects_unmappable_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -528,7 +528,7 @@ public virtual void Detects_unmappable_property() typeof(Memory).ShortDisplayName()), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_unmappable_list_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -541,7 +541,7 @@ public virtual void Detects_unmappable_list_property() typeof(Memory[]).ShortDisplayName()), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_complex_type_collection() { var modelBuilder = CreateConventionModelBuilder(); @@ -564,7 +564,7 @@ private class ComplexTypeInCollection public string Value { get; set; } } - [ConditionalFact] + [Fact] public virtual void Detects_trigger_on_derived_type() { var modelBuilder = CreateConventionModelBuilder(); @@ -576,7 +576,7 @@ public virtual void Detects_trigger_on_derived_type() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_trigger_without_type() { var modelBuilder = CreateConventionModelBuilder(); @@ -589,7 +589,7 @@ public virtual void Detects_trigger_without_type() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_trigger_missing_operation() { var modelBuilder = CreateConventionModelBuilder(); @@ -603,7 +603,7 @@ public virtual void Detects_trigger_missing_operation() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_with_valid_triggers() { var modelBuilder = CreateConventionModelBuilder(); @@ -615,7 +615,7 @@ public virtual void Passes_with_valid_triggers() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_cosmos_property_not_auto_loaded() { var modelBuilder = CreateConventionModelBuilder(); diff --git a/test/EFCore.Cosmos.Tests/Metadata/Conventions/CosmosConventionSetBuilderTests.cs b/test/EFCore.Cosmos.Tests/Metadata/Conventions/CosmosConventionSetBuilderTests.cs index eca94adb374..4141109b943 100644 --- a/test/EFCore.Cosmos.Tests/Metadata/Conventions/CosmosConventionSetBuilderTests.cs +++ b/test/EFCore.Cosmos.Tests/Metadata/Conventions/CosmosConventionSetBuilderTests.cs @@ -7,7 +7,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class CosmosConventionSetBuilderTests : ConventionSetBuilderTests { - public override IReadOnlyModel Can_build_a_model_with_default_conventions_without_DI_new() +#pragma warning disable xUnit1028 + public override IMutableModel Can_build_a_model_with_default_conventions_without_DI_new() +#pragma warning restore xUnit1028 { var model = base.Can_build_a_model_with_default_conventions_without_DI_new(); diff --git a/test/EFCore.Cosmos.Tests/Storage/CosmosTransactionManagerTest.cs b/test/EFCore.Cosmos.Tests/Storage/CosmosTransactionManagerTest.cs index 9bf0f27e562..d2fb5e90040 100644 --- a/test/EFCore.Cosmos.Tests/Storage/CosmosTransactionManagerTest.cs +++ b/test/EFCore.Cosmos.Tests/Storage/CosmosTransactionManagerTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Storage; public class CosmosTransactionManagerTest { - [ConditionalFact] + [Fact] public virtual async Task CosmosTransactionManager_does_not_support_transactions() { var transactionManager = new CosmosTransactionManager(); diff --git a/test/EFCore.Cosmos.Tests/Storage/Internal/CosmosTypeMappingSourceTest.cs b/test/EFCore.Cosmos.Tests/Storage/Internal/CosmosTypeMappingSourceTest.cs index f695c6c3339..b7acba65b6c 100644 --- a/test/EFCore.Cosmos.Tests/Storage/Internal/CosmosTypeMappingSourceTest.cs +++ b/test/EFCore.Cosmos.Tests/Storage/Internal/CosmosTypeMappingSourceTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. #nullable enable @@ -10,163 +10,163 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Storage.Internal; public class CosmosTypeMappingSourceTest { - [ConditionalFact] + [Fact] public void Can_map_sbyte() => Can_map_scalar_by_clr_type(1, JTokenType.Integer, "1"); - [ConditionalFact] + [Fact] public void Can_map_short() => Can_map_scalar_by_clr_type(1, JTokenType.Integer, "1"); - [ConditionalFact] + [Fact] public void Can_map_int() => Can_map_scalar_by_clr_type(1, JTokenType.Integer, "1"); - [ConditionalFact] + [Fact] public void Can_map_long() => Can_map_scalar_by_clr_type(1, JTokenType.Integer, "1"); - [ConditionalFact] + [Fact] public void Can_map_byte() => Can_map_scalar_by_clr_type(1, JTokenType.Integer, "1"); - [ConditionalFact] + [Fact] public void Can_map_ushort() => Can_map_scalar_by_clr_type(1, JTokenType.Integer, "1"); - [ConditionalFact] + [Fact] public void Can_map_uint() => Can_map_scalar_by_clr_type(1, JTokenType.Integer, "1"); - [ConditionalFact] + [Fact] public void Can_map_ulong() => Can_map_scalar_by_clr_type(1, JTokenType.Integer, "1"); - [ConditionalFact] + [Fact] public void Can_map_char() => Can_map_scalar_by_clr_type('A', JTokenType.String, "\"A\""); - [ConditionalFact] + [Fact] public void Can_map_decimal() => Can_map_scalar_by_clr_type(1.33m, JTokenType.Float, "1.33"); - [ConditionalFact] + [Fact] public void Can_map_float() => Can_map_scalar_by_clr_type(1.33f, JTokenType.Float, "1.33", "DefaultFloatValueComparer"); - [ConditionalFact] + [Fact] public void Can_map_double() => Can_map_scalar_by_clr_type(1.33, JTokenType.Float, "1.33", "DefaultDoubleValueComparer"); - [ConditionalFact] + [Fact] public void Can_map_bool() => Can_map_scalar_by_clr_type(true, JTokenType.Boolean, "true"); - [ConditionalFact] + [Fact] public void Can_map_DateOnly() => Can_map_scalar_by_clr_type(new DateOnly(2003, 12, 25), JTokenType.String, "\"2003-12-25\""); - [ConditionalFact] + [Fact] public void Can_map_TimeOnly() => Can_map_scalar_by_clr_type( new TimeOnly(20, 19, 12, 254), JTokenType.String, "\"20:19:12.254\""); - [ConditionalFact] + [Fact] public void Can_map_DateTime() => Can_map_scalar_by_clr_type( new DateTime(2003, 12, 25, 20, 19, 12, 254), JTokenType.Date, "\"2003-12-25T20:19:12.254\""); - [ConditionalFact] + [Fact] public void Can_map_DateTimeOffset() => Can_map_scalar_by_clr_type( new DateTimeOffset(2003, 12, 25, 20, 19, 12, 254, new TimeSpan(4, 30, 0)), JTokenType.Date, "\"2003-12-25T20:19:12.254+04:30\"", "DefaultDateTimeOffsetValueComparer"); - [ConditionalFact] + [Fact] public void Can_map_TimeSpan() => Can_map_scalar_by_clr_type(new TimeSpan(2, 3, 4, 5), JTokenType.TimeSpan, "\"2.03:04:05\""); - [ConditionalFact] + [Fact] public void Can_map_string() => Can_map_scalar_by_clr_type("Hello", JTokenType.String, "\"Hello\""); - [ConditionalFact] + [Fact] public void Can_map_nullable_sbyte() => Can_map_scalar_by_clr_type(1, JTokenType.Integer, "1"); - [ConditionalFact] + [Fact] public void Can_map_nullable_short() => Can_map_scalar_by_clr_type(1, JTokenType.Integer, "1"); - [ConditionalFact] + [Fact] public void Can_map_nullable_int() => Can_map_scalar_by_clr_type(1, JTokenType.Integer, "1"); - [ConditionalFact] + [Fact] public void Can_map_nullable_long() => Can_map_scalar_by_clr_type(1, JTokenType.Integer, "1"); - [ConditionalFact] + [Fact] public void Can_map_nullable_byte() => Can_map_scalar_by_clr_type(1, JTokenType.Integer, "1"); - [ConditionalFact] + [Fact] public void Can_map_nullable_ushort() => Can_map_scalar_by_clr_type(1, JTokenType.Integer, "1"); - [ConditionalFact] + [Fact] public void Can_map_nullable_uint() => Can_map_scalar_by_clr_type(1, JTokenType.Integer, "1"); - [ConditionalFact] + [Fact] public void Can_map_nullable_ulong() => Can_map_scalar_by_clr_type(1, JTokenType.Integer, "1"); - [ConditionalFact] + [Fact] public void Can_map_nullable_char() => Can_map_scalar_by_clr_type('A', JTokenType.String, "\"A\""); - [ConditionalFact] + [Fact] public void Can_map_nullable_decimal() => Can_map_scalar_by_clr_type(1.33m, JTokenType.Float, "1.33"); - [ConditionalFact] + [Fact] public void Can_map_nullable_float() => Can_map_scalar_by_clr_type(1.33f, JTokenType.Float, "1.33", "DefaultFloatValueComparer"); - [ConditionalFact] + [Fact] public void Can_map_nullable_double() => Can_map_scalar_by_clr_type(1.33, JTokenType.Float, "1.33", "DefaultDoubleValueComparer"); - [ConditionalFact] + [Fact] public void Can_map_nullable_bool() => Can_map_scalar_by_clr_type(true, JTokenType.Boolean, "true"); - [ConditionalFact] + [Fact] public void Can_map_nullable_DateOnly() => Can_map_scalar_by_clr_type(new DateOnly(2003, 12, 25), JTokenType.String, "\"2003-12-25\""); - [ConditionalFact] + [Fact] public void Can_map_nullable_TimeOnly() => Can_map_scalar_by_clr_type( new TimeOnly(20, 19, 12, 254), JTokenType.String, "\"20:19:12.254\""); - [ConditionalFact] + [Fact] public void Can_map_nullable_DateTime() => Can_map_scalar_by_clr_type( new DateTime(2003, 12, 25, 20, 19, 12, 254), JTokenType.Date, "\"2003-12-25T20:19:12.254\""); - [ConditionalFact] + [Fact] public void Can_map_nullable_DateTimeOffset() => Can_map_scalar_by_clr_type( new DateTimeOffset(2003, 12, 25, 20, 19, 12, 254, new TimeSpan(4, 30, 0)), JTokenType.Date, "\"2003-12-25T20:19:12.254+04:30\"", "DefaultDateTimeOffsetValueComparer"); - [ConditionalFact] + [Fact] public void Can_map_nullable_TimeSpan() => Can_map_scalar_by_clr_type(new TimeSpan(2, 3, 4, 5), JTokenType.TimeSpan, "\"2.03:04:05\""); - [ConditionalFact] + [Fact] public void Can_map_nullable_string() => Can_map_scalar_by_clr_type("Hello", JTokenType.String, "\"Hello\""); @@ -194,7 +194,7 @@ private void Can_map_scalar_by_clr_type(T value, JTokenType tokenTyp } } - [ConditionalFact] + [Fact] public void Can_map_byte_array() { var value = new byte[] { 1, 2, 3, 4, 5 }; @@ -214,87 +214,87 @@ public void Can_map_byte_array() Assert.Equal("AQIDBAU=", token.Value()); } - [ConditionalFact] + [Fact] public void Can_map_sbyte_array() => Can_map_collection_by_clr_type>( [1, -2, 3, -4, 5], "[1,-2,3,-4,5]", "ListOfValueTypesComparer", "ValueComparer", "ValueComparer"); - [ConditionalFact] + [Fact] public void Can_map_short_array() => Can_map_collection_by_clr_type>( [1, -2, 3, -4, 5], "[1,-2,3,-4,5]", "ListOfValueTypesComparer", "ValueComparer", "ValueComparer"); - [ConditionalFact] + [Fact] public void Can_map_int_array() => Can_map_collection_by_clr_type>( [1, -2, 3, -4, 5], "[1,-2,3,-4,5]", "ListOfValueTypesComparer", "ValueComparer", "ValueComparer"); - [ConditionalFact] + [Fact] public void Can_map_long_array() => Can_map_collection_by_clr_type>( [1, -2, 3, -4, 5], "[1,-2,3,-4,5]", "ListOfValueTypesComparer", "ValueComparer", "ValueComparer"); - [ConditionalFact] + [Fact] public void Can_map_ushort_array() => Can_map_collection_by_clr_type>( [1, 2, 3, 4, 5], "[1,2,3,4,5]", "ListOfValueTypesComparer", "ValueComparer", "ValueComparer"); - [ConditionalFact] + [Fact] public void Can_map_uint_array() => Can_map_collection_by_clr_type>( [1, 2, 3, 4, 5], "[1,2,3,4,5]", "ListOfValueTypesComparer", "ValueComparer", "ValueComparer"); - [ConditionalFact] + [Fact] public void Can_map_ulong_array() => Can_map_collection_by_clr_type>( [1, 2, 3, 4, 5], "[1,2,3,4,5]", "ListOfValueTypesComparer", "ValueComparer", "ValueComparer"); - [ConditionalFact] + [Fact] public void Can_map_sbyte_list() => Can_map_collection_by_clr_type, sbyte, JsonCollectionOfStructsReaderWriter, sbyte>>( [1, -2, 3, -4, 5], "[1,-2,3,-4,5]", "ListOfValueTypesComparer, sbyte>", "ValueComparer>", "ValueComparer>"); - [ConditionalFact] + [Fact] public void Can_map_short_list() => Can_map_collection_by_clr_type, short, JsonCollectionOfStructsReaderWriter, short>>( [1, -2, 3, -4, 5], "[1,-2,3,-4,5]", "ListOfValueTypesComparer, short>", "ValueComparer>", "ValueComparer>"); - [ConditionalFact] + [Fact] public void Can_map_int_list() => Can_map_collection_by_clr_type, int, JsonCollectionOfStructsReaderWriter, int>>( [1, -2, 3, -4, 5], "[1,-2,3,-4,5]", "ListOfValueTypesComparer, int>", "ValueComparer>", "ValueComparer>"); - [ConditionalFact] + [Fact] public void Can_map_long_list() => Can_map_collection_by_clr_type, long, JsonCollectionOfStructsReaderWriter, long>>( [1, -2, 3, -4, 5], "[1,-2,3,-4,5]", "ListOfValueTypesComparer, long>", "ValueComparer>", "ValueComparer>"); - [ConditionalFact] + [Fact] public void Can_map_byte_list() => Can_map_collection_by_clr_type, byte, JsonCollectionOfStructsReaderWriter, byte>>( [1, 2, 3, 4, 5], "[1,2,3,4,5]", "ListOfValueTypesComparer, byte>", "ValueComparer>", "ValueComparer>"); - [ConditionalFact] + [Fact] public void Can_map_ushort_list() => Can_map_collection_by_clr_type, ushort, JsonCollectionOfStructsReaderWriter, ushort>>( [1, 2, 3, 4, 5], "[1,2,3,4,5]", "ListOfValueTypesComparer, ushort>", "ValueComparer>", "ValueComparer>"); - [ConditionalFact] + [Fact] public void Can_map_uint_list() => Can_map_collection_by_clr_type, uint, JsonCollectionOfStructsReaderWriter, uint>>( [1, 2, 3, 4, 5], "[1,2,3,4,5]", "ListOfValueTypesComparer, uint>", "ValueComparer>", "ValueComparer>"); - [ConditionalFact] + [Fact] public void Can_map_ulong_list() => Can_map_collection_by_clr_type, ulong, JsonCollectionOfStructsReaderWriter, ulong>>( [1, 2, 3, 4, 5], "[1,2,3,4,5]", "ListOfValueTypesComparer, ulong>", "ValueComparer>", @@ -324,7 +324,7 @@ private void Can_map_collection_by_clr_type( Assert.Equal((IEnumerable)value!, ((JArray)token).Values().ToList()); } - [ConditionalFact] + [Fact] public void Can_map_GUIDs() { var value = new Guid("39E5DEBB-8826-4996-B68D-F9C05E687A86"); @@ -345,7 +345,7 @@ public void Can_map_GUIDs() Assert.Equal("39e5debb-8826-4996-b68d-f9c05e687a86", token.Value()); } - [ConditionalFact] + [Fact] public void Does_not_map_Memory_types_without_converter() { Assert.Null(GetTypeMapping(typeof(Memory))); @@ -355,7 +355,7 @@ public void Does_not_map_Memory_types_without_converter() private static Type UnwrapNullableType(Type type) => Nullable.GetUnderlyingType(type) ?? type; - [ConditionalFact] + [Fact] public void Plugins_can_override_builtin_mappings() { var typeMappingSource = new CosmosTypeMappingSource( diff --git a/test/EFCore.Cosmos.Tests/Storage/Internal/SessionTokenStorageTest.cs b/test/EFCore.Cosmos.Tests/Storage/Internal/SessionTokenStorageTest.cs index d32cf11728e..5a2c19bb39f 100644 --- a/test/EFCore.Cosmos.Tests/Storage/Internal/SessionTokenStorageTest.cs +++ b/test/EFCore.Cosmos.Tests/Storage/Internal/SessionTokenStorageTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. #nullable enable @@ -14,7 +14,7 @@ public class SessionTokenStorageTest private readonly string _otherContainerName = "other"; private readonly HashSet _containerNames = new(["default", "other"]); - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -38,7 +38,7 @@ public virtual void SetSessionTokens_SetSingle_Default(SessionTokenManagementMod } } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -62,7 +62,7 @@ public virtual void SetSessionTokens_SetSingle_Other(SessionTokenManagementMode AssertOther(storage, "A"); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -80,7 +80,7 @@ public virtual void SetSessionTokens_Multiple(SessionTokenManagementMode mode) AssertOther(storage, "Token2"); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -103,7 +103,7 @@ public virtual void SetSessionTokens_OverwritesSet(SessionTokenManagementMode mo AssertOther(storage, ""); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -122,7 +122,7 @@ public virtual void SetSessionTokens_OverwritesTracked(SessionTokenManagementMod AssertOther(storage, "B"); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -140,7 +140,7 @@ public virtual void SetSessionTokens_SingleContainer_OverwritesOnlySingleContain AssertOther(storage, "B"); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -154,7 +154,7 @@ public virtual void SetSessionTokens_Null_SetsNull(SessionTokenManagementMode mo AssertOther(storage, "B"); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -178,7 +178,7 @@ public virtual void SetDefaultContainerSessionToken_SetsToken(SessionTokenManage } } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -203,7 +203,7 @@ public virtual void SetDefaultContainerSessionToken_OverwritesSet(SessionTokenMa } } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -227,7 +227,7 @@ public virtual void SetDefaultContainerSessionToken_OverwritesTracked(SessionTok } } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -251,7 +251,7 @@ public virtual void AppendDefaultContainerSessionToken_NoPreviousToken_SetsToken } } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -276,7 +276,7 @@ public virtual void AppendDefaultContainerSessionToken_PreviousSetToken_AppendsT } } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -300,7 +300,7 @@ public virtual void AppendDefaultContainerSessionToken_PreviousSetToken_Duplicat } } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -324,7 +324,7 @@ public virtual void AppendDefaultContainerSessionToken_PreviousTrackedToken_Appe } } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -348,7 +348,7 @@ public virtual void AppendDefaultContainerSessionToken_PreviousTrackedToken_Dupl } } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -366,7 +366,7 @@ public virtual void AppendSessionTokens_MultipleContainers_NoPreviousTokens_Sets AssertOther(storage, "B"); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -393,7 +393,7 @@ public virtual void AppendSessionTokens_SingleContainer_NoPreviousTokens_SetsTok AssertOther(storage, "B"); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -415,7 +415,7 @@ public virtual void AppendSessionTokens_PreviousSetTokens_AppendsTokens(SessionT AssertOther(storage, "B,D"); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -436,7 +436,7 @@ public virtual void AppendSessionTokens_PreviousSetToken_AppendsAndSetsTokens(Se AssertOther(storage, "B,D"); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -454,7 +454,7 @@ public virtual void AppendSessionTokens_PreviousTrackedToken_AppendsAndSetsToken AssertOther(storage, "B,D"); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -465,7 +465,7 @@ public virtual void SetDefaultContainerSessionToken_RemovesDuplicates(SessionTok AssertDefault(storage, "A,B"); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -476,7 +476,7 @@ public virtual void AppendDefaultContainerSessionToken_RemovesDuplicates(Session AssertDefault(storage, "A,B"); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -488,7 +488,7 @@ public virtual void SetSessionTokens_RemovesDuplicates(SessionTokenManagementMod AssertOther(storage, "B,C"); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -500,7 +500,7 @@ public virtual void AppendSessionTokens_RemovesDuplicates(SessionTokenManagement AssertOther(storage, "B,C"); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -513,7 +513,7 @@ public virtual void AppendSessionTokens_PreviouslySetTokens_RemovesDuplicates(Se AssertOther(storage, "J,K,L,A"); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -526,7 +526,7 @@ public virtual void AppendSessionTokens_EmptyStrings_DoesNotAppend(SessionTokenM AssertOther(storage, "J,K"); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -538,7 +538,7 @@ public virtual void AppendSessionTokens_NoPreviousTokens_EmptyStrings_Sets(Sessi AssertOther(storage, ""); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -572,7 +572,7 @@ public virtual void TrackSessionToken_SetsToken(SessionTokenManagementMode mode) } } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -611,7 +611,7 @@ public virtual void TrackSessionToken_Appends(SessionTokenManagementMode mode) } } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -622,7 +622,7 @@ public virtual void TrackSessionToken_WhenTokenIsNull_DoesNotTrackSessionToken(S AssertDefaultTracked(storage, mode == SessionTokenManagementMode.SemiAutomatic ? null : ""); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -634,7 +634,7 @@ public virtual void TrackSessionToken_WhenTokenIsWhitespace_DoesNotTrackSessionT AssertDefaultTracked(storage, mode == SessionTokenManagementMode.SemiAutomatic ? null : ""); } - [ConditionalFact] + [Fact] public virtual void EnforcedManual_WhenGettingTokenBeforeSet_ThrowsInvalidOperationException() { var storage = CreateStorage(SessionTokenManagementMode.EnforcedManual); @@ -643,7 +643,7 @@ public virtual void EnforcedManual_WhenGettingTokenBeforeSet_ThrowsInvalidOperat Assert.Contains(CosmosStrings.MissingSessionTokenEnforceManual(_defaultContainerName), ex.Message); } - [ConditionalFact] + [Fact] public virtual void EnforcedManual_WhenGettingTokenAfterClear_ThrowsInvalidOperationException() { var storage = CreateStorage(SessionTokenManagementMode.EnforcedManual); @@ -654,7 +654,7 @@ public virtual void EnforcedManual_WhenGettingTokenAfterClear_ThrowsInvalidOpera Assert.Contains(CosmosStrings.MissingSessionTokenEnforceManual(_defaultContainerName), ex.Message); } - [ConditionalFact] + [Fact] public virtual void EnforcedManual_SetDefaultContainerSessionToken_SetsAndUses() { var storage = CreateStorage(SessionTokenManagementMode.EnforcedManual); @@ -665,7 +665,7 @@ public virtual void EnforcedManual_SetDefaultContainerSessionToken_SetsAndUses() Assert.Contains(CosmosStrings.MissingSessionTokenEnforceManual(_otherContainerName), ex.Message); } - [ConditionalFact] + [Fact] public virtual void EnforcedManual_SetSessionTokens_SetsAndUses() { var storage = CreateStorage(SessionTokenManagementMode.EnforcedManual); @@ -679,7 +679,7 @@ public virtual void EnforcedManual_SetSessionTokens_SetsAndUses() AssertOther(storage, "B"); } - [ConditionalFact] + [Fact] public virtual void EnforcedManual_WhenOneContainerNotSet_ThrowsForThatContainerOnly() { var storage = CreateStorage(SessionTokenManagementMode.EnforcedManual); @@ -690,7 +690,7 @@ public virtual void EnforcedManual_WhenOneContainerNotSet_ThrowsForThatContainer Assert.Contains(CosmosStrings.MissingSessionTokenEnforceManual(_otherContainerName), ex.Message); } - [ConditionalFact] + [Fact] public virtual void SemiAutomatic_WhenTrackingToken_SetsButDoesnotUseToken() { var storage = CreateStorage(SessionTokenManagementMode.SemiAutomatic); @@ -699,7 +699,7 @@ public virtual void SemiAutomatic_WhenTrackingToken_SetsButDoesnotUseToken() AssertDefaultUsed(storage, null); } - [ConditionalFact] + [Fact] public virtual void SemiAutomatic_WhenSetToken_SetsAndUses() { var storage = CreateStorage(SessionTokenManagementMode.SemiAutomatic); @@ -708,7 +708,7 @@ public virtual void SemiAutomatic_WhenSetToken_SetsAndUses() AssertDefault(storage, "A"); } - [ConditionalFact] + [Fact] public virtual void Manual_TrackedToken_UsesToken() { var storage = CreateStorage(SessionTokenManagementMode.Manual); @@ -720,7 +720,7 @@ public virtual void Manual_TrackedToken_UsesToken() Assert.True(storage.GetSessionToken(_otherContainerName) == "B"); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] public virtual void Manual_Constructor_AllContainersHaveEmptyString(SessionTokenManagementMode mode) @@ -739,7 +739,7 @@ public virtual void Manual_Constructor_AllContainersHaveEmptyString(SessionToken } } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] public virtual void Manual_Clear_ResetsAllContainersToEmptyString(SessionTokenManagementMode mode) @@ -760,7 +760,7 @@ public virtual void Manual_Clear_ResetsAllContainersToEmptyString(SessionTokenMa } } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -774,7 +774,7 @@ public virtual void Clear_WhenClearing_ContainersStillExistInTrackedTokens(Sessi Assert.Contains(_otherContainerName, tokens.Keys); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -810,7 +810,7 @@ public virtual void Clear_WhenClearingSetTokens_ResetsAllContainers(SessionToken } } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -847,7 +847,7 @@ public virtual void Clear_WhenClearingTrackedTokens_ResetsAllContainers(SessionT } } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -876,7 +876,7 @@ public virtual void Clear_WhenClearing_CanSetNewTokensAfterClear(SessionTokenMan } } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -905,7 +905,7 @@ public virtual void Clear_WhenClearing_CanAppendNewTokensAfterClear(SessionToken } } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -923,7 +923,7 @@ public virtual void Clear_WhenClearing_CanTrackNewTokensAfterClear(SessionTokenM AssertOtherTracked(storage, "D"); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -937,7 +937,7 @@ public virtual void Constructor_AllContainersAreInitialized(SessionTokenManageme Assert.True(tokens.ContainsKey(_otherContainerName)); } - [ConditionalFact] + [Fact] public virtual void Constructor_WhenInitializing_AllContainersStartWithNullTokens() { var storage = CreateStorage(SessionTokenManagementMode.SemiAutomatic); @@ -950,7 +950,7 @@ public virtual void Constructor_WhenInitializing_AllContainersStartWithNullToken Assert.Null(storage.GetSessionToken(_otherContainerName)); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -974,7 +974,7 @@ public virtual void GetTrackedTokens_WhenCalled_ReturnsSnapshotNotLiveReference( Assert.Equal("A", snapshot2[_defaultContainerName]); } - [ConditionalFact] + [Fact] public virtual void FullyAutomatic_WhenCallingSetSessionTokens_ThrowsInvalidOperationException() { var storage = CreateStorage(SessionTokenManagementMode.FullyAutomatic); @@ -983,7 +983,7 @@ public virtual void FullyAutomatic_WhenCallingSetSessionTokens_ThrowsInvalidOper Assert.Equal(CosmosStrings.EnableManualSessionTokenManagement, ex.Message); } - [ConditionalFact] + [Fact] public virtual void FullyAutomatic_WhenCallingGetTrackedTokens_ThrowsInvalidOperationException() { var storage = CreateStorage(SessionTokenManagementMode.FullyAutomatic); @@ -991,7 +991,7 @@ public virtual void FullyAutomatic_WhenCallingGetTrackedTokens_ThrowsInvalidOper Assert.Equal(CosmosStrings.EnableManualSessionTokenManagement, ex.Message); } - [ConditionalFact] + [Fact] public virtual void FullyAutomatic_WhenCallingAppendSessionTokens_ThrowsInvalidOperationException() { var storage = CreateStorage(SessionTokenManagementMode.FullyAutomatic); @@ -1000,7 +1000,7 @@ public virtual void FullyAutomatic_WhenCallingAppendSessionTokens_ThrowsInvalidO Assert.Equal(CosmosStrings.EnableManualSessionTokenManagement, ex.Message); } - [ConditionalFact] + [Fact] public virtual void FullyAutomatic_WhenCallingSetDefaultContainerSessionToken_ThrowsInvalidOperationException() { var storage = CreateStorage(SessionTokenManagementMode.FullyAutomatic); @@ -1009,7 +1009,7 @@ public virtual void FullyAutomatic_WhenCallingSetDefaultContainerSessionToken_Th Assert.Equal(CosmosStrings.EnableManualSessionTokenManagement, ex.Message); } - [ConditionalFact] + [Fact] public virtual void FullyAutomatic_WhenCallingAppendDefaultContainerSessionToken_ThrowsInvalidOperationException() { var storage = CreateStorage(SessionTokenManagementMode.FullyAutomatic); @@ -1018,7 +1018,7 @@ public virtual void FullyAutomatic_WhenCallingAppendDefaultContainerSessionToken Assert.Equal(CosmosStrings.EnableManualSessionTokenManagement, ex.Message); } - [ConditionalFact] + [Fact] public virtual void FullyAutomatic_WhenCallingGetDefaultContainerTrackedToken_ThrowsInvalidOperationException() { var storage = CreateStorage(SessionTokenManagementMode.FullyAutomatic); @@ -1027,7 +1027,7 @@ public virtual void FullyAutomatic_WhenCallingGetDefaultContainerTrackedToken_Th Assert.Equal(CosmosStrings.EnableManualSessionTokenManagement, ex.Message); } - [ConditionalFact] + [Fact] public virtual void FullyAutomatic_WhenTrackingToken_AlwaysReturnsNull() { var storage = CreateStorage(SessionTokenManagementMode.FullyAutomatic); @@ -1035,7 +1035,7 @@ public virtual void FullyAutomatic_WhenTrackingToken_AlwaysReturnsNull() Assert.Null(storage.GetSessionToken(_defaultContainerName)); } - [ConditionalFact] + [Fact] public virtual void FullyAutomatic_WhenTrackingMultipleTokens_AlwaysReturnsNull() { var storage = CreateStorage(SessionTokenManagementMode.FullyAutomatic); @@ -1046,7 +1046,7 @@ public virtual void FullyAutomatic_WhenTrackingMultipleTokens_AlwaysReturnsNull( Assert.Null(storage.GetSessionToken(_otherContainerName)); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.FullyAutomatic)] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] @@ -1057,7 +1057,7 @@ public virtual void TrackSessionToken_WhenContainerNameIsNull_ThrowsArgumentNull Assert.Throws(() => storage.TrackSessionToken(null!, "A")); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.FullyAutomatic)] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] @@ -1069,7 +1069,7 @@ public virtual void TrackSessionToken_WhenContainerNameIsWhitespace_ThrowsArgume Assert.Throws(() => storage.TrackSessionToken("", "A")); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.FullyAutomatic)] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] @@ -1080,7 +1080,7 @@ public virtual void AppendDefaultContainerSessionToken_WhenTokenIsNull_ThrowsArg Assert.Throws(() => storage.AppendDefaultContainerSessionToken(null!)); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.FullyAutomatic)] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] @@ -1093,7 +1093,7 @@ public virtual void AppendDefaultContainerSessionToken_WhenTokenIsWhitespace_Thr } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -1105,7 +1105,7 @@ public virtual void SetSessionTokens_WhenContainerNameIsUnknown_ThrowsInvalidOpe Assert.Equal(CosmosStrings.ContainerNameDoesNotExist("bad"), ex.Message); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -1117,7 +1117,7 @@ public virtual void AppendSessionTokens_WhenContainerNameIsUnknown_ThrowsInvalid Assert.Equal(CosmosStrings.ContainerNameDoesNotExist("bad"), ex.Message); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -1127,7 +1127,7 @@ public virtual void GetSessionToken_WhenContainerNameIsNull_ThrowsArgumentNullEx Assert.Throws(() => storage.GetSessionToken(null!)); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -1138,7 +1138,7 @@ public virtual void GetSessionToken_WhenContainerNameIsWhitespace_ThrowsArgument Assert.Throws(() => storage.GetSessionToken("")); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -1150,7 +1150,7 @@ public virtual void SetDefaultContainerSessionToken_NotInUse_ThrowsInvalidOperat Assert.Equal(CosmosStrings.ContainerNameDoesNotExist("bad"), ex.Message); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] @@ -1162,7 +1162,7 @@ public virtual void AppendDefaultContainerSessionToken_NotInUse_ThrowsInvalidOpe Assert.Equal(CosmosStrings.ContainerNameDoesNotExist("bad"), ex.Message); } - [ConditionalTheory] + [Theory] [InlineData(SessionTokenManagementMode.SemiAutomatic)] [InlineData(SessionTokenManagementMode.Manual)] [InlineData(SessionTokenManagementMode.EnforcedManual)] diff --git a/test/EFCore.Cosmos.Tests/ValueGeneration/IdValueGeneratorTest.cs b/test/EFCore.Cosmos.Tests/ValueGeneration/IdValueGeneratorTest.cs index a21cfe046da..596d58b944e 100644 --- a/test/EFCore.Cosmos.Tests/ValueGeneration/IdValueGeneratorTest.cs +++ b/test/EFCore.Cosmos.Tests/ValueGeneration/IdValueGeneratorTest.cs @@ -1,11 +1,11 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Cosmos.ValueGeneration; public class IdValueGeneratorTest { - [ConditionalFact] + [Fact] public void Generated_ids_do_not_clash() { var modelBuilder = CosmosTestHelpers.Instance.CreateConventionBuilder(); @@ -44,7 +44,7 @@ string Create(TEntity entity) [model.FindEntityType(typeof(TEntity)).FindProperty(CosmosJsonIdConvention.DefaultIdPropertyName)]; } - [ConditionalFact] + [Fact] public void Illegal_id_characters_are_not_escaped_by_default() { var modelBuilder = CosmosTestHelpers.Instance.CreateConventionBuilder(); @@ -62,7 +62,7 @@ public void Illegal_id_characters_are_not_escaped_by_default() } } - [ConditionalFact] + [Fact] public void Ids_with_former_escape_sequences_do_not_collide() { var modelBuilder = CosmosTestHelpers.Instance.CreateConventionBuilder(); diff --git a/test/EFCore.CrossStore.FunctionalTests/ConfigurationPatternsTest.cs b/test/EFCore.CrossStore.FunctionalTests/ConfigurationPatternsTest.cs index 4bb95ee5669..d76de28e65d 100644 --- a/test/EFCore.CrossStore.FunctionalTests/ConfigurationPatternsTest.cs +++ b/test/EFCore.CrossStore.FunctionalTests/ConfigurationPatternsTest.cs @@ -2,15 +2,16 @@ // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels; +using Microsoft.EntityFrameworkCore.TestUtilities; // ReSharper disable UnusedMember.Local // ReSharper disable InconsistentNaming namespace Microsoft.EntityFrameworkCore; -[SqlServerConfiguredCondition] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SqlServerAvailable))] public class ConfigurationPatternsTest(CrossStoreFixture fixture) : IClassFixture, IAsyncLifetime { - [ConditionalFact] + [Fact] public void Can_register_multiple_context_types() { using var scope = new ServiceCollection() @@ -32,7 +33,7 @@ public void Can_register_multiple_context_types() } } - [ConditionalFact] + [Fact] public void Can_register_multiple_context_types_with_default_service_provider() { using (var context = new MultipleContext1(new DbContextOptions())) @@ -74,7 +75,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) } } - [ConditionalFact] + [Fact] public void Can_select_appropriate_provider_when_multiple_registered() { var serviceProvider @@ -125,7 +126,7 @@ var serviceProvider Assert.NotSame(context1, context2); } - [ConditionalFact] + [Fact] public void Can_select_appropriate_provider_when_multiple_registered_with_default_service_provider() { using (var context = new MultipleProvidersContext()) @@ -188,10 +189,10 @@ private Task SeedAsync(CrossStoreContext context) return context.SaveChangesAsync(); } - [SqlServerConfiguredCondition] + [ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SqlServerAvailable))] public class NestedContextDifferentStores(CrossStoreFixture fixture) : IClassFixture, IAsyncLifetime { - [ConditionalFact] + [Fact] public async Task Can_use_one_context_nested_inside_another_of_a_different_type() { var inMemoryServiceProvider = InMemoryFixture.DefaultServiceProvider; @@ -202,7 +203,7 @@ await NestedContextTest( () => new ExternalProviderContext(sqlServerServiceProvider)); } - [ConditionalFact] + [Fact] public Task Can_use_one_context_nested_inside_another_of_a_different_type_with_implicit_services() => NestedContextTest(() => new BlogContext(), () => new ExternalProviderContext()); @@ -285,16 +286,16 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) .UseInternalServiceProvider(_serviceProvider); } - public async Task InitializeAsync() + public async ValueTask InitializeAsync() => ExistingTestStore = await Fixture.CreateTestStoreAsync(SqlServerTestStoreFactory.Instance, StoreName, SeedAsync); - public async Task DisposeAsync() + public async ValueTask DisposeAsync() => await ExistingTestStore.DisposeAsync(); } - public async Task InitializeAsync() + public async ValueTask InitializeAsync() => ExistingTestStore = await Fixture.CreateTestStoreAsync(SqlServerTestStoreFactory.Instance, StoreName, SeedAsync); - public async Task DisposeAsync() + public async ValueTask DisposeAsync() => await ExistingTestStore.DisposeAsync(); } diff --git a/test/EFCore.CrossStore.FunctionalTests/DiscriminatorTest.cs b/test/EFCore.CrossStore.FunctionalTests/DiscriminatorTest.cs index db106273704..bb4c7a6c3ec 100644 --- a/test/EFCore.CrossStore.FunctionalTests/DiscriminatorTest.cs +++ b/test/EFCore.CrossStore.FunctionalTests/DiscriminatorTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore; public class DiscriminatorTest { - [ConditionalFact] + [Fact] public void Can_save_entities_with_discriminators() { using (var context = new Context4285()) @@ -29,7 +29,7 @@ public void Can_save_entities_with_discriminators() } } - [ConditionalFact] + [Fact] public void Can_save_entities_with_int_discriminators() { using (var context = new Context4285()) diff --git a/test/EFCore.CrossStore.FunctionalTests/EFCore.CrossStore.FunctionalTests.csproj b/test/EFCore.CrossStore.FunctionalTests/EFCore.CrossStore.FunctionalTests.csproj index b54afbfe885..660bba7f0a1 100644 --- a/test/EFCore.CrossStore.FunctionalTests/EFCore.CrossStore.FunctionalTests.csproj +++ b/test/EFCore.CrossStore.FunctionalTests/EFCore.CrossStore.FunctionalTests.csproj @@ -1,4 +1,4 @@ - + $(DefaultNetCoreTargetFramework) @@ -37,7 +37,6 @@ - diff --git a/test/EFCore.CrossStore.FunctionalTests/EndToEndTest.cs b/test/EFCore.CrossStore.FunctionalTests/EndToEndTest.cs index 68ac9800ab0..a98ff3a78e2 100644 --- a/test/EFCore.CrossStore.FunctionalTests/EndToEndTest.cs +++ b/test/EFCore.CrossStore.FunctionalTests/EndToEndTest.cs @@ -2,6 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels; +using Microsoft.EntityFrameworkCore.TestUtilities; // ReSharper disable InconsistentNaming namespace Microsoft.EntityFrameworkCore; @@ -12,7 +13,7 @@ public abstract class EndToEndTest(CrossStoreFixture fixture) : IAsyncLifetime protected abstract ITestStoreFactory TestStoreFactory { get; } protected TestStore TestStore { get; private set; } - [ConditionalFact] + [Fact] public virtual void Can_save_changes_and_query() { int secondId; @@ -61,10 +62,10 @@ public virtual void Can_save_changes_and_query() protected CrossStoreContext CreateContext() => Fixture.CreateContext(TestStore); - public async Task InitializeAsync() + public async ValueTask InitializeAsync() => TestStore = await Fixture.CreateTestStoreAsync(TestStoreFactory, "CrossStoreTest"); - public async Task DisposeAsync() + public async ValueTask DisposeAsync() => await TestStore.DisposeAsync(); } @@ -74,7 +75,7 @@ protected override ITestStoreFactory TestStoreFactory => InMemoryTestStoreFactory.Instance; } -[SqlServerConfiguredCondition] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SqlServerAvailable))] public class SqlServerEndToEndTest(CrossStoreFixture fixture) : EndToEndTest(fixture), IClassFixture { protected override ITestStoreFactory TestStoreFactory diff --git a/test/EFCore.CrossStore.FunctionalTests/ProviderSpecificServicesTest.cs b/test/EFCore.CrossStore.FunctionalTests/ProviderSpecificServicesTest.cs index 62aeb36ae63..bbd64114d86 100644 --- a/test/EFCore.CrossStore.FunctionalTests/ProviderSpecificServicesTest.cs +++ b/test/EFCore.CrossStore.FunctionalTests/ProviderSpecificServicesTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore; public class ProviderSpecificServicesTest { - [ConditionalFact] + [Fact] public void Throws_with_new_when_non_relational_provider_in_use() { var options = new DbContextOptionsBuilder() @@ -22,7 +22,7 @@ public void Throws_with_new_when_non_relational_provider_in_use() Assert.Throws(() => context.Database.GetDbConnection()).Message); } - [ConditionalFact] + [Fact] public void Throws_with_add_when_non_relational_provider_in_use() { var appServiceProvider = new ServiceCollection() @@ -41,7 +41,7 @@ public void Throws_with_add_when_non_relational_provider_in_use() Assert.Throws(() => context.Database.GetDbConnection()).Message); } - [ConditionalFact] + [Fact] public void Throws_with_multiple_providers_new_when_no_provider() { var options = new DbContextOptionsBuilder() diff --git a/test/EFCore.CrossStore.FunctionalTests/QueryTest.cs b/test/EFCore.CrossStore.FunctionalTests/QueryTest.cs index f1ccaede71d..89774575b0b 100644 --- a/test/EFCore.CrossStore.FunctionalTests/QueryTest.cs +++ b/test/EFCore.CrossStore.FunctionalTests/QueryTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // ReSharper disable InconsistentNaming @@ -12,7 +12,7 @@ public class QueryTest { public static readonly IEnumerable IsAsyncData = [[false], [true]]; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public async Task AsSplitQuery_does_not_throw_for_InMemory(bool async) { using var context = new InMemoryQueryContext(); @@ -27,7 +27,7 @@ public async Task AsSplitQuery_does_not_throw_for_InMemory(bool async) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public async Task AsSingleQuery_does_not_throw_for_InMemory(bool async) { using var context = new InMemoryQueryContext(); @@ -42,7 +42,7 @@ public async Task AsSingleQuery_does_not_throw_for_InMemory(bool async) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public async Task FromSqlRaw_throws_for_InMemory(bool async) { using var context = new InMemoryQueryContext(); @@ -55,7 +55,7 @@ public async Task FromSqlRaw_throws_for_InMemory(bool async) Assert.Equal(CoreStrings.QueryUnhandledQueryRootExpression(nameof(FromSqlQueryRootExpression)), message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public async Task Cosmos_FromSqlRaw_throws_for_InMemory(bool async) { using var context = new InMemoryQueryContext(); @@ -69,7 +69,7 @@ public async Task Cosmos_FromSqlRaw_throws_for_InMemory(bool async) } #pragma warning disable CS0618 // FromSqlInterpolated is obsolete - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public async Task FromSqlInterpolated_throws_for_InMemory(bool async) { using var context = new InMemoryQueryContext(); @@ -83,7 +83,7 @@ public async Task FromSqlInterpolated_throws_for_InMemory(bool async) } #pragma warning restore CS0618 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public async Task FromSql_throws_for_InMemory(bool async) { using var context = new InMemoryQueryContext(); @@ -96,7 +96,7 @@ public async Task FromSql_throws_for_InMemory(bool async) Assert.Equal(CoreStrings.QueryUnhandledQueryRootExpression(nameof(FromSqlQueryRootExpression)), message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public async Task TemporalAsOf_throws_for_InMemory(bool async) { using var context = new InMemoryQueryContext(); @@ -109,7 +109,7 @@ public async Task TemporalAsOf_throws_for_InMemory(bool async) Assert.Equal(CoreStrings.QueryUnhandledQueryRootExpression(nameof(TemporalAsOfQueryRootExpression)), message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public async Task TemporalAll_throws_for_InMemory(bool async) { using var context = new InMemoryQueryContext(); @@ -122,7 +122,7 @@ public async Task TemporalAll_throws_for_InMemory(bool async) Assert.Equal(CoreStrings.QueryUnhandledQueryRootExpression(nameof(TemporalAllQueryRootExpression)), message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public async Task TemporalBetween_throws_for_InMemory(bool async) { using var context = new InMemoryQueryContext(); @@ -135,7 +135,7 @@ public async Task TemporalBetween_throws_for_InMemory(bool async) Assert.Equal(CoreStrings.QueryUnhandledQueryRootExpression(nameof(TemporalBetweenQueryRootExpression)), message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public async Task TemporalContainedIn_throws_for_InMemory(bool async) { using var context = new InMemoryQueryContext(); @@ -148,7 +148,7 @@ public async Task TemporalContainedIn_throws_for_InMemory(bool async) Assert.Equal(CoreStrings.QueryUnhandledQueryRootExpression(nameof(TemporalContainedInQueryRootExpression)), message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public async Task TemporalFromTo_throws_for_InMemory(bool async) { using var context = new InMemoryQueryContext(); @@ -161,7 +161,7 @@ public async Task TemporalFromTo_throws_for_InMemory(bool async) Assert.Equal(CoreStrings.QueryUnhandledQueryRootExpression(nameof(TemporalFromToQueryRootExpression)), message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public async Task TemporalAsOf_throws_for_Sqlite(bool async) { using var context = new SqliteQueryContext(); @@ -174,7 +174,7 @@ public async Task TemporalAsOf_throws_for_Sqlite(bool async) Assert.Equal(CoreStrings.QueryUnhandledQueryRootExpression(nameof(TemporalAsOfQueryRootExpression)), message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public async Task TemporalAll_throws_for_Sqlite(bool async) { using var context = new SqliteQueryContext(); @@ -187,7 +187,7 @@ public async Task TemporalAll_throws_for_Sqlite(bool async) Assert.Equal(CoreStrings.QueryUnhandledQueryRootExpression(nameof(TemporalAllQueryRootExpression)), message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public async Task TemporalBetween_throws_for_Sqlite(bool async) { using var context = new SqliteQueryContext(); @@ -200,7 +200,7 @@ public async Task TemporalBetween_throws_for_Sqlite(bool async) Assert.Equal(CoreStrings.QueryUnhandledQueryRootExpression(nameof(TemporalBetweenQueryRootExpression)), message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public async Task TemporalContainedIn_throws_for_Sqlite(bool async) { using var context = new SqliteQueryContext(); @@ -213,7 +213,7 @@ public async Task TemporalContainedIn_throws_for_Sqlite(bool async) Assert.Equal(CoreStrings.QueryUnhandledQueryRootExpression(nameof(TemporalContainedInQueryRootExpression)), message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public async Task TemporalFromTo_throws_for_Sqlite(bool async) { using var context = new SqliteQueryContext(); diff --git a/test/EFCore.Design.Tests/Design/DbContextActivatorTest.cs b/test/EFCore.Design.Tests/Design/DbContextActivatorTest.cs index 4fa59f8cd53..b7e2df08d3e 100644 --- a/test/EFCore.Design.Tests/Design/DbContextActivatorTest.cs +++ b/test/EFCore.Design.Tests/Design/DbContextActivatorTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Internal; @@ -7,11 +7,11 @@ namespace Microsoft.EntityFrameworkCore.Design; public class DbContextActivatorTest { - [ConditionalFact] + [Fact] public void CreateInstance_works() => Assert.IsType(DbContextActivator.CreateInstance(typeof(TestContext))); - [ConditionalFact] + [Fact] public void CreateInstance_with_arguments_works() => Assert.IsType( DbContextActivator.CreateInstance( @@ -28,7 +28,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder options) .UseInMemoryDatabase(nameof(DbContextActivatorTest)); } - [ConditionalFact] + [Fact] public void CreateInstance_throws_if_constructor_throws() => Assert.Equal( DesignStrings.CannotCreateContextInstance(typeof(ThrowingTestContext).FullName, "Bang!"), @@ -45,7 +45,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder options) .UseInMemoryDatabase(nameof(DbContextActivatorTest)); } - [ConditionalFact] + [Fact] public void CreateInstance_throws_if_constructor_not_parameterless() { var message = Assert.Throws(() => DbContextActivator.CreateInstance(typeof(ParameterTestContext))).Message; diff --git a/test/EFCore.Design.Tests/Design/DesignTimeServicesTest.cs b/test/EFCore.Design.Tests/Design/DesignTimeServicesTest.cs index e0b99aafbe7..eaa4b8bda3d 100644 --- a/test/EFCore.Design.Tests/Design/DesignTimeServicesTest.cs +++ b/test/EFCore.Design.Tests/Design/DesignTimeServicesTest.cs @@ -14,7 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Design; public class DesignTimeServicesTest { - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void Services_are_registered_using_correct_priority(bool useContext) { using var context = new MyContext( @@ -314,7 +314,7 @@ public string GetInsertScript(HistoryRow row) => throw new NotImplementedException(); } - [ConditionalFact] + [Fact] public void Abstract_design_time_services_are_ignored() { var serviceProvider = CreateDesignServiceProvider( @@ -348,7 +348,7 @@ protected override void DoSomething() Assert.NotNull(serviceProvider); } - [ConditionalFact] + [Fact] public void Interface_design_time_services_are_ignored() { var serviceProvider = CreateDesignServiceProvider( @@ -376,7 +376,7 @@ public void ConfigureDesignTimeServices(IServiceCollection serviceCollection) Assert.NotNull(serviceProvider); } - [ConditionalFact] + [Fact] public void Prefers_concrete_class_over_abstract() { // This test verifies that when both abstract and concrete classes are present, diff --git a/test/EFCore.Design.Tests/Design/Internal/CSharpHelperTest.cs b/test/EFCore.Design.Tests/Design/Internal/CSharpHelperTest.cs index a8ffa397377..d229145c5be 100644 --- a/test/EFCore.Design.Tests/Design/Internal/CSharpHelperTest.cs +++ b/test/EFCore.Design.Tests/Design/Internal/CSharpHelperTest.cs @@ -15,7 +15,7 @@ public class CSharpHelperTest { private static readonly string EOL = Environment.NewLine; - [ConditionalTheory, InlineData( + [Theory, InlineData( "single-line string with \"", "\"single-line string with \\\"\""), InlineData( true, @@ -78,43 +78,43 @@ public void Literal_works(object value, string expected) Assert.Equal(expected, literal); } - [ConditionalFact] + [Fact] public void Literal_works_when_empty_ByteArray() => Literal_works( Array.Empty(), "new byte[0]"); - [ConditionalFact] + [Fact] public void Literal_works_when_single_ByteArray() => Literal_works( new byte[] { 1 }, "new byte[] { 1 }"); - [ConditionalFact] + [Fact] public void Literal_works_when_many_ByteArray() => Literal_works( new byte[] { 1, 2 }, "new byte[] { 1, 2 }"); - [ConditionalFact] + [Fact] public void Literal_works_when_empty_list() => Literal_works( new List(), @"new List()"); - [ConditionalFact] + [Fact] public void Literal_works_when_list_with_single_element() => Literal_works( new List { "one" }, @"new List { ""one"" }"); - [ConditionalFact] + [Fact] public void Literal_works_when_list_of_mixed_objects() => Literal_works( new List { 1, "two" }, @"new List { 1, ""two"" }"); - [ConditionalFact] + [Fact] public void Literal_works_when_list_vertical() => Assert.Equal( @"new List @@ -124,25 +124,25 @@ public void Literal_works_when_list_vertical() }".ReplaceLineEndings(), new CSharpHelper(TypeMappingSource).Literal( new List { 1, "two" }, true)); - [ConditionalFact] + [Fact] public void Literal_works_when_empty_dictionary() => Literal_works( new Dictionary(), @"new Dictionary()"); - [ConditionalFact] + [Fact] public void Literal_works_when_dictionary_with_single_element() => Literal_works( new Dictionary { ["one"] = "value" }, @"new Dictionary { [""one""] = ""value"" }"); - [ConditionalFact] + [Fact] public void Literal_works_when_dictionary_of_mixed_objects() => Literal_works( new Dictionary { ["one"] = 1, ["two"] = "Two" }, @"new Dictionary { [""one""] = 1, [""two""] = ""Two"" }"); - [ConditionalFact] + [Fact] public void Literal_works_when_dictionary_vertical() => Assert.Equal( @"new Dictionary @@ -152,102 +152,102 @@ public void Literal_works_when_dictionary_vertical() }".ReplaceLineEndings(), new CSharpHelper(TypeMappingSource).Literal( new Dictionary { [1] = 1, [2] = "Two" }, true)); - [ConditionalFact] + [Fact] public void Literal_works_when_multiline_string() => Literal_works( "multi-line\r\nstring\nwith\r\"", "\"multi-line\\r\\nstring\\nwith\\r\\\"\""); - [ConditionalFact] + [Fact] public void Literal_works_when_value_tuple() => Literal_works((1, "hello"), "(1, \"hello\")"); - [ConditionalFact] + [Fact] public void Literal_works_when_value_tuple_with_null_value_type() => Literal_works((1, (int?)null, "hello"), "(1, (int?)null, \"hello\")"); - [ConditionalFact] + [Fact] public void Literal_works_when_value_tuple_with_null_reference_type() => Literal_works((1, (string?)null, "hello"), "(1, (string)null, \"hello\")"); - [ConditionalFact] + [Fact] public void Literal_works_when_value_tuple_of_length_1() => Literal_works(ValueTuple.Create(1), "ValueTuple.Create(1)"); - [ConditionalFact] + [Fact] public void Literal_works_when_value_tuple_of_length_9() => Literal_works((1, 2, 3, 4, 5, 6, 7, 8, 9), "(1, 2, 3, 4, 5, 6, 7, 8, 9)"); - [ConditionalFact, UseCulture("de-DE")] + [Fact, UseCulture("de-DE")] public void Literal_works_when_DateTime() => Literal_works( new DateTime(2015, 3, 15, 20, 45, 17, 300, DateTimeKind.Local), "new DateTime(2015, 3, 15, 20, 45, 17, 300, DateTimeKind.Local)"); - [ConditionalFact, UseCulture("de-DE")] + [Fact, UseCulture("de-DE")] public void Literal_works_when_DateTimeOffset() => Literal_works( new DateTimeOffset(new DateTime(2015, 3, 15, 19, 43, 47, 500), new TimeSpan(-7, 0, 0)), "new DateTimeOffset(new DateTime(2015, 3, 15, 19, 43, 47, 500, DateTimeKind.Unspecified), new TimeSpan(0, -7, 0, 0, 0))"); - [ConditionalFact] + [Fact] public void Literal_works_when_decimal() => Literal_works( 4.2m, "4.2m"); - [ConditionalFact] + [Fact] public void Literal_works_when_decimal_max_value() => Literal_works( 79228162514264337593543950335m, // Decimal MaxValue "79228162514264337593543950335m"); - [ConditionalFact] + [Fact] public void Literal_works_when_decimal_min_value() => Literal_works( -79228162514264337593543950335m, // Decimal MinValue "-79228162514264337593543950335m"); - [ConditionalFact] + [Fact] public void Literal_works_when_Guid() => Literal_works( new Guid("fad4f3c3-9501-4b3a-af99-afeb496f7664"), "new Guid(\"fad4f3c3-9501-4b3a-af99-afeb496f7664\")"); - [ConditionalFact] + [Fact] public void Literal_works_when_TimeSpan() => Literal_works( new TimeSpan(17, 21, 42, 37, 250), "new TimeSpan(17, 21, 42, 37, 250)"); - [ConditionalFact] + [Fact] public void Literal_works_when_NullableInt() => Literal_works( (int?)42, "42"); - [ConditionalFact] + [Fact] public void Literal_works_when_StringArray() { var literal = new CSharpHelper(TypeMappingSource).Literal(new[] { "A", "B" }); Assert.Equal("new[] { \"A\", \"B\" }", literal); } - [ConditionalFact] + [Fact] public void Literal_works_when_empty_StringArray() { var literal = new CSharpHelper(TypeMappingSource).Literal(new string[] { }); Assert.Equal("new string[0]", literal); } - [ConditionalFact] + [Fact] public void Literal_works_when_ObjectArray() { var literal = new CSharpHelper(TypeMappingSource).Literal(new object[] { 'A', 1 }); Assert.Equal("new object[] { 'A', 1 }", literal); } - [ConditionalFact] + [Fact] public void Literal_works_when_MultidimensionalArray() { var value = new object[,] { { 'A', 1 }, { 'B', 2 } }; @@ -259,20 +259,20 @@ public void Literal_works_when_MultidimensionalArray() result); } - [ConditionalFact] + [Fact] public void Literal_works_when_BigInteger() => Literal_works( new BigInteger(42), "BigInteger.Parse(\"42\", NumberFormatInfo.InvariantInfo)"); - [ConditionalFact] + [Fact] public void UnknownLiteral_throws_when_unknown() { var ex = Assert.Throws(() => new CSharpHelper(TypeMappingSource).UnknownLiteral(new object())); Assert.Equal(DesignStrings.UnknownLiteral(typeof(object)), ex.Message); } - [ConditionalTheory, InlineData(typeof(int), "int"), InlineData(typeof(int?), "int?"), InlineData(typeof(int[]), "int[]"), + [Theory, InlineData(typeof(int), "int"), InlineData(typeof(int?), "int?"), InlineData(typeof(int[]), "int[]"), InlineData(typeof(int[,]), "int[,]"), InlineData(typeof(int[][]), "int[][]"), InlineData(typeof(Generic), "Generic"), InlineData(typeof(Nested), "CSharpHelperTest.Nested"), InlineData(typeof(Generic>), "Generic>"), InlineData(typeof(MultiGeneric), "MultiGeneric"), @@ -294,20 +294,20 @@ private enum SomeEnum Default } - [ConditionalTheory, InlineData("dash-er", "dasher"), InlineData("params", "@params"), InlineData("true", "@true"), + [Theory, InlineData("dash-er", "dasher"), InlineData("params", "@params"), InlineData("true", "@true"), InlineData("yield", "yield"), InlineData("spac ed", "spaced"), InlineData("1nders", "_1nders"), InlineData("name.space", "@namespace"), InlineData("$", "_")] public void Identifier_works(string input, string expected) => Assert.Equal(expected, new CSharpHelper(TypeMappingSource).Identifier(input)); - [ConditionalTheory, InlineData(new[] { "WebApplication1", "Migration" }, "WebApplication1.Migration"), + [Theory, InlineData(new[] { "WebApplication1", "Migration" }, "WebApplication1.Migration"), InlineData(new[] { "WebApplication1.Migration" }, "WebApplication1.Migration"), InlineData(new[] { "ef-xplat.namespace" }, "efxplat.@namespace"), InlineData(new[] { "#", "$" }, "_._"), InlineData(new[] { "" }, "_"), InlineData(new string[] { }, "_"), InlineData(new string?[] { null }, "_")] public void Namespace_works(string[] input, string excepted) => Assert.Equal(excepted, new CSharpHelper(TypeMappingSource).Namespace(input)); - [ConditionalFact] + [Fact] public void Fragment_MethodCallCodeFragment_works() { var method = new MethodCallCodeFragment(_testFuncMethodInfo, true, 42); @@ -317,7 +317,7 @@ public void Fragment_MethodCallCodeFragment_works() Assert.Equal(".TestFunc(true, 42)", result); } - [ConditionalFact] + [Fact] public void Fragment_MethodCallCodeFragment_works_with_arrays() { var method = new MethodCallCodeFragment(_testFuncMethodInfo, new byte[] { 1, 2 }, new[] { 3, 4 }, new[] { "foo", "bar" }); @@ -327,7 +327,7 @@ public void Fragment_MethodCallCodeFragment_works_with_arrays() Assert.Equal(".TestFunc(new byte[] { 1, 2 }, new[] { 3, 4 }, new[] { \"foo\", \"bar\" })", result); } - [ConditionalFact] + [Fact] public void Fragment_MethodCallCodeFragment_works_when_niladic() { var method = new MethodCallCodeFragment(_testFuncMethodInfo); @@ -337,7 +337,7 @@ public void Fragment_MethodCallCodeFragment_works_when_niladic() Assert.Equal(".TestFunc()", result); } - [ConditionalFact] + [Fact] public void Fragment_MethodCallCodeFragment_works_when_chaining() { var method = new MethodCallCodeFragment(_testFuncMethodInfo) @@ -348,7 +348,7 @@ public void Fragment_MethodCallCodeFragment_works_when_chaining() Assert.Equal($"{EOL}.TestFunc(){EOL}.TestFunc()", result); } - [ConditionalFact] + [Fact] public void Fragment_MethodCallCodeFragment_works_when_chaining_on_chain() { var method = new MethodCallCodeFragment(_testFuncMethodInfo, "One") @@ -360,7 +360,7 @@ public void Fragment_MethodCallCodeFragment_works_when_chaining_on_chain() Assert.Equal(@$"{EOL}.TestFunc(""One""){EOL}.TestFunc(""Two""){EOL}.TestFunc(""Three"")", result); } - [ConditionalFact] + [Fact] public void Fragment_MethodCallCodeFragment_works_when_chaining_on_chain_with_call() { var method = new MethodCallCodeFragment(_testFuncMethodInfo, "One") @@ -374,7 +374,7 @@ public void Fragment_MethodCallCodeFragment_works_when_chaining_on_chain_with_ca Assert.Equal(@$"{EOL}.TestFunc(""One""){EOL}.TestFunc(""Two""){EOL}.TestFunc(""Three""){EOL}.TestFunc(""Four"")", result); } - [ConditionalFact] + [Fact] public void Fragment_MethodCallCodeFragment_works_when_nested_closure() { var method = new MethodCallCodeFragment( @@ -386,7 +386,7 @@ public void Fragment_MethodCallCodeFragment_works_when_nested_closure() Assert.Equal(".TestFunc(x => x.TestFunc())", result); } - [ConditionalFact] + [Fact] public void Fragment_MethodCallCodeFragment_works_when_nested_closure_with_chain() { var method = new MethodCallCodeFragment( @@ -406,7 +406,7 @@ public void Fragment_MethodCallCodeFragment_works_when_nested_closure_with_chain ignoreLineEndingDifferences: true); } - [ConditionalFact] + [Fact] public void Fragment_MethodCallCodeFragment_with_indent_works_when_nested_closure_with_chain() { var method = new MethodCallCodeFragment( @@ -426,7 +426,7 @@ public void Fragment_MethodCallCodeFragment_with_indent_works_when_nested_closur ignoreLineEndingDifferences: true); } - [ConditionalFact] + [Fact] public void Fragment_MethodCallCodeFragment_with_indent_works_when_chain_and_nested_closure_with_chain() { var method = new MethodCallCodeFragment(_testFuncMethodInfo, "One") @@ -450,7 +450,7 @@ public void Fragment_MethodCallCodeFragment_with_indent_works_when_chain_and_nes ignoreLineEndingDifferences: true); } - [ConditionalFact] + [Fact] public void Fragment_MethodCallCodeFragment_works_when_nested_closure_with_two_calls() { var method = new MethodCallCodeFragment( @@ -471,7 +471,7 @@ public void Fragment_MethodCallCodeFragment_works_when_nested_closure_with_two_c ignoreLineEndingDifferences: true); } - [ConditionalFact] + [Fact] public void Fragment_MethodCallCodeFragment_with_indent_works_when_chain_and_nested_closure() { var method = new MethodCallCodeFragment(_testFuncMethodInfo, "One") @@ -500,7 +500,7 @@ public void Fragment_MethodCallCodeFragment_with_indent_works_when_chain_and_nes } #pragma warning disable CS0618 - [ConditionalFact] + [Fact] public void Fragment_MethodCallCodeFragment_works_with_identifier() { var method = new MethodCallCodeFragment(_testFuncMethodInfo, true, 42); @@ -510,7 +510,7 @@ public void Fragment_MethodCallCodeFragment_works_with_identifier() Assert.Equal("builder.TestFunc(true, 42)", result); } - [ConditionalFact] + [Fact] public void Fragment_MethodCallCodeFragment_works_with_identifier_chained() { var method = new MethodCallCodeFragment(_testFuncMethodInfo, "One").Chain(new MethodCallCodeFragment(_testFuncMethodInfo)); @@ -520,7 +520,7 @@ public void Fragment_MethodCallCodeFragment_works_with_identifier_chained() Assert.Equal($@"builder{EOL} .TestFunc(""One""){EOL} .TestFunc()", result); } - [ConditionalFact] + [Fact] public void Fragment_MethodCallCodeFragment_works_with_type_qualified() { var method = new MethodCallCodeFragment(_testFuncMethodInfo, true, 42); @@ -531,7 +531,7 @@ public void Fragment_MethodCallCodeFragment_works_with_type_qualified() } #pragma warning restore CS0618 - [ConditionalFact] + [Fact] public void Really_unknown_literal_with_no_mapping_support() { var typeMapping = CreateTypeMappingSource(null); @@ -541,7 +541,7 @@ public void Really_unknown_literal_with_no_mapping_support() Assert.Throws(() => new CSharpHelper(typeMapping).UnknownLiteral(new SimpleTestType())).Message); } - [ConditionalFact] + [Fact] public void Literal_with_parameterless_constructor() { var typeMapping = CreateTypeMappingSource(v => Expression.New(typeof(SimpleTestType))); @@ -551,7 +551,7 @@ public void Literal_with_parameterless_constructor() new CSharpHelper(typeMapping).UnknownLiteral(new SimpleTestType())); } - [ConditionalFact] + [Fact] public void Literal_with_one_parameter_constructor() { var typeMapping = CreateTypeMappingSource(v => Expression.New( @@ -563,7 +563,7 @@ public void Literal_with_one_parameter_constructor() new CSharpHelper(typeMapping).UnknownLiteral(new SimpleTestType("Jerry"))); } - [ConditionalFact] + [Fact] public void Literal_with_two_parameter_constructor() { var typeMapping = CreateTypeMappingSource(v => Expression.New( @@ -576,7 +576,7 @@ public void Literal_with_two_parameter_constructor() new CSharpHelper(typeMapping).UnknownLiteral(new SimpleTestType("Jerry", 77))); } - [ConditionalFact] + [Fact] public void Literal_with_parameterless_static_factory() { var typeMapping = CreateTypeMappingSource(v => Expression.Call( @@ -589,7 +589,7 @@ public void Literal_with_parameterless_static_factory() new CSharpHelper(typeMapping).UnknownLiteral(new SimpleTestType())); } - [ConditionalFact] + [Fact] public void Literal_with_one_parameter_static_factory() { var typeMapping = CreateTypeMappingSource(v => Expression.Call( @@ -603,7 +603,7 @@ public void Literal_with_one_parameter_static_factory() new CSharpHelper(typeMapping).UnknownLiteral(new SimpleTestType("Jerry"))); } - [ConditionalFact] + [Fact] public void Literal_with_two_parameter_static_factory() { var typeMapping = CreateTypeMappingSource(v => Expression.Call( @@ -618,7 +618,7 @@ public void Literal_with_two_parameter_static_factory() new CSharpHelper(typeMapping).UnknownLiteral(new SimpleTestType("Jerry", 77))); } - [ConditionalFact] + [Fact] public void Literal_with_parameterless_instance_factory() { var typeMapping = CreateTypeMappingSource(v => Expression.Call( @@ -632,7 +632,7 @@ public void Literal_with_parameterless_instance_factory() new CSharpHelper(typeMapping).UnknownLiteral(new SimpleTestType())); } - [ConditionalFact] + [Fact] public void Literal_with_one_parameter_instance_factory() { var typeMapping = CreateTypeMappingSource(v => Expression.Convert( @@ -649,7 +649,7 @@ public void Literal_with_one_parameter_instance_factory() new CSharpHelper(typeMapping).UnknownLiteral(new SimpleTestType("Jerry", 77))); } - [ConditionalFact] + [Fact] public void Literal_with_two_parameter_instance_factory() { var typeMapping = CreateTypeMappingSource(v => Expression.Convert( @@ -669,7 +669,7 @@ public void Literal_with_two_parameter_instance_factory() new CSharpHelper(typeMapping).UnknownLiteral(new SimpleTestType("Jerry", 77))); } - [ConditionalFact] + [Fact] public void Literal_with_two_parameter_instance_factory_and_internal_cast() { var typeMapping = CreateTypeMappingSource(v => Expression.Convert( @@ -691,7 +691,7 @@ public void Literal_with_two_parameter_instance_factory_and_internal_cast() new CSharpHelper(typeMapping).UnknownLiteral(new SimpleTestType("Jerry", 77))); } - [ConditionalFact] + [Fact] public void Literal_with_static_field() { var typeMapping = CreateTypeMappingSource(v => Expression.Field( @@ -702,7 +702,7 @@ public void Literal_with_static_field() new CSharpHelper(typeMapping).UnknownLiteral(new SimpleTestType())); } - [ConditionalFact] + [Fact] public void Literal_with_static_property() { var typeMapping = CreateTypeMappingSource(v => Expression.Property( @@ -713,7 +713,7 @@ public void Literal_with_static_property() new CSharpHelper(typeMapping).UnknownLiteral(new SimpleTestType())); } - [ConditionalFact] + [Fact] public void Literal_with_instance_property() { var typeMapping = CreateTypeMappingSource(v => Expression.Property( @@ -725,7 +725,7 @@ public void Literal_with_instance_property() new CSharpHelper(typeMapping).UnknownLiteral(new SimpleTestType())); } - [ConditionalFact] + [Fact] public void Literal_with_add() { var typeMapping = CreateTypeMappingSource(v => Expression.Add( @@ -737,7 +737,7 @@ public void Literal_with_add() new CSharpHelper(typeMapping).UnknownLiteral(new SimpleTestType())); } - [ConditionalFact] + [Fact] public void Literal_with_unsupported_node_throws() { var typeMapping = CreateTypeMappingSource(v => Expression.Multiply( diff --git a/test/EFCore.Design.Tests/Design/Internal/DatabaseOperationsTest.cs b/test/EFCore.Design.Tests/Design/Internal/DatabaseOperationsTest.cs index 1f46bc60076..5925dedbbd2 100644 --- a/test/EFCore.Design.Tests/Design/Internal/DatabaseOperationsTest.cs +++ b/test/EFCore.Design.Tests/Design/Internal/DatabaseOperationsTest.cs @@ -1,19 +1,20 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Internal; +using Microsoft.EntityFrameworkCore.TestUtilities; namespace Microsoft.EntityFrameworkCore.Design.Internal; public class DatabaseOperationsTest { - [ConditionalFact] + [Fact] public void Can_pass_null_args() // Even though newer versions of the tools will pass an empty array // older versions of the tools can pass null args. => CreateOperations(null); - [ConditionalFact] + [Fact] public void ScaffoldContext_throws_exceptions_for_invalid_context_name() { ValidateContextNameInReverseEngineerGenerator("Invalid!CSharp*Class&Name"); @@ -45,13 +46,13 @@ private void ValidateContextNameInReverseEngineerGenerator(string contextName) .Message); } - [ConditionalFact, SqlServerConfiguredCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SqlServerAvailable))] public void ScaffoldContext_sets_environment() { var operations = CreateOperations([]); operations.ScaffoldContext( "Microsoft.EntityFrameworkCore.SqlServer", - TestEnvironment.DefaultConnection, + SqlServerTestEnvironment.DefaultConnection, "", "", dbContextClassName: nameof(TestContext), diff --git a/test/EFCore.Design.Tests/Design/Internal/DbContextOperationsTest.cs b/test/EFCore.Design.Tests/Design/Internal/DbContextOperationsTest.cs index 2481eaf8367..75990d1d066 100644 --- a/test/EFCore.Design.Tests/Design/Internal/DbContextOperationsTest.cs +++ b/test/EFCore.Design.Tests/Design/Internal/DbContextOperationsTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.Data.SqlClient; @@ -8,35 +8,35 @@ namespace Microsoft.EntityFrameworkCore.Design.Internal; public class DbContextOperationsTest { - [ConditionalFact] + [Fact] public void CreateContext_gets_service() => CreateOperations(typeof(TestProgram), includeContext: false).CreateContext(typeof(TestContext).FullName.ToLower()); - [ConditionalFact] + [Fact] public void CreateContext_gets_service_without_name() => CreateOperations(typeof(TestProgram), includeContext: false).CreateContext(null); - [ConditionalFact] + [Fact] public void CreateContext_gets_service_without_AddDbContext() => CreateOperations(typeof(TestProgramWithoutAddDbContext)).CreateContext(typeof(TestContext).FullName); - [ConditionalFact] + [Fact] public void CreateContext_gets_service_when_context_factory_used() => CreateOperations(typeof(TestProgramWithContextFactory), includeContext: false) .CreateContext(typeof(TestContextFromFactory).FullName); - [ConditionalFact] + [Fact] public void CreateContext_gets_service_when_context_factory_used_without_name() => CreateOperations(typeof(TestProgramWithContextFactory), includeContext: false).CreateContext(null); - [ConditionalFact] + [Fact] public void CreateContext_throws_if_context_type_not_found() => Assert.Equal( DesignStrings.NoContextWithName(typeof(TestContextFromFactory).FullName), Assert.Throws(() => CreateOperations(typeof(TestProgramRelationalBad)).CreateContext(typeof(TestContextFromFactory).FullName)).Message); - [ConditionalFact] + [Fact] public void CreateContext_throws_if_ambiguous_context_type_by_case() { var assembly = MockAssembly.Create(typeof(TestContext), typeof(Testcontext)); @@ -62,7 +62,7 @@ public void CreateContext_throws_if_ambiguous_context_type_by_case() Assert.DoesNotContain(reporter.Messages, m => m.Level == LogLevel.Warning); } - [ConditionalFact] + [Fact] public void CreateContext_throws_if_ambiguous_context_type_by_namespace() { var assembly = MockAssembly.Create(typeof(TestContext), typeof(DatabaseOperationsTest.TestContext)); @@ -88,7 +88,7 @@ public void CreateContext_throws_if_ambiguous_context_type_by_namespace() Assert.DoesNotContain(reporter.Messages, m => m.Level == LogLevel.Warning); } - [ConditionalFact] + [Fact] public void CreateContext_throws_if_ambiguous_context_type() { var assembly = MockAssembly.Create(typeof(TestContext), typeof(Testcontext)); @@ -114,7 +114,7 @@ public void CreateContext_throws_if_ambiguous_context_type() Assert.DoesNotContain(reporter.Messages, m => m.Level == LogLevel.Warning); } - [ConditionalFact] + [Fact] public void CreateContext_throws_if_no_context_type() { var assembly = MockAssembly.Create(); @@ -140,7 +140,7 @@ public void CreateContext_throws_if_no_context_type() Assert.DoesNotContain(reporter.Messages, m => m.Level == LogLevel.Warning); } - [ConditionalFact] + [Fact] public void Can_pass_null_args() { // Even though newer versions of the tools will pass an empty array @@ -164,7 +164,7 @@ public void Can_pass_null_args() Assert.DoesNotContain(reporter.Messages, m => m.Level == LogLevel.Warning); } - [ConditionalFact] + [Fact] public void CreateContext_uses_exact_factory_method() { var assembly = MockAssembly.Create(typeof(BaseContext), typeof(DerivedContext), typeof(HierarchyContextFactory)); @@ -192,7 +192,7 @@ public void CreateContext_uses_exact_factory_method() Assert.DoesNotContain(reporter.Messages, m => m.Level == LogLevel.Warning); } - [ConditionalFact] + [Fact] public void CreateAllContexts_creates_all_contexts() { var assembly = MockAssembly.Create(typeof(BaseContext), typeof(DerivedContext), typeof(HierarchyContextFactory)); @@ -220,7 +220,7 @@ public void CreateAllContexts_creates_all_contexts() Assert.DoesNotContain(reporter.Messages, m => m.Level == LogLevel.Warning); } - [ConditionalFact] + [Fact] public void Optimize_throws_when_no_contexts() { var assembly = MockAssembly.Create(); @@ -248,7 +248,7 @@ public void Optimize_throws_when_no_contexts() Assert.DoesNotContain(reporter.Messages, m => m.Level == LogLevel.Warning); } - [ConditionalFact] + [Fact] public void Optimize_shows_warning_when_nothing_was_generated() { var assembly = MockAssembly.Create(typeof(DerivedContext)); @@ -275,7 +275,7 @@ public void Optimize_shows_warning_when_nothing_was_generated() Assert.Single(reporter.Messages, m => m.Level == LogLevel.Warning).Message); } - [ConditionalFact] + [Fact] public void GetContextInfo_returns_correct_info() { var info = CreateOperations(typeof(TestProgramRelational)).GetContextInfo(nameof(TestContext)); @@ -286,7 +286,7 @@ public void GetContextInfo_returns_correct_info() Assert.Equal("Microsoft.EntityFrameworkCore.SqlServer", info.ProviderName); } - [ConditionalFact] + [Fact] public void GetContextInfo_does_not_throw_if_DbConnection_cannot_be_created() { Exception expected = null; @@ -307,7 +307,7 @@ public void GetContextInfo_does_not_throw_if_DbConnection_cannot_be_created() Assert.Equal("Microsoft.EntityFrameworkCore.SqlServer", info.ProviderName); } - [ConditionalFact] + [Fact] public void GetContextInfo_does_not_throw_if_provider_not_relational() { var info = CreateOperations(typeof(TestProgram)).GetContextInfo(nameof(TestContext)); @@ -318,7 +318,7 @@ public void GetContextInfo_does_not_throw_if_provider_not_relational() Assert.Equal("Microsoft.EntityFrameworkCore.InMemory", info.ProviderName); } - [ConditionalFact] + [Fact] public void Useful_exception_if_finding_context_types_throws() => Assert.Equal( DesignStrings.CannotFindDbContextTypes("Bang!"), diff --git a/test/EFCore.Design.Tests/Design/Internal/LanguageBasedSelectorTests.cs b/test/EFCore.Design.Tests/Design/Internal/LanguageBasedSelectorTests.cs index f478b78f16b..fb977d18f14 100644 --- a/test/EFCore.Design.Tests/Design/Internal/LanguageBasedSelectorTests.cs +++ b/test/EFCore.Design.Tests/Design/Internal/LanguageBasedSelectorTests.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Internal; @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Design.Internal; public class LanguageBasedSelectorTests { - [ConditionalFact] + [Fact] public void Select_works() { var vbService = new TestLanguageBasedService("VB"); @@ -21,7 +21,7 @@ public void Select_works() Assert.Same(vbService, result); } - [ConditionalFact] + [Fact] public void Select_favors_legacy_services() { var legacyService = new TestLanguageBasedService(null); @@ -34,7 +34,7 @@ public void Select_favors_legacy_services() Assert.Same(legacyService, result); } - [ConditionalFact] + [Fact] public void Select_ignores_case() { var csharpService = new TestLanguageBasedService("C#"); @@ -45,7 +45,7 @@ public void Select_ignores_case() Assert.Same(csharpService, result); } - [ConditionalFact] + [Fact] public void Select_picks_csharp_when_no_language() { var csharpService = new TestLanguageBasedService("C#"); @@ -59,7 +59,7 @@ public void Select_picks_csharp_when_no_language() Assert.Same(csharpService, result); } - [ConditionalFact] + [Fact] public void Select_throws_when_no_service() { var selector = new TestLanguageBasedSelector(new TestLanguageBasedService("C#")); @@ -69,7 +69,7 @@ public void Select_throws_when_no_service() Assert.Equal(DesignStrings.NoLanguageService("VB", "TestLanguageBasedService"), ex.Message); } - [ConditionalFact] + [Fact] public void Select_uses_last_when_multiple_services() { var lastService = new TestLanguageBasedService("C#"); diff --git a/test/EFCore.Design.Tests/Design/Internal/MigrationsOperationsTest.cs b/test/EFCore.Design.Tests/Design/Internal/MigrationsOperationsTest.cs index 80ac8f71775..4b2d031975b 100644 --- a/test/EFCore.Design.Tests/Design/Internal/MigrationsOperationsTest.cs +++ b/test/EFCore.Design.Tests/Design/Internal/MigrationsOperationsTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Internal; @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Design.Internal; public class MigrationsOperationsTest { - [ConditionalFact] + [Fact] public void Can_pass_null_args() { // Even though newer versions of the tools will pass an empty array @@ -24,7 +24,7 @@ public void Can_pass_null_args() args: null); } - [ConditionalFact] + [Fact] public void Can_use_migrations_assembly() { // Even though newer versions of the tools will pass an empty array @@ -45,7 +45,7 @@ public void Can_use_migrations_assembly() testOperations.AddMigration("Test", null, null, null, dryRun: true); } - [ConditionalFact] + [Fact] public void AddMigration_throws_when_name_is_empty() { var assembly = MockAssembly.Create(typeof(AssemblyTestContext)); @@ -65,7 +65,7 @@ public void AddMigration_throws_when_name_is_empty() Assert.Equal(DesignStrings.MigrationNameRequired, exception.Message); } - [ConditionalFact] + [Fact] public void AddMigration_throws_when_name_is_whitespace() { var assembly = MockAssembly.Create(typeof(AssemblyTestContext)); diff --git a/test/EFCore.Design.Tests/Design/Internal/OperationLoggerTest.cs b/test/EFCore.Design.Tests/Design/Internal/OperationLoggerTest.cs index 7fb30ba2042..e5a1736426c 100644 --- a/test/EFCore.Design.Tests/Design/Internal/OperationLoggerTest.cs +++ b/test/EFCore.Design.Tests/Design/Internal/OperationLoggerTest.cs @@ -1,11 +1,11 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Design.Internal; public class OperationLoggerTests { - [ConditionalFact] + [Fact] public void Log_dampens_logLevel_when_CommandExecuted() { var reporter = new TestOperationReporter(); diff --git a/test/EFCore.Design.Tests/Design/OperationExceptionTest.cs b/test/EFCore.Design.Tests/Design/OperationExceptionTest.cs index 3a0deeb6591..d6da578b510 100644 --- a/test/EFCore.Design.Tests/Design/OperationExceptionTest.cs +++ b/test/EFCore.Design.Tests/Design/OperationExceptionTest.cs @@ -5,15 +5,15 @@ namespace Microsoft.EntityFrameworkCore.Design; public class OperationExceptionTest { - [ConditionalFact] + [Fact] public void OperationException_exposes_public_empty_constructor() => new OperationException(); - [ConditionalFact] + [Fact] public void OperationException_exposes_public_string_constructor() => Assert.Equal("Foo", new OperationException("Foo").Message); - [ConditionalFact] + [Fact] public void OperationException_exposes_public_string_and_inner_exception_constructor() { var inner = new Exception(); diff --git a/test/EFCore.Design.Tests/Design/OperationExecutorTest.cs b/test/EFCore.Design.Tests/Design/OperationExecutorTest.cs index 05e20448f56..a764479445f 100644 --- a/test/EFCore.Design.Tests/Design/OperationExecutorTest.cs +++ b/test/EFCore.Design.Tests/Design/OperationExecutorTest.cs @@ -7,15 +7,13 @@ using Microsoft.EntityFrameworkCore.Internal; using Microsoft.EntityFrameworkCore.Migrations.Internal; using Microsoft.Data.Sqlite; -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Design; public class OperationExecutorTest(ITestOutputHelper testOutputHelper) { private static readonly char S = Path.DirectorySeparatorChar; - [ConditionalFact] + [Fact] public void Ctor_validates_arguments() { var ex = Assert.Throws(() => new OperationExecutor(null!, null!)); @@ -25,9 +23,7 @@ public void Ctor_validates_arguments() Assert.Equal("args", ex.ParamName); } - [ConditionalTheory, PlatformSkipCondition( - TestUtilities.Xunit.TestPlatform.Linux | TestUtilities.Xunit.TestPlatform.Mac, - SkipReason = "Tested negative cases and baselines are Windows-specific"), InlineData("MgOne", "MgOne"), + [Theory, SkipOnPlatform(TestPlatforms.Linux | TestPlatforms.OSX, "Test does not run on Linux or macOS"), InlineData("MgOne", "MgOne"), InlineData("Name with Spaces", "NamewithSpaces"), InlineData(" Space Space ", "SpaceSpace")] public void AddMigration_can_scaffold_for_different_names(string migrationName, string processedMigrationName) => TestAddMigrationPositive( @@ -35,9 +31,7 @@ public void AddMigration_can_scaffold_for_different_names(string migrationName, "output", "output", ProductInfo.GetVersion()); - [ConditionalTheory, PlatformSkipCondition( - TestUtilities.Xunit.TestPlatform.Linux | TestUtilities.Xunit.TestPlatform.Mac, - SkipReason = "Tested negative cases and baselines are Windows-specific"), InlineData("to fix error: add column is_deleted"), + [Theory, SkipOnPlatform(TestPlatforms.Linux | TestPlatforms.OSX, "Test does not run on Linux or macOS"), InlineData("to fix error: add column is_deleted"), InlineData(@"A\B\C")] // Issue #24024 public void AddMigration_errors_for_bad_names(string migrationName) => TestAddMigrationNegative( @@ -47,9 +41,7 @@ public void AddMigration_errors_for_bad_names(string migrationName) typeof(OperationException), DesignStrings.BadMigrationName(migrationName, string.Join("','", Path.GetInvalidFileNameChars()))); - [ConditionalTheory, PlatformSkipCondition( - TestUtilities.Xunit.TestPlatform.Linux | TestUtilities.Xunit.TestPlatform.Mac, - SkipReason = "Tested negative cases and baselines are Windows-specific"), InlineData("output", "output"), + [Theory, SkipOnPlatform(TestPlatforms.Linux | TestPlatforms.OSX, "Test does not run on Linux or macOS"), InlineData("output", "output"), InlineData("Name with Spaces", "Name with Spaces"), InlineData(" Space Space", " Space Space")] public void AddMigration_can_scaffold_for_different_output_dirs(string outputDir, string processedOutputDir) => TestAddMigrationPositive( @@ -57,13 +49,11 @@ public void AddMigration_can_scaffold_for_different_output_dirs(string outputDir outputDir, processedOutputDir, ProductInfo.GetVersion()); - [ConditionalTheory, PlatformSkipCondition( - TestUtilities.Xunit.TestPlatform.Linux | TestUtilities.Xunit.TestPlatform.Mac, - SkipReason = "Tested negative cases and baselines are Windows-specific"), InlineData("Something:Else")] + [Theory, SkipOnPlatform(TestPlatforms.Linux | TestPlatforms.OSX, "Test does not run on Linux or macOS"), InlineData("Something:Else")] public void AddMigration_errors_for_bad_output_dirs(string outputDir) => TestAddMigrationNegative("MgTwo", outputDir, ProductInfo.GetVersion(), typeof(IOException), null); - [ConditionalFact] + [Fact] public void AddMigration_errors_if_migration_name_is_same_as_context_name() => TestAddMigrationNegative( "GnomeContext", "output", ProductInfo.GetVersion(), typeof(OperationException), @@ -252,7 +242,7 @@ private static OperationResultHandler ExecuteAddMigration( return resultHandler; } - [ConditionalTheory, InlineData(@"/SomePath/SomeSubpath", @"/SomePath/SomeSubpath"), + [Theory, InlineData(@"/SomePath/SomeSubpath", @"/SomePath/SomeSubpath"), InlineData(@"SomePath/SomeSubpath/", @"SomePath/SomeSubpath")] public void No_output_path(string projectDir, string expectedPrefix) { @@ -273,7 +263,7 @@ public void No_output_path(string projectDir, string expectedPrefix) Assert.Equal("Migrations", ExtractNamespace(files.Migration.SnapshotCode)); } - [ConditionalTheory, InlineData(@"/SomePath/SomeSubpath", @"putout", @"/putout/", @"/SomePath/SomeSubpath/"), + [Theory, InlineData(@"/SomePath/SomeSubpath", @"putout", @"/putout/", @"/SomePath/SomeSubpath/"), InlineData(@"/SomePath/SomeSubpath/", @"putout", @"putout/", @"/SomePath/SomeSubpath/"), InlineData(@"SomePath/SomeSubpath/", @"putout", @"putout/", @"SomePath/SomeSubpath/"), InlineData(@"SomePath/SomeSubpath", @"putout", @"/putout/", @"SomePath/SomeSubpath/"), @@ -302,7 +292,7 @@ public void Relative_output_path(string projectDir, string outputDir, string exp Assert.Equal("putout", ExtractNamespace(files.Migration.SnapshotCode)); } - [ConditionalTheory, InlineData(@"/SomePath/SomeSubpath", @"putout/output", @"/putout/output/", @"/SomePath/SomeSubpath/"), + [Theory, InlineData(@"/SomePath/SomeSubpath", @"putout/output", @"/putout/output/", @"/SomePath/SomeSubpath/"), InlineData(@"/SomePath/SomeSubpath/", @"putout/output", @"putout/output/", @"/SomePath/SomeSubpath/"), InlineData(@"SomePath/SomeSubpath/", @"putout/output", @"putout/output/", @"SomePath/SomeSubpath/"), InlineData(@"SomePath/SomeSubpath", @"putout/output", @"/putout/output/", @"SomePath/SomeSubpath/"), @@ -331,7 +321,7 @@ public void Relative_multipart_output_path(string projectDir, string outputDir, Assert.Equal("putout.output", ExtractNamespace(files.Migration.SnapshotCode)); } - [ConditionalTheory, InlineData(@"/SomePath/SomeSubpath", @"/putout", @"/", @"/SomePath/SomeSubpath/"), + [Theory, InlineData(@"/SomePath/SomeSubpath", @"/putout", @"/", @"/SomePath/SomeSubpath/"), InlineData(@"/SomePath/SomeSubpath/", @"/putout", @"/", @"/SomePath/SomeSubpath/"), InlineData(@"SomePath/SomeSubpath/", @"/putout", @"/", @"SomePath/SomeSubpath/"), InlineData(@"SomePath/SomeSubpath", @"/putout", @"/", @"SomePath/SomeSubpath/"), @@ -360,7 +350,7 @@ public void Absolute_output_path(string projectDir, string outputDir, string exp Assert.Equal("Migrations", ExtractNamespace(files.Migration.SnapshotCode)); } - [ConditionalTheory, InlineData(@"/SomePath/SomeSubpath", @"/putout/output", @"/", @"/SomePath/SomeSubpath/"), + [Theory, InlineData(@"/SomePath/SomeSubpath", @"/putout/output", @"/", @"/SomePath/SomeSubpath/"), InlineData(@"/SomePath/SomeSubpath/", @"/putout/output", @"/", @"/SomePath/SomeSubpath/"), InlineData(@"SomePath/SomeSubpath/", @"/putout/output", @"/", @"SomePath/SomeSubpath/"), InlineData(@"SomePath/SomeSubpath", @"/putout/output", @"/", @"SomePath/SomeSubpath/"), @@ -389,7 +379,7 @@ public void Absolute_multipart_output_path(string projectDir, string outputDir, Assert.Equal("Migrations", ExtractNamespace(files.Migration.SnapshotCode)); } - [ConditionalTheory, InlineData(@"/SomePath/SomeSubpath", @"", @"/", @"/SomePath/SomeSubpath/"), + [Theory, InlineData(@"/SomePath/SomeSubpath", @"", @"/", @"/SomePath/SomeSubpath/"), InlineData(@"SomePath/SomeSubpath/", @"", @"", @"SomePath/SomeSubpath/")] public void Output_path_is_empty_string(string projectDir, string outputDir, string expectedPrefix, string expectedSnapshotPrefix) { @@ -412,7 +402,7 @@ public void Output_path_is_empty_string(string projectDir, string outputDir, str Assert.Equal("Migrations", ExtractNamespace(files.Migration.SnapshotCode)); } - [ConditionalTheory, InlineData(@"/SomePath/SomeSubpath", @"/SomePath/SomeSubpath", "Acme.Parts"), + [Theory, InlineData(@"/SomePath/SomeSubpath", @"/SomePath/SomeSubpath", "Acme.Parts"), InlineData(@"SomePath/SomeSubpath/", @"SomePath/SomeSubpath", "Acme")] public void No_output_path_with_root_namespace(string projectDir, string expectedPrefix, string rootNamespace) { @@ -433,7 +423,7 @@ public void No_output_path_with_root_namespace(string projectDir, string expecte Assert.Equal(rootNamespace + ".Migrations", ExtractNamespace(files.Migration.SnapshotCode)); } - [ConditionalTheory, InlineData(@"/SomePath/SomeSubpath", @"putout", @"/putout/", @"/SomePath/SomeSubpath/", "Acme"), + [Theory, InlineData(@"/SomePath/SomeSubpath", @"putout", @"/putout/", @"/SomePath/SomeSubpath/", "Acme"), InlineData(@"/SomePath/SomeSubpath/", @"putout", @"putout/", @"/SomePath/SomeSubpath/", "Acme.Parts"), InlineData(@"SomePath/SomeSubpath/", @"putout/", @"putout/", @"SomePath/SomeSubpath/", "Acme"), InlineData(@"SomePath/SomeSubpath", @"putout/", @"/putout/", @"SomePath/SomeSubpath/", "Acme.Parts")] @@ -463,7 +453,7 @@ public void Relative_output_path_with_root_namespace( Assert.Equal(rootNamespace + ".putout", ExtractNamespace(files.Migration.SnapshotCode)); } - [ConditionalTheory, InlineData(@"/SomePath/SomeSubpath", @"putout/output", @"/putout/output/", @"/SomePath/SomeSubpath/", "Acme"), + [Theory, InlineData(@"/SomePath/SomeSubpath", @"putout/output", @"/putout/output/", @"/SomePath/SomeSubpath/", "Acme"), InlineData(@"/SomePath/SomeSubpath/", @"putout/output", @"putout/output/", @"/SomePath/SomeSubpath/", "Acme.Parts"), InlineData(@"SomePath/SomeSubpath/", @"putout/output/", @"putout/output/", @"SomePath/SomeSubpath/", "Acme"), InlineData(@"SomePath/SomeSubpath", @"putout/output/", @"/putout/output/", @"SomePath/SomeSubpath/", "Acme.Parts")] @@ -493,7 +483,7 @@ public void Relative_multipart_output_path_with_root_namespace( Assert.Equal(rootNamespace + ".putout.output", ExtractNamespace(files.Migration.SnapshotCode)); } - [ConditionalTheory, InlineData(@"/SomePath/SomeSubpath", @"/putout", @"/", @"/SomePath/SomeSubpath/", "Acme.Parts"), + [Theory, InlineData(@"/SomePath/SomeSubpath", @"/putout", @"/", @"/SomePath/SomeSubpath/", "Acme.Parts"), InlineData(@"/SomePath/SomeSubpath/", @"/putout", @"/", @"/SomePath/SomeSubpath/", "Acme"), InlineData(@"SomePath/SomeSubpath/", @"/putout", @"/", @"SomePath/SomeSubpath/", "Acme.Parts"), InlineData(@"SomePath/SomeSubpath", @"/putout", @"/", @"SomePath/SomeSubpath/", "Acme")] @@ -523,7 +513,7 @@ public void Absolute_output_path_with_root_namespace( Assert.Equal(rootNamespace + ".Migrations", ExtractNamespace(files.Migration.SnapshotCode)); } - [ConditionalTheory, InlineData(@"/SomePath/SomeSubpath", @"/putout/output", @"/", @"/SomePath/SomeSubpath/", "Acme.Parts"), + [Theory, InlineData(@"/SomePath/SomeSubpath", @"/putout/output", @"/", @"/SomePath/SomeSubpath/", "Acme.Parts"), InlineData(@"/SomePath/SomeSubpath/", @"/putout/output", @"/", @"/SomePath/SomeSubpath/", "Acme"), InlineData(@"SomePath/SomeSubpath/", @"/putout/output", @"/", @"SomePath/SomeSubpath/", "Acme.Parts"), InlineData(@"SomePath/SomeSubpath", @"/putout/output", @"/", @"SomePath/SomeSubpath/", "Acme")] @@ -553,7 +543,7 @@ public void Absolute_multipart_output_path_with_root_namespace( Assert.Equal(rootNamespace + ".Migrations", ExtractNamespace(files.Migration.SnapshotCode)); } - [ConditionalTheory, InlineData(@"/SomePath/SomeSubpath", @"", @"/", @"/SomePath/SomeSubpath/", "Acme"), + [Theory, InlineData(@"/SomePath/SomeSubpath", @"", @"/", @"/SomePath/SomeSubpath/", "Acme"), InlineData(@"SomePath/SomeSubpath/", @"", @"", @"SomePath/SomeSubpath/", "Acme.Parts")] public void Output_path_is_empty_string_with_root_namespace( string projectDir, @@ -581,7 +571,7 @@ public void Output_path_is_empty_string_with_root_namespace( Assert.Equal(rootNamespace + ".Migrations", ExtractNamespace(files.Migration.SnapshotCode)); } - [ConditionalTheory, InlineData(@"/SomePath/SomeSubpath", @"/SomePath/SomeSubpath", "Subway"), + [Theory, InlineData(@"/SomePath/SomeSubpath", @"/SomePath/SomeSubpath", "Subway"), InlineData(@"SomePath/SomeSubpath/", @"SomePath/SomeSubpath", "Subway"), InlineData(@"/SomePath/SomeSubpath", @"/SomePath/SomeSubpath", "Subway.To.Kfc"), InlineData(@"SomePath/SomeSubpath/", @"SomePath/SomeSubpath", "Subway.To.Kfc")] @@ -605,7 +595,7 @@ public void No_output_path_with_sub_namespace(string projectDir, string expected Assert.Equal(subNamespace, ExtractNamespace(files.Migration.SnapshotCode)); } - [ConditionalTheory, InlineData(@"/SomePath/SomeSubpath", @"putout", @"/putout/", @"/SomePath/SomeSubpath/", "Subway"), + [Theory, InlineData(@"/SomePath/SomeSubpath", @"putout", @"/putout/", @"/SomePath/SomeSubpath/", "Subway"), InlineData(@"SomePath/SomeSubpath/", @"putout", @"putout/", @"SomePath/SomeSubpath/", "Subway"), InlineData(@"SomePath/SomeSubpath", @"putout", @"/putout/", @"SomePath/SomeSubpath/", "Subway"), InlineData(@"/SomePath/SomeSubpath", @"putout/", @"/putout/", @"/SomePath/SomeSubpath/", "Subway"), @@ -639,7 +629,7 @@ public void Relative_output_path_with_sub_namespace( Assert.Equal(subNamespace, ExtractNamespace(files.Migration.SnapshotCode)); } - [ConditionalTheory, InlineData(@"/SomePath/SomeSubpath", @"putout/output", @"/putout/output/", @"/SomePath/SomeSubpath/", "Subway"), + [Theory, InlineData(@"/SomePath/SomeSubpath", @"putout/output", @"/putout/output/", @"/SomePath/SomeSubpath/", "Subway"), InlineData(@"SomePath/SomeSubpath/", @"putout/output", @"putout/output/", @"SomePath/SomeSubpath/", "Subway"), InlineData(@"SomePath/SomeSubpath", @"putout/output", @"/putout/output/", @"SomePath/SomeSubpath/", "Subway"), InlineData(@"/SomePath/SomeSubpath", @"putout/output/", @"/putout/output/", @"/SomePath/SomeSubpath/", "Subway"), @@ -673,7 +663,7 @@ public void Relative_multipart_output_path_with_sub_namespace( Assert.Equal(subNamespace, ExtractNamespace(files.Migration.SnapshotCode)); } - [ConditionalTheory, InlineData(@"/SomePath/SomeSubpath", @"/putout", @"/", @"/SomePath/SomeSubpath/", "Subway"), + [Theory, InlineData(@"/SomePath/SomeSubpath", @"/putout", @"/", @"/SomePath/SomeSubpath/", "Subway"), InlineData(@"SomePath/SomeSubpath/", @"/putout", @"/", @"SomePath/SomeSubpath/", "Subway"), InlineData(@"/SomePath/SomeSubpath/", @"/putout/", @"", @"/SomePath/SomeSubpath/", "Subway"), InlineData(@"SomePath/SomeSubpath/", @"/putout/", @"", @"SomePath/SomeSubpath/", "Subway"), @@ -707,7 +697,7 @@ public void Absolute_output_path_with_sub_namespace( Assert.Equal(subNamespace, ExtractNamespace(files.Migration.SnapshotCode)); } - [ConditionalTheory, InlineData(@"/SomePath/SomeSubpath", @"/putout/output", @"/", @"/SomePath/SomeSubpath/", "Subway"), + [Theory, InlineData(@"/SomePath/SomeSubpath", @"/putout/output", @"/", @"/SomePath/SomeSubpath/", "Subway"), InlineData(@"SomePath/SomeSubpath/", @"/putout/output", @"/", @"SomePath/SomeSubpath/", "Subway"), InlineData(@"/SomePath/SomeSubpath/", @"/putout/output/", @"", @"/SomePath/SomeSubpath/", "Subway"), InlineData(@"SomePath/SomeSubpath/", @"/putout/output/", @"", @"SomePath/SomeSubpath/", "Subway"), @@ -741,7 +731,7 @@ public void Absolute_multipart_output_path_with_sub_namespace( Assert.Equal(subNamespace, ExtractNamespace(files.Migration.SnapshotCode)); } - [ConditionalTheory, InlineData(@"/SomePath/SomeSubpath", @"", @"/", @"/SomePath/SomeSubpath/", "Subway"), + [Theory, InlineData(@"/SomePath/SomeSubpath", @"", @"/", @"/SomePath/SomeSubpath/", "Subway"), InlineData(@"SomePath/SomeSubpath/", @"", @"", @"SomePath/SomeSubpath/", "Subway"), InlineData(@"/SomePath/SomeSubpath", @"", @"/", @"/SomePath/SomeSubpath/", "Subway.To.Kfc"), InlineData(@"SomePath/SomeSubpath/", @"", @"", @"SomePath/SomeSubpath/", "Subway.To.Kfc")] @@ -771,7 +761,7 @@ public void Output_path_is_empty_string_with_sub_namespace( Assert.Equal(subNamespace, ExtractNamespace(files.Migration.SnapshotCode)); } - [ConditionalTheory, InlineData(@"/SomePath/SomeSubpath", @"/SomePath/SomeSubpath", "Subway", "Acme.Parts"), + [Theory, InlineData(@"/SomePath/SomeSubpath", @"/SomePath/SomeSubpath", "Subway", "Acme.Parts"), InlineData(@"SomePath/SomeSubpath/", @"SomePath/SomeSubpath", "Subway", "Acme"), InlineData(@"/SomePath/SomeSubpath", @"/SomePath/SomeSubpath", "Subway.To.Kfc", "Acme"), InlineData(@"SomePath/SomeSubpath/", @"SomePath/SomeSubpath", "Subway.To.Kfc", "Acme.Parts")] @@ -799,7 +789,7 @@ public void No_output_path_with_root_namespace_and_sub_namespace( Assert.Equal(subNamespace, ExtractNamespace(files.Migration.SnapshotCode)); } - [ConditionalTheory, InlineData(@"/SomePath/SomeSubpath", @"putout", @"/putout/", @"/SomePath/SomeSubpath/", "Subway", "Acme.Parts"), + [Theory, InlineData(@"/SomePath/SomeSubpath", @"putout", @"/putout/", @"/SomePath/SomeSubpath/", "Subway", "Acme.Parts"), InlineData(@"SomePath/SomeSubpath/", @"putout", @"putout/", @"SomePath/SomeSubpath/", "Subway", "Acme"), InlineData(@"SomePath/SomeSubpath", @"putout", @"/putout/", @"SomePath/SomeSubpath/", "Subway", "Acme"), InlineData(@"/SomePath/SomeSubpath", @"putout/", @"/putout/", @"/SomePath/SomeSubpath/", "Subway", "Acme.Parts"), @@ -834,7 +824,7 @@ public void Relative_output_path_with_root_namespace_and_sub_namespace( Assert.Equal(subNamespace, ExtractNamespace(files.Migration.SnapshotCode)); } - [ConditionalTheory, + [Theory, InlineData(@"/SomePath/SomeSubpath", @"putout/output", @"/putout/output/", @"/SomePath/SomeSubpath/", "Subway", "Acme.Parts"), InlineData(@"SomePath/SomeSubpath/", @"putout/output", @"putout/output/", @"SomePath/SomeSubpath/", "Subway", "Acme"), InlineData(@"SomePath/SomeSubpath", @"putout/output", @"/putout/output/", @"SomePath/SomeSubpath/", "Subway", "Acme"), @@ -870,7 +860,7 @@ public void Relative_multipart_output_path_with_root_namespace_and_sub_namespace Assert.Equal(subNamespace, ExtractNamespace(files.Migration.SnapshotCode)); } - [ConditionalTheory, InlineData(@"/SomePath/SomeSubpath", @"/putout", @"/", @"/SomePath/SomeSubpath/", "Subway", "Acme.Parts"), + [Theory, InlineData(@"/SomePath/SomeSubpath", @"/putout", @"/", @"/SomePath/SomeSubpath/", "Subway", "Acme.Parts"), InlineData(@"SomePath/SomeSubpath/", @"/putout", @"/", @"SomePath/SomeSubpath/", "Subway", "Acme"), InlineData(@"/SomePath/SomeSubpath/", @"/putout/", @"", @"/SomePath/SomeSubpath/", "Subway", "Acme"), InlineData(@"SomePath/SomeSubpath/", @"/putout/", @"", @"SomePath/SomeSubpath/", "Subway", "Acme.Parts"), @@ -905,7 +895,7 @@ public void Absolute_output_path_with_root_namespace_and_sub_namespace( Assert.Equal(subNamespace, ExtractNamespace(files.Migration.SnapshotCode)); } - [ConditionalTheory, InlineData(@"/SomePath/SomeSubpath", @"/putout/output", @"/", @"/SomePath/SomeSubpath/", "Subway", "Acme.Parts"), + [Theory, InlineData(@"/SomePath/SomeSubpath", @"/putout/output", @"/", @"/SomePath/SomeSubpath/", "Subway", "Acme.Parts"), InlineData(@"SomePath/SomeSubpath/", @"/putout/output", @"/", @"SomePath/SomeSubpath/", "Subway", "Acme"), InlineData(@"/SomePath/SomeSubpath/", @"/putout/output/", @"", @"/SomePath/SomeSubpath/", "Subway", "Acme"), InlineData(@"SomePath/SomeSubpath/", @"/putout/output/", @"", @"SomePath/SomeSubpath/", "Subway", "Acme.Parts"), @@ -940,7 +930,7 @@ public void Absolute_multipart_output_path_with_root_namespace_and_sub_namespace Assert.Equal(subNamespace, ExtractNamespace(files.Migration.SnapshotCode)); } - [ConditionalTheory, InlineData(@"/SomePath/SomeSubpath", @"", @"/", @"/SomePath/SomeSubpath/", "Subway", "Acme.Parts"), + [Theory, InlineData(@"/SomePath/SomeSubpath", @"", @"/", @"/SomePath/SomeSubpath/", "Subway", "Acme.Parts"), InlineData(@"SomePath/SomeSubpath/", @"", @"", @"SomePath/SomeSubpath/", "Subway", "Acme"), InlineData(@"/SomePath/SomeSubpath", @"", @"/", @"/SomePath/SomeSubpath/", "Subway.To.Kfc", "Acme.Parts"), InlineData(@"SomePath/SomeSubpath/", @"", @"", @"SomePath/SomeSubpath/", "Subway.To.Kfc", "Acme")] @@ -974,7 +964,7 @@ public void Output_path_is_empty_string_with_root_namespace_and_sub_namespace( private static string ExtractNamespace(string migrationMigrationCode) => migrationMigrationCode.Split(Environment.NewLine).First(s => s.StartsWith("namespace ", StringComparison.Ordinal)).Substring(10).TrimEnd(';'); - // [ConditionalTheory] + // [Theory] // [InlineData(@"/SomePath/SomeSubpath", @"/SomePath/SomeSubpath")] // [InlineData(@"SomePath/SomeSubpath/", @"SomePath/SomeSubpat` h")] // public void Migration_files_are_created_in_the_Migrations_folder(string projectDir, string expectedPrefix) @@ -995,7 +985,7 @@ private static string ExtractNamespace(string migrationMigrationCode) // private static string ExtractNamespace(string migrationMigrationCode) // => migrationMigrationCode.Split(Environment.NewLine).First(s => s.StartsWith("namespace ", StringComparison.Ordinal)).Substring(10); // - // [ConditionalTheory] + // [Theory] // [InlineData(@"C:/SomePath/SomeSubpath", @"C:/SomePath/SomeSubpath")] // [InlineData(@"K:/SomePath/SomeSubpath/", @"K:/SomePath/SomeSubpath")] // [PlatformSkipCondition(TestUtilities.Xunit.TestPlatform.Linux | TestUtilities.Xunit.TestPlatform.Mac, SkipReason = "Windows-specific paths")] @@ -1014,7 +1004,7 @@ private static string ExtractNamespace(string migrationMigrationCode) // Assert.Equal("Migrations", ExtractNamespace(files.Migration.SnapshotCode)); // } // - // [ConditionalTheory] + // [Theory] // [InlineData(@"/SomePath/SomeSubpath", @"putout", @"/SomePath/SomeSubpath/putout/")] // [InlineData(@"/SomePath/SomeSubpath", @"putout/", @"/SomePath/SomeSubpath/putout/")] // [InlineData(@"SomePath/SomeSubpath/", @"putout/", @"/SomePath/SomeSubpath/putout/")] @@ -1036,7 +1026,7 @@ private static string ExtractNamespace(string migrationMigrationCode) // Assert.Equal("Migrations", ExtractNamespace(files.Migration.SnapshotCode)); // } // - // [ConditionalTheory] + // [Theory] // [InlineData(@"/SomePath/SomeSubpath", @"/putout", @"/putout/")] // [InlineData(@"/SomePath/SomeSubpath", @"/putout/", @"/putout/")] // [InlineData(@"SomePath/SomeSubpath/", @"/putout/", @"/putout/")] @@ -1058,7 +1048,7 @@ private static string ExtractNamespace(string migrationMigrationCode) // Assert.Equal("Migrations", ExtractNamespace(files.Migration.SnapshotCode)); // } // - // [ConditionalTheory] + // [Theory] // [InlineData(@"/SomePath/SomeSubpath", @"/SomePath/SomeSubpath/putout", @"/SomePath/SomeSubpath/putout/")] // [InlineData(@"/SomePath/SomeSubpath", @"/SomePath/SomeSubpath/putout/", @"/SomePath/SomeSubpath/putout/")] // [InlineData(@"SomePath/SomeSubpath/", @"SomePath/SomeSubpath/putout/", @"/SomePath/SomeSubpath/putout/")] @@ -1104,7 +1094,7 @@ private MigrationFiles GenerateFilesDryRun(string projectDir, string? outputDir, return executor.MigrationsOperations.AddMigration("M", outputDir, nameof(GnomeContext), @namespace, dryRun: true); } - [ConditionalFact] + [Fact] public void AddAndApplyMigration_succeeds_when_no_model_changes() { using var tempPath = new TempDirectory(); @@ -1120,9 +1110,7 @@ public void AddAndApplyMigration_succeeds_when_no_model_changes() Assert.Null(resultHandler.ErrorType); } - [ConditionalTheory, PlatformSkipCondition( - TestUtilities.Xunit.TestPlatform.Linux | TestUtilities.Xunit.TestPlatform.Mac, - SkipReason = "Tested negative cases and baselines are Windows-specific"), InlineData("to fix error: add column"), + [Theory, SkipOnPlatform(TestPlatforms.Linux | TestPlatforms.OSX, "Test does not run on Linux or macOS"), InlineData("to fix error: add column"), InlineData(@"A\B\C")] public void AddAndApplyMigration_errors_for_bad_names(string migrationName) { @@ -1138,7 +1126,7 @@ public void AddAndApplyMigration_errors_for_bad_names(string migrationName) Assert.Contains(migrationName, resultHandler.ErrorMessage); } - [ConditionalFact] + [Fact] public void AddAndApplyMigration_errors_for_invalid_context() { using var tempPath = new TempDirectory(); @@ -1176,7 +1164,7 @@ public void AddAndApplyMigration_errors_for_invalid_context() Assert.Contains("NonExistentContext", resultHandler.ErrorMessage); } - [ConditionalFact] + [Fact] public void AddAndApplyMigration_errors_for_empty_name() { using var tempPath = new TempDirectory(); @@ -1230,7 +1218,7 @@ private static OperationResultHandler ExecuteAddAndApplyMigration( public class OperationBaseTests { - [ConditionalFact] + [Fact] public void Execute_catches_exceptions() { var handler = new OperationResultHandler(); @@ -1243,7 +1231,7 @@ public void Execute_catches_exceptions() Assert.NotEmpty(handler.ErrorStackTrace!); } - [ConditionalFact] + [Fact] public void Execute_sets_results() { var handler = new OperationResultHandler(); @@ -1254,7 +1242,7 @@ public void Execute_sets_results() Assert.Equal(result, handler.Result); } - [ConditionalFact] + [Fact] public void Execute_enumerates_results() { var handler = new OperationResultHandler(); diff --git a/test/EFCore.Design.Tests/Design/OperationReportHandlerTest.cs b/test/EFCore.Design.Tests/Design/OperationReportHandlerTest.cs index b64f814a2b1..a22beabaaaf 100644 --- a/test/EFCore.Design.Tests/Design/OperationReportHandlerTest.cs +++ b/test/EFCore.Design.Tests/Design/OperationReportHandlerTest.cs @@ -5,11 +5,11 @@ namespace Microsoft.EntityFrameworkCore.Design; public class OperationReportHandlerTest { - [ConditionalFact] + [Fact] public void Version_is_zero() => Assert.Equal(0, new OperationReportHandler().Version); - [ConditionalFact] + [Fact] public void On_methods_are_noops_when_null() { var handler = new OperationReportHandler(); @@ -19,7 +19,7 @@ public void On_methods_are_noops_when_null() handler.OnVerbose("Princess Celestia is an alicorn."); } - [ConditionalFact] + [Fact] public void OnWarning_works() { string result = null; @@ -31,7 +31,7 @@ public void OnWarning_works() Assert.Equal(message, result); } - [ConditionalFact] + [Fact] public void OnInformation_works() { string result = null; @@ -43,7 +43,7 @@ public void OnInformation_works() Assert.Equal(message, result); } - [ConditionalFact] + [Fact] public void OnVerbose_works() { string result = null; diff --git a/test/EFCore.Design.Tests/Design/OperationResultHandlerTest.cs b/test/EFCore.Design.Tests/Design/OperationResultHandlerTest.cs index 970159cca55..4e48a208d7f 100644 --- a/test/EFCore.Design.Tests/Design/OperationResultHandlerTest.cs +++ b/test/EFCore.Design.Tests/Design/OperationResultHandlerTest.cs @@ -5,19 +5,19 @@ namespace Microsoft.EntityFrameworkCore.Design; public class OperationResultHandlerTest { - [ConditionalFact] + [Fact] public void Version_is_zero() => Assert.Equal(0, new OperationResultHandler().Version); - [ConditionalFact] + [Fact] public void HasResult_defaults_to_false() => Assert.False(new OperationResultHandler().HasResult); - [ConditionalFact] + [Fact] public void ErrorType_defaults_to_null() => Assert.Null(new OperationResultHandler().ErrorType); - [ConditionalFact] + [Fact] public void OnResult_works() { var handler = new OperationResultHandler(); @@ -29,7 +29,7 @@ public void OnResult_works() Assert.Equal(result, handler.Result); } - [ConditionalFact] + [Fact] public void OnError_works() { var handler = new OperationResultHandler(); diff --git a/test/EFCore.Design.Tests/DesignTimeFlagTest.cs b/test/EFCore.Design.Tests/DesignTimeFlagTest.cs index 6edeecd0a94..17ab55e5d89 100644 --- a/test/EFCore.Design.Tests/DesignTimeFlagTest.cs +++ b/test/EFCore.Design.Tests/DesignTimeFlagTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore; @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore; [Collection("DesignTimeFlagTest")] public class DesignTimeFlagTest { - [ConditionalFact] + [Fact] public void Operations_have_design_time_flag_set() { EF.IsDesignTime = false; @@ -25,7 +25,7 @@ public void Operations_have_design_time_flag_set() Assert.Equal("Twilight Sparkle", handler.Result); } - [ConditionalFact] + [Fact] public void CreateInstance_sets_design_time_flag() { EF.IsDesignTime = false; @@ -35,7 +35,7 @@ public void CreateInstance_sets_design_time_flag() Assert.True(EF.IsDesignTime); } - [ConditionalFact] + [Fact] public void CreateInstance_with_arguments_sets_design_time_flag() { EF.IsDesignTime = false; diff --git a/test/EFCore.Design.Tests/EFCore.Design.Tests.csproj b/test/EFCore.Design.Tests/EFCore.Design.Tests.csproj index 9d4ed03c0fe..14c8708d536 100644 --- a/test/EFCore.Design.Tests/EFCore.Design.Tests.csproj +++ b/test/EFCore.Design.Tests/EFCore.Design.Tests.csproj @@ -42,7 +42,6 @@ - diff --git a/test/EFCore.Design.Tests/Extensions/MethodCallCodeFragmentExtensionsTest.cs b/test/EFCore.Design.Tests/Extensions/MethodCallCodeFragmentExtensionsTest.cs index 8ea43ef5cf7..3f2c9e80a39 100644 --- a/test/EFCore.Design.Tests/Extensions/MethodCallCodeFragmentExtensionsTest.cs +++ b/test/EFCore.Design.Tests/Extensions/MethodCallCodeFragmentExtensionsTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Extensions.Namespace1; @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Extensions { public class MethodCallCodeFragmentExtensionsTest { - [ConditionalFact] + [Fact] public void GetRequiredUsings_works() { var methodCall = new MethodCallCodeFragment( diff --git a/test/EFCore.Design.Tests/Extensions/ScaffoldingMetadataExtensionsTest.cs b/test/EFCore.Design.Tests/Extensions/ScaffoldingMetadataExtensionsTest.cs index c646a5f753b..94ae82b19c2 100644 --- a/test/EFCore.Design.Tests/Extensions/ScaffoldingMetadataExtensionsTest.cs +++ b/test/EFCore.Design.Tests/Extensions/ScaffoldingMetadataExtensionsTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Extensions; public class ScaffoldingMetadataExtensionsTest { - [ConditionalFact] + [Fact] public void It_sets_DbSet_name() { IMutableModel model = new Model(); @@ -18,7 +18,7 @@ public void It_sets_DbSet_name() Assert.Equal("Blogs", entity.GetDbSetName()); } - [ConditionalFact] + [Fact] public void It_sets_gets_database_name() { var model = new Model(); diff --git a/test/EFCore.Design.Tests/Migrations/Design/CSharpMigrationCompilerTest.cs b/test/EFCore.Design.Tests/Migrations/Design/CSharpMigrationCompilerTest.cs index c4e975faf1c..875ded54ccf 100644 --- a/test/EFCore.Design.Tests/Migrations/Design/CSharpMigrationCompilerTest.cs +++ b/test/EFCore.Design.Tests/Migrations/Design/CSharpMigrationCompilerTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Migrations.Design; public class CSharpMigrationCompilerTest { - [ConditionalFact] + [Fact] public void CompileMigration_compiles_valid_migration_code() { var compiler = new CSharpMigrationCompiler(); @@ -103,7 +103,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) Assert.Equal("20231215120000_TestMigration", migrationAttribute.Id); } - [ConditionalFact] + [Fact] public void CompileMigration_finds_snapshot_type() { var compiler = new CSharpMigrationCompiler(); @@ -120,7 +120,7 @@ public void CompileMigration_finds_snapshot_type() Assert.Equal(typeof(ModelSnapshot), snapshotType.BaseType); } - [ConditionalFact] + [Fact] public void CompileMigration_creates_unique_assembly_per_compilation() { var compiler = new CSharpMigrationCompiler(); @@ -135,7 +135,7 @@ public void CompileMigration_creates_unique_assembly_per_compilation() Assert.NotEqual(assembly1.FullName, assembly2.FullName); } - [ConditionalFact] + [Fact] public void CompileMigration_throws_on_null_migration() { var compiler = new CSharpMigrationCompiler(); @@ -144,7 +144,7 @@ public void CompileMigration_throws_on_null_migration() () => compiler.CompileMigration(null!, typeof(TestContext))); } - [ConditionalFact] + [Fact] public void CompileMigration_throws_on_null_context_type() { var compiler = new CSharpMigrationCompiler(); @@ -154,7 +154,7 @@ public void CompileMigration_throws_on_null_context_type() () => compiler.CompileMigration(scaffoldedMigration, null!)); } - [ConditionalFact] + [Fact] public void CompileMigration_throws_on_empty_migration_code() { var compiler = new CSharpMigrationCompiler(); @@ -196,7 +196,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) { } Assert.Contains("20231215170000_EmptyCode", exception.Message); } - [ConditionalFact] + [Fact] public void CompileMigration_handles_unicode_in_migration_name() { var compiler = new CSharpMigrationCompiler(); diff --git a/test/EFCore.Design.Tests/Migrations/Design/CSharpMigrationOperationGeneratorTest.cs b/test/EFCore.Design.Tests/Migrations/Design/CSharpMigrationOperationGeneratorTest.cs index 39f4dbb7c8a..3eb017d6fcf 100644 --- a/test/EFCore.Design.Tests/Migrations/Design/CSharpMigrationOperationGeneratorTest.cs +++ b/test/EFCore.Design.Tests/Migrations/Design/CSharpMigrationOperationGeneratorTest.cs @@ -12,7 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Migrations.Design; public class CSharpMigrationOperationGeneratorTest { - [ConditionalFact] + [Fact] public void Generate_separates_operations_by_a_blank_line() { var generator = new CSharpMigrationOperationGenerator( @@ -39,7 +39,7 @@ public void Generate_separates_operations_by_a_blank_line() builder.ToString(), ignoreLineEndingDifferences: true); } - [ConditionalFact] + [Fact] public void AddColumnOperation_required_args() => Test( new AddColumnOperation @@ -61,7 +61,7 @@ public void AddColumnOperation_required_args() Assert.Equal(typeof(int), o.ClrType); }); - [ConditionalFact] + [Fact] public void AddColumnOperation_all_args() => Test( new AddColumnOperation @@ -114,7 +114,7 @@ public void AddColumnOperation_all_args() Assert.Equal("Some Collation", o.Collation); }); - [ConditionalFact] + [Fact] public void AddColumnOperation_DefaultValueSql() => Test( new AddColumnOperation @@ -139,7 +139,7 @@ public void AddColumnOperation_DefaultValueSql() Assert.Equal("1", o.DefaultValueSql); }); - [ConditionalFact] + [Fact] public void AddColumnOperation_ComputedExpression() => Test( new AddColumnOperation @@ -167,7 +167,7 @@ public void AddColumnOperation_ComputedExpression() Assert.True(o.IsStored); }); - [ConditionalFact] + [Fact] public void AddForeignKeyOperation_required_args() => Test( new AddForeignKeyOperation @@ -193,7 +193,7 @@ public void AddForeignKeyOperation_required_args() Assert.Null(o.PrincipalColumns); }); - [ConditionalFact] + [Fact] public void AddForeignKeyOperation_required_args_composite() => Test( new AddForeignKeyOperation @@ -219,7 +219,7 @@ public void AddForeignKeyOperation_required_args_composite() Assert.Null(o.PrincipalColumns); }); - [ConditionalFact] + [Fact] public void AddForeignKeyOperation_all_args() => Test( new AddForeignKeyOperation @@ -259,7 +259,7 @@ public void AddForeignKeyOperation_all_args() Assert.Equal(ReferentialAction.Cascade, o.OnDelete); }); - [ConditionalFact] + [Fact] public void AddForeignKeyOperation_all_args_composite() => Test( new AddForeignKeyOperation @@ -299,7 +299,7 @@ public void AddForeignKeyOperation_all_args_composite() Assert.Equal(ReferentialAction.Cascade, o.OnDelete); }); - [ConditionalFact] + [Fact] public void AddPrimaryKey_required_args() => Test( new AddPrimaryKeyOperation @@ -321,7 +321,7 @@ public void AddPrimaryKey_required_args() Assert.Equal(new[] { "Id" }, o.Columns); }); - [ConditionalFact] + [Fact] public void AddPrimaryKey_all_args() => Test( new AddPrimaryKeyOperation @@ -346,7 +346,7 @@ public void AddPrimaryKey_all_args() Assert.Equal(new[] { "Id" }, o.Columns); }); - [ConditionalFact] + [Fact] public void AddPrimaryKey_composite() => Test( new AddPrimaryKeyOperation @@ -368,7 +368,7 @@ public void AddPrimaryKey_composite() Assert.Equal(new[] { "Id1", "Id2" }, o.Columns); }); - [ConditionalFact] + [Fact] public void AddUniqueConstraint_required_args() => Test( new AddUniqueConstraintOperation @@ -390,7 +390,7 @@ public void AddUniqueConstraint_required_args() Assert.Equal(new[] { "AltId" }, o.Columns); }); - [ConditionalFact] + [Fact] public void AddUniqueConstraint_all_args() => Test( new AddUniqueConstraintOperation @@ -415,7 +415,7 @@ public void AddUniqueConstraint_all_args() Assert.Equal(new[] { "AltId" }, o.Columns); }); - [ConditionalFact] + [Fact] public void AddUniqueConstraint_composite() => Test( new AddUniqueConstraintOperation @@ -437,7 +437,7 @@ public void AddUniqueConstraint_composite() Assert.Equal(new[] { "AltId1", "AltId2" }, o.Columns); }); - [ConditionalFact] + [Fact] public void AddCheckConstraint_required_args() => Test( new AddCheckConstraintOperation @@ -459,7 +459,7 @@ public void AddCheckConstraint_required_args() Assert.Equal("AltId1 > AltId2", o.Sql); }); - [ConditionalFact] + [Fact] public void AddCheckConstraint_all_args() => Test( new AddCheckConstraintOperation @@ -484,7 +484,7 @@ public void AddCheckConstraint_all_args() Assert.Equal("AltId1 > AltId2", o.Sql); }); - [ConditionalFact] + [Fact] public void AlterColumnOperation_required_args() => Test( new AlterColumnOperation @@ -533,7 +533,7 @@ public void AlterColumnOperation_required_args() Assert.Null(o.OldColumn.Collation); }); - [ConditionalFact] + [Fact] public void AlterColumnOperation_all_args() => Test( new AlterColumnOperation @@ -633,7 +633,7 @@ public void AlterColumnOperation_all_args() Assert.Equal("Some Collation", o.OldColumn.Collation); }); - [ConditionalFact] + [Fact] public void AlterColumnOperation_DefaultValueSql() => Test( new AlterColumnOperation @@ -676,7 +676,7 @@ public void AlterColumnOperation_DefaultValueSql() Assert.Null(o.OldColumn.ComputedColumnSql); }); - [ConditionalFact] + [Fact] public void AlterColumnOperation_computedColumnSql() => Test( new AlterColumnOperation @@ -725,7 +725,7 @@ public void AlterColumnOperation_computedColumnSql() Assert.Null(o.OldColumn.IsStored); }); - [ConditionalFact] + [Fact] public void AlterDatabaseOperation() => Test( new AlterDatabaseOperation @@ -749,7 +749,7 @@ public void AlterDatabaseOperation() Assert.Equal("foo", o.OldDatabase["bar"]); }); - [ConditionalFact] + [Fact] public void AlterDatabaseOperation_with_default_old_collation() => Test( new AlterDatabaseOperation { Collation = "Some collation" }, @@ -763,7 +763,7 @@ public void AlterDatabaseOperation_with_default_old_collation() Assert.Null(o.OldDatabase.Collation); }); - [ConditionalFact] + [Fact] public void AlterDatabaseOperation_with_default_new_collation() => Test( new AlterDatabaseOperation { OldDatabase = { Collation = "Some collation" } }, @@ -777,7 +777,7 @@ public void AlterDatabaseOperation_with_default_new_collation() Assert.Equal("Some collation", o.OldDatabase.Collation); }); - [ConditionalFact] + [Fact] public void AlterSequenceOperation_required_args() => Test( new AlterSequenceOperation { Name = "EntityFrameworkHiLoSequence" }, @@ -799,7 +799,7 @@ public void AlterSequenceOperation_required_args() Assert.False(o.OldSequence.IsCyclic); }); - [ConditionalFact] + [Fact] public void AlterSequenceOperation_all_args() => Test( new AlterSequenceOperation @@ -845,7 +845,7 @@ public void AlterSequenceOperation_all_args() Assert.True(o.OldSequence.IsCyclic); }); - [ConditionalFact] + [Fact] public void AlterTableOperation_required_args() => Test( new AlterTableOperation { Name = "Customer" }, @@ -858,7 +858,7 @@ public void AlterTableOperation_required_args() Assert.Equal("Customer", o.Name); }); - [ConditionalFact] + [Fact] public void AlterTableOperation_all_args() => Test( new AlterTableOperation @@ -883,7 +883,7 @@ public void AlterTableOperation_all_args() Assert.Equal("My Comment", o.OldTable.Comment); }); - [ConditionalFact] + [Fact] public void CreateIndexOperation_required_args() => Test( new CreateIndexOperation @@ -908,7 +908,7 @@ public void CreateIndexOperation_required_args() Assert.Null(o.Filter); }); - [ConditionalFact] + [Fact] public void CreateIndexOperation_all_args() => Test( new CreateIndexOperation @@ -942,7 +942,7 @@ public void CreateIndexOperation_all_args() Assert.Equal("[Title] IS NOT NULL", o.Filter); }); - [ConditionalFact] + [Fact] public void CreateIndexOperation_composite() => Test( new CreateIndexOperation @@ -964,7 +964,7 @@ public void CreateIndexOperation_composite() Assert.Equal(new[] { "Title", "Subtitle" }, o.Columns); }); - [ConditionalFact] + [Fact] public void CreateSchemaOperation_required_args() => Test( new EnsureSchemaOperation { Name = "my" }, @@ -974,7 +974,7 @@ public void CreateSchemaOperation_required_args() """, o => Assert.Equal("my", o.Name)); - [ConditionalFact] + [Fact] public void CreateSequenceOperation_required_args() => Test( new CreateSequenceOperation { Name = "EntityFrameworkHiLoSequence", ClrType = typeof(long) }, @@ -988,7 +988,7 @@ public void CreateSequenceOperation_required_args() Assert.Equal(typeof(long), o.ClrType); }); - [ConditionalFact] + [Fact] public void CreateSequenceOperation_required_args_not_long() => Test( new CreateSequenceOperation { Name = "EntityFrameworkHiLoSequence", ClrType = typeof(int) }, @@ -1002,7 +1002,7 @@ public void CreateSequenceOperation_required_args_not_long() Assert.Equal(typeof(int), o.ClrType); }); - [ConditionalFact] + [Fact] public void CreateSequenceOperation_all_args() => Test( new CreateSequenceOperation @@ -1038,7 +1038,7 @@ public void CreateSequenceOperation_all_args() Assert.True(o.IsCyclic); }); - [ConditionalFact] + [Fact] public void CreateSequenceOperation_all_args_not_long() => Test( new CreateSequenceOperation @@ -1074,7 +1074,7 @@ public void CreateSequenceOperation_all_args_not_long() Assert.True(o.IsCyclic); }); - [ConditionalFact] + [Fact] public void CreateTableOperation_Columns_required_args() => Test( new CreateTableOperation @@ -1111,7 +1111,7 @@ public void CreateTableOperation_Columns_required_args() Assert.Equal(typeof(int), o.Columns[0].ClrType); }); - [ConditionalFact] + [Fact] public void CreateTableOperation_Columns_all_args() => Test( new CreateTableOperation @@ -1171,7 +1171,7 @@ public void CreateTableOperation_Columns_all_args() Assert.Equal("Some Collation", o.Columns[0].Collation); }); - [ConditionalFact] + [Fact] public void CreateTableOperation_Columns_DefaultValueSql() => Test( new CreateTableOperation @@ -1209,7 +1209,7 @@ public void CreateTableOperation_Columns_DefaultValueSql() Assert.Equal("1", o.Columns[0].DefaultValueSql); }); - [ConditionalFact] + [Fact] public void CreateTableOperation_Columns_computedColumnSql() => Test( new CreateTableOperation @@ -1249,7 +1249,7 @@ public void CreateTableOperation_Columns_computedColumnSql() Assert.True(o.Columns[0].IsStored); }); - [ConditionalFact] + [Fact] public void CreateTableOperation_ForeignKeys_required_args() => Test( new CreateTableOperation @@ -1293,7 +1293,7 @@ public void CreateTableOperation_ForeignKeys_required_args() Assert.Equal("Blog", fk.PrincipalTable); }); - [ConditionalFact] + [Fact] public void CreateTableOperation_ForeignKeys_all_args() => Test( new CreateTableOperation @@ -1353,7 +1353,7 @@ public void CreateTableOperation_ForeignKeys_all_args() Assert.Equal(ReferentialAction.SetDefault, fk.OnDelete); }); - [ConditionalFact] + [Fact] public void CreateTableOperation_ForeignKeys_composite() => Test( new CreateTableOperation @@ -1404,7 +1404,7 @@ public void CreateTableOperation_ForeignKeys_composite() Assert.Equal(new[] { "Id1", "Id2" }, fk.PrincipalColumns); }); - [ConditionalFact] + [Fact] public void CreateTableOperation_ForeignKeys_composite_no_principal_columns() => Test( new CreateTableOperation @@ -1452,7 +1452,7 @@ public void CreateTableOperation_ForeignKeys_composite_no_principal_columns() Assert.Equal("Blog", fk.PrincipalTable); }); - [ConditionalFact] + [Fact] public void CreateTableOperation_PrimaryKey_required_args() => Test( new CreateTableOperation @@ -1487,7 +1487,7 @@ public void CreateTableOperation_PrimaryKey_required_args() Assert.Equal(new[] { "Id" }, o.PrimaryKey.Columns); }); - [ConditionalFact] + [Fact] public void CreateTableOperation_PrimaryKey_all_args() => Test( new CreateTableOperation @@ -1526,7 +1526,7 @@ public void CreateTableOperation_PrimaryKey_all_args() Assert.Equal(new[] { "Id" }, o.PrimaryKey.Columns); }); - [ConditionalFact] + [Fact] public void CreateTableOperation_PrimaryKey_composite() => Test( new CreateTableOperation @@ -1566,7 +1566,7 @@ public void CreateTableOperation_PrimaryKey_composite() Assert.Equal(new[] { "Id1", "Id2" }, o.PrimaryKey.Columns); }); - [ConditionalFact] + [Fact] public void CreateTableOperation_UniqueConstraints_required_args() => Test( new CreateTableOperation @@ -1604,7 +1604,7 @@ public void CreateTableOperation_UniqueConstraints_required_args() Assert.Equal(new[] { "AltId" }, o.UniqueConstraints[0].Columns); }); - [ConditionalFact] + [Fact] public void CreateTableOperation_UniqueConstraints_all_args() => Test( new CreateTableOperation @@ -1646,7 +1646,7 @@ public void CreateTableOperation_UniqueConstraints_all_args() Assert.Equal(new[] { "AltId" }, o.UniqueConstraints[0].Columns); }); - [ConditionalFact] + [Fact] public void CreateTableOperation_UniqueConstraints_composite() => Test( new CreateTableOperation @@ -1689,7 +1689,7 @@ public void CreateTableOperation_UniqueConstraints_composite() Assert.Equal(new[] { "AltId1", "AltId2" }, o.UniqueConstraints[0].Columns); }); - [ConditionalFact] + [Fact] public void CreateTableOperation_CheckConstraints_required_args() => Test( new CreateTableOperation @@ -1732,7 +1732,7 @@ public void CreateTableOperation_CheckConstraints_required_args() Assert.Equal("AltId1 > AltId2", o.CheckConstraints[0].Sql); }); - [ConditionalFact] + [Fact] public void CreateTableOperation_ChecksConstraints_all_args() => Test( new CreateTableOperation @@ -1779,7 +1779,7 @@ public void CreateTableOperation_ChecksConstraints_all_args() Assert.Equal("AltId1 > AltId2", o.CheckConstraints[0].Sql); }); - [ConditionalFact] + [Fact] public void CreateTableOperation_Comment() => Test( new CreateTableOperation @@ -1807,7 +1807,7 @@ public void CreateTableOperation_Comment() Assert.Equal("My Comment", o.Comment); }); - [ConditionalFact] + [Fact] public void CreateTableOperation_TableComment_ColumnComment() => Test( new CreateTableOperation @@ -1844,7 +1844,7 @@ public void CreateTableOperation_TableComment_ColumnComment() Assert.Equal("My Column comment", o.Columns[0].Comment); }); - [ConditionalFact] + [Fact] public void DropColumnOperation_required_args() => Test( new DropColumnOperation { Name = "Id", Table = "Post" }, @@ -1859,7 +1859,7 @@ public void DropColumnOperation_required_args() Assert.Equal("Post", o.Table); }); - [ConditionalFact] + [Fact] public void DropColumnOperation_all_args() => Test( new DropColumnOperation @@ -1881,7 +1881,7 @@ public void DropColumnOperation_all_args() Assert.Equal("Post", o.Table); }); - [ConditionalFact] + [Fact] public void DropForeignKeyOperation_required_args() => Test( new DropForeignKeyOperation { Name = "FK_Post_BlogId", Table = "Post" }, @@ -1896,7 +1896,7 @@ public void DropForeignKeyOperation_required_args() Assert.Equal("Post", o.Table); }); - [ConditionalFact] + [Fact] public void DropForeignKeyOperation_all_args() => Test( new DropForeignKeyOperation @@ -1918,7 +1918,7 @@ public void DropForeignKeyOperation_all_args() Assert.Equal("Post", o.Table); }); - [ConditionalFact] + [Fact] public void DropIndexOperation_required_args() => Test( new DropIndexOperation { Name = "IX_Post_Title" }, @@ -1931,7 +1931,7 @@ public void DropIndexOperation_required_args() Assert.Equal("IX_Post_Title", o.Name); }); - [ConditionalFact] + [Fact] public void DropIndexOperation_all_args() => Test( new DropIndexOperation @@ -1953,7 +1953,7 @@ public void DropIndexOperation_all_args() Assert.Equal("Post", o.Table); }); - [ConditionalFact] + [Fact] public void DropPrimaryKeyOperation_required_args() => Test( new DropPrimaryKeyOperation { Name = "PK_Post", Table = "Post" }, @@ -1968,7 +1968,7 @@ public void DropPrimaryKeyOperation_required_args() Assert.Equal("Post", o.Table); }); - [ConditionalFact] + [Fact] public void DropPrimaryKeyOperation_all_args() => Test( new DropPrimaryKeyOperation @@ -1990,7 +1990,7 @@ public void DropPrimaryKeyOperation_all_args() Assert.Equal("Post", o.Table); }); - [ConditionalFact] + [Fact] public void DropSchemaOperation_required_args() => Test( new DropSchemaOperation { Name = "my" }, @@ -2000,7 +2000,7 @@ public void DropSchemaOperation_required_args() """, o => Assert.Equal("my", o.Name)); - [ConditionalFact] + [Fact] public void DropSequenceOperation_required_args() => Test( new DropSequenceOperation { Name = "EntityFrameworkHiLoSequence" }, @@ -2010,7 +2010,7 @@ public void DropSequenceOperation_required_args() """, o => Assert.Equal("EntityFrameworkHiLoSequence", o.Name)); - [ConditionalFact] + [Fact] public void DropSequenceOperation_all_args() => Test( new DropSequenceOperation { Name = "EntityFrameworkHiLoSequence", Schema = "dbo" }, @@ -2025,7 +2025,7 @@ public void DropSequenceOperation_all_args() Assert.Equal("dbo", o.Schema); }); - [ConditionalFact] + [Fact] public void DropTableOperation_required_args() => Test( new DropTableOperation { Name = "Post" }, @@ -2035,7 +2035,7 @@ public void DropTableOperation_required_args() """, o => Assert.Equal("Post", o.Name)); - [ConditionalFact] + [Fact] public void DropTableOperation_all_args() => Test( new DropTableOperation { Name = "Post", Schema = "dbo" }, @@ -2050,7 +2050,7 @@ public void DropTableOperation_all_args() Assert.Equal("dbo", o.Schema); }); - [ConditionalFact] + [Fact] public void DropUniqueConstraintOperation_required_args() => Test( new DropUniqueConstraintOperation { Name = "AK_Post_AltId", Table = "Post" }, @@ -2065,7 +2065,7 @@ public void DropUniqueConstraintOperation_required_args() Assert.Equal("Post", o.Table); }); - [ConditionalFact] + [Fact] public void DropUniqueConstraintOperation_all_args() => Test( new DropUniqueConstraintOperation @@ -2087,7 +2087,7 @@ public void DropUniqueConstraintOperation_all_args() Assert.Equal("Post", o.Table); }); - [ConditionalFact] + [Fact] public void DropCheckConstraintOperation_required_args() => Test( new DropCheckConstraintOperation { Name = "CK_Post_AltId1_AltId2", Table = "Post" }, @@ -2102,7 +2102,7 @@ public void DropCheckConstraintOperation_required_args() Assert.Equal("Post", o.Table); }); - [ConditionalFact] + [Fact] public void DropCheckConstraintOperation_all_args() => Test( new DropCheckConstraintOperation @@ -2124,7 +2124,7 @@ public void DropCheckConstraintOperation_all_args() Assert.Equal("Post", o.Table); }); - [ConditionalFact] + [Fact] public void RenameColumnOperation_required_args() => Test( new RenameColumnOperation @@ -2146,7 +2146,7 @@ public void RenameColumnOperation_required_args() Assert.Equal("PostId", o.NewName); }); - [ConditionalFact] + [Fact] public void RenameColumnOperation_all_args() => Test( new RenameColumnOperation @@ -2171,7 +2171,7 @@ public void RenameColumnOperation_all_args() Assert.Equal("PostId", o.NewName); }); - [ConditionalFact] + [Fact] public void RenameIndexOperation_required_args() => Test( new RenameIndexOperation { Name = "IX_Post_Title", NewName = "IX_Post_PostTitle" }, @@ -2186,7 +2186,7 @@ public void RenameIndexOperation_required_args() Assert.Equal("IX_Post_PostTitle", o.NewName); }); - [ConditionalFact] + [Fact] public void RenameIndexOperation_all_args() => Test( new RenameIndexOperation @@ -2211,7 +2211,7 @@ public void RenameIndexOperation_all_args() Assert.Equal("IX_dbo.Post_PostTitle", o.NewName); }); - [ConditionalFact] + [Fact] public void RenameSequenceOperation_required_args() => Test( new RenameSequenceOperation { Name = "EntityFrameworkHiLoSequence" }, @@ -2221,7 +2221,7 @@ public void RenameSequenceOperation_required_args() """, o => Assert.Equal("EntityFrameworkHiLoSequence", o.Name)); - [ConditionalFact] + [Fact] public void RenameSequenceOperation_all_args() => Test( new RenameSequenceOperation @@ -2246,7 +2246,7 @@ public void RenameSequenceOperation_all_args() Assert.Equal("my", o.NewSchema); }); - [ConditionalFact] + [Fact] public void RenameTableOperation_required_args() => Test( new RenameTableOperation { Name = "Post" }, @@ -2256,7 +2256,7 @@ public void RenameTableOperation_required_args() """, o => Assert.Equal("Post", o.Name)); - [ConditionalFact] + [Fact] public void RenameTableOperation_all_args() => Test( new RenameTableOperation @@ -2281,7 +2281,7 @@ public void RenameTableOperation_all_args() Assert.Equal("my", o.NewSchema); }); - [ConditionalFact] + [Fact] public void RestartSequenceOperation_required_args() => Test( new RestartSequenceOperation { Name = "EntityFrameworkHiLoSequence", StartValue = 1 }, @@ -2296,7 +2296,7 @@ public void RestartSequenceOperation_required_args() Assert.Equal(1, o.StartValue); }); - [ConditionalFact] + [Fact] public void RestartSequenceOperation_all_args() => Test( new RestartSequenceOperation @@ -2318,14 +2318,14 @@ public void RestartSequenceOperation_all_args() Assert.Equal(1, o.StartValue); }); - [ConditionalFact] + [Fact] public void SqlOperation_required_args() => Test( new SqlOperation { Sql = "-- I <3 DDL" }, "mb.Sql(\"-- I <3 DDL\");", o => Assert.Equal("-- I <3 DDL", o.Sql)); - [ConditionalFact] + [Fact] public void SqlOperation_suppressTransaction_true() => Test( new SqlOperation @@ -2340,7 +2340,7 @@ public void SqlOperation_suppressTransaction_true() Assert.True(o.SuppressTransaction); }); - [ConditionalFact] + [Fact] public void SqlOperation_suppressTransaction_false_omits_argument() => Test( new SqlOperation { Sql = "SELECT 1" }, @@ -2382,7 +2382,7 @@ public void SqlOperation_suppressTransaction_false_omits_argument() private static readonly GeometryCollection _geometryCollection = new( [_lineString1, _lineString2, _multiPoint, _polygon1, _polygon2, _point1, _multiLineString, _multiPolygon]) { SRID = 4326 }; - [ConditionalFact] + [Fact] public void InsertDataOperation_all_args() => Test( new InsertDataOperation @@ -2436,7 +2436,7 @@ public void InsertDataOperation_all_args() Assert.Equal(_geometryCollection, o.Values[7, 2]); }); - [ConditionalFact] + [Fact] public void InsertDataOperation_required_args() => Test( new InsertDataOperation @@ -2460,7 +2460,7 @@ public void InsertDataOperation_required_args() Assert.Equal(_point1, o.Values[0, 0]); }); - [ConditionalFact] + [Fact] public void InsertDataOperation_required_empty_array() => Test( new InsertDataOperation @@ -2484,7 +2484,7 @@ public void InsertDataOperation_required_empty_array() Assert.Equal(new string[0], (string[])o.Values[0, 0]); }); - [ConditionalFact] + [Fact] public void InsertDataOperation_required_empty_array_composite() => Test( new InsertDataOperation @@ -2509,7 +2509,7 @@ public void InsertDataOperation_required_empty_array_composite() Assert.Equal(new string[0], (string[])o.Values[0, 2]); }); - [ConditionalFact] + [Fact] public void InsertDataOperation_required_args_composite() => Test( new InsertDataOperation @@ -2534,7 +2534,7 @@ public void InsertDataOperation_required_args_composite() Assert.Equal(_polygon1, o.Values[0, 2]); }); - [ConditionalFact] + [Fact] public void InsertDataOperation_required_args_multiple_rows() => Test( new InsertDataOperation @@ -2563,7 +2563,7 @@ public void InsertDataOperation_required_args_multiple_rows() Assert.Equal(_multiPoint, o.Values[1, 0]); }); - [ConditionalFact] + [Fact] public void InsertDataOperation_args_with_linebreaks() => Test( new InsertDataOperation @@ -2602,7 +2602,7 @@ public void InsertDataOperation_args_with_linebreaks() Assert.Equal("Contains a single Backslash r,\rjust in case", operation.Values[2, 1]); }); - [ConditionalFact] + [Fact] public void DeleteDataOperation_all_args() => Test( new DeleteDataOperation @@ -2638,7 +2638,7 @@ public void DeleteDataOperation_all_args() Assert.Equal("John", o.KeyValues[2, 0]); }); - [ConditionalFact] + [Fact] public void DeleteDataOperation_all_args_composite() => Test( new DeleteDataOperation @@ -2674,7 +2674,7 @@ public void DeleteDataOperation_all_args_composite() Assert.Equal("Snow", o.KeyValues[2, 1]); }); - [ConditionalFact] + [Fact] public void DeleteDataOperation_required_args() => Test( new DeleteDataOperation @@ -2698,7 +2698,7 @@ public void DeleteDataOperation_required_args() Assert.Equal("Snow", o.KeyValues[0, 0]); }); - [ConditionalFact] + [Fact] public void DeleteDataOperation_required_args_composite() => Test( new DeleteDataOperation @@ -2722,7 +2722,7 @@ public void DeleteDataOperation_required_args_composite() Assert.Equal("Snow", o.KeyValues[0, 1]); }); - [ConditionalFact] + [Fact] public void DeleteDataOperation_args_with_linebreaks() => Test( new DeleteDataOperation @@ -2758,7 +2758,7 @@ public void DeleteDataOperation_args_with_linebreaks() Assert.Equal("Contains a single Backslash r,\rjust in case", operation.KeyValues[2, 1]); }); - [ConditionalFact] + [Fact] public void UpdateDataOperation_all_args() => Test( new UpdateDataOperation @@ -2801,7 +2801,7 @@ public void UpdateDataOperation_all_args() Assert.Equal("Targaryen", o.Values[1, 1]); }); - [ConditionalFact] + [Fact] public void UpdateDataOperation_all_args_composite() => Test( new UpdateDataOperation @@ -2841,7 +2841,7 @@ public void UpdateDataOperation_all_args_composite() Assert.Equal("Targaryen", o.Values[1, 0]); }); - [ConditionalFact] + [Fact] public void UpdateDataOperation_all_args_composite_multi() => Test( new UpdateDataOperation @@ -2881,7 +2881,7 @@ public void UpdateDataOperation_all_args_composite_multi() Assert.Equal("Targaryen", o.Values[1, 1]); }); - [ConditionalFact] + [Fact] public void UpdateDataOperation_all_args_multi() => Test( new UpdateDataOperation @@ -2916,7 +2916,7 @@ public void UpdateDataOperation_all_args_multi() Assert.Equal("Targaryen", o.Values[0, 1]); }); - [ConditionalFact] + [Fact] public void UpdateDataOperation_required_args() => Test( new UpdateDataOperation @@ -2948,7 +2948,7 @@ public void UpdateDataOperation_required_args() Assert.Equal("Targaryen", o.Values[0, 0]); }); - [ConditionalFact] + [Fact] public void UpdateDataOperation_required_args_multiple_rows() => Test( new UpdateDataOperation @@ -2988,7 +2988,7 @@ public void UpdateDataOperation_required_args_multiple_rows() Assert.Equal("Targaryen", o.Values[1, 0]); }); - [ConditionalFact] + [Fact] public void UpdateDataOperation_required_args_composite() => Test( new UpdateDataOperation @@ -3020,7 +3020,7 @@ public void UpdateDataOperation_required_args_composite() Assert.Equal("Targaryen", o.Values[0, 0]); }); - [ConditionalFact] + [Fact] public void UpdateDataOperation_required_args_composite_multi() => Test( new UpdateDataOperation @@ -3052,7 +3052,7 @@ public void UpdateDataOperation_required_args_composite_multi() Assert.Equal("Targaryen", o.Values[0, 1]); }); - [ConditionalFact] + [Fact] public void UpdateDataOperation_required_args_multi() => Test( new UpdateDataOperation @@ -3084,7 +3084,7 @@ public void UpdateDataOperation_required_args_multi() Assert.Equal("Targaryen", o.Values[0, 1]); }); - [ConditionalFact] + [Fact] public void UpdateDataOperation_with_linebreaks() => Test( new UpdateDataOperation @@ -3135,7 +3135,7 @@ public void UpdateDataOperation_with_linebreaks() Assert.Equal("Contains a single Backslash r,\rjust in case", operation.Values[2, 0]); }); - [ConditionalFact] + [Fact] public void AlterTableOperation_annotation_set_to_null() { var oldTable = new CreateTableOperation { Name = "Customer", }; diff --git a/test/EFCore.Design.Tests/Migrations/Design/CSharpMigrationsGeneratorSqliteTest.cs b/test/EFCore.Design.Tests/Migrations/Design/CSharpMigrationsGeneratorSqliteTest.cs index 55cff44cfa9..ce36e1f90c8 100644 --- a/test/EFCore.Design.Tests/Migrations/Design/CSharpMigrationsGeneratorSqliteTest.cs +++ b/test/EFCore.Design.Tests/Migrations/Design/CSharpMigrationsGeneratorSqliteTest.cs @@ -42,7 +42,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) """; - [ConditionalFact] + [Fact] public void Autoincrement_annotation_is_replaced_by_extension_method_call_in_snapshot() { Test( @@ -75,7 +75,7 @@ public void Autoincrement_annotation_is_replaced_by_extension_method_call_in_sna }); } - [ConditionalFact] + [Fact] public void Autoincrement_works_with_value_converter_to_int() { Test( @@ -108,7 +108,7 @@ public void Autoincrement_works_with_value_converter_to_int() }); } - [ConditionalFact] + [Fact] public void No_autoincrement_annotation_generated_for_non_autoincrement_property() { Test( diff --git a/test/EFCore.Design.Tests/Migrations/Design/CSharpMigrationsGeneratorTest.ModelSnapshot.cs b/test/EFCore.Design.Tests/Migrations/Design/CSharpMigrationsGeneratorTest.ModelSnapshot.cs index 199d7674a66..20133cc4eea 100644 --- a/test/EFCore.Design.Tests/Migrations/Design/CSharpMigrationsGeneratorTest.ModelSnapshot.cs +++ b/test/EFCore.Design.Tests/Migrations/Design/CSharpMigrationsGeneratorTest.ModelSnapshot.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.ComponentModel.DataAnnotations; @@ -25,7 +25,7 @@ namespace Microsoft.EntityFrameworkCore.Migrations.Design; public partial class CSharpMigrationsGeneratorTest { - [ConditionalFact] + [Fact] public void Snapshots_compile() { var generator = CreateMigrationsCodeGenerator(); @@ -121,7 +121,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) Assert.Equal(2, snapshot.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Snapshot_with_migration_id() { var generator = CreateMigrationsCodeGenerator(); @@ -151,7 +151,7 @@ public void Snapshot_with_migration_id() Assert.Equal("20240101120000_InitialCreate", snapshot.LastMigrationId); } - [ConditionalFact] + [Fact] public void Snapshot_without_migration_id() { var generator = CreateMigrationsCodeGenerator(); @@ -178,7 +178,7 @@ public void Snapshot_without_migration_id() Assert.Null(snapshot.LastMigrationId); } - [ConditionalFact] + [Fact] public void Snapshot_default_values_are_round_tripped() { var generator = CreateMigrationsCodeGenerator(); @@ -691,7 +691,7 @@ public class Beak #region Model - [ConditionalFact] + [Fact] public virtual void Model_annotations_are_stored_in_snapshot() => Test( builder => builder.HasAnnotation("AnnotationName", "AnnotationValue") @@ -716,7 +716,7 @@ public virtual void Model_annotations_are_stored_in_snapshot() Assert.Equal("AnnotationValue", o["AnnotationName"]); }); - [ConditionalFact] + [Fact] public virtual void Model_Fluent_APIs_are_properly_generated() => Test( builder => @@ -757,7 +757,7 @@ public virtual void Model_Fluent_APIs_are_properly_generated() Microsoft.EntityFrameworkCore.SqlServerPropertyExtensions.GetValueGenerationStrategy(o.GetEntityTypes().Single().GetProperty("Id"))); }); - [ConditionalFact] + [Fact] public virtual void Model_fluent_APIs_for_sequence_key_are_properly_generated() => Test( builder => @@ -798,7 +798,7 @@ public virtual void Model_fluent_APIs_for_sequence_key_are_properly_generated() Microsoft.EntityFrameworkCore.SqlServerPropertyExtensions.GetValueGenerationStrategy(o.GetEntityTypes().Single().GetProperty("Id"))); }); - [ConditionalFact] + [Fact] public virtual void Model_default_schema_annotation_is_stored_in_snapshot_as_fluent_api() => Test( builder => @@ -822,7 +822,7 @@ public virtual void Model_default_schema_annotation_is_stored_in_snapshot_as_flu Assert.Equal("DefaultSchema", o[RelationalAnnotationNames.DefaultSchema]); }); - [ConditionalFact] + [Fact] public virtual void Entities_are_stored_in_model_snapshot() => Test( builder => @@ -873,7 +873,7 @@ public virtual void Entities_are_stored_in_model_snapshot() "Microsoft.EntityFrameworkCore.Migrations.Design.CSharpMigrationsGeneratorTest+EntityWithTwoProperties", t.Name)); }); - [ConditionalFact] + [Fact] public virtual void Entities_are_stored_in_model_snapshot_for_TPT() => Test( builder => @@ -948,7 +948,7 @@ public virtual void Entities_are_stored_in_model_snapshot_for_TPT() Assert.Equal("foo", derived.GetSchema()); }); - [ConditionalFact] + [Fact] public virtual void Entities_are_stored_in_model_snapshot_for_TPT_with_one_excluded() => Test( builder => @@ -1011,7 +1011,7 @@ public virtual void Entities_are_stored_in_model_snapshot_for_TPT_with_one_exclu .GetTableName()); }); - [ConditionalFact] + [Fact] public void Views_are_stored_in_the_model_snapshot() => Test( builder => builder.Entity().Ignore(e => e.EntityWithTwoProperties).ToView("EntityWithOneProperty"), @@ -1032,7 +1032,7 @@ public void Views_are_stored_in_the_model_snapshot() """), o => Assert.Equal("EntityWithOneProperty", o.GetEntityTypes().Single().GetViewName())); - [ConditionalFact] + [Fact] public void Views_with_schemas_are_stored_in_the_model_snapshot() => Test( builder => builder.Entity() @@ -1059,7 +1059,7 @@ public void Views_with_schemas_are_stored_in_the_model_snapshot() Assert.Equal("ViewSchema", o.GetEntityTypes().Single().GetViewSchema()); }); - [ConditionalFact] + [Fact] public virtual void Entities_are_stored_in_model_snapshot_for_TPC() => Test( builder => @@ -1132,7 +1132,7 @@ public virtual void Entities_are_stored_in_model_snapshot_for_TPC() Assert.Equal("DerivedView", derived.GetViewName()); }); - [ConditionalFact] // Issue #30058 + [Fact] // Issue #30058 public virtual void Non_base_abstract_base_class_with_TPC() => Test( builder => @@ -1304,7 +1304,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) Assert.Null(humanPetType.GetViewName()); }); - [ConditionalFact] // Issue #33605 + [Fact] // Issue #33605 public virtual void Abstract_base_class_with_TPT() => Test( builder => @@ -1402,7 +1402,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) Assert.Null(dogType.GetViewName()); }); - [ConditionalFact] + [Fact] public virtual void Entity_splitting_is_stored_in_snapshot_with_tables() => Test( builder => @@ -1693,7 +1693,7 @@ public virtual void Entity_splitting_is_stored_in_snapshot_with_tables() Assert.Equal(["OrderId", "ShippingShadow", "StreetAddress_City"], shippingTable.Columns.Select(c => c.Name)); }); - [ConditionalFact] + [Fact] public virtual void Entity_splitting_is_stored_in_snapshot_with_views() => Test( builder => @@ -1815,7 +1815,7 @@ public virtual void Entity_splitting_is_stored_in_snapshot_with_views() Assert.Equal(["Id", "Shadow", "SomeOtherId"], splitView.Columns.Select(c => c.Name)); }); - [ConditionalFact] + [Fact] public void Unmapped_entity_types_are_stored_in_the_model_snapshot() => Test( builder => @@ -1856,7 +1856,7 @@ private class TestKeylessType private static IQueryable GetCountByYear(int id) => throw new NotImplementedException(); - [ConditionalFact] + [Fact] public void TVF_types_are_stored_in_the_model_snapshot() => Test( builder => @@ -1886,7 +1886,7 @@ public void TVF_types_are_stored_in_the_model_snapshot() Assert.Null(entityType.GetTableName()); }); - [ConditionalFact] + [Fact] public void Entity_types_mapped_to_functions_are_stored_in_the_model_snapshot() => Test( builder => @@ -1910,7 +1910,7 @@ public void Entity_types_mapped_to_functions_are_stored_in_the_model_snapshot() """), o => Assert.Equal("GetCount", o.GetEntityTypes().Single().GetFunctionName())); - [ConditionalFact] + [Fact] public void Entity_types_mapped_to_queries_are_stored_in_the_model_snapshot() => Test( builder => builder.Entity().Ignore(e => e.EntityWithTwoProperties).ToSqlQuery("query"), @@ -1931,7 +1931,7 @@ public void Entity_types_mapped_to_queries_are_stored_in_the_model_snapshot() """), o => Assert.Equal("query", o.GetEntityTypes().Single().GetSqlQuery())); - [ConditionalFact] + [Fact] public virtual void Sequence_is_stored_in_snapshot_as_fluent_api() => Test( builder => @@ -1968,7 +1968,7 @@ public virtual void Sequence_is_stored_in_snapshot_as_fluent_api() Assert.Equal("bar", sequence["foo"]); }); - [ConditionalFact] + [Fact] public virtual void HiLoSequence_with_default_model_schema() => Test( modelBuilder => modelBuilder @@ -2006,7 +2006,7 @@ public virtual void HiLoSequence_with_default_model_schema() Assert.Equal("dbo", sequence.Schema); }); - [ConditionalFact] + [Fact] public virtual void CheckConstraint_is_stored_in_snapshot_as_fluent_api() => Test( builder => @@ -2048,7 +2048,7 @@ public virtual void CheckConstraint_is_stored_in_snapshot_as_fluent_api() Assert.Equal("bar", constraint["foo"]); }); - [ConditionalFact] + [Fact] public virtual void CheckConstraint_is_only_stored_in_snapshot_once_for_TPH() => Test( builder => @@ -2103,7 +2103,7 @@ public virtual void CheckConstraint_is_only_stored_in_snapshot_once_for_TPH() Assert.Equal("CK_BaseEntity_AlternateId", constraint.Name); }); - [ConditionalFact] + [Fact] public virtual void Trigger_is_stored_in_snapshot() => Test( builder => @@ -2142,7 +2142,7 @@ public virtual void Trigger_is_stored_in_snapshot() Assert.Equal("SomeTrg", trigger.GetDatabaseName()); }); - [ConditionalFact] + [Fact] public virtual void Triggers_and_ExcludeFromMigrations_are_stored_in_snapshot() => Test( builder => @@ -2193,7 +2193,7 @@ public virtual void Triggers_and_ExcludeFromMigrations_are_stored_in_snapshot() t => Assert.Equal("SomeTrigger2", t.GetDatabaseName())); }); - [ConditionalFact] + [Fact] public virtual void ProductVersion_is_stored_in_snapshot() { var modelBuilder = CreateConventionalModelBuilder(); @@ -2205,7 +2205,7 @@ public virtual void ProductVersion_is_stored_in_snapshot() Assert.Equal(ProductInfo.GetVersion(), modelFromSnapshot.GetProductVersion()); } - [ConditionalFact] + [Fact] public virtual void Model_use_identity_columns() => Test( builder => builder.UseIdentityColumns(), @@ -2225,7 +2225,7 @@ public virtual void Model_use_identity_columns() Assert.Equal(1, o.GetIdentityIncrement()); }); - [ConditionalFact] + [Fact] public virtual void Model_use_identity_columns_custom_seed() => Test( builder => builder.UseIdentityColumns(5), @@ -2245,7 +2245,7 @@ public virtual void Model_use_identity_columns_custom_seed() Assert.Equal(1, o.GetIdentityIncrement()); }); - [ConditionalFact] + [Fact] public virtual void Model_use_identity_columns_custom_increment() => Test( builder => builder.UseIdentityColumns(increment: 5), @@ -2265,7 +2265,7 @@ public virtual void Model_use_identity_columns_custom_increment() Assert.Equal(5, o.GetIdentityIncrement()); }); - [ConditionalFact] + [Fact] public virtual void Model_use_identity_columns_custom_seed_increment() => Test( builder => @@ -2319,7 +2319,7 @@ public virtual void Model_use_identity_columns_custom_seed_increment() #region EntityType - [ConditionalFact] + [Fact] public virtual void EntityType_annotations_are_stored_in_snapshot() => Test( builder => @@ -2351,7 +2351,7 @@ public virtual void EntityType_annotations_are_stored_in_snapshot() Assert.Equal("AnnotationValue", o.GetEntityTypes().First()["AnnotationName"]); }); - [ConditionalFact] + [Fact] public virtual void EntityType_Fluent_APIs_are_properly_generated() => Test( builder => @@ -2381,7 +2381,7 @@ public virtual void EntityType_Fluent_APIs_are_properly_generated() """), o => Assert.True(o.GetEntityTypes().Single().IsMemoryOptimized())); - [ConditionalFact] + [Fact] public virtual void BaseType_is_stored_in_snapshot() => Test( builder => @@ -2446,7 +2446,7 @@ public virtual void BaseType_is_stored_in_snapshot() ); }); - [ConditionalFact] + [Fact] public virtual void Discriminator_annotations_are_stored_in_snapshot() => Test( builder => @@ -2515,7 +2515,7 @@ public virtual void Discriminator_annotations_are_stored_in_snapshot() Assert.Equal("DerivedEntity", o.FindEntityType(typeof(DerivedEntity))[CoreAnnotationNames.DiscriminatorValue]); }); - [ConditionalFact] + [Fact] public virtual void Converted_discriminator_annotations_are_stored_in_snapshot() => Test( builder => @@ -2604,7 +2604,7 @@ public virtual void Converted_discriminator_annotations_are_stored_in_snapshot() o.FindEntityType(typeof(DerivedEntityWithStructDiscriminator))[CoreAnnotationNames.DiscriminatorValue]); }); - [ConditionalFact] + [Fact] public virtual void Properties_are_stored_in_snapshot() => Test( builder => @@ -2641,7 +2641,7 @@ public virtual void Properties_are_stored_in_snapshot() ); }); - [ConditionalFact] + [Fact] public virtual void Primary_key_is_stored_in_snapshot() => Test( builder => @@ -2675,7 +2675,7 @@ public virtual void Primary_key_is_stored_in_snapshot() ); }); - [ConditionalFact] + [Fact] public void HasNoKey_is_handled() => Test( builder => builder.Entity().Ignore(e => e.EntityWithTwoProperties).HasNoKey(), @@ -2698,7 +2698,7 @@ public void HasNoKey_is_handled() Assert.Null(entityType.FindPrimaryKey()); }); - [ConditionalFact] + [Fact] public virtual void Alternate_keys_are_stored_in_snapshot() => Test( builder => @@ -2736,7 +2736,7 @@ public virtual void Alternate_keys_are_stored_in_snapshot() ); }); - [ConditionalFact] + [Fact] public virtual void Indexes_are_stored_in_snapshot() => Test( builder => @@ -2771,7 +2771,7 @@ public virtual void Indexes_are_stored_in_snapshot() Assert.Equal("AlternateId", o.GetEntityTypes().First().GetIndexes().First().Properties[0].Name); }); - [ConditionalFact] + [Fact] public virtual void Indexes_are_stored_in_snapshot_including_composite_index() => Test( builder => @@ -2809,7 +2809,7 @@ public virtual void Indexes_are_stored_in_snapshot_including_composite_index() t => Assert.Equal("AlternateId", t.Name)); }); - [ConditionalFact] + [Fact] public virtual void Foreign_keys_are_stored_in_snapshot() => Test( builder => @@ -2879,7 +2879,7 @@ public virtual void Foreign_keys_are_stored_in_snapshot() Assert.Equal("EntityWithOneProperty", foreignKey.DependentToPrincipal.Name); }); - [ConditionalFact] + [Fact] public virtual void Many_to_many_join_table_stored_in_snapshot() => Test( builder => @@ -3028,7 +3028,7 @@ public virtual void Many_to_many_join_table_stored_in_snapshot() Assert.Equal("schema", joinEntity.GetSchema()); }); - [ConditionalFact] + [Fact] public virtual void Can_override_table_name_for_many_to_many_join_table_stored_in_snapshot() => Test( builder => @@ -3173,7 +3173,7 @@ public virtual void Can_override_table_name_for_many_to_many_join_table_stored_i }); }); - [ConditionalFact] + [Fact] public virtual void TableName_preserved_when_generic() { IReadOnlyModel originalModel = null; @@ -3209,7 +3209,7 @@ public virtual void TableName_preserved_when_generic() }); } - [ConditionalFact] + [Fact] public virtual void Shared_columns_are_stored_in_the_snapshot() => Test( builder => @@ -3286,7 +3286,7 @@ public virtual void Shared_columns_are_stored_in_the_snapshot() Assert.Equal(ValueGenerated.OnUpdateSometimes, entityType.FindProperty("AlternateId").ValueGenerated); }); - [ConditionalFact] + [Fact] public virtual void PrimaryKey_name_preserved_when_generic() { IReadOnlyModel originalModel = null; @@ -3325,7 +3325,7 @@ public virtual void PrimaryKey_name_preserved_when_generic() }); } - [ConditionalFact] + [Fact] public virtual void AlternateKey_name_preserved_when_generic() { IReadOnlyModel originalModel = null; @@ -3371,7 +3371,7 @@ public virtual void AlternateKey_name_preserved_when_generic() }); } - [ConditionalFact] + [Fact] public virtual void Discriminator_of_enum() => Test( builder => builder.Entity().HasDiscriminator(e => e.Day), @@ -3398,7 +3398,7 @@ public virtual void Discriminator_of_enum() """), model => Assert.Equal(typeof(long), model.GetEntityTypes().First().FindDiscriminatorProperty().ClrType)); - [ConditionalFact] + [Fact] public virtual void Discriminator_of_enum_to_string() => Test( builder => builder.Entity(x => @@ -3435,7 +3435,7 @@ public virtual void Discriminator_of_enum_to_string() Assert.False(discriminatorProperty.IsNullable); }); - [ConditionalFact] + [Fact] public virtual void Discriminator_with_non_string_default_name_is_stored_in_snapshot() => Test( builder => @@ -3484,7 +3484,7 @@ public virtual void Discriminator_with_non_string_default_name_is_stored_in_snap Assert.Equal("Discriminator", discriminatorProperty.Name); }); - [ConditionalFact] + [Fact] public virtual void Temporal_table_information_is_stored_in_snapshot() => Test( builder => builder.Entity().ToTable(tb => tb.IsTemporal(ttb => @@ -3551,7 +3551,7 @@ public virtual void Temporal_table_information_is_stored_in_snapshot() annotations, a => a.Name == SqlServerAnnotationNames.TemporalPeriodEndPropertyName && a.Value as string == "End"); }); - [ConditionalFact] + [Fact] public virtual void Temporal_table_information_is_stored_in_snapshot_minimal_setup() => Test( builder => builder.Entity().ToTable(tb => tb.IsTemporal()), @@ -3615,7 +3615,7 @@ public virtual void Temporal_table_information_is_stored_in_snapshot_minimal_set #region Owned types - [ConditionalFact] + [Fact] public virtual void Owned_types_are_stored_in_snapshot() => Test( builder => @@ -3834,7 +3834,7 @@ public virtual void Owned_types_are_stored_in_snapshot() Assert.Same(entityWithOneProperty, ownedType2.GetNavigations().Single().TargetEntityType); }); - [ConditionalFact] + [Fact] public virtual void Owned_types_are_stored_in_snapshot_when_excluded() => Test( builder => @@ -4067,7 +4067,7 @@ public virtual void Owned_types_are_stored_in_snapshot_when_excluded() Assert.Same(entityWithOneProperty, ownedType2.GetNavigations().Single().TargetEntityType); }); - [ConditionalFact] + [Fact] public virtual void Shared_owned_types_are_stored_in_snapshot() => Test( builder => @@ -4222,7 +4222,7 @@ public virtual void Shared_owned_types_are_stored_in_snapshot() Assert.Equal(2, orderShippingDetailsAddress.PropertyCount); }); - [ConditionalFact] + [Fact] public virtual void Owned_types_can_be_mapped_to_view() => Test( modelBuilder => @@ -4308,7 +4308,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) Assert.Equal("OwnedView", testOwnee.GetViewName()); }); - [ConditionalFact] + [Fact] public virtual void Snapshot_with_OwnedNavigationBuilder_HasCheckConstraint_compiles() => Test( modelBuilder => @@ -4400,7 +4400,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) }); #pragma warning disable EF8001 // Owned JSON entities are obsolete - [ConditionalFact] + [Fact] public virtual void Owned_types_mapped_to_json_are_stored_in_snapshot() => Test( builder => @@ -4564,7 +4564,7 @@ public virtual void Owned_types_mapped_to_json_are_stored_in_snapshot() Assert.Equal("Name", ownedProperties3[3].Name); }); - [ConditionalFact] + [Fact] public virtual void Owned_types_mapped_to_json_with_explicit_column_type_are_stored_in_snapshot() => Test( builder => @@ -4667,7 +4667,7 @@ private class StreetAddress #region Property - [ConditionalFact] + [Fact] public virtual void Property_annotations_are_stored_in_snapshot() => Test( builder => @@ -4698,7 +4698,7 @@ public virtual void Property_annotations_are_stored_in_snapshot() o => Assert.Equal("AnnotationValue", o.GetEntityTypes().First().FindProperty("Id")["AnnotationName"]) ); - [ConditionalFact] + [Fact] public virtual void Custom_value_generator_is_ignored_in_snapshot() => Test( builder => @@ -4725,7 +4725,7 @@ public virtual void Custom_value_generator_is_ignored_in_snapshot() o => Assert.Null(o.GetEntityTypes().First().FindProperty("Id")[CoreAnnotationNames.ValueGeneratorFactory]) ); - [ConditionalFact] + [Fact] public virtual void Property_isNullable_is_stored_in_snapshot() => Test( builder => builder.Entity().Property("Name").IsRequired(), @@ -4751,7 +4751,7 @@ public virtual void Property_isNullable_is_stored_in_snapshot() """), o => Assert.False(o.GetEntityTypes().First().FindProperty("Name").IsNullable)); - [ConditionalFact] + [Fact] public virtual void Property_ValueGenerated_value_is_stored_in_snapshot() => Test( builder => @@ -4782,7 +4782,7 @@ public virtual void Property_ValueGenerated_value_is_stored_in_snapshot() """, usingSystem: true), o => Assert.Equal(ValueGenerated.OnAdd, o.GetEntityTypes().First().FindProperty("AlternateId").ValueGenerated)); - [ConditionalFact] + [Fact] public virtual void Property_ValueGenerated_non_identity() => Test( modelBuilder => modelBuilder.Entity(x => @@ -4821,7 +4821,7 @@ public virtual void Property_ValueGenerated_non_identity() Assert.Equal(SqlServerValueGenerationStrategy.None, Microsoft.EntityFrameworkCore.SqlServerPropertyExtensions.GetValueGenerationStrategy(day)); }); - [ConditionalFact] + [Fact] public virtual void Property_maxLength_is_stored_in_snapshot() => Test( builder => builder.Entity().Property("Name").HasMaxLength(100), @@ -4847,7 +4847,7 @@ public virtual void Property_maxLength_is_stored_in_snapshot() """), o => Assert.Equal(100, o.GetEntityTypes().First().FindProperty("Name").GetMaxLength())); - [ConditionalFact] + [Fact] public virtual void Property_maximum_maxLength_is_stored_in_snapshot() => Test( builder => builder.Entity().Property("Name").HasMaxLength(-1), @@ -4873,7 +4873,7 @@ public virtual void Property_maximum_maxLength_is_stored_in_snapshot() """), o => Assert.Equal(-1, o.GetEntityTypes().First().FindProperty("Name").GetMaxLength())); - [ConditionalFact] + [Fact] public virtual void Property_unicodeness_is_stored_in_snapshot() => Test( builder => builder.Entity().Property("Name").IsUnicode(false), @@ -4899,7 +4899,7 @@ public virtual void Property_unicodeness_is_stored_in_snapshot() """), o => Assert.False(o.GetEntityTypes().First().FindProperty("Name").IsUnicode())); - [ConditionalFact] + [Fact] public virtual void Property_fixedlengthness_is_stored_in_snapshot() => Test( builder => builder.Entity().Property("Name").IsFixedLength().HasMaxLength(100), @@ -4926,7 +4926,7 @@ public virtual void Property_fixedlengthness_is_stored_in_snapshot() """), o => Assert.True(o.GetEntityTypes().First().FindProperty("Name").IsFixedLength())); - [ConditionalFact] + [Fact] public virtual void Property_precision_is_stored_in_snapshot() => Test( builder => builder @@ -4960,7 +4960,7 @@ public virtual void Property_precision_is_stored_in_snapshot() Assert.Null(property.GetScale()); }); - [ConditionalFact] + [Fact] public virtual void Property_precision_and_scale_is_stored_in_snapshot() => Test( builder => builder @@ -4994,7 +4994,7 @@ public virtual void Property_precision_and_scale_is_stored_in_snapshot() Assert.Equal(3, property.GetScale()); }); - [ConditionalFact] + [Fact] public virtual void Many_facets_chained_in_snapshot() => Test( builder => @@ -5035,7 +5035,7 @@ public virtual void Many_facets_chained_in_snapshot() Assert.Equal("AnnotationValue", property["AnnotationName"]); }); - [ConditionalFact] + [Fact] public virtual void Property_concurrencyToken_is_stored_in_snapshot() => Test( builder => @@ -5065,7 +5065,7 @@ public virtual void Property_concurrencyToken_is_stored_in_snapshot() """), o => Assert.True(o.GetEntityTypes().First().FindProperty("AlternateId").IsConcurrencyToken)); - [ConditionalFact] + [Fact] public virtual void Property_column_name_annotation_is_stored_in_snapshot_as_fluent_api() => Test( builder => @@ -5095,7 +5095,7 @@ public virtual void Property_column_name_annotation_is_stored_in_snapshot_as_flu """), o => Assert.Equal("CName", o.GetEntityTypes().First().FindProperty("AlternateId")["Relational:ColumnName"])); - [ConditionalFact] + [Fact] public virtual void Property_column_name_is_stored_in_snapshot_when_DefaultColumnName_uses_clr_type() => Test( modelBuilder => modelBuilder @@ -5194,7 +5194,7 @@ public virtual void Property_column_name_is_stored_in_snapshot_when_DefaultColum }); }); - [ConditionalFact] + [Fact] public virtual void Generic_entity_type_with_owned_entities() => Test( modelBuilder => modelBuilder.Entity>().OwnsOne(e => e.Child), @@ -5254,7 +5254,7 @@ public virtual void Generic_entity_type_with_owned_entities() Assert.Equal(["Id", "Child_Name", "Name"], table.Columns.Select(t => t.Name)); }); - [ConditionalFact] + [Fact] public virtual void Non_generic_entity_type_with_owned_entities() => Test( modelBuilder => modelBuilder.Entity().OwnsOne(e => e.Child), @@ -5314,7 +5314,7 @@ public virtual void Non_generic_entity_type_with_owned_entities() Assert.Equal(["Id", "Child_Name", "Name"], table.Columns.Select(t => t.Name)); }); - [ConditionalFact] + [Fact] public virtual void Property_column_name_on_specific_table_is_stored_in_snapshot_as_fluent_api() => Test( builder => @@ -5393,7 +5393,7 @@ public virtual void Property_column_name_on_specific_table_is_stored_in_snapshot ); }); - [ConditionalFact] + [Fact] public virtual void Property_column_type_annotation_is_stored_in_snapshot_as_fluent_api() => Test( builder => @@ -5422,7 +5422,7 @@ public virtual void Property_column_type_annotation_is_stored_in_snapshot_as_flu """), o => Assert.Equal("CType", o.GetEntityTypes().First().FindProperty("AlternateId")["Relational:ColumnType"])); - [ConditionalFact] + [Fact] public virtual void Property_default_value_annotation_is_stored_in_snapshot_as_fluent_api() => Test( builder => @@ -5453,7 +5453,7 @@ public virtual void Property_default_value_annotation_is_stored_in_snapshot_as_f """), o => Assert.Equal(1, o.GetEntityTypes().First().FindProperty("AlternateId")["Relational:DefaultValue"])); - [ConditionalFact] + [Fact] public virtual void Property_default_value_annotation_is_stored_in_snapshot_as_fluent_api_unspecified() => Test( builder => @@ -5485,7 +5485,7 @@ public virtual void Property_default_value_annotation_is_stored_in_snapshot_as_f usingSystem: true), o => Assert.Equal(DBNull.Value, o.GetEntityTypes().First().FindProperty("AlternateId")["Relational:DefaultValue"])); - [ConditionalFact] + [Fact] public virtual void Property_default_value_sql_annotation_is_stored_in_snapshot_as_fluent_api_unspecified() => Test( builder => @@ -5516,7 +5516,7 @@ public virtual void Property_default_value_sql_annotation_is_stored_in_snapshot_ """), o => Assert.Equal(string.Empty, o.GetEntityTypes().First().FindProperty("AlternateId")["Relational:DefaultValueSql"])); - [ConditionalFact] + [Fact] public virtual void Property_default_value_sql_annotation_is_stored_in_snapshot_as_fluent_api() => Test( builder => @@ -5547,7 +5547,7 @@ public virtual void Property_default_value_sql_annotation_is_stored_in_snapshot_ """), o => Assert.Equal("SQL", o.GetEntityTypes().First().FindProperty("AlternateId")["Relational:DefaultValueSql"])); - [ConditionalFact] + [Fact] public virtual void Property_computed_column_sql_annotation_is_stored_in_snapshot_as_fluent_api() => Test( builder => @@ -5578,7 +5578,7 @@ public virtual void Property_computed_column_sql_annotation_is_stored_in_snapsho """), o => Assert.Equal("SQL", o.GetEntityTypes().First().FindProperty("AlternateId")["Relational:ComputedColumnSql"])); - [ConditionalFact] + [Fact] public virtual void Property_computed_column_sql_stored_annotation_is_stored_in_snapshot_as_fluent_api() => Test( builder => @@ -5613,7 +5613,7 @@ public virtual void Property_computed_column_sql_stored_annotation_is_stored_in_ Assert.Equal(true, o.GetEntityTypes().First().FindProperty("AlternateId")["Relational:IsStored"]); }); - [ConditionalFact] + [Fact] public virtual void Property_computed_column_sql_annotation_is_stored_in_snapshot_as_fluent_api_unspecified() => Test( builder => @@ -5644,7 +5644,7 @@ public virtual void Property_computed_column_sql_annotation_is_stored_in_snapsho """), o => Assert.Equal(string.Empty, o.GetEntityTypes().First().FindProperty("AlternateId")["Relational:ComputedColumnSql"])); - [ConditionalFact] + [Fact] public virtual void Property_default_value_of_enum_type_is_stored_in_snapshot_without_actual_enum() => Test( builder => builder.Entity().Property(e => e.Day).HasDefaultValue(Days.Wed), @@ -5671,7 +5671,7 @@ public virtual void Property_default_value_of_enum_type_is_stored_in_snapshot_wi """), o => Assert.Equal(3L, o.GetEntityTypes().First().FindProperty("Day")["Relational:DefaultValue"])); - [ConditionalFact] + [Fact] public virtual void Property_enum_type_is_stored_in_snapshot_with_custom_conversion_and_seed_data() => Test( builder => builder.Entity(eb => @@ -5718,7 +5718,7 @@ public virtual void Property_enum_type_is_stored_in_snapshot_with_custom_convers Assert.False(property.IsNullable); }); - [ConditionalFact] + [Fact] public virtual void Property_of_nullable_enum() => Test( builder => builder.Entity().Property(e => e.Day) @@ -5744,7 +5744,7 @@ public virtual void Property_of_nullable_enum() """), o => Assert.True(o.GetEntityTypes().First().FindProperty("Day").IsNullable)); - [ConditionalFact] + [Fact] public virtual void Property_of_enum_to_nullable() => Test( builder => builder.Entity().Property(e => e.Day) @@ -5770,7 +5770,7 @@ public virtual void Property_of_enum_to_nullable() """), o => Assert.False(o.GetEntityTypes().First().FindProperty("Day").IsNullable)); - [ConditionalFact] + [Fact] public virtual void Property_of_nullable_enum_to_string() => Test( builder => builder.Entity().Property(e => e.Day).HasConversion(), @@ -5795,7 +5795,7 @@ public virtual void Property_of_nullable_enum_to_string() """), o => Assert.True(o.GetEntityTypes().First().FindProperty("Day").IsNullable)); - [ConditionalFact] + [Fact] public virtual void Property_multiple_annotations_are_stored_in_snapshot() => Test( builder => @@ -5834,7 +5834,7 @@ public virtual void Property_multiple_annotations_are_stored_in_snapshot() Assert.Equal("int", property["Relational:ColumnType"]); }); - [ConditionalFact] + [Fact] public virtual void Property_without_column_type() => Test( builder => @@ -5877,7 +5877,7 @@ public virtual void Property_without_column_type() Assert.Equal("int", property.GetColumnType()); }); - [ConditionalFact] + [Fact] public virtual void Property_with_identity_column() => Test( builder => @@ -5916,7 +5916,7 @@ public virtual void Property_with_identity_column() Assert.Equal(1, property.GetIdentityIncrement()); }); - [ConditionalFact] + [Fact] public virtual void Property_with_identity_column_custom_seed() => Test( builder => @@ -5955,7 +5955,7 @@ public virtual void Property_with_identity_column_custom_seed() Assert.Equal(1, property.GetIdentityIncrement()); }); - [ConditionalFact] + [Fact] public virtual void Property_with_identity_column_custom_increment() => Test( builder => @@ -5994,7 +5994,7 @@ public virtual void Property_with_identity_column_custom_increment() Assert.Equal(5, property.GetIdentityIncrement()); }); - [ConditionalFact] + [Fact] public virtual void Property_with_identity_column_custom_seed_increment() => Test( builder => @@ -6033,7 +6033,7 @@ public virtual void Property_with_identity_column_custom_seed_increment() Assert.Equal(5, property.GetIdentityIncrement()); }); - [ConditionalFact] + [Fact] public virtual void Property_column_order_annotation_is_stored_in_snapshot_as_fluent_api() => Test( builder => @@ -6063,7 +6063,7 @@ public virtual void Property_column_order_annotation_is_stored_in_snapshot_as_fl """), o => Assert.Equal(1, o.GetEntityTypes().First().FindProperty("AlternateId").GetColumnOrder())); - [ConditionalFact] + [Fact] public virtual void SQLServer_model_legacy_identity_seed_int_annotation() => Test( builder => builder.HasAnnotation(SqlServerAnnotationNames.IdentitySeed, 8), @@ -6077,7 +6077,7 @@ public virtual void SQLServer_model_legacy_identity_seed_int_annotation() """), o => Assert.Equal(8L, o.GetIdentitySeed())); - [ConditionalFact] + [Fact] public virtual void SQLServer_property_legacy_identity_seed_int_annotation() => Test( builder => @@ -6111,7 +6111,7 @@ public virtual void SQLServer_property_legacy_identity_seed_int_annotation() #region Primitive collection - [ConditionalFact] + [Fact] public virtual void PrimitiveCollection_is_stored_in_snapshot() => Test( builder => @@ -6178,7 +6178,7 @@ public virtual void PrimitiveCollection_is_stored_in_snapshot() #region Complex types - [ConditionalFact] + [Fact] public virtual void Complex_properties_are_stored_in_snapshot() => Test( builder => @@ -6327,7 +6327,7 @@ public readonly struct Coordinates(decimal latitude, decimal longitude) public decimal Longitude { get; } = longitude; } - [ConditionalFact] + [Fact] public virtual void Complex_types_mapped_to_json_are_stored_in_snapshot() => Test( builder => @@ -6446,7 +6446,7 @@ public virtual void Complex_types_mapped_to_json_are_stored_in_snapshot() Assert.Equal(typeof(List>), propertiesComplexCollection.ClrType); }); - [ConditionalFact] + [Fact] public virtual void Complex_types_mapped_to_json_with_explicit_column_type_are_stored_in_snapshot() => Test( builder => @@ -6565,7 +6565,7 @@ public virtual void Complex_types_mapped_to_json_with_explicit_column_type_are_s Assert.Equal(typeof(List>), propertiesComplexCollection.ClrType); }); - [ConditionalFact] + [Fact] public virtual void Complex_collection_property_annotations_not_supported_by_builder_are_ignored_in_snapshot() => Test( builder => @@ -6664,7 +6664,7 @@ public virtual void Complex_collection_property_annotations_not_supported_by_bui #region HasKey - [ConditionalFact] + [Fact] public virtual void Key_annotations_are_stored_in_snapshot() => Test( builder => @@ -6698,7 +6698,7 @@ public virtual void Key_annotations_are_stored_in_snapshot() o => Assert.Equal( "AnnotationValue", o.GetEntityTypes().First().GetKeys().Where(k => !k.IsPrimaryKey()).First()["AnnotationName"])); - [ConditionalFact] + [Fact] public virtual void Key_Fluent_APIs_are_properly_generated() => Test( builder => @@ -6726,7 +6726,7 @@ public virtual void Key_Fluent_APIs_are_properly_generated() """), o => Assert.True(o.GetEntityTypes().First().GetKeys().Single(k => k.IsPrimaryKey()).IsClustered())); - [ConditionalFact] + [Fact] public virtual void Key_name_annotation_is_stored_in_snapshot_as_fluent_api() => Test( builder => @@ -6759,7 +6759,7 @@ public virtual void Key_name_annotation_is_stored_in_snapshot_as_fluent_api() o => Assert.Equal( "KeyName", o.GetEntityTypes().First().GetKeys().Where(k => !k.IsPrimaryKey()).First()["Relational:Name"])); - [ConditionalFact] + [Fact] public virtual void Key_multiple_annotations_are_stored_in_snapshot() => Test( builder => @@ -6799,7 +6799,7 @@ public virtual void Key_multiple_annotations_are_stored_in_snapshot() Assert.Equal("IndexName", key["Relational:Name"]); }); - [ConditionalFact] + [Fact] public virtual void Key_fill_factor_is_stored_in_snapshot() => Test( builder => @@ -6827,7 +6827,7 @@ public virtual void Key_fill_factor_is_stored_in_snapshot() """), o => Assert.Equal(90, o.GetEntityTypes().First().GetKeys().Single(k => k.IsPrimaryKey()).GetFillFactor())); - [ConditionalFact] + [Fact] public virtual void Unique_constraint_fill_factor_is_stored_in_snapshot() => Test( builder => @@ -6869,7 +6869,7 @@ public virtual void Unique_constraint_fill_factor_is_stored_in_snapshot() #region Index - [ConditionalFact] + [Fact] public virtual void Index_annotations_are_stored_in_snapshot() => Test( builder => @@ -6902,7 +6902,7 @@ public virtual void Index_annotations_are_stored_in_snapshot() """), o => Assert.Equal("AnnotationValue", o.GetEntityTypes().First().GetIndexes().First()["AnnotationName"])); - [ConditionalFact] + [Fact] public virtual void Index_Fluent_APIs_are_properly_generated() => Test( builder => @@ -6935,7 +6935,7 @@ public virtual void Index_Fluent_APIs_are_properly_generated() """), o => Assert.True(o.GetEntityTypes().Single().GetIndexes().Single().IsClustered())); - [ConditionalFact] + [Fact] public virtual void Index_IsUnique_is_stored_in_snapshot() => Test( builder => @@ -6967,7 +6967,7 @@ public virtual void Index_IsUnique_is_stored_in_snapshot() """), o => Assert.True(o.GetEntityTypes().First().GetIndexes().First().IsUnique)); - [ConditionalFact] + [Fact] public virtual void Index_IsDescending_is_stored_in_snapshot() => Test( builder => @@ -7074,7 +7074,7 @@ public virtual void Index_IsDescending_is_stored_in_snapshot() Assert.Equal([false, true, false], mixedIndex.IsDescending); }); - [ConditionalFact] + [Fact] public virtual void Index_database_name_annotation_is_stored_in_snapshot_as_fluent_api() => Test( builder => @@ -7113,7 +7113,7 @@ public virtual void Index_database_name_annotation_is_stored_in_snapshot_as_flue Assert.Equal("IndexName", index.GetDatabaseName()); }); - [ConditionalFact] + [Fact] public virtual void Index_filter_is_stored_in_snapshot() => Test( builder => @@ -7148,7 +7148,7 @@ public virtual void Index_filter_is_stored_in_snapshot() "AlternateId <> 0", o.GetEntityTypes().First().GetIndexes().First().GetFilter())); - [ConditionalFact] + [Fact] public virtual void Index_multiple_annotations_are_stored_in_snapshot() => Test( builder => @@ -7188,7 +7188,7 @@ public virtual void Index_multiple_annotations_are_stored_in_snapshot() Assert.Null(index["RelationalAnnotationNames.Name"]); }); - [ConditionalFact] + [Fact] public virtual void Index_with_default_constraint_name_exceeding_max() => Test( builder => builder.Entity(x => @@ -7224,7 +7224,7 @@ public virtual void Index_with_default_constraint_name_exceeding_max() """), model => Assert.Equal(128, model.GetEntityTypes().First().GetIndexes().First().GetDatabaseName().Length)); - [ConditionalFact] + [Fact] public virtual void IndexAttribute_causes_column_to_have_key_or_index_column_length() => Test( builder => builder.Entity(), @@ -7267,7 +7267,7 @@ public virtual void IndexAttribute_causes_column_to_have_key_or_index_column_len } )); - [ConditionalFact] + [Fact] public virtual void IndexAttribute_name_is_stored_in_snapshot() => Test( builder => builder.Entity(), @@ -7314,7 +7314,7 @@ public virtual void IndexAttribute_name_is_stored_in_snapshot() ); }); - [ConditionalFact] + [Fact] public virtual void IndexAttribute_IsUnique_is_stored_in_snapshot() => Test( builder => builder.Entity(), @@ -7363,7 +7363,7 @@ public virtual void IndexAttribute_IsUnique_is_stored_in_snapshot() ); }); - [ConditionalFact] + [Fact] public virtual void IndexAttribute_IncludeProperties_generated_without_fluent_api() => Test( builder => builder.Entity(x => @@ -7399,7 +7399,7 @@ public virtual void IndexAttribute_IncludeProperties_generated_without_fluent_ap Assert.Equal("Name", Assert.Single(index.GetIncludeProperties())); }); - [ConditionalFact] + [Fact] public virtual void IndexAttribute_HasFillFactor_is_stored_in_snapshot() => Test( builder => builder.Entity(x => @@ -7435,7 +7435,7 @@ public virtual void IndexAttribute_HasFillFactor_is_stored_in_snapshot() Assert.Equal(29, index.GetFillFactor()); }); - [ConditionalFact] + [Fact] public virtual void IndexAttribute_UseDataCompression_is_stored_in_snapshot() => Test( builder => builder.Entity(x => @@ -7471,7 +7471,7 @@ public virtual void IndexAttribute_UseDataCompression_is_stored_in_snapshot() Assert.Equal(DataCompressionType.Row, index.GetDataCompression()); }); - [ConditionalFact] + [Fact] public virtual void IndexAttribute_SortInTempDb_is_stored_in_snapshot() => Test( builder => builder.Entity(x => @@ -7511,7 +7511,7 @@ public virtual void IndexAttribute_SortInTempDb_is_stored_in_snapshot() #region ForeignKey - [ConditionalFact] + [Fact] public virtual void ForeignKey_annotations_are_stored_in_snapshot() => Test( builder => @@ -7577,7 +7577,7 @@ public virtual void ForeignKey_annotations_are_stored_in_snapshot() o => Assert.Equal( "AnnotationValue", o.FindEntityType(typeof(EntityWithTwoProperties)).GetForeignKeys().First()["AnnotationName"])); - [ConditionalFact] + [Fact] public virtual void ForeignKey_isRequired_is_stored_in_snapshot() => Test( builder => @@ -7633,7 +7633,7 @@ public virtual void ForeignKey_isRequired_is_stored_in_snapshot() """), o => Assert.False(o.FindEntityType(typeof(EntityWithStringProperty)).FindProperty("Name").IsNullable)); - [ConditionalFact] + [Fact] public virtual void ForeignKey_isUnique_is_stored_in_snapshot() => Test( builder => @@ -7688,7 +7688,7 @@ public virtual void ForeignKey_isUnique_is_stored_in_snapshot() """), o => Assert.False(o.FindEntityType(typeof(EntityWithStringProperty)).GetForeignKeys().First().IsUnique)); - [ConditionalFact] + [Fact] public virtual void ForeignKey_with_non_primary_principal_is_stored_in_snapshot() => Test( builder => @@ -7752,7 +7752,7 @@ public virtual void ForeignKey_with_non_primary_principal_is_stored_in_snapshot( """), o => Assert.False(o.FindEntityType(typeof(EntityWithStringProperty)).GetForeignKeys().First().IsUnique)); - [ConditionalFact] + [Fact] public virtual void ForeignKey_deleteBehavior_is_stored_in_snapshot() => Test( builder => @@ -7806,7 +7806,7 @@ public virtual void ForeignKey_deleteBehavior_is_stored_in_snapshot() o => Assert.Equal( DeleteBehavior.Cascade, o.FindEntityType(typeof(EntityWithOneProperty)).GetForeignKeys().First().DeleteBehavior)); - [ConditionalFact] + [Fact] public virtual void ForeignKey_deleteBehavior_is_stored_in_snapshot_for_one_to_one() => Test( builder => @@ -7864,7 +7864,7 @@ public virtual void ForeignKey_deleteBehavior_is_stored_in_snapshot_for_one_to_o o => Assert.Equal( DeleteBehavior.Cascade, o.FindEntityType(typeof(EntityWithOneProperty)).GetForeignKeys().First().DeleteBehavior)); - [ConditionalFact] + [Fact] public virtual void ForeignKey_name_preserved_when_generic() { IReadOnlyModel originalModel = null; @@ -7946,7 +7946,7 @@ public virtual void ForeignKey_name_preserved_when_generic() }); } - [ConditionalFact] + [Fact] public virtual void ForeignKey_constraint_name_is_stored_in_snapshot_as_fluent_api() => Test( builder => @@ -8012,7 +8012,7 @@ public virtual void ForeignKey_constraint_name_is_stored_in_snapshot_as_fluent_a o => Assert.Equal( "Constraint", o.FindEntityType(typeof(EntityWithTwoProperties)).GetForeignKeys().First()["Relational:Name"])); - [ConditionalFact] + [Fact] public virtual void ForeignKey_excluded_from_migrations_is_stored_in_snapshot() => Test( builder => @@ -8078,7 +8078,7 @@ public virtual void ForeignKey_excluded_from_migrations_is_stored_in_snapshot() o => Assert.True( o.FindEntityType(typeof(EntityWithTwoProperties)).GetForeignKeys().First().IsExcludedFromMigrations())); - [ConditionalFact] + [Fact] public virtual void ForeignKey_multiple_annotations_are_stored_in_snapshot() => Test( builder => @@ -8151,7 +8151,7 @@ public virtual void ForeignKey_multiple_annotations_are_stored_in_snapshot() Assert.Equal("Constraint", fk["Relational:Name"]); }); - [ConditionalFact] + [Fact] public virtual void Do_not_generate_entity_type_builder_again_if_no_foreign_key_is_defined_on_it() => Test( builder => @@ -8221,7 +8221,7 @@ public virtual void Do_not_generate_entity_type_builder_again_if_no_foreign_key_ """), o => { }); - [ConditionalFact] + [Fact] public virtual void ForeignKey_principal_key_is_stored_in_snapshot() => Test( builder => @@ -8284,7 +8284,7 @@ public virtual void ForeignKey_principal_key_is_stored_in_snapshot() Assert.True(o.FindEntityType(typeof(EntityWithTwoProperties)).FindProperty("AlternateId").IsKey()); }); - [ConditionalFact] + [Fact] public virtual void ForeignKey_principal_key_with_non_default_name_is_stored_in_snapshot() => Test( builder => @@ -8358,7 +8358,7 @@ public virtual void ForeignKey_principal_key_with_non_default_name_is_stored_in_ #region Navigation - [ConditionalFact] + [Fact] public virtual void Navigation_annotations_are_stored_in_snapshot() => Test( builder => @@ -8426,7 +8426,7 @@ public virtual void Navigation_annotations_are_stored_in_snapshot() o => Assert.Equal( "AnnotationValue", o.FindEntityType(typeof(EntityWithTwoProperties)).GetNavigations().First()["AnnotationName"])); - [ConditionalFact] + [Fact] public virtual void Navigation_isRequired_is_stored_in_snapshot() => Test( builder => @@ -8497,7 +8497,7 @@ public virtual void Navigation_isRequired_is_stored_in_snapshot() #region SeedData - [ConditionalFact] + [Fact] public virtual void SeedData_annotations_are_stored_in_snapshot() { static List getAllProperties(IModel model) diff --git a/test/EFCore.Design.Tests/Migrations/Design/CSharpMigrationsGeneratorTest.cs b/test/EFCore.Design.Tests/Migrations/Design/CSharpMigrationsGeneratorTest.cs index 0d49939aec6..eacf7243b91 100644 --- a/test/EFCore.Design.Tests/Migrations/Design/CSharpMigrationsGeneratorTest.cs +++ b/test/EFCore.Design.Tests/Migrations/Design/CSharpMigrationsGeneratorTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Text.RegularExpressions; @@ -21,7 +21,7 @@ public partial class CSharpMigrationsGeneratorTest : CSharpMigrationsGeneratorTe private static readonly string _toTable = _nl + @"entityTypeBuilder.ToTable(""WithAnnotations"")"; private static readonly string _toNullTable = _nl + @"entityTypeBuilder.ToTable((string)null)"; - [ConditionalFact] + [Fact] public void Test_new_annotations_handled_for_entity_types() { // Only add the annotation here if it will never be present on IEntityType @@ -186,7 +186,7 @@ public void Test_new_annotations_handled_for_entity_types() (g, m, b) => g.TestGenerateEntityTypeAnnotations("entityTypeBuilder", (IEntityType)m, b)); } - [ConditionalFact] + [Fact] public void Test_new_annotations_handled_for_properties() { // Only add the annotation here if it will never be present on IProperty @@ -466,7 +466,7 @@ private class WithAnnotations private class Derived : WithAnnotations; - [ConditionalFact] + [Fact] public void Snapshot_with_enum_discriminator_uses_converted_values() { var sqlServerTypeMappingSource = new SqlServerTypeMappingSource( @@ -546,7 +546,7 @@ private static void AssertConverter(ValueConverter valueConverter, string expect Assert.Equal(expected + _nl + ".HasMaxLength(1000)", sb.ToString()); } - [ConditionalFact] + [Fact] public void Migrations_compile() { var generator = CreateMigrationsCodeGenerator(); @@ -740,7 +740,7 @@ private class EntityWithConstructorBinding(int id) public class MyContext; - [ConditionalFact] + [Fact] public void Namespaces_imported_for_insert_data() { var generator = CreateMigrationsCodeGenerator(); @@ -761,7 +761,7 @@ public void Namespaces_imported_for_insert_data() Assert.Contains("using System.Text.RegularExpressions;", migration); } - [ConditionalFact] + [Fact] public void Namespaces_imported_for_update_data_Values() { var generator = CreateMigrationsCodeGenerator(); @@ -784,7 +784,7 @@ public void Namespaces_imported_for_update_data_Values() Assert.Contains("using System.Text.RegularExpressions;", migration); } - [ConditionalFact] + [Fact] public void Namespaces_imported_for_update_data_KeyValues() { var generator = CreateMigrationsCodeGenerator(); @@ -807,7 +807,7 @@ public void Namespaces_imported_for_update_data_KeyValues() Assert.Contains("using System.Text.RegularExpressions;", migration); } - [ConditionalFact] + [Fact] public void Namespaces_imported_for_delete_data() { var generator = CreateMigrationsCodeGenerator(); @@ -828,7 +828,7 @@ public void Namespaces_imported_for_delete_data() Assert.Contains("using System.Text.RegularExpressions;", migration); } - [ConditionalFact] + [Fact] public void Multidimensional_array_warning_is_suppressed_for_multidimensional_seed_data() { var generator = CreateMigrationsCodeGenerator(); @@ -849,7 +849,7 @@ public void Multidimensional_array_warning_is_suppressed_for_multidimensional_se Assert.Contains("#pragma warning disable CA1814", migration); } - [ConditionalFact] + [Fact] public void Multidimensional_array_warning_is_not_suppressed_for_unidimensional_seed_data() { var generator = CreateMigrationsCodeGenerator(); diff --git a/test/EFCore.Design.Tests/Migrations/Design/MigrationScaffolderTest.cs b/test/EFCore.Design.Tests/Migrations/Design/MigrationScaffolderTest.cs index 5726aacca5c..342b9451b2e 100644 --- a/test/EFCore.Design.Tests/Migrations/Design/MigrationScaffolderTest.cs +++ b/test/EFCore.Design.Tests/Migrations/Design/MigrationScaffolderTest.cs @@ -16,7 +16,7 @@ namespace Microsoft.EntityFrameworkCore.Migrations.Design; public class MigrationsScaffolderTest { - [ConditionalFact] + [Fact] public void ScaffoldMigration_reuses_model_snapshot() { var scaffolder = CreateMigrationScaffolder(); @@ -27,7 +27,7 @@ public void ScaffoldMigration_reuses_model_snapshot() Assert.Equal(typeof(ContextWithSnapshotModelSnapshot).Namespace, migration.SnapshotSubnamespace); } - [ConditionalFact] + [Fact] public void ScaffoldMigration_handles_generic_contexts() { var scaffolder = CreateMigrationScaffolder>(); @@ -37,7 +37,7 @@ public void ScaffoldMigration_handles_generic_contexts() Assert.Equal("GenericContextModelSnapshot", migration.SnapshotName); } - [ConditionalFact] + [Fact] public void ScaffoldMigration_can_override_namespace() { var scaffolder = CreateMigrationScaffolder(); @@ -51,7 +51,7 @@ public void ScaffoldMigration_can_override_namespace() Assert.Equal("OverrideNamespace.OverrideSubNamespace", migration.SnapshotSubnamespace); } - [ConditionalFact] + [Fact] public void ScaffoldMigration_uses_migration_id_as_type_name() { var scaffolder = CreateMigrationScaffolder(); diff --git a/test/EFCore.Design.Tests/Migrations/Design/MigrationsBundleTest.cs b/test/EFCore.Design.Tests/Migrations/Design/MigrationsBundleTest.cs index 49b9e305c8f..96d291ac743 100644 --- a/test/EFCore.Design.Tests/Migrations/Design/MigrationsBundleTest.cs +++ b/test/EFCore.Design.Tests/Migrations/Design/MigrationsBundleTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.DotNet.Cli.CommandLine; @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Migrations.Design; public class MigrationsBundleTest { - [ConditionalFact] + [Fact] public void Short_names_are_unique() { foreach (var command in GetCommands()) @@ -24,7 +24,7 @@ public void Short_names_are_unique() } } - [ConditionalFact] + [Fact] public void Long_names_are_unique() { foreach (var command in GetCommands()) @@ -41,7 +41,7 @@ public void Long_names_are_unique() } } - [ConditionalFact] + [Fact] public void HandleResponseFiles_is_true() { var app = new CommandLineApplication { Name = "efbundle" }; @@ -50,7 +50,7 @@ public void HandleResponseFiles_is_true() Assert.True(app.HandleResponseFiles); } - [ConditionalFact] + [Fact] public void AllowArgumentSeparator_is_true() { var app = new CommandLineApplication { Name = "efbundle" }; diff --git a/test/EFCore.Design.Tests/Migrations/Design/SnapshotModelProcessorTest.cs b/test/EFCore.Design.Tests/Migrations/Design/SnapshotModelProcessorTest.cs index a9e381ac96e..d892bf13d42 100644 --- a/test/EFCore.Design.Tests/Migrations/Design/SnapshotModelProcessorTest.cs +++ b/test/EFCore.Design.Tests/Migrations/Design/SnapshotModelProcessorTest.cs @@ -13,7 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Migrations.Internal { public class SnapshotModelProcessorTest { - [ConditionalFact] + [Fact] public void Updates_provider_annotations_on_model() { var builder = new ModelBuilder(); @@ -60,7 +60,7 @@ public void Updates_provider_annotations_on_model() Assert.Empty(reporter.Messages); } - [ConditionalFact] + [Fact] public void Can_resolve_ISnapshotModelProcessor_from_DI() { var assembly = typeof(SnapshotModelProcessorTest).Assembly; @@ -73,7 +73,7 @@ public void Can_resolve_ISnapshotModelProcessor_from_DI() Assert.NotNull(snapshotModelProcessor); } - [ConditionalFact] + [Fact] public void Warns_for_conflicting_annotations() { var model = new Model(); @@ -96,7 +96,7 @@ public void Warns_for_conflicting_annotations() Assert.True(actual is "Value1" or "Value2"); } - [ConditionalFact] + [Fact] public void Warns_for_conflicting_annotations_one_relational() { var model = new Model(); @@ -119,7 +119,7 @@ public void Warns_for_conflicting_annotations_one_relational() Assert.True(actual is "Value1" or "Value2"); } - [ConditionalFact] + [Fact] public void Does_not_warn_for_duplicate_non_conflicting_annotations() { var model = new ModelBuilder().Model; @@ -139,7 +139,7 @@ public void Does_not_warn_for_duplicate_non_conflicting_annotations() Assert.Equal("Value", (string)model["Relational:DefaultSchema"]); } - [ConditionalFact] + [Fact] public void Does_not_process_non_v1_models() { var model = new Model(); @@ -158,7 +158,7 @@ public void Does_not_process_non_v1_models() Assert.Equal("Value", (string)model["Unicorn:DefaultSchema"]); } - [ConditionalFact] + [Fact] public void Sets_owned_type_keys() { var builder = new ModelBuilder(); @@ -185,7 +185,7 @@ public void Sets_owned_type_keys() .Name); } - [ConditionalTheory, InlineData(typeof(OwnershipModelSnapshot2_0)), InlineData(typeof(OwnershipModelSnapshot2_1)), + [Theory, InlineData(typeof(OwnershipModelSnapshot2_0)), InlineData(typeof(OwnershipModelSnapshot2_1)), InlineData(typeof(OwnershipModelSnapshot2_2)), InlineData(typeof(OwnershipModelSnapshot3_0))] public void Can_diff_against_older_ownership_model(Type snapshotType) { @@ -193,7 +193,7 @@ public void Can_diff_against_older_ownership_model(Type snapshotType) AssertSameSnapshot(snapshotType, context); } - [ConditionalTheory, InlineData(typeof(SequenceModelSnapshot1_1)), InlineData(typeof(SequenceModelSnapshot2_2)), + [Theory, InlineData(typeof(SequenceModelSnapshot1_1)), InlineData(typeof(SequenceModelSnapshot2_2)), InlineData(typeof(SequenceModelSnapshot3_1))] public void Can_diff_against_older_sequence_model(Type snapshotType) { @@ -201,7 +201,7 @@ public void Can_diff_against_older_sequence_model(Type snapshotType) AssertSameSnapshot(snapshotType, context); } - [ConditionalFact] + [Fact] public void Updates_complex_property_nullability_for_pre_10_snapshots() { var builder = new ModelBuilder(); @@ -230,7 +230,7 @@ public void Updates_complex_property_nullability_for_pre_10_snapshots() Assert.Empty(reporter.Messages); } - [ConditionalFact] + [Fact] public void Does_not_update_complex_property_nullability_for_10_or_later_snapshots() { var builder = new ModelBuilder(); @@ -256,7 +256,7 @@ public void Does_not_update_complex_property_nullability_for_10_or_later_snapsho Assert.Empty(reporter.Messages); } - [ConditionalFact] + [Fact] public void Updates_nested_complex_property_nullability_for_pre_10_snapshots() { var builder = new ModelBuilder(); @@ -293,7 +293,7 @@ public void Updates_nested_complex_property_nullability_for_pre_10_snapshots() Assert.Empty(reporter.Messages); } - [ConditionalFact] + [Fact] public void Updates_property_bag_complex_property_nullability_for_pre_10_snapshots() { var builder = new ModelBuilder(); diff --git a/test/EFCore.Design.Tests/Query/CSharpToLinqTranslatorTest.cs b/test/EFCore.Design.Tests/Query/CSharpToLinqTranslatorTest.cs index b7ef0521856..db2752f90e0 100644 --- a/test/EFCore.Design.Tests/Query/CSharpToLinqTranslatorTest.cs +++ b/test/EFCore.Design.Tests/Query/CSharpToLinqTranslatorTest.cs @@ -366,13 +366,13 @@ public void SuppressNullableWarningExpression() """ "foo"! """); // ReSharper restore RedundantSuppressNullableWarningExpression - [ConditionalFact] + [Fact] public void Typeof() => AssertExpression( () => typeof(string), "typeof(string)"); - [ConditionalFact] + [Fact] public void Array_type() => AssertExpression( () => typeof(ParameterExpression[]), diff --git a/test/EFCore.Design.Tests/Scaffolding/Internal/CSharpDbContextGeneratorTest.cs b/test/EFCore.Design.Tests/Scaffolding/Internal/CSharpDbContextGeneratorTest.cs index b1c00826353..9c63a9299a1 100644 --- a/test/EFCore.Design.Tests/Scaffolding/Internal/CSharpDbContextGeneratorTest.cs +++ b/test/EFCore.Design.Tests/Scaffolding/Internal/CSharpDbContextGeneratorTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using CustomTestNamespace; @@ -14,7 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal public class CSharpDbContextGeneratorTest(ModelCodeGeneratorTestFixture fixture, ITestOutputHelper output) : ModelCodeGeneratorTestBase(fixture, output) { - [ConditionalFact] + [Fact] public Task Empty_model() => TestAsync( modelBuilder => { }, @@ -58,7 +58,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) }, model => Assert.Empty(model.GetEntityTypes())); - [ConditionalFact] + [Fact] public Task SuppressConnectionStringWarning_works() => TestAsync( modelBuilder => { }, @@ -101,7 +101,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) }, model => Assert.Empty(model.GetEntityTypes())); - [ConditionalFact] + [Fact] public Task SuppressOnConfiguring_works() => TestAsync( modelBuilder => { }, @@ -137,7 +137,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) }, null); - [ConditionalFact] + [Fact] public Task DbSets_without_nrt() => TestAsync( modelBuilder => modelBuilder.Entity("Entity"), @@ -154,7 +154,7 @@ public Task DbSets_without_nrt() }, null); - [ConditionalFact] + [Fact] public Task DbSets_with_nrt() => TestAsync( modelBuilder => modelBuilder.Entity("Entity"), @@ -171,7 +171,7 @@ public Task DbSets_with_nrt() }, null); - [ConditionalFact] + [Fact] public void Required_options_to_GenerateModel_are_not_null() { var generator = CreateServices() @@ -196,7 +196,7 @@ public void Required_options_to_GenerateModel_are_not_null() new ModelCodeGenerationOptions { ContextName = "TestDbContext", ConnectionString = null })).Message); } - [ConditionalFact] + [Fact] public void Plugins_work() { var generator = CreateServices() @@ -224,7 +224,7 @@ public void Plugins_work() scaffoldedModel.ContextFile.Code); } - [ConditionalFact] + [Fact] public Task IsRequired_is_generated_for_ref_property_without_nrt() => TestAsync( modelBuilder => @@ -255,7 +255,7 @@ public Task IsRequired_is_generated_for_ref_property_without_nrt() Assert.True(entityType.GetProperty("NonRequiredInt").IsNullable); }); - [ConditionalFact] + [Fact] public Task IsRequired_is_not_generated_for_ref_property_with_nrt() => TestAsync( modelBuilder => @@ -286,7 +286,7 @@ public Task IsRequired_is_not_generated_for_ref_property_with_nrt() Assert.True(entityType.GetProperty("NonRequiredInt").IsNullable); }); - [ConditionalFact] + [Fact] public Task Comments_use_fluent_api() => TestAsync( modelBuilder => modelBuilder.Entity( @@ -305,7 +305,7 @@ public Task Comments_use_fluent_api() "An int property", model.FindEntityType("TestNamespace.Entity").GetProperty("Property").GetComment())); - [ConditionalFact] + [Fact] public Task Entity_comments_use_fluent_api() => TestAsync( modelBuilder => modelBuilder.Entity( @@ -322,7 +322,7 @@ public Task Entity_comments_use_fluent_api() "An entity comment", model.FindEntityType("TestNamespace.Entity").GetComment())); - [ConditionalFact] + [Fact] public Task Views_work() => TestAsync( modelBuilder => modelBuilder.Entity("Vista").ToView("Vista"), @@ -339,7 +339,7 @@ public Task Views_work() Assert.Null(entityType.GetSchema()); }); - [ConditionalFact] + [Fact] public Task ModelInDifferentNamespaceDbContext_works() { var modelGenerationOptions = new ModelCodeGenerationOptions @@ -357,7 +357,7 @@ public Task ModelInDifferentNamespaceDbContext_works() ); } - [ConditionalFact] + [Fact] public Task ModelSameNamespaceDbContext_works() { var modelGenerationOptions = new ModelCodeGenerationOptions { ContextNamespace = "TestNamespace" }; @@ -372,7 +372,7 @@ public Task ModelSameNamespaceDbContext_works() ); } - [ConditionalFact] + [Fact] public Task ValueGenerated_works() => TestAsync( modelBuilder => modelBuilder.Entity( @@ -404,7 +404,7 @@ public Task ValueGenerated_works() Assert.Equal(ValueGenerated.Never, entity.GetProperty("ValueGeneratedNever").ValueGenerated); }); - [ConditionalFact] + [Fact] public Task HasPrecision_works() => TestAsync( modelBuilder => modelBuilder.Entity( @@ -429,7 +429,7 @@ public Task HasPrecision_works() Assert.Equal(7, entity.GetProperty("HasPrecisionAndScale").GetScale()); }); - [ConditionalFact] + [Fact] public Task Collation_works() => TestAsync( modelBuilder => modelBuilder.Entity("Entity").Property("UseCollation").UseCollation("Some Collation"), @@ -441,7 +441,7 @@ public Task Collation_works() Assert.Equal("Some Collation", entity.GetProperty("UseCollation").GetCollation()); }); - [ConditionalFact] + [Fact] public Task ComputedColumnSql_works() => TestAsync( modelBuilder => modelBuilder.Entity("Entity").Property("ComputedColumn").HasComputedColumnSql("1 + 2"), @@ -453,7 +453,7 @@ public Task ComputedColumnSql_works() Assert.Equal("1 + 2", entity.GetProperty("ComputedColumn").GetComputedColumnSql()); }); - [ConditionalFact] + [Fact] public Task Column_with_default_value_only_uses_default_value() => TestAsync( serviceProvider => serviceProvider.GetService().Create( @@ -467,7 +467,7 @@ public Task Column_with_default_value_only_uses_default_value() Assert.Null(property.FindAnnotation(RelationalAnnotationNames.DefaultValueSql)); }); - [ConditionalFact] + [Fact] public Task Column_with_default_value_sql_only_uses_default_value_sql() => TestAsync( serviceProvider => serviceProvider.GetService().Create( @@ -481,7 +481,7 @@ public Task Column_with_default_value_sql_only_uses_default_value_sql() Assert.Null(property.FindAnnotation(RelationalAnnotationNames.DefaultValue)); }); - [ConditionalFact] + [Fact] public Task Column_with_default_value_sql_and_default_value_uses_default_value() => TestAsync( serviceProvider => serviceProvider.GetService().Create( @@ -495,7 +495,7 @@ public Task Column_with_default_value_sql_and_default_value_uses_default_value() Assert.Null(property.FindAnnotation(RelationalAnnotationNames.DefaultValueSql)); }); - [ConditionalFact] + [Fact] public Task Column_with_default_value_sql_and_default_value_where_value_is_CLR_default_uses_neither() => TestAsync( serviceProvider => serviceProvider.GetService().Create( @@ -509,7 +509,7 @@ public Task Column_with_default_value_sql_and_default_value_where_value_is_CLR_d Assert.Null(property.FindAnnotation(RelationalAnnotationNames.DefaultValueSql)); }); - [ConditionalFact] + [Fact] public Task IsUnicode_works() => TestAsync( modelBuilder => @@ -530,7 +530,7 @@ public Task IsUnicode_works() Assert.False(entity.GetProperty("NonUnicodeColumn").IsUnicode()); }); - [ConditionalFact] + [Fact] public Task ComputedColumnSql_works_stored() => TestAsync( modelBuilder => modelBuilder.Entity("Entity").Property("ComputedColumn") @@ -543,7 +543,7 @@ public Task ComputedColumnSql_works_stored() Assert.True(entity.GetProperty("ComputedColumn").GetIsStored()); }); - [ConditionalFact] + [Fact] public Task ComputedColumnSql_works_unspecified() => TestAsync( modelBuilder => modelBuilder.Entity("Entity").Property("ComputedColumn").HasComputedColumnSql(), @@ -555,7 +555,7 @@ public Task ComputedColumnSql_works_unspecified() Assert.Empty(entity.GetProperty("ComputedColumn").GetComputedColumnSql()); }); - [ConditionalFact] + [Fact] public Task DefaultValue_works_unspecified() => TestAsync( modelBuilder => modelBuilder.Entity("Entity").Property("DefaultedColumn").HasDefaultValue(), @@ -567,7 +567,7 @@ public Task DefaultValue_works_unspecified() Assert.Equal(DBNull.Value, entity.GetProperty("DefaultedColumn").GetDefaultValue()); }); - [ConditionalFact] + [Fact] public Task DefaultValueSql_works_unspecified() => TestAsync( modelBuilder => modelBuilder.Entity("Entity").Property("DefaultedColumn").HasDefaultValueSql(), @@ -579,7 +579,7 @@ public Task DefaultValueSql_works_unspecified() Assert.Empty(entity.GetProperty("DefaultedColumn").GetDefaultValueSql()); }); - [ConditionalFact] + [Fact] public Task Entity_with_indexes_and_use_data_annotations_false_always_generates_fluent_API() => TestAsync( modelBuilder => modelBuilder @@ -651,7 +651,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) model => Assert.Equal(2, model.FindEntityType("TestNamespace.EntityWithIndexes").GetIndexes().Count())); - [ConditionalFact] + [Fact] public Task Entity_with_indexes_and_use_data_annotations_true_generates_fluent_API_only_for_indexes_with_annotations() => TestAsync( modelBuilder => modelBuilder @@ -719,7 +719,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) model => Assert.Equal(2, model.FindEntityType("TestNamespace.EntityWithIndexes").GetIndexes().Count())); - [ConditionalFact] + [Fact] public Task Indexes_with_descending() => TestAsync( modelBuilder => modelBuilder @@ -814,7 +814,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) Assert.Equal([false, true, false], mixedIndex.IsDescending); }); - [ConditionalFact] + [Fact] public Task Entity_lambda_uses_correct_identifiers() => TestAsync( modelBuilder => @@ -894,7 +894,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) }, model => { }); - [ConditionalFact] + [Fact] public Task Column_type_is_not_scaffolded_as_annotation() => TestAsync( modelBuilder => modelBuilder @@ -953,7 +953,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) model => Assert.Equal("date", model.FindEntityType("TestNamespace.Employee").GetProperty("HireDate").GetConfiguredColumnType())); - [ConditionalFact] + [Fact] public Task Is_fixed_length_annotation_should_be_scaffolded_without_optional_parameter() => TestAsync( modelBuilder => modelBuilder @@ -969,7 +969,7 @@ public Task Is_fixed_length_annotation_should_be_scaffolded_without_optional_par model => Assert.True(model.FindEntityType("TestNamespace.Employee").GetProperty("Name").IsFixedLength())); - [ConditionalFact] + [Fact] public Task Global_namespace_works() => TestAsync( modelBuilder => modelBuilder.Entity("MyEntity"), @@ -1021,7 +1021,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) Assert.NotNull(model.FindEntityType("MyEntity")); }); - [ConditionalFact] + [Fact] public Task Global_namespace_works_just_context() => TestAsync( modelBuilder => modelBuilder.Entity("MyEntity"), @@ -1037,7 +1037,7 @@ public Task Global_namespace_works_just_context() Assert.NotNull(model.FindEntityType("TestNamespace.MyEntity")); }); - [ConditionalFact] + [Fact] public Task Global_namespace_works_just_model() => TestAsync( modelBuilder => modelBuilder.Entity("MyEntity"), @@ -1052,7 +1052,7 @@ public Task Global_namespace_works_just_model() Assert.NotNull(model.FindEntityType("MyEntity")); }); - [ConditionalFact] + [Fact] public Task Fluent_calls_in_custom_namespaces_work() => TestAsync( modelBuilder => TestModelBuilderExtensions.TestFluentApiCall(modelBuilder), @@ -1092,7 +1092,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) model => Assert.Empty(model.GetEntityTypes()), skipBuild: true); - [ConditionalFact] + [Fact] public Task Temporal_table_works() => TestAsync( modelBuilder => modelBuilder.Entity( @@ -1163,7 +1163,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) Assert.Equal("PeriodEnd", entityType.GetPeriodEndPropertyName()); }); - [ConditionalFact] + [Fact] public Task Sequences_work() => TestAsync( modelBuilder => modelBuilder.HasSequence("EvenNumbers", "dbo") @@ -1196,7 +1196,7 @@ public Task Sequences_work() Assert.True(sequence.IsCyclic); }); - [ConditionalFact] + [Fact] public Task Trigger_works() => TestAsync( modelBuilder => modelBuilder @@ -1271,7 +1271,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) t => Assert.Equal("Trigger2", t.GetDatabaseName())); }); - [ConditionalFact] + [Fact] public Task ValueGenerationStrategy_works_when_none() => TestAsync( modelBuilder => modelBuilder.Entity( @@ -1332,7 +1332,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) Assert.Equal(SqlServerValueGenerationStrategy.None, Microsoft.EntityFrameworkCore.SqlServerPropertyExtensions.GetValueGenerationStrategy(property)); }); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public Task ColumnOrder_is_ignored(bool useDataAnnotations) => TestAsync( modelBuilder => modelBuilder.Entity("Entity").Property("Property").HasColumnOrder(1), diff --git a/test/EFCore.Design.Tests/Scaffolding/Internal/CSharpEntityTypeGeneratorTest.cs b/test/EFCore.Design.Tests/Scaffolding/Internal/CSharpEntityTypeGeneratorTest.cs index 8730061b16b..4395c76f46e 100644 --- a/test/EFCore.Design.Tests/Scaffolding/Internal/CSharpEntityTypeGeneratorTest.cs +++ b/test/EFCore.Design.Tests/Scaffolding/Internal/CSharpEntityTypeGeneratorTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Internal; @@ -13,7 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; public class CSharpEntityTypeGeneratorTest(ModelCodeGeneratorTestFixture fixture, ITestOutputHelper output) : ModelCodeGeneratorTestBase(fixture, output) { - [ConditionalFact] + [Fact] public Task KeylessAttribute_is_generated_for_key_less_entity() => TestAsync( modelBuilder => modelBuilder.Entity("Vista").HasNoKey(), @@ -78,7 +78,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) Assert.Null(entityType.FindPrimaryKey()); }); - [ConditionalFact] + [Fact] public Task TableAttribute_is_generated_for_custom_name() => TestAsync( modelBuilder => @@ -122,7 +122,7 @@ public partial class Vista Assert.Null(entityType.GetSchema()); }); - [ConditionalFact] + [Fact] public Task TableAttribute_is_not_generated_for_default_schema() => TestAsync( modelBuilder => @@ -165,7 +165,7 @@ public partial class Vista Assert.Null(entityType.GetSchema()); // Takes through model default schema }); - [ConditionalFact] + [Fact] public Task TableAttribute_is_generated_for_non_default_schema() => TestAsync( modelBuilder => @@ -209,7 +209,7 @@ public partial class Vista Assert.Equal("custom", entityType.GetSchema()); }); - [ConditionalFact] + [Fact] public Task TableAttribute_is_not_generated_for_views() => TestAsync( modelBuilder => modelBuilder.Entity("Vista").ToView("Vistas", "dbo"), @@ -242,7 +242,7 @@ public partial class Vista Assert.Null(entityType.GetSchema()); }); - [ConditionalFact] + [Fact] public Task IndexAttribute_is_generated_for_multiple_indexes_with_name_unique_descending() => TestAsync( modelBuilder => modelBuilder @@ -302,7 +302,7 @@ public partial class EntityWithIndexes t => Assert.Equal("IndexOnBAndC", t.Name)); }); - [ConditionalFact] + [Fact] public Task IndexAttribute_is_generated_with_ascending_descending() => TestAsync( modelBuilder => modelBuilder @@ -369,7 +369,7 @@ public partial class EntityWithAscendingDescendingIndexes }); }); - [ConditionalFact] + [Fact] public Task Entity_with_indexes_generates_IndexAttribute_only_for_indexes_without_annotations() => TestAsync( modelBuilder => modelBuilder @@ -458,7 +458,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) model => Assert.Equal(2, model.FindEntityType("TestNamespace.EntityWithIndexes").GetIndexes().Count())); - [ConditionalFact] + [Fact] public Task KeyAttribute_is_generated_for_single_property_and_no_fluent_api() => TestAsync( modelBuilder => modelBuilder @@ -528,7 +528,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) model => Assert.Equal("PrimaryKey", model.FindEntityType("TestNamespace.Entity").FindPrimaryKey().Properties[0].Name)); - [ConditionalFact] + [Fact] public Task KeyAttribute_is_generated_on_multiple_properties_but_and_uses_PrimaryKeyAttribute_for_composite_key() => TestAsync( modelBuilder => modelBuilder @@ -606,7 +606,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) Assert.Equal(["Key", "Serial"], postType.FindPrimaryKey().Properties.Select(p => p.Name)); }); - [ConditionalFact] + [Fact] public Task Required_and_not_required_properties_without_nrt() => TestAsync( modelBuilder => modelBuilder @@ -659,7 +659,7 @@ public partial class Entity Assert.True(entityType.GetProperty("NonRequiredInt").IsNullable); }); - [ConditionalFact] + [Fact] public Task Required_and_not_required_properties_with_nrt() => TestAsync( modelBuilder => modelBuilder @@ -711,7 +711,7 @@ public partial class Entity Assert.True(entityType.GetProperty("NonRequiredInt").IsNullable); }); - [ConditionalFact] + [Fact] public Task Required_and_not_required_navigations_without_nrt() => TestAsync( modelBuilder => modelBuilder @@ -791,7 +791,7 @@ public partial class Entity Assert.False(entityType.FindNavigation("OptionalValueNavigation")!.ForeignKey.IsRequired); }); - [ConditionalFact] + [Fact] public Task Required_and_not_required_reference_navigations_with_nrt() => TestAsync( modelBuilder => modelBuilder @@ -870,7 +870,7 @@ public partial class Entity Assert.False(entityType.FindNavigation("OptionalNavigationWithValueForeignKey")!.ForeignKey.IsRequired); }); - [ConditionalFact] + [Fact] public Task Required_and_not_required_collection_navigations_with_nrt() => TestAsync( modelBuilder => modelBuilder @@ -956,7 +956,7 @@ public partial class Entity Assert.False(entityType.FindNavigation("OptionalNavigationWithValueForeignKey")!.ForeignKey.IsRequired); }); - [ConditionalFact] + [Fact] public Task RequiredAttribute_is_not_generated_for_key_property() => TestAsync( modelBuilder => modelBuilder @@ -991,7 +991,7 @@ public partial class Entity model => Assert.False(model.FindEntityType("TestNamespace.Entity").GetProperty("RequiredString").IsNullable)); - [ConditionalFact] + [Fact] public Task ColumnAttribute_is_generated_for_property() => TestAsync( modelBuilder => modelBuilder @@ -1086,7 +1086,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) Assert.Equal("varchar(200)", entitType.GetProperty("C").GetColumnType()); }); - [ConditionalFact] + [Fact] public Task MaxLengthAttribute_is_generated_for_property() => TestAsync( modelBuilder => modelBuilder @@ -1132,7 +1132,7 @@ public partial class Entity Assert.Equal(10, entitType.GetProperty("B").GetMaxLength()); }); - [ConditionalFact] + [Fact] public Task UnicodeAttribute_is_generated_for_property() => TestAsync( modelBuilder => modelBuilder @@ -1185,7 +1185,7 @@ public partial class Entity Assert.Null(entitType.GetProperty("C").IsUnicode()); }); - [ConditionalFact] + [Fact] public Task PrecisionAttribute_is_generated_for_property() => TestAsync( modelBuilder => modelBuilder @@ -1242,7 +1242,7 @@ public partial class Entity Assert.Equal(3, entitType.GetProperty("D").GetPrecision()); }); - [ConditionalFact] + [Fact] public Task Comments_are_generated() => TestAsync( modelBuilder => modelBuilder @@ -1283,7 +1283,7 @@ public partial class Entity }, model => { }); - [ConditionalFact] + [Fact] public Task Comments_complex_are_generated() => TestAsync( modelBuilder => modelBuilder @@ -1338,7 +1338,7 @@ public partial class Entity }, model => { }); - [ConditionalFact] + [Fact] public Task Properties_are_sorted_in_order_of_definition_in_table() => TestAsync( modelBuilder => modelBuilder @@ -1378,7 +1378,7 @@ public partial class Entity }, model => { }); - [ConditionalFact] + [Fact] public Task Navigation_properties_are_sorted_after_properties_and_collection_are_initialized_in_ctor() => TestAsync( modelBuilder => modelBuilder @@ -1460,7 +1460,7 @@ public partial class Person Assert.Equal("TestNamespace.Contribution", contributionsNav.ForeignKey.DeclaringEntityType.Name); }); - [ConditionalFact] + [Fact] public Task ForeignKeyAttribute_is_generated_for_composite_fk() => TestAsync( modelBuilder => modelBuilder @@ -1554,7 +1554,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) Assert.Equal(["BlogId1", "BlogId2"], blogNavigation.ForeignKey.Properties.Select(p => p.Name)); }); - [ConditionalFact] + [Fact] public Task ForeignKeyAttribute_InversePropertyAttribute_when_composite_alternate_key() => TestAsync( modelBuilder => modelBuilder @@ -1658,7 +1658,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) Assert.Equal(["Id1", "Id2"], blogNavigation.ForeignKey.PrincipalKey.Properties.Select(p => p.Name)); }); - [ConditionalFact] + [Fact] public Task ForeignKeyAttribute_is_generated_for_fk_referencing_ak() => TestAsync( modelBuilder => modelBuilder @@ -1782,7 +1782,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) Assert.Equal(["ColorCode"], colorNavigation.ForeignKey.PrincipalKey.Properties.Select(p => p.Name)); }); - [ConditionalFact] + [Fact] public Task Foreign_key_from_keyless_table() => TestAsync( modelBuilder => modelBuilder @@ -1875,7 +1875,7 @@ public partial class Post Assert.Null(foreignKey.PrincipalToDependent); }); - [ConditionalFact] + [Fact] public Task InverseProperty_when_navigation_property_with_same_type_and_navigation_name() => TestAsync( modelBuilder => modelBuilder @@ -1929,7 +1929,7 @@ public partial class Post Assert.Equal("Posts", inverseNavigation.Name); }); - [ConditionalFact] + [Fact] public Task InverseProperty_when_navigation_property_with_same_type_and_property_name() => TestAsync( modelBuilder => modelBuilder @@ -1983,7 +1983,7 @@ public partial class Post Assert.Equal("Posts", inverseNavigation.Name); }); - [ConditionalFact] + [Fact] public Task InverseProperty_when_navigation_property_with_same_type_and_other_navigation_name() => TestAsync( modelBuilder => modelBuilder @@ -2054,7 +2054,7 @@ public partial class Post Assert.Equal("OriginalPosts", originalInverseNavigation.Name); }); - [ConditionalFact] + [Fact] public Task InverseProperty_when_navigation_property_and_keyless() => TestAsync( modelBuilder => modelBuilder @@ -2103,7 +2103,7 @@ public partial class Post Assert.Null(blogNavigation.Inverse); }); - [ConditionalFact] + [Fact] public Task Entity_with_custom_annotation() => TestAsync( modelBuilder => modelBuilder @@ -2175,7 +2175,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) assertModel: null, skipBuild: true); - [ConditionalFact] + [Fact] public Task Entity_property_with_custom_annotation() => TestAsync( modelBuilder => modelBuilder @@ -2247,7 +2247,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) assertModel: null, skipBuild: true); - [ConditionalFact] + [Fact] public Task Scaffold_skip_navigations_default() => TestAsync( modelBuilder => modelBuilder @@ -2374,7 +2374,7 @@ public partial class Post Assert.Equal(2, joinEntityType.GetForeignKeys().Count()); }); - [ConditionalFact] + [Fact] public Task Scaffold_skip_navigations_different_key_type() => TestAsync( modelBuilder => modelBuilder @@ -2501,7 +2501,7 @@ public partial class Post Assert.Equal(2, joinEntityType.GetForeignKeys().Count()); }); - [ConditionalFact] + [Fact] public Task Scaffold_skip_navigations_default_data_annotations() => TestAsync( modelBuilder => modelBuilder @@ -2640,7 +2640,7 @@ public partial class Post Assert.Equal(2, joinEntityType.GetForeignKeys().Count()); }); - [ConditionalFact] + [Fact] public Task Scaffold_skip_navigations_alternate_key_data_annotations() => TestAsync( modelBuilder => modelBuilder @@ -2790,7 +2790,7 @@ public partial class Post Assert.False(fk.PrincipalKey.IsPrimaryKey()); }); - [ConditionalFact] + [Fact] public Task Scaffold_skip_navigations_composite_fk() { var database = new DatabaseModel @@ -2970,7 +2970,7 @@ static void FixupColumns(DatabaseTable table, IList columns) }); } - [ConditionalFact] + [Fact] public Task Many_to_many_ef6() => TestAsync( modelBuilder => modelBuilder diff --git a/test/EFCore.Design.Tests/Scaffolding/Internal/CSharpModelGeneratorTest.cs b/test/EFCore.Design.Tests/Scaffolding/Internal/CSharpModelGeneratorTest.cs index 801890796bb..38518da63c0 100644 --- a/test/EFCore.Design.Tests/Scaffolding/Internal/CSharpModelGeneratorTest.cs +++ b/test/EFCore.Design.Tests/Scaffolding/Internal/CSharpModelGeneratorTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Design.Internal; @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; public class CSharpModelGeneratorTest { - [ConditionalFact] + [Fact] public void Language_works() { var generator = CreateGenerator(); @@ -18,7 +18,7 @@ public void Language_works() Assert.Equal("C#", result); } - [ConditionalFact] + [Fact] public void WriteCode_works() { var generator = CreateGenerator(); diff --git a/test/EFCore.Design.Tests/Scaffolding/Internal/CSharpNamerTest.cs b/test/EFCore.Design.Tests/Scaffolding/Internal/CSharpNamerTest.cs index 36b49900629..2523289d75d 100644 --- a/test/EFCore.Design.Tests/Scaffolding/Internal/CSharpNamerTest.cs +++ b/test/EFCore.Design.Tests/Scaffolding/Internal/CSharpNamerTest.cs @@ -7,19 +7,19 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; public class CSharpNamerTest { - [ConditionalTheory, InlineData("Name with space", "Name_with_space"), InlineData("namespace", "_namespace"), + [Theory, InlineData("Name with space", "Name_with_space"), InlineData("namespace", "_namespace"), InlineData("@namespace", "@namespace"), InlineData("8ball", "_8ball"), InlineData(" ", "_"), InlineData("", "_")] public void Sanitizes_name_with_no_singularize_or_pluralize(string input, string output) => Assert.Equal(output, new CSharpNamer(s => s, new CSharpUtilities(), null).GetName(input)); - [ConditionalTheory, InlineData("Name ending with s", "Name_ending_with_"), InlineData("Name with no s at end", "Name_with_no_s_at_end")] + [Theory, InlineData("Name ending with s", "Name_ending_with_"), InlineData("Name with no s at end", "Name_with_no_s_at_end")] public void Sanitizes_name_with_singularizer(string input, string output) { var pluralizer = new HumanizerPluralizer(); Assert.Equal(output, new CSharpNamer(s => s, new CSharpUtilities(), pluralizer.Singularize).GetName(input)); } - [ConditionalTheory, InlineData("Name ending with s", "Name_ending_with_s"), + [Theory, InlineData("Name ending with s", "Name_ending_with_s"), InlineData("Name with no s at end", "Name_with_no_s_at_ends")] public void Sanitizes_name_with_pluralizer(string input, string output) { diff --git a/test/EFCore.Design.Tests/Scaffolding/Internal/CSharpUniqueNamerTest.cs b/test/EFCore.Design.Tests/Scaffolding/Internal/CSharpUniqueNamerTest.cs index 267d88f113d..965f28c240f 100644 --- a/test/EFCore.Design.Tests/Scaffolding/Internal/CSharpUniqueNamerTest.cs +++ b/test/EFCore.Design.Tests/Scaffolding/Internal/CSharpUniqueNamerTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; public class CSharpUniqueNamerTest { - [ConditionalFact] + [Fact] public void Returns_unique_name_for_type() { var namer = new CSharpUniqueNamer(s => s.Name, new CSharpUtilities(), null, true); @@ -32,7 +32,7 @@ public void Returns_unique_name_for_type() Assert.Equal("Id1", namer.GetName(input2)); } - [ConditionalFact] + [Fact] public void Uses_comparer() { var namer = new CSharpUniqueNamer(t => t.Name, new CSharpUtilities(), null, true); @@ -43,7 +43,7 @@ public void Uses_comparer() Assert.Equal("A_B_C1", namer.GetName(table2)); } - [ConditionalTheory, InlineData("Name ending with s", "Name_ending_with_"), InlineData("Name with no s at end", "Name_with_no_s_at_end")] + [Theory, InlineData("Name ending with s", "Name_ending_with_"), InlineData("Name with no s at end", "Name_with_no_s_at_end")] public void Singularizes_names(string input, string output) { var pluralizer = new HumanizerPluralizer(); @@ -52,7 +52,7 @@ public void Singularizes_names(string input, string output) Assert.Equal(output, namer.GetName(table)); } - [ConditionalTheory, InlineData("Name ending with s", "Name_ending_with_s"), + [Theory, InlineData("Name ending with s", "Name_ending_with_s"), InlineData("Name with no s at end", "Name_with_no_s_at_ends")] public void Pluralizes_names(string input, string output) { diff --git a/test/EFCore.Design.Tests/Scaffolding/Internal/CandidateNamingServiceTest.cs b/test/EFCore.Design.Tests/Scaffolding/Internal/CandidateNamingServiceTest.cs index f3e8e2543b0..a53942a896c 100644 --- a/test/EFCore.Design.Tests/Scaffolding/Internal/CandidateNamingServiceTest.cs +++ b/test/EFCore.Design.Tests/Scaffolding/Internal/CandidateNamingServiceTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Scaffolding.Metadata; @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; public class CandidateNamingServiceTest { - [ConditionalTheory, InlineData("PascalCase", "PascalCase"), InlineData("camelCase", "CamelCase"), InlineData("snake-case", "SnakeCase"), + [Theory, InlineData("PascalCase", "PascalCase"), InlineData("camelCase", "CamelCase"), InlineData("snake-case", "SnakeCase"), InlineData("MixedCASE", "MixedCase"), InlineData("separated_by_underscores", "SeparatedByUnderscores"), InlineData("PascalCase_withUnderscore", "PascalCaseWithUnderscore"), InlineData("ALL_CAPS", "AllCaps"), InlineData( "numbers0Dont1Affect23Upper45Case678To9LowerCase10Boundary999", "Numbers0Dont1Affect23Upper45Case678To9LowerCase10Boundary999"), @@ -17,7 +17,7 @@ public void Generates_candidate_identifiers(string input, string output) output, new CandidateNamingService().GenerateCandidateIdentifier( new DatabaseTable { Database = new DatabaseModel(), Name = input })); - [ConditionalTheory, InlineData("‍🐶", ""), InlineData(" ", "")] + [Theory, InlineData("‍🐶", ""), InlineData(" ", "")] public void Generates_column_candidate_identifiers(string input, string output) => Assert.Equal( output, new CandidateNamingService().GenerateCandidateIdentifier( diff --git a/test/EFCore.Design.Tests/Scaffolding/Internal/HumanizerPluralizerTest.cs b/test/EFCore.Design.Tests/Scaffolding/Internal/HumanizerPluralizerTest.cs index 447b3e7d598..00ff8195f66 100644 --- a/test/EFCore.Design.Tests/Scaffolding/Internal/HumanizerPluralizerTest.cs +++ b/test/EFCore.Design.Tests/Scaffolding/Internal/HumanizerPluralizerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Design.Internal; @@ -7,14 +7,14 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; public class HumanizerPluralizerTest { - [ConditionalTheory, InlineData("Unicorn", "Unicorns"), InlineData("Ox", "Oxen"), InlineData(null, null)] + [Theory, InlineData("Unicorn", "Unicorns"), InlineData("Ox", "Oxen"), InlineData(null, null)] public void Returns_expected_pluralized_name(string word, string inflected) { var pluralizer = new HumanizerPluralizer(); Assert.Equal(inflected, pluralizer.Pluralize(word)); } - [ConditionalTheory, InlineData("Unicorns", "Unicorn"), InlineData("Oxen", "Ox"), InlineData(null, null)] + [Theory, InlineData("Unicorns", "Unicorn"), InlineData("Oxen", "Ox"), InlineData(null, null)] public void Returns_expected_singularized_name(string word, string inflected) { var pluralizer = new HumanizerPluralizer(); diff --git a/test/EFCore.Design.Tests/Scaffolding/Internal/ModelCodeGeneratorSelectorTest.cs b/test/EFCore.Design.Tests/Scaffolding/Internal/ModelCodeGeneratorSelectorTest.cs index 44c088d6fec..3bbbd851292 100644 --- a/test/EFCore.Design.Tests/Scaffolding/Internal/ModelCodeGeneratorSelectorTest.cs +++ b/test/EFCore.Design.Tests/Scaffolding/Internal/ModelCodeGeneratorSelectorTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Internal; @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; public class ModelCodeGeneratorSelectorTest { - [ConditionalFact] + [Fact] public void Select_returns_last_service_for_language() { var expected = new TestModelCodeGenerator("C#"); @@ -20,7 +20,7 @@ public void Select_returns_last_service_for_language() Assert.Same(expected, result); } - [ConditionalFact] + [Fact] public void Select_throws_when_no_service_for_language() { var selector = new ModelCodeGeneratorSelector( @@ -32,7 +32,7 @@ public void Select_throws_when_no_service_for_language() Assert.Equal(DesignStrings.NoLanguageService("VB", nameof(IModelCodeGenerator)), ex.Message); } - [ConditionalFact] + [Fact] public void Select_returns_last_templated_service_with_templates() { var expected = new TestTemplatedModelGenerator(hasTemplates: true); @@ -50,7 +50,7 @@ public void Select_returns_last_templated_service_with_templates() Assert.Same(expected, result); } - [ConditionalFact] + [Fact] public void Select_returns_last_service_for_language_when_no_templates() { var expected = new TestModelCodeGenerator("C#"); diff --git a/test/EFCore.Design.Tests/Scaffolding/Internal/RelationalScaffoldingModelFactoryTest.cs b/test/EFCore.Design.Tests/Scaffolding/Internal/RelationalScaffoldingModelFactoryTest.cs index 5546cd2652e..7026bbee402 100644 --- a/test/EFCore.Design.Tests/Scaffolding/Internal/RelationalScaffoldingModelFactoryTest.cs +++ b/test/EFCore.Design.Tests/Scaffolding/Internal/RelationalScaffoldingModelFactoryTest.cs @@ -50,7 +50,7 @@ public RelationalScaffoldingModelFactoryTest() _reporter.Clear(); } - [ConditionalFact] + [Fact] public void Capitalize_DatabaseName() { var database = new DatabaseModel { DatabaseName = "northwind" }; @@ -58,7 +58,7 @@ public void Capitalize_DatabaseName() Assert.Equal("Northwind", model.GetDatabaseName()); } - [ConditionalFact] + [Fact] public void Creates_entity_types() { var info = new DatabaseModel @@ -111,7 +111,7 @@ public void Creates_entity_types() ); } - [ConditionalFact] + [Fact] public void Creates_entity_types_case_insensitive() { var info = new DatabaseModel @@ -138,7 +138,7 @@ public void Creates_entity_types_case_insensitive() Assert.Equal(2, model.GetEntityTypes().Select(et => et.Name).Distinct(StringComparer.OrdinalIgnoreCase).Count()); } - [ConditionalTheory, InlineData("PascalCase"), InlineData("camelCase"), InlineData("snake-case"), InlineData("MixedCASE"), + [Theory, InlineData("PascalCase"), InlineData("camelCase"), InlineData("snake-case"), InlineData("MixedCASE"), InlineData("separated_by_underscores"), InlineData("PascalCase_withUnderscore"), InlineData("ALL_CAPS"), InlineData("numbers0Dont1Affect23Upper45Case678To9LowerCase10Boundary999"), InlineData("We1!*~&%rdCh@r^act()0rs")] public void Get_DatabaseName(string expectedValue) @@ -150,7 +150,7 @@ public void Get_DatabaseName(string expectedValue) Assert.Equal(expectedValue, model.GetDatabaseName()); } - [ConditionalFact] + [Fact] public void Loads_column_types() { var info = new DatabaseModel @@ -249,7 +249,7 @@ public void Loads_column_types() }); } - [ConditionalFact] + [Fact] public void Use_database_names_for_columns() { var info = new DatabaseModel @@ -299,7 +299,7 @@ public void Use_database_names_for_columns() col3 => Assert.Equal("supplierID", col3.Name)); } - [ConditionalFact] + [Fact] public void Do_not_use_database_names_for_columns() { var info = new DatabaseModel @@ -348,7 +348,7 @@ public void Do_not_use_database_names_for_columns() col3 => Assert.Equal("VendorDiscount", col3.Name)); } - [ConditionalTheory, InlineData("nvarchar(450)", null), InlineData("datetime2(4)", null), InlineData("DateTime2(4)", "DateTime2(4)")] + [Theory, InlineData("nvarchar(450)", null), InlineData("datetime2(4)", null), InlineData("DateTime2(4)", "DateTime2(4)")] public void Column_type_annotation(string storeType, string expectedColumnType) { var column = new DatabaseColumn @@ -382,7 +382,7 @@ public void Column_type_annotation(string storeType, string expectedColumnType) Assert.Equal(expectedColumnType, property.GetConfiguredColumnType()); } - [ConditionalFact] + [Fact] public void Column_ordinal_annotation() { var col1 = new DatabaseColumn @@ -435,7 +435,7 @@ public void Column_ordinal_annotation() Assert.Equal(2, property3.GetColumnOrder()); } - [ConditionalTheory, InlineData("cheese"), InlineData(null)] + [Theory, InlineData("cheese"), InlineData(null)] public void Unmappable_column_type(string StoreType) { var info = new DatabaseModel @@ -467,7 +467,7 @@ public void Unmappable_column_type(string StoreType) Assert.Equal(DesignStrings.CannotFindTypeMappingForColumn("E.Coli", StoreType), message); } - [ConditionalTheory, InlineData(new[] { "Id" }, 1), InlineData(new[] { "Id", "AltId" }, 2)] + [Theory, InlineData(new[] { "Id" }, 1), InlineData(new[] { "Id", "AltId" }, 2)] #pragma warning disable xUnit1026 // Theory methods should use all of their parameters public void Primary_key(string[] keyProps, int length) #pragma warning restore xUnit1026 // Theory methods should use all of their parameters @@ -501,7 +501,7 @@ public void Primary_key(string[] keyProps, int length) Assert.Equal(keyProps, model.FindPrimaryKey().Properties.Select(p => p.GetColumnName()).ToArray()); } - [ConditionalFact] + [Fact] public void Unique_constraint() { var myColumn = new DatabaseColumn @@ -542,7 +542,7 @@ public void Unique_constraint() Assert.Same(entityType.FindProperty("MyColumn"), index.Properties.Single()); } - [ConditionalFact] + [Fact] public void Unique_constraint_without_name() { var myColumn = new DatabaseColumn @@ -575,7 +575,7 @@ public void Unique_constraint_without_name() Assert.Same(entityType.FindProperty("MyColumn"), index.Properties.Single()); } - [ConditionalFact] + [Fact] public void Unique_constraint_with_empty_string_name() { var myColumn = new DatabaseColumn @@ -616,7 +616,7 @@ public void Unique_constraint_with_empty_string_name() Assert.Same(entityType.FindProperty("MyColumn"), index.Properties.Single()); } - [ConditionalFact] + [Fact] public void Indexes_and_alternate_keys() { var c1 = new DatabaseColumn @@ -754,7 +754,7 @@ public void Indexes_and_alternate_keys() Assert.Equal(0, entityType.GetKeys().Count(k => !k.IsPrimaryKey())); } - [ConditionalFact] + [Fact] public void Foreign_key() { var parentTable = new DatabaseTable @@ -811,7 +811,7 @@ public void Foreign_key() Assert.Same(parent.GetProperties().First(), principalKey.Properties[0]); } - [ConditionalFact] + [Fact] public void Foreign_key_from_keyless_table() { var databaseModel = new DatabaseModel(); @@ -857,7 +857,7 @@ public void Foreign_key_from_keyless_table() Assert.Null(foreignKey.PrincipalToDependent); } - [ConditionalFact] + [Fact] public void Foreign_key_to_unique_constraint() { var keyColumn = new DatabaseColumn @@ -922,7 +922,7 @@ public void Foreign_key_to_unique_constraint() Assert.Same(parent.GetProperties().First(p => p.Name == "Key"), principalKey.Properties[0]); } - [ConditionalFact] + [Fact] public void Unique_foreign_key() { var parentTable = new DatabaseTable @@ -961,7 +961,7 @@ public void Unique_foreign_key() Assert.Equal(DeleteBehavior.ClientSetNull, fk.DeleteBehavior); } - [ConditionalFact] + [Fact] public void Composite_foreign_key() { var ida = new DatabaseColumn @@ -1042,7 +1042,7 @@ public void Composite_foreign_key() Assert.Equal("IdB", principalKey.Properties[1].Name); } - [ConditionalFact] + [Fact] public void It_loads_self_referencing_foreign_key() { var table = new DatabaseTable @@ -1085,7 +1085,7 @@ public void It_loads_self_referencing_foreign_key() Assert.Equal("Id", principalKey.Properties[0].Name); } - [ConditionalFact] + [Fact] public void It_logs_warning_for_bad_foreign_key() { var parentTable = new DatabaseTable @@ -1141,7 +1141,7 @@ public void It_logs_warning_for_bad_foreign_key() childrenTable.ForeignKeys.ElementAt(0).DisplayName(), "NotPkId", "Parent"), message); } - [ConditionalFact] + [Fact] public void It_logs_warning_for_duplicate_foreign_key() { var parentTable = new DatabaseTable @@ -1196,7 +1196,7 @@ public void It_logs_warning_for_duplicate_foreign_key() DesignStrings.ForeignKeyWithSameFacetsExists(childrenTable.ForeignKeys.ElementAt(1).DisplayName(), "FK_Foo"), message); } - [ConditionalFact] + [Fact] public void Unique_nullable_index_unused_by_foreign_key() { var table = new DatabaseTable @@ -1249,7 +1249,7 @@ public void Unique_nullable_index_unused_by_foreign_key() Assert.Equal(model.FindPrimaryKey(), fk.PrincipalKey); } - [ConditionalFact] + [Fact] public void Unique_nullable_index_used_by_foreign_key() { var table = new DatabaseTable @@ -1308,7 +1308,7 @@ public void Unique_nullable_index_used_by_foreign_key() table.ForeignKeys.ElementAt(0).DisplayName(), "FriendsNameUniqueIndex", "Friends.BuddyId"), message); } - [ConditionalFact] + [Fact] public void Unique_index_composite_foreign_key() { var ida = new DatabaseColumn @@ -1387,7 +1387,7 @@ public void Unique_index_composite_foreign_key() Assert.Equal(parent.FindPrimaryKey(), fk.PrincipalKey); } - [ConditionalFact] + [Fact] public void Index_descending() { var table = new DatabaseTable @@ -1506,7 +1506,7 @@ public void Index_descending() Assert.Equal([false, true, false], mixedIndex.IsDescending); } - [ConditionalFact] + [Fact] public void Unique_names() { var info = new DatabaseModel @@ -1577,7 +1577,7 @@ public void Unique_names() }); } - [ConditionalFact] + [Fact] public void Sequences() { var info = new DatabaseModel @@ -1609,7 +1609,7 @@ public void Sequences() }); } - [ConditionalFact] + [Fact] public void DbSet_annotation_is_set() { var info = new DatabaseModel @@ -1630,7 +1630,7 @@ public void DbSet_annotation_is_set() Assert.Equal("Blog", model.GetEntityTypes().Single().GetDbSetName()); } - [ConditionalFact] + [Fact] public void Pluralization_of_entity_and_DbSet() { var info = new DatabaseModel @@ -1673,7 +1673,7 @@ public void Pluralization_of_entity_and_DbSet() ); } - [ConditionalFact] + [Fact] public void Pluralization_of_entity_and_DbSet_noPluralize() { var info = new DatabaseModel @@ -1734,7 +1734,7 @@ public void Pluralization_of_entity_and_DbSet_noPluralize() ); } - [ConditionalFact] + [Fact] public void Pluralization_of_collection_navigations() { var blogTable = new DatabaseTable @@ -1792,7 +1792,7 @@ public void Pluralization_of_collection_navigations() ); } - [ConditionalFact] + [Fact] public void Pluralization_of_collection_navigations_noPluralize() { var blogTable = new DatabaseTable @@ -1850,7 +1850,7 @@ public void Pluralization_of_collection_navigations_noPluralize() ); } - [ConditionalFact] + [Fact] public void Not_null_bool_column_with_unparsed_default_value_is_made_nullable() { var dbModel = new DatabaseModel @@ -1896,7 +1896,7 @@ public void Not_null_bool_column_with_unparsed_default_value_is_made_nullable() Assert.Equal("Default", columns.First(c => c.Name == "NonNullBoolWithDefault")[RelationalAnnotationNames.DefaultValueSql]); } - [ConditionalFact] + [Fact] public void Not_null_bool_column_with_parsed_default_value_is_not_made_nullable() { var dbModel = new DatabaseModel @@ -1950,7 +1950,7 @@ public void Not_null_bool_column_with_parsed_default_value_is_not_made_nullable( Assert.Empty(_reporter.Messages); } - [ConditionalFact] + [Fact] public void Nullable_column_with_default_value_sql_does_not_generate_warning() { var dbModel = new DatabaseModel @@ -1989,7 +1989,7 @@ public void Nullable_column_with_default_value_sql_does_not_generate_warning() Assert.Empty(_reporter.Messages); } - [ConditionalFact] + [Fact] public void Correct_arguments_to_scaffolding_typemapper() { var principalPkColumn = new DatabaseColumn @@ -2122,7 +2122,7 @@ public void Correct_arguments_to_scaffolding_typemapper() Assert.Null(model.FindEntityType("Dependent").FindProperty("BlogAlternateKey").GetConfiguredColumnType()); } - [ConditionalFact] + [Fact] public void Unmapped_column_is_ignored() { var columnWithUnknownType = new DatabaseColumn @@ -2153,7 +2153,7 @@ public void Unmapped_column_is_ignored() Assert.Single(columns); } - [ConditionalFact] + [Fact] public void Column_and_table_comments() { var database = new DatabaseModel @@ -2189,7 +2189,7 @@ public void Column_and_table_comments() Assert.Equal("An int column", column.GetComment()); } - [ConditionalFact] + [Fact] public void Database_collation() { var database = new DatabaseModel { Collation = "SomeDatabaseCollation" }; @@ -2198,7 +2198,7 @@ public void Database_collation() Assert.Equal("SomeDatabaseCollation", model.GetCollation()); } - [ConditionalFact] + [Fact] public void Column_collation() { var database = new DatabaseModel @@ -2230,7 +2230,7 @@ public void Column_collation() Assert.Equal("SomeColumnCollation", column.GetCollation()); } - [ConditionalTheory, InlineData(false, false, false), InlineData(false, false, true), InlineData(false, true, false), + [Theory, InlineData(false, false, false), InlineData(false, false, true), InlineData(false, true, false), InlineData(false, true, true), InlineData(true, false, false), InlineData(true, false, true), InlineData(true, true, false), InlineData(true, true, true)] public void UseDatabaseNames_and_NoPluralize_work_together( @@ -2329,7 +2329,7 @@ public void UseDatabaseNames_and_NoPluralize_work_together( } } - [ConditionalFact] + [Fact] public void Scaffold_skip_navigation_for_many_to_many_join_table_ef6() { var database = new DatabaseModel @@ -2434,7 +2434,7 @@ public void Scaffold_skip_navigation_for_many_to_many_join_table_ef6() }); } - [ConditionalFact] + [Fact] public void Scaffold_skip_navigation_for_many_to_many_join_table_basic() { var database = new DatabaseModel @@ -2507,7 +2507,7 @@ public void Scaffold_skip_navigation_for_many_to_many_join_table_basic() }); } - [ConditionalFact] + [Fact] public void Scaffold_skip_navigation_for_many_to_many_join_table_unique_constraint() { var database = new DatabaseModel @@ -2587,7 +2587,7 @@ public void Scaffold_skip_navigation_for_many_to_many_join_table_unique_constrai }); } - [ConditionalFact] + [Fact] public void Scaffold_skip_navigation_for_many_to_many_join_table_self_ref() { var database = new DatabaseModel @@ -2681,7 +2681,7 @@ public void Scaffold_skip_navigation_for_many_to_many_join_table_self_ref() }); } - [ConditionalFact] + [Fact] public void Scaffold_skip_navigation_for_many_to_many_join_table_composite_fk() { var database = new DatabaseModel @@ -2794,7 +2794,7 @@ public void Scaffold_skip_navigation_for_many_to_many_join_table_composite_fk() }); } - [ConditionalFact] + [Fact] public void Fk_property_ending_in_guid_navigation_name() { var blogTable = new DatabaseTable @@ -2852,7 +2852,7 @@ public void Fk_property_ending_in_guid_navigation_name() ); } - [ConditionalFact] + [Fact] public void Composite_fk_property_ending_in_guid_navigation_name() { var blogTable = new DatabaseTable @@ -2942,7 +2942,7 @@ public void Composite_fk_property_ending_in_guid_navigation_name() ); } - [ConditionalFact] + [Fact] public void Unusual_navigation_name() // Issue #14278 { var bookDetailsTable = new DatabaseTable { Database = Database, Name = "Book_Details" }; @@ -3049,7 +3049,7 @@ public void Unusual_navigation_name() // Issue #14278 ); } - [ConditionalFact] + [Fact] public void Interesting_navigation_name() // Issue #27832 { var seasonTable = new DatabaseTable { Database = Database, Name = "TmTvSeason" }; @@ -3166,7 +3166,7 @@ void AssertNavigations() ); } - [ConditionalFact] + [Fact] public void Navigation_name_from_composite_FK() // Issue #32685 { var itemCategoryTable = new DatabaseTable { Database = Database, Name = "ItemCategory" }; @@ -3363,7 +3363,7 @@ public void Navigation_name_from_composite_FK() // Issue #32685 ); } - [ConditionalFact] + [Fact] public void Computed_column_when_sql_unknown() { var database = new DatabaseModel diff --git a/test/EFCore.Design.Tests/Scaffolding/Internal/ReverseEngineerScaffolderTest.cs b/test/EFCore.Design.Tests/Scaffolding/Internal/ReverseEngineerScaffolderTest.cs index 94d3928e9cc..f248b7d0eab 100644 --- a/test/EFCore.Design.Tests/Scaffolding/Internal/ReverseEngineerScaffolderTest.cs +++ b/test/EFCore.Design.Tests/Scaffolding/Internal/ReverseEngineerScaffolderTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Data.Common; @@ -12,7 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; public class ReverseEngineerScaffolderTest { - [ConditionalFact] + [Fact] public void Save_works() { using var directory = new TempDirectory(); @@ -38,7 +38,7 @@ public void Save_works() Assert.Equal("// TestEntity", File.ReadAllText(entityTypePath)); } - [ConditionalFact] + [Fact] public void Save_throws_when_existing_files() { using var directory = new TempDirectory(); @@ -64,7 +64,7 @@ public void Save_throws_when_existing_files() ex.Message); } - [ConditionalFact] + [Fact] public void Save_works_when_overwriteFiles() { using var directory = new TempDirectory(); @@ -80,7 +80,7 @@ public void Save_works_when_overwriteFiles() Assert.Equal("// Test", File.ReadAllText(path)); } - [ConditionalFact] + [Fact] public void Save_throws_when_readonly_files() { using var directory = new TempDirectory(); @@ -128,7 +128,7 @@ private static IReverseEngineerScaffolder CreateScaffolder() .ServiceProvider .GetRequiredService(); - [ConditionalFact] + [Fact] public void ScaffoldModel_works_with_named_connection_string() { var resolver = new TestNamedConnectionStringResolver("Data Source=Test"); @@ -158,7 +158,7 @@ public void ScaffoldModel_works_with_named_connection_string() Assert.DoesNotContain("#warning", result.ContextFile.Code); } - [ConditionalFact] + [Fact] public void ScaffoldModel_works_with_overridden_connection_string() { var resolver = new TestNamedConnectionStringResolver("Data Source=Test"); diff --git a/test/EFCore.Design.Tests/Scaffolding/Internal/ScaffoldingTypeMapperSqlServerTest.cs b/test/EFCore.Design.Tests/Scaffolding/Internal/ScaffoldingTypeMapperSqlServerTest.cs index 4d085a02973..cc5f5dd1267 100644 --- a/test/EFCore.Design.Tests/Scaffolding/Internal/ScaffoldingTypeMapperSqlServerTest.cs +++ b/test/EFCore.Design.Tests/Scaffolding/Internal/ScaffoldingTypeMapperSqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.SqlServer.Infrastructure.Internal; @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; public class ScaffoldingTypeMapperSqlServerTest { - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Maps_int_column(bool isKeyOrIndex) { var mapping = CreateMapper().FindMapping("int", isKeyOrIndex, rowVersion: false); @@ -19,7 +19,7 @@ public void Maps_int_column(bool isKeyOrIndex) AssertMapping(mapping, inferred: true, maxLength: null, unicode: null, fixedLength: null, precision: null, scale: null); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Maps_bigint_column(bool isKeyOrIndex) { var mapping = CreateMapper().FindMapping("bigint", isKeyOrIndex, rowVersion: false); @@ -27,7 +27,7 @@ public void Maps_bigint_column(bool isKeyOrIndex) AssertMapping(mapping, inferred: true, maxLength: null, unicode: null, fixedLength: null, precision: null, scale: null); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Maps_default_decimal_column(bool isKeyOrIndex) { var mapping = CreateMapper().FindMapping("decimal(18,2)", isKeyOrIndex, rowVersion: false); @@ -36,7 +36,7 @@ public void Maps_default_decimal_column(bool isKeyOrIndex) mapping, inferred: true, maxLength: null, unicode: null, fixedLength: null, precision: 18, scale: 2); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Maps_non_default_decimal_column(bool isKeyOrIndex) { var mapping = CreateMapper().FindMapping("decimal(14,3)", isKeyOrIndex, rowVersion: false); @@ -44,7 +44,7 @@ public void Maps_non_default_decimal_column(bool isKeyOrIndex) AssertMapping(mapping, inferred: true, maxLength: null, unicode: null, fixedLength: null, precision: 14, scale: 3); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Maps_numeric_column(bool isKeyOrIndex) { var mapping = CreateMapper().FindMapping("numeric(17,4)", isKeyOrIndex, rowVersion: false); @@ -53,7 +53,7 @@ public void Maps_numeric_column(bool isKeyOrIndex) mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null, precision: null, scale: null); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Maps_money_column(bool isKeyOrIndex) { var mapping = CreateMapper().FindMapping("money", isKeyOrIndex, rowVersion: false); @@ -62,7 +62,7 @@ public void Maps_money_column(bool isKeyOrIndex) mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null, precision: null, scale: null); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Maps_smallmoney_column(bool isKeyOrIndex) { var mapping = CreateMapper().FindMapping("smallmoney", isKeyOrIndex, rowVersion: false); @@ -71,7 +71,7 @@ public void Maps_smallmoney_column(bool isKeyOrIndex) mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null, precision: null, scale: null); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Maps_bit_column(bool isKeyOrIndex) { var mapping = CreateMapper().FindMapping("bit", isKeyOrIndex, rowVersion: false); @@ -79,7 +79,7 @@ public void Maps_bit_column(bool isKeyOrIndex) AssertMapping(mapping, inferred: true, maxLength: null, unicode: null, fixedLength: null, precision: null, scale: null); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Maps_datetime_column(bool isKeyOrIndex) { var mapping = CreateMapper().FindMapping("datetime", isKeyOrIndex, rowVersion: false); @@ -88,7 +88,7 @@ public void Maps_datetime_column(bool isKeyOrIndex) mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null, precision: null, scale: null); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Maps_datetime2_column(bool isKeyOrIndex) { var mapping = CreateMapper().FindMapping("datetime2", isKeyOrIndex, rowVersion: false); @@ -97,7 +97,7 @@ public void Maps_datetime2_column(bool isKeyOrIndex) mapping, inferred: true, maxLength: null, unicode: null, fixedLength: null, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_normal_varbinary_max_column() { var mapping = CreateMapper().FindMapping("varbinary(max)", keyOrIndex: false, rowVersion: false); @@ -105,7 +105,7 @@ public void Maps_normal_varbinary_max_column() AssertMapping(mapping, inferred: true, maxLength: null, unicode: null, fixedLength: null, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_normal_varbinary_sized_column() { var mapping = CreateMapper().FindMapping("varbinary(200)", keyOrIndex: false, rowVersion: false); @@ -113,7 +113,7 @@ public void Maps_normal_varbinary_sized_column() AssertMapping(mapping, inferred: true, maxLength: 200, unicode: null, fixedLength: null, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_normal_binary_sized_column() { var mapping = CreateMapper().FindMapping("binary(200)", keyOrIndex: false, rowVersion: false); @@ -121,7 +121,7 @@ public void Maps_normal_binary_sized_column() AssertMapping(mapping, inferred: true, maxLength: 200, unicode: null, fixedLength: true, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_key_varbinary_max_column() { var mapping = CreateMapper().FindMapping("varbinary(max)", keyOrIndex: true, rowVersion: false); @@ -130,7 +130,7 @@ public void Maps_key_varbinary_max_column() mapping, inferred: true, maxLength: -1, unicode: null, fixedLength: null, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_key_varbinary_sized_column() { var mapping = CreateMapper().FindMapping("varbinary(200)", keyOrIndex: true, rowVersion: false); @@ -138,7 +138,7 @@ public void Maps_key_varbinary_sized_column() AssertMapping(mapping, inferred: true, maxLength: 200, unicode: null, fixedLength: null, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_key_varbinary_default_sized_column() { var mapping = CreateMapper().FindMapping("varbinary(900)", keyOrIndex: true, rowVersion: false); @@ -146,7 +146,7 @@ public void Maps_key_varbinary_default_sized_column() AssertMapping(mapping, inferred: true, maxLength: null, unicode: null, fixedLength: null, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_key_binary_sized_column() { var mapping = CreateMapper().FindMapping("binary(200)", keyOrIndex: true, rowVersion: false); @@ -154,7 +154,7 @@ public void Maps_key_binary_sized_column() AssertMapping(mapping, inferred: true, maxLength: 200, unicode: null, fixedLength: true, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_key_binary_default_sized_column() { var mapping = CreateMapper().FindMapping("binary(900)", keyOrIndex: true, rowVersion: false); @@ -162,7 +162,7 @@ public void Maps_key_binary_default_sized_column() AssertMapping(mapping, inferred: true, maxLength: null, unicode: null, fixedLength: true, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_rowversion_rowversion_column() { var mapping = CreateMapper().FindMapping("rowversion", keyOrIndex: false, rowVersion: true); @@ -170,7 +170,7 @@ public void Maps_rowversion_rowversion_column() AssertMapping(mapping, inferred: true, maxLength: null, unicode: null, fixedLength: null, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_rowversion_varbinary_max_column() { var mapping = CreateMapper().FindMapping("varbinary(max)", keyOrIndex: false, rowVersion: true); @@ -179,7 +179,7 @@ public void Maps_rowversion_varbinary_max_column() mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_rowversion_varbinary_sized_column() { var mapping = CreateMapper().FindMapping("varbinary(200)", keyOrIndex: false, rowVersion: true); @@ -188,7 +188,7 @@ public void Maps_rowversion_varbinary_sized_column() mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_rowversion_varbinary_default_sized_column() { var mapping = CreateMapper().FindMapping("varbinary(8)", keyOrIndex: false, rowVersion: true); @@ -197,7 +197,7 @@ public void Maps_rowversion_varbinary_default_sized_column() mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_rowversion_binary_max_column() { var mapping = CreateMapper().FindMapping("binary(max)", keyOrIndex: false, rowVersion: true); @@ -206,7 +206,7 @@ public void Maps_rowversion_binary_max_column() mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_rowversion_binary_sized_column() { var mapping = CreateMapper().FindMapping("binary(200)", keyOrIndex: false, rowVersion: true); @@ -215,7 +215,7 @@ public void Maps_rowversion_binary_sized_column() mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_rowversion_binary_default_sized_column() { var mapping = CreateMapper().FindMapping("binary(8)", keyOrIndex: false, rowVersion: true); @@ -224,7 +224,7 @@ public void Maps_rowversion_binary_default_sized_column() mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_normal_nvarchar_max_column() { var mapping = CreateMapper().FindMapping("nvarchar(max)", keyOrIndex: false, rowVersion: false); @@ -232,7 +232,7 @@ public void Maps_normal_nvarchar_max_column() AssertMapping(mapping, inferred: true, maxLength: null, unicode: null, fixedLength: null, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_normal_nvarchar_sized_column() { var mapping = CreateMapper().FindMapping("nvarchar(200)", keyOrIndex: false, rowVersion: false); @@ -240,7 +240,7 @@ public void Maps_normal_nvarchar_sized_column() AssertMapping(mapping, inferred: true, maxLength: 200, unicode: null, fixedLength: null, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_normal_varchar_max_column() { var mapping = CreateMapper().FindMapping("varchar(max)", keyOrIndex: false, rowVersion: false); @@ -249,7 +249,7 @@ public void Maps_normal_varchar_max_column() mapping, inferred: true, maxLength: null, unicode: false, fixedLength: null, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_normal_varchar_sized_column() { var mapping = CreateMapper().FindMapping("varchar(200)", keyOrIndex: false, rowVersion: false); @@ -257,7 +257,7 @@ public void Maps_normal_varchar_sized_column() AssertMapping(mapping, inferred: true, maxLength: 200, unicode: false, fixedLength: null, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_key_nvarchar_max_column() { var mapping = CreateMapper().FindMapping("nvarchar(max)", keyOrIndex: true, rowVersion: false); @@ -266,7 +266,7 @@ public void Maps_key_nvarchar_max_column() mapping, inferred: true, maxLength: -1, unicode: null, fixedLength: null, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_key_nvarchar_sized_column() { var mapping = CreateMapper().FindMapping("nvarchar(200)", keyOrIndex: true, rowVersion: false); @@ -274,7 +274,7 @@ public void Maps_key_nvarchar_sized_column() AssertMapping(mapping, inferred: true, maxLength: 200, unicode: null, fixedLength: null, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_key_varchar_max_column() { var mapping = CreateMapper().FindMapping("varchar(max)", keyOrIndex: true, rowVersion: false); @@ -283,7 +283,7 @@ public void Maps_key_varchar_max_column() mapping, inferred: true, maxLength: -1, unicode: false, fixedLength: null, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_key_varchar_sized_column() { var mapping = CreateMapper().FindMapping("varchar(200)", keyOrIndex: true, rowVersion: false); @@ -291,7 +291,7 @@ public void Maps_key_varchar_sized_column() AssertMapping(mapping, inferred: true, maxLength: 200, unicode: false, fixedLength: null, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_key_nvarchar_default_sized_column() { var mapping = CreateMapper().FindMapping("nvarchar(450)", keyOrIndex: true, rowVersion: false); @@ -299,7 +299,7 @@ public void Maps_key_nvarchar_default_sized_column() AssertMapping(mapping, inferred: true, maxLength: null, unicode: null, fixedLength: null, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_key_varchar_default_sized_column() { var mapping = CreateMapper().FindMapping("varchar(900)", keyOrIndex: true, rowVersion: false); @@ -308,7 +308,7 @@ public void Maps_key_varchar_default_sized_column() mapping, inferred: true, maxLength: null, unicode: false, fixedLength: null, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_normal_nchar_sized_column() { var mapping = CreateMapper().FindMapping("nchar(200)", keyOrIndex: false, rowVersion: false); @@ -316,7 +316,7 @@ public void Maps_normal_nchar_sized_column() AssertMapping(mapping, inferred: true, maxLength: 200, unicode: null, fixedLength: true, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_normal_char_sized_column() { var mapping = CreateMapper().FindMapping("char(200)", keyOrIndex: false, rowVersion: false); @@ -324,7 +324,7 @@ public void Maps_normal_char_sized_column() AssertMapping(mapping, inferred: true, maxLength: 200, unicode: false, fixedLength: true, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_key_nchar_max_column() { var mapping = CreateMapper().FindMapping("nchar(max)", keyOrIndex: true, rowVersion: false); @@ -333,7 +333,7 @@ public void Maps_key_nchar_max_column() mapping, inferred: true, maxLength: -1, unicode: null, fixedLength: true, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_key_nchar_sized_column() { var mapping = CreateMapper().FindMapping("nchar(200)", keyOrIndex: true, rowVersion: false); @@ -341,7 +341,7 @@ public void Maps_key_nchar_sized_column() AssertMapping(mapping, inferred: true, maxLength: 200, unicode: null, fixedLength: true, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_key_char_max_column() { var mapping = CreateMapper().FindMapping("char(max)", keyOrIndex: true, rowVersion: false); @@ -350,7 +350,7 @@ public void Maps_key_char_max_column() mapping, inferred: true, maxLength: -1, unicode: false, fixedLength: true, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_key_char_sized_column() { var mapping = CreateMapper().FindMapping("char(200)", keyOrIndex: true, rowVersion: false); @@ -358,7 +358,7 @@ public void Maps_key_char_sized_column() AssertMapping(mapping, inferred: true, maxLength: 200, unicode: false, fixedLength: true, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_key_nchar_default_sized_column() { var mapping = CreateMapper().FindMapping("nchar(450)", keyOrIndex: true, rowVersion: false); @@ -366,7 +366,7 @@ public void Maps_key_nchar_default_sized_column() AssertMapping(mapping, inferred: true, maxLength: null, unicode: null, fixedLength: true, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_key_char_default_sized_column() { var mapping = CreateMapper().FindMapping("char(900)", keyOrIndex: true, rowVersion: false); @@ -375,7 +375,7 @@ public void Maps_key_char_default_sized_column() mapping, inferred: true, maxLength: null, unicode: false, fixedLength: true, precision: null, scale: null); } - [ConditionalFact] + [Fact] public void Maps_text_column() { var mapping = CreateMapper().FindMapping("text", keyOrIndex: true, rowVersion: false); diff --git a/test/EFCore.Design.Tests/Scaffolding/Internal/ScaffoldingTypeMapperSqliteTest.cs b/test/EFCore.Design.Tests/Scaffolding/Internal/ScaffoldingTypeMapperSqliteTest.cs index 136bb7b1dca..ec2805364e8 100644 --- a/test/EFCore.Design.Tests/Scaffolding/Internal/ScaffoldingTypeMapperSqliteTest.cs +++ b/test/EFCore.Design.Tests/Scaffolding/Internal/ScaffoldingTypeMapperSqliteTest.cs @@ -9,7 +9,7 @@ public class ScaffoldingTypeMapperSqliteTest { // Native type cases... - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] public void Maps_text_column_with_abnormal_casing(bool keyOrIndex, bool rowVersion) { var mapping = CreateMapper().FindMapping("text", keyOrIndex, rowVersion); @@ -17,7 +17,7 @@ public void Maps_text_column_with_abnormal_casing(bool keyOrIndex, bool rowVersi AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] public void Maps_integer_column_with_abnormal_casing(bool keyOrIndex, bool rowVersion) { var mapping = CreateMapper().FindMapping("integer", keyOrIndex, rowVersion); @@ -25,7 +25,7 @@ public void Maps_integer_column_with_abnormal_casing(bool keyOrIndex, bool rowVe AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] public void Maps_blob_column_with_abnormal_casing(bool keyOrIndex, bool rowVersion) { var mapping = CreateMapper().FindMapping("blob", keyOrIndex, rowVersion); @@ -33,7 +33,7 @@ public void Maps_blob_column_with_abnormal_casing(bool keyOrIndex, bool rowVersi AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] public void Maps_real_column_with_abnormal_casing(bool keyOrIndex, bool rowVersion) { var mapping = CreateMapper().FindMapping("real", keyOrIndex, rowVersion); @@ -41,7 +41,7 @@ public void Maps_real_column_with_abnormal_casing(bool keyOrIndex, bool rowVersi AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] public void Maps_text_column(bool keyOrIndex, bool rowVersion) { var mapping = CreateMapper().FindMapping("TEXT", keyOrIndex, rowVersion); @@ -49,7 +49,7 @@ public void Maps_text_column(bool keyOrIndex, bool rowVersion) AssertMapping(mapping, inferred: true, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] public void Maps_integer_column(bool keyOrIndex, bool rowVersion) { var mapping = CreateMapper().FindMapping("INTEGER", keyOrIndex, rowVersion); @@ -57,7 +57,7 @@ public void Maps_integer_column(bool keyOrIndex, bool rowVersion) AssertMapping(mapping, inferred: true, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] public void Maps_blob_column(bool keyOrIndex, bool rowVersion) { var mapping = CreateMapper().FindMapping("BLOB", keyOrIndex, rowVersion); @@ -65,7 +65,7 @@ public void Maps_blob_column(bool keyOrIndex, bool rowVersion) AssertMapping(mapping, inferred: true, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] public void Maps_real_column(bool keyOrIndex, bool rowVersion) { var mapping = CreateMapper().FindMapping("REAL", keyOrIndex, rowVersion); @@ -75,7 +75,7 @@ public void Maps_real_column(bool keyOrIndex, bool rowVersion) // Type affinity cases... - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Maps_int_column(bool isKeyOrIndex) { var mapping = CreateMapper().FindMapping("int", isKeyOrIndex, rowVersion: false); @@ -83,7 +83,7 @@ public void Maps_int_column(bool isKeyOrIndex) AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Maps_bigint_column(bool isKeyOrIndex) { var mapping = CreateMapper().FindMapping("bigint", isKeyOrIndex, rowVersion: false); @@ -91,7 +91,7 @@ public void Maps_bigint_column(bool isKeyOrIndex) AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_normal_varbinary_max_column() { var mapping = CreateMapper().FindMapping("varbinary(max)", keyOrIndex: false, rowVersion: false); @@ -99,7 +99,7 @@ public void Maps_normal_varbinary_max_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_normal_varbinary_sized_column() { var mapping = CreateMapper().FindMapping("varbinary(200)", keyOrIndex: false, rowVersion: false); @@ -107,7 +107,7 @@ public void Maps_normal_varbinary_sized_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_normal_binary_sized_column() { var mapping = CreateMapper().FindMapping("binary(200)", keyOrIndex: false, rowVersion: false); @@ -115,7 +115,7 @@ public void Maps_normal_binary_sized_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_key_varbinary_max_column() { var mapping = CreateMapper().FindMapping("varbinary(max)", keyOrIndex: true, rowVersion: false); @@ -123,7 +123,7 @@ public void Maps_key_varbinary_max_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_key_varbinary_sized_column() { var mapping = CreateMapper().FindMapping("varbinary(200)", keyOrIndex: true, rowVersion: false); @@ -131,7 +131,7 @@ public void Maps_key_varbinary_sized_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_key_varbinary_default_sized_column() { var mapping = CreateMapper().FindMapping("varbinary(900)", keyOrIndex: true, rowVersion: false); @@ -139,7 +139,7 @@ public void Maps_key_varbinary_default_sized_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_key_binary_sized_column() { var mapping = CreateMapper().FindMapping("binary(200)", keyOrIndex: true, rowVersion: false); @@ -147,7 +147,7 @@ public void Maps_key_binary_sized_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_key_binary_default_sized_column() { var mapping = CreateMapper().FindMapping("binary(900)", keyOrIndex: true, rowVersion: false); @@ -155,7 +155,7 @@ public void Maps_key_binary_default_sized_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_rowversion_varbinary_max_column() { var mapping = CreateMapper().FindMapping("varbinary(max)", keyOrIndex: false, rowVersion: true); @@ -163,7 +163,7 @@ public void Maps_rowversion_varbinary_max_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_rowversion_varbinary_sized_column() { var mapping = CreateMapper().FindMapping("varbinary(200)", keyOrIndex: false, rowVersion: true); @@ -171,7 +171,7 @@ public void Maps_rowversion_varbinary_sized_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_rowversion_varbinary_default_sized_column() { var mapping = CreateMapper().FindMapping("varbinary(8)", keyOrIndex: false, rowVersion: true); @@ -179,7 +179,7 @@ public void Maps_rowversion_varbinary_default_sized_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_rowversion_binary_max_column() { var mapping = CreateMapper().FindMapping("binary(max)", keyOrIndex: false, rowVersion: true); @@ -187,7 +187,7 @@ public void Maps_rowversion_binary_max_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_rowversion_binary_sized_column() { var mapping = CreateMapper().FindMapping("binary(200)", keyOrIndex: false, rowVersion: true); @@ -195,7 +195,7 @@ public void Maps_rowversion_binary_sized_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_rowversion_binary_default_sized_column() { var mapping = CreateMapper().FindMapping("binary(8)", keyOrIndex: false, rowVersion: true); @@ -203,7 +203,7 @@ public void Maps_rowversion_binary_default_sized_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_normal_nvarchar_max_column() { var mapping = CreateMapper().FindMapping("nvarchar(max)", keyOrIndex: false, rowVersion: false); @@ -211,7 +211,7 @@ public void Maps_normal_nvarchar_max_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_normal_nvarchar_sized_column() { var mapping = CreateMapper().FindMapping("nvarchar(200)", keyOrIndex: false, rowVersion: false); @@ -219,7 +219,7 @@ public void Maps_normal_nvarchar_sized_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_normal_varchar_max_column() { var mapping = CreateMapper().FindMapping("varchar(max)", keyOrIndex: false, rowVersion: false); @@ -227,7 +227,7 @@ public void Maps_normal_varchar_max_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_normal_varchar_sized_column() { var mapping = CreateMapper().FindMapping("varchar(200)", keyOrIndex: false, rowVersion: false); @@ -235,7 +235,7 @@ public void Maps_normal_varchar_sized_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_key_nvarchar_max_column() { var mapping = CreateMapper().FindMapping("nvarchar(max)", keyOrIndex: true, rowVersion: false); @@ -243,7 +243,7 @@ public void Maps_key_nvarchar_max_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_key_nvarchar_sized_column() { var mapping = CreateMapper().FindMapping("nvarchar(200)", keyOrIndex: true, rowVersion: false); @@ -251,7 +251,7 @@ public void Maps_key_nvarchar_sized_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_key_varchar_max_column() { var mapping = CreateMapper().FindMapping("varchar(max)", keyOrIndex: true, rowVersion: false); @@ -259,7 +259,7 @@ public void Maps_key_varchar_max_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_key_varchar_sized_column() { var mapping = CreateMapper().FindMapping("varchar(200)", keyOrIndex: true, rowVersion: false); @@ -267,7 +267,7 @@ public void Maps_key_varchar_sized_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_key_nvarchar_default_sized_column() { var mapping = CreateMapper().FindMapping("nvarchar(450)", keyOrIndex: true, rowVersion: false); @@ -275,7 +275,7 @@ public void Maps_key_nvarchar_default_sized_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_key_varchar_default_sized_column() { var mapping = CreateMapper().FindMapping("varchar(900)", keyOrIndex: true, rowVersion: false); @@ -283,7 +283,7 @@ public void Maps_key_varchar_default_sized_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_normal_nchar_sized_column() { var mapping = CreateMapper().FindMapping("nchar(200)", keyOrIndex: false, rowVersion: false); @@ -291,7 +291,7 @@ public void Maps_normal_nchar_sized_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_normal_char_sized_column() { var mapping = CreateMapper().FindMapping("char(200)", keyOrIndex: false, rowVersion: false); @@ -299,7 +299,7 @@ public void Maps_normal_char_sized_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_key_nchar_max_column() { var mapping = CreateMapper().FindMapping("nchar(max)", keyOrIndex: true, rowVersion: false); @@ -307,7 +307,7 @@ public void Maps_key_nchar_max_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_key_nchar_sized_column() { var mapping = CreateMapper().FindMapping("nchar(200)", keyOrIndex: true, rowVersion: false); @@ -315,7 +315,7 @@ public void Maps_key_nchar_sized_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_key_char_max_column() { var mapping = CreateMapper().FindMapping("char(max)", keyOrIndex: true, rowVersion: false); @@ -323,7 +323,7 @@ public void Maps_key_char_max_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_key_char_sized_column() { var mapping = CreateMapper().FindMapping("char(200)", keyOrIndex: true, rowVersion: false); @@ -331,7 +331,7 @@ public void Maps_key_char_sized_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_key_nchar_default_sized_column() { var mapping = CreateMapper().FindMapping("nchar(450)", keyOrIndex: true, rowVersion: false); @@ -339,7 +339,7 @@ public void Maps_key_nchar_default_sized_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_key_char_default_sized_column() { var mapping = CreateMapper().FindMapping("char(900)", keyOrIndex: true, rowVersion: false); @@ -349,7 +349,7 @@ public void Maps_key_char_default_sized_column() // Unknown type cases... - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] public void Maps_empty_type_column(bool keyOrIndex, bool rowVersion) { var mapping = CreateMapper().FindMapping("", keyOrIndex, rowVersion); @@ -357,7 +357,7 @@ public void Maps_empty_type_column(bool keyOrIndex, bool rowVersion) AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalFact] + [Fact] public void Maps_rowversion_rowversion_column() { var mapping = CreateMapper().FindMapping("rowversion", keyOrIndex: false, rowVersion: true); @@ -365,7 +365,7 @@ public void Maps_rowversion_rowversion_column() AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Maps_decimal_column(bool isKeyOrIndex) { var mapping = CreateMapper().FindMapping("decimal(18, 2)", isKeyOrIndex, rowVersion: false); @@ -373,7 +373,7 @@ public void Maps_decimal_column(bool isKeyOrIndex) AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Maps_bit_column(bool isKeyOrIndex) { var mapping = CreateMapper().FindMapping("bit", isKeyOrIndex, rowVersion: false); @@ -381,7 +381,7 @@ public void Maps_bit_column(bool isKeyOrIndex) AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Maps_datetime_column(bool isKeyOrIndex) { var mapping = CreateMapper().FindMapping("datetime", isKeyOrIndex, rowVersion: false); @@ -389,7 +389,7 @@ public void Maps_datetime_column(bool isKeyOrIndex) AssertMapping(mapping, inferred: false, maxLength: null, unicode: null, fixedLength: null); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Maps_datetime2_column(bool isKeyOrIndex) { var mapping = CreateMapper().FindMapping("datetime2", isKeyOrIndex, rowVersion: false); diff --git a/test/EFCore.Design.Tests/Scaffolding/Internal/TextTemplatingEngineHostTest.cs b/test/EFCore.Design.Tests/Scaffolding/Internal/TextTemplatingEngineHostTest.cs index 42b1320d71f..cb664aa7e5a 100644 --- a/test/EFCore.Design.Tests/Scaffolding/Internal/TextTemplatingEngineHostTest.cs +++ b/test/EFCore.Design.Tests/Scaffolding/Internal/TextTemplatingEngineHostTest.cs @@ -1,20 +1,19 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.CodeDom.Compiler; using Microsoft.EntityFrameworkCore.Internal; -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; using Microsoft.VisualStudio.TextTemplating; using Engine = Mono.TextTemplating.TemplatingEngine; namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; -[PlatformSkipCondition(TestUtilities.Xunit.TestPlatform.Linux | TestUtilities.Xunit.TestPlatform.Mac, SkipReason = "CI time out")] +[SkipOnPlatform(TestPlatforms.Linux | TestPlatforms.OSX, "Test does not run on Linux or macOS")] public class TextTemplatingEngineHostTest { public static readonly Engine _engine = new(); - [ConditionalFact] + [Fact] public void Service_works() { var host = new TextTemplatingEngineHost( @@ -30,7 +29,7 @@ public void Service_works() Assert.Equal("Hello, Services!", result); } - [ConditionalFact] + [Fact] public void Session_works() { var host = new TextTemplatingEngineHost { Session = new TextTemplatingSession { ["Value"] = "Hello, Session!" } }; @@ -43,7 +42,7 @@ public void Session_works() Assert.Equal("Hello, Session!", result); } - [ConditionalFact] + [Fact] public void Session_works_with_parameter() { var host = new TextTemplatingEngineHost { Session = new TextTemplatingSession { ["Value"] = "Hello, Session!" } }; @@ -56,7 +55,7 @@ public void Session_works_with_parameter() Assert.Equal("Hello, Session!", result); } - [ConditionalFact] + [Fact] public void Include_works() { using var dir = new TempDirectory(); @@ -74,7 +73,7 @@ public void Include_works() Assert.Equal("Hello, Include!", result); } - [ConditionalFact] + [Fact] public void Error_works() { var host = new TextTemplatingEngineHost(); @@ -87,7 +86,7 @@ public void Error_works() Assert.Equal("Hello, Error!", error.ErrorText); } - [ConditionalFact] + [Fact] public void Directive_throws_when_processor_unknown() { var host = new TextTemplatingEngineHost(); @@ -99,7 +98,7 @@ public void Directive_throws_when_processor_unknown() Assert.Equal(DesignStrings.UnknownDirectiveProcessor("TestDirectiveProcessor"), ex.Message); } - [ConditionalFact] + [Fact] public void ResolvePath_work() { using var dir = new TempDirectory(); @@ -114,7 +113,7 @@ public void ResolvePath_work() Assert.Equal(Path.Combine(dir, "data.json"), result); } - [ConditionalFact] + [Fact] public void Output_works() { var host = new TextTemplatingEngineHost(); @@ -128,7 +127,7 @@ public void Output_works() Assert.Equal(Encoding.ASCII, host.OutputEncoding); } - [ConditionalFact] + [Fact] public void Assembly_works() { var host = new TextTemplatingEngineHost(); diff --git a/test/EFCore.Design.Tests/Scaffolding/Internal/TextTemplatingModelGeneratorTest.cs b/test/EFCore.Design.Tests/Scaffolding/Internal/TextTemplatingModelGeneratorTest.cs index 55283bc6a03..36b71df1e38 100644 --- a/test/EFCore.Design.Tests/Scaffolding/Internal/TextTemplatingModelGeneratorTest.cs +++ b/test/EFCore.Design.Tests/Scaffolding/Internal/TextTemplatingModelGeneratorTest.cs @@ -1,17 +1,15 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Design.Internal; using Microsoft.EntityFrameworkCore.Internal; using Microsoft.EntityFrameworkCore.SqlServer.Design.Internal; -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; -[PlatformSkipCondition(TestUtilities.Xunit.TestPlatform.Linux | TestUtilities.Xunit.TestPlatform.Mac, SkipReason = "CI time out")] +[SkipOnPlatform(TestPlatforms.Linux | TestPlatforms.OSX, "Test does not run on Linux or macOS")] public class TextTemplatingModelGeneratorTest { - [ConditionalFact] + [Fact] public void HasTemplates_works_when_templates() { using var projectDir = new TempDirectory(); @@ -27,7 +25,7 @@ public void HasTemplates_works_when_templates() Assert.True(result); } - [ConditionalFact] + [Fact] public void HasTemplates_throws_when_configuration_but_no_context() { using var projectDir = new TempDirectory(); @@ -43,7 +41,7 @@ public void HasTemplates_throws_when_configuration_but_no_context() Assert.Equal(DesignStrings.NoContextTemplateButConfiguration, ex.Message); } - [ConditionalFact] + [Fact] public void HasTemplates_works_when_no_templates() { using var projectDir = new TempDirectory(); @@ -55,7 +53,7 @@ public void HasTemplates_works_when_no_templates() Assert.False(result); } - [ConditionalFact] + [Fact] public void GenerateModel_uses_templates() { using var projectDir = new TempDirectory(); @@ -100,7 +98,7 @@ public void GenerateModel_uses_templates() Assert.Equal("My entity type configuration template", entityTypeConfiguration.Code); } - [ConditionalFact] + [Fact] public void GenerateModel_works_when_no_entity_type_template() { using var projectDir = new TempDirectory(); @@ -131,7 +129,7 @@ public void GenerateModel_works_when_no_entity_type_template() Assert.Empty(result.AdditionalFiles); } - [ConditionalFact] + [Fact] public void GenerateModel_works_when_no_context_template_and_csharp() { using var projectDir = new TempDirectory(); @@ -163,7 +161,7 @@ public void GenerateModel_works_when_no_context_template_and_csharp() Assert.Equal("My entity type template", entityType.Code); } - [ConditionalFact] + [Fact] public void GenerateModel_throws_when_no_context_template_and_not_csharp() { using var projectDir = new TempDirectory(); @@ -190,7 +188,7 @@ public void GenerateModel_throws_when_no_context_template_and_not_csharp() Assert.Equal(DesignStrings.NoContextTemplate, ex.Message); } - [ConditionalFact] + [Fact] public void GenerateModel_sets_session_variables() { using var projectDir = new TempDirectory(); @@ -273,7 +271,7 @@ public void GenerateModel_sets_session_variables() entityTypeConfiguration.Code); } - [ConditionalFact] + [Fact] public void GenerateModel_defaults_to_model_namespace_when_no_context_namespace() { using var projectDir = new TempDirectory(); @@ -313,7 +311,7 @@ public void GenerateModel_defaults_to_model_namespace_when_no_context_namespace( entityTypeConfiguration.Code); } - [ConditionalFact] + [Fact] public void GenerateModel_uses_output_extension() { using var projectDir = new TempDirectory(); @@ -362,7 +360,7 @@ My entity type configuration template Assert.Single(result.AdditionalFiles, f => f.Path == "Entity2Configuration.py"); } - [ConditionalFact] + [Fact] public void GenerateModel_warns_when_output_encoding() { using var projectDir = new TempDirectory(); @@ -396,7 +394,7 @@ public void GenerateModel_warns_when_output_encoding() }); } - [ConditionalFact] + [Fact] public void GenerateModel_reports_errors() { using var projectDir = new TempDirectory(); @@ -432,7 +430,7 @@ public void GenerateModel_reports_errors() }); } - [ConditionalFact] + [Fact] public void GenerateModel_reports_warnings() { using var projectDir = new TempDirectory(); @@ -486,7 +484,7 @@ public void GenerateModel_reports_warnings() }); } - [ConditionalFact] + [Fact] public void GenerateModel_reports_compiler_errors() { using var projectDir = new TempDirectory(); diff --git a/test/EFCore.FSharp.FunctionalTests/NorthwindQueryFSharpTest.fs b/test/EFCore.FSharp.FunctionalTests/NorthwindQueryFSharpTest.fs index f6ebe776466..84f262a44f1 100644 --- a/test/EFCore.FSharp.FunctionalTests/NorthwindQueryFSharpTest.fs +++ b/test/EFCore.FSharp.FunctionalTests/NorthwindQueryFSharpTest.fs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.FSharp.FunctionalTests @@ -9,7 +9,7 @@ open Microsoft.EntityFrameworkCore.TestModels.Northwind open Microsoft.EntityFrameworkCore.TestUtilities open global.Xunit -[] +[, "SqlServerAvailable")>] type NorthwindQueryFSharpTest(fixture) as self = inherit QueryTestBase>(fixture) @@ -18,7 +18,7 @@ type NorthwindQueryFSharpTest(fixture) as self = let assertSql (sql: string) = fixture.TestSqlLoggerFactory.AssertBaseline([|sql|]) - [] + [] [] let ListLiteral_Contains (isAsync: bool) = task { diff --git a/test/EFCore.InMemory.FunctionalTests/CompositeKeyEndToEndTest.cs b/test/EFCore.InMemory.FunctionalTests/CompositeKeyEndToEndTest.cs index 5ef57aabf44..4abb8f939e4 100644 --- a/test/EFCore.InMemory.FunctionalTests/CompositeKeyEndToEndTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/CompositeKeyEndToEndTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore; public class CompositeKeyEndToEndTest { - [ConditionalFact] + [Fact] public async Task Can_use_two_non_generated_integers_as_composite_key_end_to_end() { var serviceProvider = new ServiceCollection() @@ -54,7 +54,7 @@ await context.AddAsync( } } - [ConditionalFact] + [Fact] public async Task Can_use_generated_values_in_composite_key_end_to_end() { var serviceProvider = new ServiceCollection() @@ -110,7 +110,7 @@ public async Task Can_use_generated_values_in_composite_key_end_to_end() } } - [ConditionalFact] + [Fact] public async Task Only_one_part_of_a_composite_key_needs_to_vary_for_uniqueness() { var serviceProvider = new ServiceCollection() diff --git a/test/EFCore.InMemory.FunctionalTests/ConfigPatternsInMemoryTest.cs b/test/EFCore.InMemory.FunctionalTests/ConfigPatternsInMemoryTest.cs index d914103c74d..7c700418fa4 100644 --- a/test/EFCore.InMemory.FunctionalTests/ConfigPatternsInMemoryTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/ConfigPatternsInMemoryTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore; public class ConfigPatternsInMemoryTest { - [ConditionalFact] + [Fact] public void Can_save_and_query_with_implicit_services_and_OnConfiguring() { using (var context = new ImplicitServicesAndConfigBlogContext()) @@ -39,7 +39,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) .UseInMemoryDatabase(nameof(ImplicitServicesAndConfigBlogContext)); } - [ConditionalFact] + [Fact] public void Can_save_and_query_with_implicit_services_and_explicit_config() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -72,7 +72,7 @@ private class ImplicitServicesExplicitConfigBlogContext(DbContextOptions options public DbSet Blogs { get; set; } } - [ConditionalFact] + [Fact] public void Can_save_and_query_with_explicit_services_and_OnConfiguring() { var services = new ServiceCollection(); @@ -113,7 +113,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) .UseInMemoryDatabase(nameof(ExplicitServicesImplicitConfigBlogContext)); } - [ConditionalFact] + [Fact] public void Can_save_and_query_with_explicit_services_and_explicit_config() { var optionsBuilder = new DbContextOptionsBuilder() @@ -149,7 +149,7 @@ private class ExplicitServicesAndConfigBlogContext(DbContextOptions options) : D public DbSet Blogs { get; set; } } - [ConditionalFact] + [Fact] public void Throws_on_attempt_to_use_context_with_no_store() => Assert.Equal( CoreStrings.NoProviderConfigured, @@ -170,7 +170,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) => optionsBuilder.EnableServiceProviderCaching(false); } - [ConditionalFact] + [Fact] public void Throws_on_attempt_to_use_store_with_no_store_services() { var serviceCollection = new ServiceCollection(); @@ -201,7 +201,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) .UseInternalServiceProvider(_serviceProvider); } - [ConditionalFact] + [Fact] public void Can_register_context_with_DI_container_and_have_it_injected() { var services = new ServiceCollection(); @@ -257,7 +257,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) public DbSet Blogs { get; set; } } - [ConditionalFact] + [Fact] public void Can_register_context_and_configuration_with_DI_container_and_have_both_injected() { var optionsBuilder = new DbContextOptionsBuilder() @@ -307,7 +307,7 @@ public InjectContextAndConfigurationBlogContext(DbContextOptions options) public DbSet Blogs { get; set; } } - [ConditionalFact] + [Fact] public void Can_register_configuration_with_DI_container_and_have_it_injected() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -363,7 +363,7 @@ public InjectConfigurationBlogContext(DbContextOptions options) public DbSet Blogs { get; set; } } - [ConditionalFact] + [Fact] public void Can_inject_different_configurations_into_different_contexts() { var blogOptions = new DbContextOptionsBuilder() diff --git a/test/EFCore.InMemory.FunctionalTests/CustomConvertersInMemoryTest.cs b/test/EFCore.InMemory.FunctionalTests/CustomConvertersInMemoryTest.cs index 23e7f592dc9..15a3e554bc8 100644 --- a/test/EFCore.InMemory.FunctionalTests/CustomConvertersInMemoryTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/CustomConvertersInMemoryTest.cs @@ -15,20 +15,20 @@ public override Task Optional_datetime_reading_null_from_database() public override Task Can_insert_and_read_back_with_case_insensitive_string_key() => Task.CompletedTask; - [ConditionalFact(Skip = "Issue#17050")] + [Fact(Skip = "Issue#17050")] public override void Value_conversion_with_property_named_value() { } - [ConditionalFact(Skip = "Issue#17050")] + [Fact(Skip = "Issue#17050")] public override void Collection_property_as_scalar_Any() => base.Collection_property_as_scalar_Any(); - [ConditionalFact(Skip = "Issue#17050")] + [Fact(Skip = "Issue#17050")] public override void Collection_property_as_scalar_Count_member() => base.Collection_property_as_scalar_Count_member(); - [ConditionalFact(Skip = "Issue#17050")] + [Fact(Skip = "Issue#17050")] public override void Collection_enum_as_string_Contains() => base.Collection_enum_as_string_Contains(); diff --git a/test/EFCore.InMemory.FunctionalTests/CustomValueGeneratorTest.cs b/test/EFCore.InMemory.FunctionalTests/CustomValueGeneratorTest.cs index 7bdfb63be87..ea64b980c64 100644 --- a/test/EFCore.InMemory.FunctionalTests/CustomValueGeneratorTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/CustomValueGeneratorTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore; public class CustomValueGeneratorTest { - [ConditionalFact] + [Fact] public void Can_use_custom_value_generators() { using var context = new CustomValueGeneratorContext(); @@ -55,7 +55,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) }); } - [ConditionalFact] + [Fact] public void Can_use_custom_value_generator_from_annotated_type() { using var context = new CustomValueGeneratorContextAnnotateType(); @@ -96,7 +96,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) }); } - [ConditionalFact] + [Fact] public void Can_use_custom_value_generator_from_annotated_factory() { using var context = new CustomValueGeneratorContextAnnotateFactory(); diff --git a/test/EFCore.InMemory.FunctionalTests/DatabaseErrorLogStateTest.cs b/test/EFCore.InMemory.FunctionalTests/DatabaseErrorLogStateTest.cs index a1c71897f2a..b2b156083a1 100644 --- a/test/EFCore.InMemory.FunctionalTests/DatabaseErrorLogStateTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/DatabaseErrorLogStateTest.cs @@ -11,11 +11,11 @@ namespace Microsoft.EntityFrameworkCore; public class DatabaseErrorLogStateTest { - [ConditionalFact] + [Fact] public Task SaveChanges_logs_DatabaseErrorLogState_nonasync() => SaveChanges_logs_DatabaseErrorLogState_test(async: false); - [ConditionalFact] + [Fact] public Task SaveChanges_logs_DatabaseErrorLogState_async() => SaveChanges_logs_DatabaseErrorLogState_test(async: true); @@ -49,33 +49,33 @@ private async Task SaveChanges_logs_DatabaseErrorLogState_test(bool async) ex.ToString(), loggerFactory.Logger.LastDatabaseErrorFormatter(loggerFactory.Logger.LastDatabaseErrorState, ex)); } - [ConditionalFact] + [Fact] public Task Query_logs_DatabaseErrorLogState_during_DbSet_enumeration() => Query_logs_DatabaseErrorLogState_test(c => c.Blogs.ToList()); - [ConditionalFact] + [Fact] public Task Query_logs_DatabaseErrorLogState_during_DbSet_enumeration_async() => Query_logs_DatabaseErrorLogState_test(c => c.Blogs.ToListAsync()); - [ConditionalFact] + [Fact] public Task Query_logs_DatabaseErrorLogState_during_LINQ_enumeration() => Query_logs_DatabaseErrorLogState_test(c => c.Blogs .OrderBy(b => b.Name) .Where(b => b.Url.StartsWith("http://")) .ToList()); - [ConditionalFact] + [Fact] public Task Query_logs_DatabaseErrorLogState_during_LINQ_enumeration_async() => Query_logs_DatabaseErrorLogState_test(c => c.Blogs .OrderBy(b => b.Name) .Where(b => b.Url.StartsWith("http://")) .ToListAsync()); - [ConditionalFact] + [Fact] public Task Query_logs_DatabaseErrorLogState_during_single() => Query_logs_DatabaseErrorLogState_test(c => c.Blogs.FirstOrDefault()); - [ConditionalFact] + [Fact] public Task Query_logs_DatabaseErrorLogState_during_single_async() => Query_logs_DatabaseErrorLogState_test(c => c.Blogs.FirstOrDefaultAsync()); diff --git a/test/EFCore.InMemory.FunctionalTests/DatabaseInMemoryTest.cs b/test/EFCore.InMemory.FunctionalTests/DatabaseInMemoryTest.cs index a975dc7297a..6df658536d0 100644 --- a/test/EFCore.InMemory.FunctionalTests/DatabaseInMemoryTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/DatabaseInMemoryTest.cs @@ -7,14 +7,14 @@ namespace Microsoft.EntityFrameworkCore; public class DatabaseInMemoryTest { - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task CanConnect_returns_true(bool async) { using var context = new SimpleContext(); Assert.True(async ? await context.Database.CanConnectAsync() : context.Database.CanConnect()); } - [ConditionalFact] + [Fact] public async Task Can_add_update_delete_end_to_end() { var serviceProvider = new ServiceCollection() @@ -96,7 +96,7 @@ public Customer() protected virtual void OnModelCreating(ModelBuilder modelBuilder) => modelBuilder.Entity(); - [ConditionalFact] + [Fact] public async Task Can_share_instance_between_contexts_with_sugar_experience() { using (var db = new SimpleContext()) diff --git a/test/EFCore.InMemory.FunctionalTests/EFCore.InMemory.FunctionalTests.csproj b/test/EFCore.InMemory.FunctionalTests/EFCore.InMemory.FunctionalTests.csproj index 7191c2db044..8a63b709110 100644 --- a/test/EFCore.InMemory.FunctionalTests/EFCore.InMemory.FunctionalTests.csproj +++ b/test/EFCore.InMemory.FunctionalTests/EFCore.InMemory.FunctionalTests.csproj @@ -1,4 +1,4 @@ - + $(DefaultNetCoreTargetFramework) @@ -49,7 +49,6 @@ - diff --git a/test/EFCore.InMemory.FunctionalTests/EndToEndTest.cs b/test/EFCore.InMemory.FunctionalTests/EndToEndTest.cs index ee858880191..395afcaf8c3 100644 --- a/test/EFCore.InMemory.FunctionalTests/EndToEndTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/EndToEndTest.cs @@ -9,7 +9,7 @@ public class EndToEndInMemoryTest(InMemoryFixture fixture) : IClassFixture(); diff --git a/test/EFCore.InMemory.FunctionalTests/GlobalDatabaseTest.cs b/test/EFCore.InMemory.FunctionalTests/GlobalDatabaseTest.cs index d84560491b4..9e3d26b1b54 100644 --- a/test/EFCore.InMemory.FunctionalTests/GlobalDatabaseTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/GlobalDatabaseTest.cs @@ -10,7 +10,7 @@ public class GlobalDatabaseTest { private static readonly InMemoryDatabaseRoot _databaseRoot = new(); - [ConditionalFact] + [Fact] public void Different_stores_are_used_when_options_force_different_internal_service_provider() { using (var context = new BooFooContext( @@ -32,7 +32,7 @@ public void Different_stores_are_used_when_options_force_different_internal_serv } } - [ConditionalFact] + [Fact] public void AddDbContext_does_not_force_different_internal_service_provider() { using (var context = new BooFooContext( @@ -55,7 +55,7 @@ public void AddDbContext_does_not_force_different_internal_service_provider() } } - [ConditionalFact] + [Fact] public void Global_store_can_be_used_when_options_force_different_internal_service_provider() { using (var context = new BooFooContext( @@ -79,7 +79,7 @@ public void Global_store_can_be_used_when_options_force_different_internal_servi } } - [ConditionalFact] + [Fact] public void Owned_types_are_found_correctly_with_database_root() { var options = new DbContextOptionsBuilder() @@ -115,7 +115,7 @@ public void Owned_types_are_found_correctly_with_database_root() } } - [ConditionalFact] + [Fact] public void Global_store_can_be_used_when_AddDbContext_force_different_internal_service_provider() { using (var context = new BooFooContext( @@ -141,7 +141,7 @@ public void Global_store_can_be_used_when_AddDbContext_force_different_internal_ } } - [ConditionalFact] + [Fact] public void EnableNullChecks_forces_different_internal_service_provider() { using var context1 = new ChangeNullabilityChecksContext(enableNullChecks: true); @@ -160,7 +160,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) b => b.EnableNullChecks(_enableNullChecks)); } - [ConditionalFact] + [Fact] public void Throws_changing_nullability_checks_in_OnConfiguring_when_UseInternalServiceProvider() { using (var context = new ChangeNullabilityChecksCacheContext(false)) diff --git a/test/EFCore.InMemory.FunctionalTests/GraphUpdates/GraphUpdatesIdentityResolutionInMemoryTest.cs b/test/EFCore.InMemory.FunctionalTests/GraphUpdates/GraphUpdatesIdentityResolutionInMemoryTest.cs index 8a87f2b668f..a6719f84fe7 100644 --- a/test/EFCore.InMemory.FunctionalTests/GraphUpdates/GraphUpdatesIdentityResolutionInMemoryTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/GraphUpdates/GraphUpdatesIdentityResolutionInMemoryTest.cs @@ -7,7 +7,7 @@ public class GraphUpdatesIdentityResolutionInMemoryTest( GraphUpdatesIdentityResolutionInMemoryTest.InMemoryIdentityResolutionFixture fixture) : GraphUpdatesInMemoryTestBase(fixture) { - [ConditionalFact] + [Fact] public Task Can_attach_full_required_graph_of_duplicates() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -22,7 +22,7 @@ public Task Can_attach_full_required_graph_of_duplicates() Assert.Equal(0, await context.SaveChangesAsync()); }); - [ConditionalFact] + [Fact] public Task Can_attach_full_optional_graph_of_duplicates() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -37,7 +37,7 @@ public Task Can_attach_full_optional_graph_of_duplicates() Assert.Equal(0, await context.SaveChangesAsync()); }); - [ConditionalFact] + [Fact] public Task Can_attach_full_required_non_PK_graph_of_duplicates() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -52,7 +52,7 @@ public Task Can_attach_full_required_non_PK_graph_of_duplicates() Assert.Equal(0, await context.SaveChangesAsync()); }); - [ConditionalFact] + [Fact] public Task Can_attach_full_required_AK_graph_of_duplicates() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -67,7 +67,7 @@ public Task Can_attach_full_required_AK_graph_of_duplicates() Assert.Equal(0, await context.SaveChangesAsync()); }); - [ConditionalFact] + [Fact] public Task Can_attach_full_optional_AK_graph_of_duplicates() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -82,7 +82,7 @@ public Task Can_attach_full_optional_AK_graph_of_duplicates() Assert.Equal(0, await context.SaveChangesAsync()); }); - [ConditionalFact] + [Fact] public Task Can_attach_full_required_non_PK_AK_graph_of_duplicates() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -97,7 +97,7 @@ public Task Can_attach_full_required_non_PK_AK_graph_of_duplicates() Assert.Equal(0, await context.SaveChangesAsync()); }); - [ConditionalFact] + [Fact] public Task Can_attach_full_required_one_to_many_graph_of_duplicates() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -112,7 +112,7 @@ public Task Can_attach_full_required_one_to_many_graph_of_duplicates() Assert.Equal(0, await context.SaveChangesAsync()); }); - [ConditionalFact] + [Fact] public Task Can_attach_full_required_composite_graph_of_duplicates() => ExecuteWithStrategyInTransactionAsync(async context => { diff --git a/test/EFCore.InMemory.FunctionalTests/GraphUpdates/ProxyGraphUpdatesInMemoryTest.cs b/test/EFCore.InMemory.FunctionalTests/GraphUpdates/ProxyGraphUpdatesInMemoryTest.cs index 1a78b2983d0..4726980d983 100644 --- a/test/EFCore.InMemory.FunctionalTests/GraphUpdates/ProxyGraphUpdatesInMemoryTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/GraphUpdates/ProxyGraphUpdatesInMemoryTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. #pragma warning disable RCS1102 // Make class static. @@ -9,72 +9,72 @@ public class ProxyGraphUpdatesInMemoryTest public abstract class ProxyGraphUpdatesInMemoryTestBase(TFixture fixture) : ProxyGraphUpdatesTestBase(fixture) where TFixture : ProxyGraphUpdatesInMemoryTestBase.ProxyGraphUpdatesInMemoryFixtureBase, new() { - [ConditionalFact(Skip = "FK constraint checking. Issue #2166")] + [Fact(Skip = "FK constraint checking. Issue #2166")] public override Task Optional_one_to_one_relationships_are_one_to_one() => base.Optional_one_to_one_relationships_are_one_to_one(); - [ConditionalFact(Skip = "FK constraint checking. Issue #2166")] + [Fact(Skip = "FK constraint checking. Issue #2166")] public override Task Optional_one_to_one_with_AK_relationships_are_one_to_one() => base.Optional_one_to_one_with_AK_relationships_are_one_to_one(); - [ConditionalTheory(Skip = "Cascade delete. Issue #3924")] + [Theory(Skip = "Cascade delete. Issue #3924")] public override Task Optional_many_to_one_dependents_with_alternate_key_are_orphaned_in_store( CascadeTiming cascadeDeleteTiming, CascadeTiming deleteOrphansTiming) => base.Optional_many_to_one_dependents_with_alternate_key_are_orphaned_in_store(cascadeDeleteTiming, deleteOrphansTiming); - [ConditionalTheory(Skip = "Cascade delete. Issue #3924")] + [Theory(Skip = "Cascade delete. Issue #3924")] public override Task Optional_many_to_one_dependents_are_orphaned_in_store( CascadeTiming cascadeDeleteTiming, CascadeTiming deleteOrphansTiming) => base.Optional_many_to_one_dependents_are_orphaned_in_store(cascadeDeleteTiming, deleteOrphansTiming); - [ConditionalTheory(Skip = "Cascade delete. Issue #3924")] + [Theory(Skip = "Cascade delete. Issue #3924")] public override Task Required_one_to_one_are_cascade_detached_when_Added( CascadeTiming cascadeDeleteTiming, CascadeTiming deleteOrphansTiming) => base.Required_one_to_one_are_cascade_detached_when_Added(cascadeDeleteTiming, deleteOrphansTiming); - [ConditionalFact(Skip = "FK constraint checking. Issue #2166")] + [Fact(Skip = "FK constraint checking. Issue #2166")] public override Task Required_one_to_one_relationships_are_one_to_one() => base.Required_one_to_one_relationships_are_one_to_one(); - [ConditionalFact(Skip = "FK constraint checking. Issue #2166")] + [Fact(Skip = "FK constraint checking. Issue #2166")] public override Task Required_one_to_one_with_AK_relationships_are_one_to_one() => base.Required_one_to_one_with_AK_relationships_are_one_to_one(); - [ConditionalTheory(Skip = "Cascade delete. Issue #3924")] + [Theory(Skip = "Cascade delete. Issue #3924")] public override Task Required_one_to_one_with_alternate_key_are_cascade_detached_when_Added( CascadeTiming cascadeDeleteTiming, CascadeTiming deleteOrphansTiming) => base.Required_one_to_one_with_alternate_key_are_cascade_detached_when_Added(cascadeDeleteTiming, deleteOrphansTiming); - [ConditionalTheory(Skip = "Cascade delete. Issue #3924")] + [Theory(Skip = "Cascade delete. Issue #3924")] public override Task Required_one_to_one_with_alternate_key_are_cascade_deleted_in_store( CascadeTiming cascadeDeleteTiming, CascadeTiming deleteOrphansTiming) => base.Required_one_to_one_with_alternate_key_are_cascade_deleted_in_store(cascadeDeleteTiming, deleteOrphansTiming); - [ConditionalTheory(Skip = "Cascade delete. Issue #3924")] + [Theory(Skip = "Cascade delete. Issue #3924")] public override Task Required_many_to_one_dependents_are_cascade_deleted_in_store( CascadeTiming cascadeDeleteTiming, CascadeTiming deleteOrphansTiming) => base.Required_many_to_one_dependents_are_cascade_deleted_in_store(cascadeDeleteTiming, deleteOrphansTiming); - [ConditionalTheory(Skip = "Cascade delete. Issue #3924")] + [Theory(Skip = "Cascade delete. Issue #3924")] public override Task Required_many_to_one_dependents_with_alternate_key_are_cascade_deleted_in_store( CascadeTiming cascadeDeleteTiming, CascadeTiming deleteOrphansTiming) => base.Required_many_to_one_dependents_with_alternate_key_are_cascade_deleted_in_store( cascadeDeleteTiming, deleteOrphansTiming); - [ConditionalTheory(Skip = "Cascade delete. Issue #3924")] + [Theory(Skip = "Cascade delete. Issue #3924")] public override Task Required_non_PK_one_to_one_are_cascade_detached_when_Added( CascadeTiming cascadeDeleteTiming, CascadeTiming deleteOrphansTiming) => base.Required_non_PK_one_to_one_are_cascade_detached_when_Added(cascadeDeleteTiming, deleteOrphansTiming); - [ConditionalTheory(Skip = "Cascade delete. Issue #3924")] + [Theory(Skip = "Cascade delete. Issue #3924")] public override Task Required_non_PK_one_to_one_with_alternate_key_are_cascade_detached_when_Added( CascadeTiming cascadeDeleteTiming, CascadeTiming deleteOrphansTiming) diff --git a/test/EFCore.InMemory.FunctionalTests/GuidValueGeneratorEndToEndTest.cs b/test/EFCore.InMemory.FunctionalTests/GuidValueGeneratorEndToEndTest.cs index c3a8d55fa1e..6e0a22b5cc1 100644 --- a/test/EFCore.InMemory.FunctionalTests/GuidValueGeneratorEndToEndTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/GuidValueGeneratorEndToEndTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore; public class GuidValueGeneratorEndToEndTest { - [ConditionalFact] + [Fact] public async Task Can_use_GUIDs_end_to_end_async() { var serviceProvider = new ServiceCollection() diff --git a/test/EFCore.InMemory.FunctionalTests/IntegerGeneratorEndToEndInMemoryTest.cs b/test/EFCore.InMemory.FunctionalTests/IntegerGeneratorEndToEndInMemoryTest.cs index 4f908c1d0b1..05031c8f1b2 100644 --- a/test/EFCore.InMemory.FunctionalTests/IntegerGeneratorEndToEndInMemoryTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/IntegerGeneratorEndToEndInMemoryTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore; public class IntegerGeneratorEndToEndInMemoryTest { - [ConditionalFact] + [Fact] public void Can_use_sequence_end_to_end() { var serviceProvider = new ServiceCollection() @@ -40,7 +40,7 @@ private static void AddEntities(IServiceProvider serviceProvider) context.SaveChanges(); } - [ConditionalFact] + [Fact] public async Task Can_use_sequence_end_to_end_async() { var serviceProvider = new ServiceCollection() @@ -75,7 +75,7 @@ await context.AddAsync( await context.SaveChangesAsync(); } - [ConditionalFact] + [Fact] public async Task Can_use_sequence_end_to_end_from_multiple_contexts_concurrently_async() { var serviceProvider = new ServiceCollection() diff --git a/test/EFCore.InMemory.FunctionalTests/IntegerValueGeneratorTest.cs b/test/EFCore.InMemory.FunctionalTests/IntegerValueGeneratorTest.cs index 1244fa01e58..14cd5178f6c 100644 --- a/test/EFCore.InMemory.FunctionalTests/IntegerValueGeneratorTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/IntegerValueGeneratorTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore; public class IntegerValueGeneratorTest { - [ConditionalFact] + [Fact] public void Each_property_gets_its_own_generator() { var macs = new Mac[4]; @@ -77,7 +77,7 @@ public void Each_property_gets_its_own_generator() Assert.Equal(4, toasts[3].Id); } - [ConditionalFact] + [Fact] public void Each_property_gets_its_own_generator_with_seeding() { var macs = new Mac[4]; @@ -166,7 +166,7 @@ public void Each_property_gets_its_own_generator_with_seeding() } } - [ConditionalFact] + [Fact] public void Generators_are_associated_with_database_root() { var serviceProvider1 = new ServiceCollection() @@ -210,7 +210,7 @@ public void Generators_are_associated_with_database_root() Assert.Equal(2, toasts[1].Id); } - [ConditionalFact] + [Fact] public void Mixing_explicit_values_with_generated_values_with_care_works() { var macs = new Mac[4]; @@ -248,7 +248,7 @@ public void Mixing_explicit_values_with_generated_values_with_care_works() Assert.Equal(201, toasts[3].Id); } - [ConditionalFact] + [Fact] public void Each_database_gets_its_own_generators() { var macs = new List(); @@ -282,7 +282,7 @@ public void Each_database_gets_its_own_generators() Assert.Equal(1, toasts[1].Id); } - [ConditionalFact] + [Fact] public void Each_root_gets_its_own_generators() { var macs = new List(); @@ -316,7 +316,7 @@ public void Each_root_gets_its_own_generators() Assert.Equal(1, toasts[1].Id); } - [ConditionalFact] + [Fact] public void EnsureDeleted_resets_generators() { var macs = new List(); diff --git a/test/EFCore.InMemory.FunctionalTests/KeysWithConvertersInMemoryTest.cs b/test/EFCore.InMemory.FunctionalTests/KeysWithConvertersInMemoryTest.cs index 5d0e4e1c7e8..3a77aac335b 100644 --- a/test/EFCore.InMemory.FunctionalTests/KeysWithConvertersInMemoryTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/KeysWithConvertersInMemoryTest.cs @@ -7,31 +7,31 @@ public class KeysWithConvertersInMemoryTest(KeysWithConvertersInMemoryTest.KeysW : KeysWithConvertersTestBase< KeysWithConvertersInMemoryTest.KeysWithConvertersInMemoryFixture>(fixture) { - [ConditionalFact(Skip = "Issue #26238")] + [Fact(Skip = "Issue #26238")] public override Task Can_insert_and_read_back_with_bare_class_key_and_optional_dependents() => base.Can_insert_and_read_back_with_bare_class_key_and_optional_dependents(); - [ConditionalFact(Skip = "Issue #26238")] + [Fact(Skip = "Issue #26238")] public override Task Can_insert_and_read_back_with_bare_class_key_and_optional_dependents_with_shadow_FK() => base.Can_insert_and_read_back_with_bare_class_key_and_optional_dependents_with_shadow_FK(); - [ConditionalFact(Skip = "Issue #26238")] + [Fact(Skip = "Issue #26238")] public override Task Can_insert_and_read_back_with_struct_binary_key_and_optional_dependents() => base.Can_insert_and_read_back_with_struct_binary_key_and_optional_dependents(); - [ConditionalFact(Skip = "Issue #26238")] + [Fact(Skip = "Issue #26238")] public override Task Can_insert_and_read_back_with_struct_binary_key_and_required_dependents() => base.Can_insert_and_read_back_with_struct_binary_key_and_required_dependents(); - [ConditionalFact(Skip = "Issue #26238")] + [Fact(Skip = "Issue #26238")] public override Task Can_query_and_update_owned_entity_with_value_converter() => base.Can_query_and_update_owned_entity_with_value_converter(); - [ConditionalFact(Skip = "Issue #26238")] + [Fact(Skip = "Issue #26238")] public override Task Can_query_and_update_owned_entity_with_int_bare_class_key() => base.Can_query_and_update_owned_entity_with_int_bare_class_key(); - [ConditionalFact(Skip = "Issue #26238")] + [Fact(Skip = "Issue #26238")] public override Task Can_insert_and_read_back_with_enumerable_class_key_and_optional_dependents() => base.Can_insert_and_read_back_with_enumerable_class_key_and_optional_dependents(); diff --git a/test/EFCore.InMemory.FunctionalTests/ModelBuilding/InMemoryModelBuilderAssemblyScanTest.cs b/test/EFCore.InMemory.FunctionalTests/ModelBuilding/InMemoryModelBuilderAssemblyScanTest.cs index f3809d7f4cb..d00ee261510 100644 --- a/test/EFCore.InMemory.FunctionalTests/ModelBuilding/InMemoryModelBuilderAssemblyScanTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/ModelBuilding/InMemoryModelBuilderAssemblyScanTest.cs @@ -11,7 +11,7 @@ public class InMemoryModelBuilderAssemblyScanTest : ModelBuilderTest typeof(ScannerCustomerEntityConfiguration), typeof(ScannerCustomerEntityConfiguration2), typeof(AbstractCustomerEntityConfiguration), typeof(AbstractCustomerEntityConfigurationImpl)); - [ConditionalFact] + [Fact] public void Should_scan_assemblies_for_entity_type_configurations() { var loggerFactory = new ListLoggerFactory(); @@ -32,7 +32,7 @@ public void Should_scan_assemblies_for_entity_type_configurations() Assert.Empty(loggerFactory.Log); } - [ConditionalFact] + [Fact] public void Scan_reports_load_errors() { var types = new[] @@ -74,7 +74,7 @@ public void Scan_reports_load_errors() new NullDbContextLogger()); } - [ConditionalFact] + [Fact] public void Should_support_filtering_for_entity_type_configurations() { var loggerFactory = new ListLoggerFactory(); @@ -96,7 +96,7 @@ public void Should_support_filtering_for_entity_type_configurations() Assert.Empty(loggerFactory.Log); } - [ConditionalFact] + [Fact] public void Should_skip_abstract_classes_for_entity_type_configurations() { var loggerFactory = new ListLoggerFactory(); @@ -115,7 +115,7 @@ public void Should_skip_abstract_classes_for_entity_type_configurations() Assert.Equal(expectedMessage, loggerFactory.Log[0].Message); } - [ConditionalFact] + [Fact] public void Should_log_when_no_entity_type_configurations_found() { var loggerFactory = new ListLoggerFactory(); @@ -131,7 +131,7 @@ public void Should_log_when_no_entity_type_configurations_found() Assert.Equal(expectedMessage, loggerFactory.Log[0].Message); } - [ConditionalFact] + [Fact] public void Should_log_when_entity_type_configuration_has_no_parameterless_constructor() { var types = new[] diff --git a/test/EFCore.InMemory.FunctionalTests/ModelBuilding/InMemoryModelBuilderGenericTest.cs b/test/EFCore.InMemory.FunctionalTests/ModelBuilding/InMemoryModelBuilderGenericTest.cs index c5ba4b53d2a..2712b81aeaa 100644 --- a/test/EFCore.InMemory.FunctionalTests/ModelBuilding/InMemoryModelBuilderGenericTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/ModelBuilding/InMemoryModelBuilderGenericTest.cs @@ -14,7 +14,7 @@ public class InMemoryModelBuilderGenericTest : InMemoryModelBuilderTest { public class InMemoryGenericNonRelationship(InMemoryModelBuilderFixture fixture) : InMemoryNonRelationship(fixture) { - [ConditionalFact] + [Fact] public void Can_discover_large_models_through_navigations() { var modelBuilder = CreateModelBuilder(); @@ -24,7 +24,7 @@ public void Can_discover_large_models_through_navigations() Assert.Equal(2000, modelBuilder.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public virtual void Changing_propertyInfo_updates_Property() { var modelBuilder = CreateModelBuilder(); @@ -43,7 +43,7 @@ protected override TestModelBuilder CreateModelBuilder(Action e.ShortName() == "CustomerDetails")); } - [ConditionalFact] + [Fact] public virtual void Can_create_one_to_one_shadow_navigations_between_shadow_entity_types() { var modelBuilder = CreateModelBuilder(); @@ -78,7 +78,7 @@ public virtual void Can_create_one_to_one_shadow_navigations_between_shadow_enti Assert.Throws(() => modelBuilder.FinalizeModel()).Message); } - [ConditionalFact] + [Fact] public virtual void Can_create_one_to_many_shadow_navigations_between_shadow_entity_types() { var modelBuilder = CreateModelBuilder(); @@ -96,7 +96,7 @@ public virtual void Can_create_one_to_many_shadow_navigations_between_shadow_ent Assert.Throws(() => modelBuilder.FinalizeModel()).Message); } - [ConditionalFact] + [Fact] public virtual void Cannot_create_navigation_on_non_shadow_entity_targeting_shadow_entity() { var modelBuilder = CreateModelBuilder(); @@ -108,7 +108,7 @@ public virtual void Cannot_create_navigation_on_non_shadow_entity_targeting_shad Assert.Throws(() => orderEntityType.HasOne("Customer", "Customer")).Message); } - [ConditionalFact] + [Fact] public virtual void Cannot_create_shadow_navigation_between_non_shadow_entity_types() { var modelBuilder = CreateModelBuilder(); diff --git a/test/EFCore.InMemory.FunctionalTests/ModelSourceTest.cs b/test/EFCore.InMemory.FunctionalTests/ModelSourceTest.cs index c0e4264cb32..a3e1d9d327f 100644 --- a/test/EFCore.InMemory.FunctionalTests/ModelSourceTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/ModelSourceTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore; public class ModelSourceTest { - [ConditionalFact] // Issue #2992 + [Fact] // Issue #2992 public void Can_customize_ModelBuilder() { var serviceProvider = new ServiceCollection() diff --git a/test/EFCore.InMemory.FunctionalTests/NamedDatabaseTest.cs b/test/EFCore.InMemory.FunctionalTests/NamedDatabaseTest.cs index 2d3a1745dd1..e4184204a27 100644 --- a/test/EFCore.InMemory.FunctionalTests/NamedDatabaseTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/NamedDatabaseTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore; public class NamedDatabaseTest { - [ConditionalFact] + [Fact] public void Transient_databases_are_not_shared() { using (var context = new PusheenContext()) @@ -21,7 +21,7 @@ public void Transient_databases_are_not_shared() } } - [ConditionalFact] + [Fact] public void Database_per_app_domain_is_default_with_internal_service_provider() { using (var context = new PusheenContext(nameof(PusheenContext))) @@ -37,7 +37,7 @@ public void Database_per_app_domain_is_default_with_internal_service_provider() } } - [ConditionalFact] + [Fact] public void Database_per_service_provider_is_default() { var provider1 = new ServiceCollection().AddEntityFrameworkInMemoryDatabase().BuildServiceProvider(validateScopes: true); @@ -70,7 +70,7 @@ public void Database_per_service_provider_is_default() } } - [ConditionalFact] + [Fact] public void Named_databases_shared_per_app_domain_with_internal_service_provider() { using (var context = new PusheenContext("Cats")) @@ -100,7 +100,7 @@ public void Named_databases_shared_per_app_domain_with_internal_service_provider } } - [ConditionalFact] + [Fact] public void Named_databases_shared_per_service_provider() { var provider1 = new ServiceCollection().AddEntityFrameworkInMemoryDatabase().BuildServiceProvider(validateScopes: true); diff --git a/test/EFCore.InMemory.FunctionalTests/NullabilityCheckInMemoryTest.cs b/test/EFCore.InMemory.FunctionalTests/NullabilityCheckInMemoryTest.cs index 2ec4d53685c..acc5fbdbcb4 100644 --- a/test/EFCore.InMemory.FunctionalTests/NullabilityCheckInMemoryTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/NullabilityCheckInMemoryTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.ComponentModel.DataAnnotations; @@ -10,7 +10,7 @@ public class NullabilityCheckInMemoryTest(InMemoryFixture fixture) : IClassFixtu { protected InMemoryFixture Fixture { get; } = fixture; - [ConditionalFact] + [Fact] public void IsRequired_for_property_throws_while_inserting_null_value() => Assert.Equal( InMemoryStrings.NullabilityErrorException($"{{'{nameof(SomeEntity.Property)}'}}", nameof(SomeEntity)), @@ -29,7 +29,7 @@ public void IsRequired_for_property_throws_while_inserting_null_value() context.SaveChanges(); }).Message); - [ConditionalFact] + [Fact] public void IsRequired_for_property_throws_while_inserting_null_value_sensitive() => Assert.Equal( InMemoryStrings.NullabilityErrorExceptionSensitive($"{{'{nameof(SomeEntity.Property)}'}}", nameof(SomeEntity), "{Id: 1}"), @@ -49,7 +49,7 @@ public void IsRequired_for_property_throws_while_inserting_null_value_sensitive( context.SaveChanges(); }).Message); - [ConditionalFact] + [Fact] public void IsRequired_for_property_throws_while_inserting_null_value_sensitive_with_composite_keys() => Assert.Equal( InMemoryStrings.NullabilityErrorExceptionSensitive( @@ -75,7 +75,7 @@ public void IsRequired_for_property_throws_while_inserting_null_value_sensitive_ context.SaveChanges(); }).Message); - [ConditionalFact] + [Fact] public void RequiredAttribute_for_property_throws_while_inserting_null_value() => Assert.Equal( InMemoryStrings.NullabilityErrorException( @@ -95,7 +95,7 @@ public void RequiredAttribute_for_property_throws_while_inserting_null_value() context.SaveChanges(); }).Message); - [ConditionalFact] + [Fact] public void RequiredAttribute_And_IsRequired_for_properties_throws_while_inserting_null_values() => Assert.Equal( InMemoryStrings.NullabilityErrorException( @@ -116,7 +116,7 @@ public void RequiredAttribute_And_IsRequired_for_properties_throws_while_inserti context.SaveChanges(); }).Message); - [ConditionalFact] + [Fact] public void Can_insert_null_value_with_IsRequired_for_property_if_nullability_check_is_disabled() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -134,7 +134,7 @@ public void Can_insert_null_value_with_IsRequired_for_property_if_nullability_ch Assert.NotNull(context.Set().SingleOrDefault()); } - [ConditionalFact] + [Fact] public void Can_insert_null_value_with_RequiredAttribute_for_property_if_nullability_check_is_disabled() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -152,7 +152,7 @@ public void Can_insert_null_value_with_RequiredAttribute_for_property_if_nullabi Assert.NotNull(context.Set().SingleOrDefault()); } - [ConditionalFact] + [Fact] public void Can_insert_null_values_with_RequiredAttribute_and_IsRequired_for_properties_if_nullability_check_is_disabled() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); diff --git a/test/EFCore.InMemory.FunctionalTests/OptimisticConcurrencyInMemoryTest.cs b/test/EFCore.InMemory.FunctionalTests/OptimisticConcurrencyInMemoryTest.cs index 84d753a8f76..e4e80204ad3 100644 --- a/test/EFCore.InMemory.FunctionalTests/OptimisticConcurrencyInMemoryTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/OptimisticConcurrencyInMemoryTest.cs @@ -13,69 +13,69 @@ public abstract class OptimisticConcurrencyInMemoryTestBase(fixture) where TFixture : F1FixtureBase, new() { - [ConditionalFact(Skip = "Optimistic Offline Lock #2195")] + [Fact(Skip = "Optimistic Offline Lock #2195")] public override Task Simple_concurrency_exception_can_be_resolved_with_store_values() => Task.CompletedTask; - [ConditionalFact(Skip = "Optimistic Offline Lock #2195")] + [Fact(Skip = "Optimistic Offline Lock #2195")] public override Task Simple_concurrency_exception_can_be_resolved_with_client_values() => Task.CompletedTask; - [ConditionalFact(Skip = "Optimistic Offline Lock #2195")] + [Fact(Skip = "Optimistic Offline Lock #2195")] public override Task Simple_concurrency_exception_can_be_resolved_with_new_values() => Task.CompletedTask; - [ConditionalFact(Skip = "Optimistic Offline Lock #2195")] + [Fact(Skip = "Optimistic Offline Lock #2195")] public override Task Simple_concurrency_exception_can_be_resolved_with_store_values_using_equivalent_of_accept_changes() => Task.CompletedTask; - [ConditionalFact(Skip = "Optimistic Offline Lock #2195")] + [Fact(Skip = "Optimistic Offline Lock #2195")] public override Task Simple_concurrency_exception_can_be_resolved_with_store_values_using_Reload() => Task.CompletedTask; - [ConditionalFact(Skip = "Optimistic Offline Lock #2195")] + [Fact(Skip = "Optimistic Offline Lock #2195")] public override Task Updating_then_deleting_the_same_entity_results_in_DbUpdateConcurrencyException() => Task.CompletedTask; - [ConditionalFact(Skip = "Optimistic Offline Lock #2195")] + [Fact(Skip = "Optimistic Offline Lock #2195")] public override Task Updating_then_deleting_the_same_entity_results_in_DbUpdateConcurrencyException_which_can_be_resolved_with_store_values() => Task.CompletedTask; - [ConditionalFact(Skip = "Optimistic Offline Lock #2195")] + [Fact(Skip = "Optimistic Offline Lock #2195")] public override Task Change_in_independent_association_after_change_in_different_concurrency_token_results_in_independent_association_exception() => Task.CompletedTask; - [ConditionalFact(Skip = "Optimistic Offline Lock #2195")] + [Fact(Skip = "Optimistic Offline Lock #2195")] public override Task Change_in_independent_association_results_in_independent_association_exception() => Task.CompletedTask; - [ConditionalFact(Skip = "Optimistic Offline Lock #2195")] + [Fact(Skip = "Optimistic Offline Lock #2195")] public override Task Two_concurrency_issues_in_one_to_many_related_entities_can_be_handled_by_dealing_with_dependent_first() => Task.CompletedTask; - [ConditionalFact(Skip = "Optimistic Offline Lock #2195")] + [Fact(Skip = "Optimistic Offline Lock #2195")] public override Task Two_concurrency_issues_in_one_to_one_related_entities_can_be_handled_by_dealing_with_dependent_first() => Task.CompletedTask; - [ConditionalFact(Skip = "Throw DbUpdateException or DbUpdateConcurrencyException for in-memory database errors #23569")] + [Fact(Skip = "Throw DbUpdateException or DbUpdateConcurrencyException for in-memory database errors #23569")] public override Task Adding_the_same_entity_twice_results_in_DbUpdateException() => Task.CompletedTask; - [ConditionalFact(Skip = "Throw DbUpdateException or DbUpdateConcurrencyException for in-memory database errors #23569")] + [Fact(Skip = "Throw DbUpdateException or DbUpdateConcurrencyException for in-memory database errors #23569")] public override Task Deleting_the_same_entity_twice_results_in_DbUpdateConcurrencyException() => Task.CompletedTask; - [ConditionalFact(Skip = "Throw DbUpdateException or DbUpdateConcurrencyException for in-memory database errors #23569")] + [Fact(Skip = "Throw DbUpdateException or DbUpdateConcurrencyException for in-memory database errors #23569")] public override Task Deleting_then_updating_the_same_entity_results_in_DbUpdateConcurrencyException() => Task.CompletedTask; - [ConditionalFact(Skip = "Optimistic Offline Lock #2195")] + [Fact(Skip = "Optimistic Offline Lock #2195")] public override Task Attempting_to_delete_same_relationship_twice_for_many_to_many_results_in_independent_association_exception() => Task.CompletedTask; - [ConditionalFact(Skip = "Optimistic Offline Lock #2195")] + [Fact(Skip = "Optimistic Offline Lock #2195")] public override Task Attempting_to_add_same_relationship_twice_for_many_to_many_results_in_independent_association_exception() => Task.CompletedTask; } diff --git a/test/EFCore.InMemory.FunctionalTests/Query/AdHocQueryFiltersQueryInMemoryTest.cs b/test/EFCore.InMemory.FunctionalTests/Query/AdHocQueryFiltersQueryInMemoryTest.cs index 79ce3ed56c9..520193f4f3a 100644 --- a/test/EFCore.InMemory.FunctionalTests/Query/AdHocQueryFiltersQueryInMemoryTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/Query/AdHocQueryFiltersQueryInMemoryTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -7,7 +7,7 @@ public class AdHocQueryFiltersQueryInMemoryTest(NonSharedFixture fixture) : AdHo { #region 19708 - [ConditionalFact] + [Fact] public virtual async Task GroupJoin_SelectMany_gets_flattened() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); diff --git a/test/EFCore.InMemory.FunctionalTests/Query/GearsOfWarQueryInMemoryTest.cs b/test/EFCore.InMemory.FunctionalTests/Query/GearsOfWarQueryInMemoryTest.cs index 7b2623c9d56..6826b62c4ac 100644 --- a/test/EFCore.InMemory.FunctionalTests/Query/GearsOfWarQueryInMemoryTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/Query/GearsOfWarQueryInMemoryTest.cs @@ -144,7 +144,7 @@ public override Task Join_include_conditional(bool async) public override Task Correlated_collections_on_RightJoin_with_predicate(bool async) => AssertTranslationFailed(() => base.Correlated_collections_on_RightJoin_with_predicate(async)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_ToString_on_non_nullable_property_of_an_optional_entity(bool async) => AssertQuery( async, diff --git a/test/EFCore.InMemory.FunctionalTests/Query/OwnedEntityQueryInMemoryTest.cs b/test/EFCore.InMemory.FunctionalTests/Query/OwnedEntityQueryInMemoryTest.cs index b3548e6d3ef..96c799a8b43 100644 --- a/test/EFCore.InMemory.FunctionalTests/Query/OwnedEntityQueryInMemoryTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/Query/OwnedEntityQueryInMemoryTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -8,7 +8,7 @@ public class OwnedEntityQueryInMemoryTest(NonSharedFixture fixture) : OwnedEntit protected override ITestStoreFactory NonSharedTestStoreFactory => InMemoryTestStoreFactory.Instance; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Expand_owned_navigation_as_optional_always(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -60,7 +60,7 @@ protected class Foo } #nullable disable - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Owned_references_on_same_level_expanded_at_different_times_around_take(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -69,7 +69,7 @@ public virtual async Task Owned_references_on_same_level_expanded_at_different_t await base.Owned_references_on_same_level_expanded_at_different_times_around_take_helper(context, async); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Owned_references_on_same_level_nested_expanded_at_different_times_around_take(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); diff --git a/test/EFCore.InMemory.FunctionalTests/Query/QueryBugsInMemoryTest.cs b/test/EFCore.InMemory.FunctionalTests/Query/QueryBugsInMemoryTest.cs index ca0c3f83871..73212cb4b51 100644 --- a/test/EFCore.InMemory.FunctionalTests/Query/QueryBugsInMemoryTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/Query/QueryBugsInMemoryTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Collections.ObjectModel; @@ -13,7 +13,7 @@ public class QueryBugsInMemoryTest : IClassFixture { #region Bug9849 - [ConditionalFact] + [Fact] public virtual async Task Include_throw_when_empty_9849() { await using (await CreateScratchAsync(_ => Task.CompletedTask, "9849")) @@ -25,7 +25,7 @@ public virtual async Task Include_throw_when_empty_9849() } } - [ConditionalFact] + [Fact] public virtual async Task Include_throw_when_empty_9849_2() { await using (await CreateScratchAsync(_ => Task.CompletedTask, "9849")) @@ -39,7 +39,7 @@ public virtual async Task Include_throw_when_empty_9849_2() } } - [ConditionalFact] + [Fact] public virtual async Task Include_throw_when_empty_9849_3() { await using (await CreateScratchAsync(_ => Task.CompletedTask, "9849")) @@ -53,7 +53,7 @@ public virtual async Task Include_throw_when_empty_9849_3() } } - [ConditionalFact] + [Fact] public virtual async Task Include_throw_when_empty_9849_4() { await using (await CreateScratchAsync(_ => Task.CompletedTask, "9849")) @@ -67,7 +67,7 @@ public virtual async Task Include_throw_when_empty_9849_4() } } - [ConditionalFact] + [Fact] public virtual async Task Include_throw_when_empty_9849_5() { await using (await CreateScratchAsync(_ => Task.CompletedTask, "9849")) @@ -83,7 +83,7 @@ join __ in context.VehicleInspections on _f.Id equals __.Id } } - [ConditionalFact] + [Fact] public virtual async Task Include_throw_when_empty_9849_6() { await using (await CreateScratchAsync(_ => Task.CompletedTask, "9849")) @@ -143,7 +143,7 @@ private class Motor #region Bug3595 - [ConditionalFact] + [Fact] public virtual async Task GroupBy_with_uninitialized_datetime_projection_3595() { await using (await CreateScratchAsync(Seed3595, "3595")) @@ -221,7 +221,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) #region Bug3101 - [ConditionalFact] + [Fact] public virtual async Task Repro3101_simple_coalesce1() { await using (await CreateScratchAsync(Seed3101, "3101")) @@ -238,7 +238,7 @@ from eRootJoined in RootEntities.DefaultIfEmpty() } } - [ConditionalFact] + [Fact] public virtual async Task Repro3101_simple_coalesce2() { await using (await CreateScratchAsync(Seed3101, "3101")) @@ -256,7 +256,7 @@ from eRootJoined in RootEntities.DefaultIfEmpty() } } - [ConditionalFact] + [Fact] public virtual async Task Repro3101_simple_coalesce3() { await using (await CreateScratchAsync(Seed3101, "3101")) @@ -275,7 +275,7 @@ from eRootJoined in RootEntities.DefaultIfEmpty() } } - [ConditionalFact] + [Fact] public virtual async Task Repro3101_complex_coalesce1() { await using (await CreateScratchAsync(Seed3101, "3101")) @@ -293,7 +293,7 @@ from eRootJoined in RootEntities.DefaultIfEmpty() } } - [ConditionalFact] + [Fact] public virtual async Task Repro3101_complex_coalesce2() { await using (await CreateScratchAsync(Seed3101, "3101")) @@ -311,7 +311,7 @@ from eRootJoined in RootEntities.DefaultIfEmpty() } } - [ConditionalFact] + [Fact] public virtual async Task Repro3101_nested_coalesce1() { await using (await CreateScratchAsync(Seed3101, "3101")) @@ -329,7 +329,7 @@ from eRootJoined in RootEntities.DefaultIfEmpty() } } - [ConditionalFact] + [Fact] public virtual async Task Repro3101_nested_coalesce2() { await using (await CreateScratchAsync(Seed3101, "3101")) @@ -352,7 +352,7 @@ from eRootJoined in RootEntities.DefaultIfEmpty() } } - [ConditionalFact] + [Fact] public virtual async Task Repro3101_conditional() { await using (await CreateScratchAsync(Seed3101, "3101")) @@ -372,7 +372,7 @@ from eRootJoined in RootEntities.DefaultIfEmpty() } } - [ConditionalFact] + [Fact] public virtual async Task Repro3101_coalesce_tracking() { await using (await CreateScratchAsync(Seed3101, "3101")) @@ -456,7 +456,7 @@ private class Child3101 #region Bug5456 - [ConditionalFact] + [Fact] public virtual async Task Repro5456_include_group_join_is_per_query_context() { await using (await CreateScratchAsync(Seed5456, "5456")) @@ -472,7 +472,7 @@ public virtual async Task Repro5456_include_group_join_is_per_query_context() } } - [ConditionalFact] + [Fact] public virtual async Task Repro5456_include_group_join_is_per_query_context_async() { await using (await CreateScratchAsync(Seed5456, "5456")) @@ -495,7 +495,7 @@ async Task Action() } } - [ConditionalFact] + [Fact] public virtual async Task Repro5456_multiple_include_group_join_is_per_query_context() { await using (await CreateScratchAsync(Seed5456, "5456")) @@ -511,7 +511,7 @@ public virtual async Task Repro5456_multiple_include_group_join_is_per_query_con } } - [ConditionalFact] + [Fact] public virtual async Task Repro5456_multiple_include_group_join_is_per_query_context_async() { await using (await CreateScratchAsync(Seed5456, "5456")) @@ -535,7 +535,7 @@ async Task Action() } } - [ConditionalFact] + [Fact] public virtual async Task Repro5456_multi_level_include_group_join_is_per_query_context() { await using (await CreateScratchAsync(Seed5456, "5456")) @@ -551,7 +551,7 @@ public virtual async Task Repro5456_multi_level_include_group_join_is_per_query_ } } - [ConditionalFact] + [Fact] public virtual async Task Repro5456_multi_level_include_group_join_is_per_query_context_async() { await using (await CreateScratchAsync(Seed5456, "5456")) @@ -639,7 +639,7 @@ private class Comment5456 #region Bug8282 - [ConditionalFact] + [Fact] public virtual async Task Entity_passed_to_DTO_constructor_works() { await using (await CreateScratchAsync(_ => Task.CompletedTask, "8282")) @@ -676,7 +676,7 @@ private class EntityDto8282(Entity8282 entity) #region Issue21803 - [ConditionalFact] + [Fact] public virtual async Task Select_enumerable_navigation_backed_by_collection() { await using (await CreateScratchAsync(Seed21803, "21803")) @@ -731,7 +731,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) #region Issue20729 - [ConditionalFact] + [Fact] public virtual async Task Multiple_owned_references_at_same_level_maintains_valueBuffer_positions() { await using (await CreateScratchAsync(Seed20729, "20729")) @@ -808,7 +808,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) #region Issue23285 - [ConditionalFact] + [Fact] public virtual async Task Owned_reference_on_base_with_hierarchy() { await using (await CreateScratchAsync(Seed23285, "23285")) @@ -873,7 +873,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) #region Issue23687 - [ConditionalFact] + [Fact] public virtual async Task Owned_reference_with_composite_key() { await using (await CreateScratchAsync(Seed23687, "23687")) @@ -934,7 +934,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) #region Issue23593 - [ConditionalFact] + [Fact] public virtual async Task Join_with_enum_as_key_selector() { await using (await CreateScratchAsync(Seed23593, "23593")) @@ -950,7 +950,7 @@ join sme in context.StatusMapEvents on sm.Id equals sme.Id } } - [ConditionalFact] + [Fact] public virtual async Task Join_with_enum_inside_anonymous_type_as_key_selector() { await using (await CreateScratchAsync(Seed23593, "23593")) @@ -966,7 +966,7 @@ public virtual async Task Join_with_enum_inside_anonymous_type_as_key_selector() } } - [ConditionalFact] + [Fact] public virtual async Task Join_with_enum_inside_anonymous_type_with_other_property_as_key_selector() { await using (await CreateScratchAsync(Seed23593, "23593")) @@ -1027,7 +1027,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) #region Issue23926 - [ConditionalFact] + [Fact] public virtual async Task Left_join_with_entity_with_enum_discriminator() { await using (await CreateScratchAsync(Seed23926, "23926")) @@ -1094,7 +1094,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) #region Issue18435 - [ConditionalFact] + [Fact] public virtual async Task Shared_owned_property_on_multiple_level_in_Select() { await using (await CreateScratchAsync(Seed18435, "18435")) @@ -1183,7 +1183,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) #region Issue19425 - [ConditionalFact(Skip = "Issue#19425")] + [Fact(Skip = "Issue#19425")] public virtual async Task Non_nullable_cast_in_null_check() { await using (await CreateScratchAsync(Seed19425, "19425")) @@ -1231,7 +1231,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) #region Issue19667 - [ConditionalFact] + [Fact] public virtual async Task Property_access_on_nullable_converted_scalar_type() { await using (await CreateScratchAsync(Seed19667, "19667")) @@ -1280,7 +1280,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) #region Issue20359 - [ConditionalFact] + [Fact] public virtual async Task Changing_order_of_projection_in_anonymous_type_works() { await using (await CreateScratchAsync(Seed20359, "20359")) @@ -1365,7 +1365,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) #region Issue23360 - [ConditionalFact] + [Fact] public virtual async Task Union_with_different_property_name_using_same_anonymous_type() { await using (await CreateScratchAsync(Seed23360, "23360")) @@ -1451,7 +1451,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) #region Issue18394 - [ConditionalFact] + [Fact] public virtual async Task Ordering_of_collection_result_is_correct() { await using (await CreateScratchAsync(Seed18394, "18394")) @@ -1555,7 +1555,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) #region Issue23934 - [ConditionalFact] + [Fact] public virtual async Task Owned_entity_indexes_are_maintained_properly() { await using (await CreateScratchAsync(Seed23934, "23934")) diff --git a/test/EFCore.InMemory.FunctionalTests/Query/SharedTypeQueryInMemoryTest.cs b/test/EFCore.InMemory.FunctionalTests/Query/SharedTypeQueryInMemoryTest.cs index ccecf6c6563..50e38f0ebcf 100644 --- a/test/EFCore.InMemory.FunctionalTests/Query/SharedTypeQueryInMemoryTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/Query/SharedTypeQueryInMemoryTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -8,7 +8,7 @@ public class SharedTypeQueryInMemoryTest(NonSharedFixture fixture) : SharedTypeQ protected override ITestStoreFactory NonSharedTestStoreFactory => InMemoryTestStoreFactory.Instance; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Can_use_shared_type_entity_type_in_ToInMemoryQuery(bool async) { var contextFactory = await InitializeNonSharedTest( diff --git a/test/EFCore.InMemory.FunctionalTests/Query/WarningsTest.cs b/test/EFCore.InMemory.FunctionalTests/Query/WarningsTest.cs index d6cc51b7476..06930963f15 100644 --- a/test/EFCore.InMemory.FunctionalTests/Query/WarningsTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/Query/WarningsTest.cs @@ -13,7 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Query; public class WarningsTest { - [ConditionalFact] + [Fact] public void Should_throw_by_default_when_transaction() { var optionsBuilder @@ -30,7 +30,7 @@ var optionsBuilder Assert.Throws(() => context.Database.BeginTransaction()).Message); } - [ConditionalFact] + [Fact] public void Should_throw_by_default_when_transaction_enlisted() { var optionsBuilder @@ -47,7 +47,7 @@ var optionsBuilder Assert.Throws(() => context.Database.EnlistTransaction(new CommittableTransaction())).Message); } - [ConditionalFact] + [Fact] public void Should_not_throw_by_default_when_transaction_and_ignored() { var optionsBuilder @@ -60,7 +60,7 @@ var optionsBuilder context.Database.BeginTransaction(); } - [ConditionalFact] + [Fact] public void Throws_by_default_for_lazy_load_with_disposed_context() { var loggerFactory = new ListLoggerFactory(); @@ -93,7 +93,7 @@ public void Throws_by_default_for_lazy_load_with_disposed_context() Assert.Throws(() => entity.Nav).Message); } - [ConditionalFact] + [Fact] public void Lazy_load_with_disposed_context_can_be_configured_to_log() { var loggerFactory = new ListLoggerFactory(); @@ -133,7 +133,7 @@ public void Lazy_load_with_disposed_context_can_be_configured_to_log() Assert.Equal(LogLevel.Warning, log.Level); } - [ConditionalFact] + [Fact] public void Lazy_load_with_disposed_context_can_be_configured_to_log_at_debug_level() { var loggerFactory = new ListLoggerFactory(); @@ -173,7 +173,7 @@ public void Lazy_load_with_disposed_context_can_be_configured_to_log_at_debug_le Assert.Equal(LogLevel.Debug, log.Level); } - [ConditionalFact] + [Fact] public void Lazy_loading_is_logged_only_when_actually_loading() { var loggerFactory = new ListLoggerFactory(); @@ -213,7 +213,7 @@ public void Lazy_loading_is_logged_only_when_actually_loading() } } - [ConditionalFact] + [Fact] public void No_throw_when_event_id_not_registered() { var serviceProvider = new ServiceCollection() diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/CompiledModelInMemoryTest.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/CompiledModelInMemoryTest.cs index 7aa00f491ea..254cecb2d74 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/CompiledModelInMemoryTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/CompiledModelInMemoryTest.cs @@ -20,7 +20,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding { public class CompiledModelInMemoryTest(NonSharedFixture fixture) : CompiledModelTestBase(fixture) { - [ConditionalFact] + [Fact] public virtual Task Empty_model() => Test( modelBuilder => { }, @@ -30,7 +30,7 @@ public virtual Task Empty_model() Assert.Same(model, model.FindRuntimeAnnotationValue("ReadOnlyModel")); }); - [ConditionalFact] + [Fact] public virtual Task Global_namespace() => Test( modelBuilder => modelBuilder.Entity( @@ -45,7 +45,7 @@ public virtual Task Global_namespace() }, options: new CompiledModelCodeGenerationOptions { ModelNamespace = string.Empty, ForNativeAot = true }); - [ConditionalFact] + [Fact] public virtual Task Self_referential_property() => Test( modelBuilder => @@ -88,7 +88,7 @@ public SelfReferentialPropertyValueConverter() public class SelfReferentialProperty : List; - [ConditionalFact] + [Fact] public virtual Task Throws_for_constructor_binding() => Test( modelBuilder => modelBuilder.Entity( @@ -102,7 +102,7 @@ public virtual Task Throws_for_constructor_binding() }), expectedExceptionMessage: DesignStrings.CompiledModelConstructorBinding("Lazy", "Customize()", "LazyEntityType")); - [ConditionalFact] + [Fact] public virtual Task Manual_lazy_loading() => Test( modelBuilder => @@ -167,7 +167,7 @@ public class LazyPropertyDelegateEntity public LazyConstructorEntity? LazyConstructorEntity { get; set; } } - [ConditionalFact] + [Fact] public virtual Task Lazy_loading_proxies() => Test( modelBuilder => modelBuilder.Entity(), @@ -198,7 +198,7 @@ public virtual Task Lazy_loading_proxies() new CompiledModelCodeGenerationOptions { UseNullableReferenceTypes = true, ForNativeAot = true }, services => services.AddEntityFrameworkProxies()); - [ConditionalFact] + [Fact] public virtual Task Lazy_loading_manual() => Test( b => @@ -292,7 +292,7 @@ public virtual LazyProxiesEntity3 ReferenceNavigation } } - [ConditionalFact] + [Fact] public virtual Task Throws_for_query_filter() => Test( modelBuilder => modelBuilder.Entity( @@ -304,7 +304,7 @@ public virtual Task Throws_for_query_filter() }), expectedExceptionMessage: DesignStrings.CompiledModelQueryFilter("QueryFilter")); - [ConditionalFact] + [Fact] public virtual Task Throws_for_defining_query() => Test( expectedExceptionMessage: InMemoryStrings.CompiledModelDefiningQuery("object")); @@ -324,7 +324,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual Task Throws_for_value_generator() => Test( modelBuilder => modelBuilder.Entity( @@ -336,7 +336,7 @@ public virtual Task Throws_for_value_generator() expectedExceptionMessage: DesignStrings.CompiledModelValueGenerator( "MyEntity", "Id", nameof(PropertyBuilder.HasValueGeneratorFactory))); - [ConditionalFact] + [Fact] public virtual Task Custom_value_converter() => Test( modelBuilder => modelBuilder.Entity( @@ -356,7 +356,7 @@ public virtual Task Custom_value_converter() }, options: new CompiledModelCodeGenerationOptions { UseNullableReferenceTypes = true, ForNativeAot = true }); - [ConditionalFact] + [Fact] public virtual Task Custom_value_comparer() => Test( modelBuilder => modelBuilder.Entity( @@ -390,7 +390,7 @@ public override object Snapshot(object? instance) => throw new NotImplementedException(); } - [ConditionalFact] + [Fact] public virtual Task Custom_provider_value_comparer() => Test( modelBuilder => modelBuilder.Entity( @@ -411,7 +411,7 @@ is Expression> lambda && ((int)constant.Value!) == 1); }); - [ConditionalFact] + [Fact] public virtual Task Custom_type_mapping() => Test( modelBuilder => modelBuilder.Entity( @@ -430,7 +430,7 @@ public virtual Task Custom_type_mapping() Assert.IsType(typeMapping.JsonValueReaderWriter); }); - [ConditionalFact] + [Fact] public virtual Task Fully_qualified_model() => Test( modelBuilder => @@ -451,7 +451,7 @@ public virtual Task Fully_qualified_model() options: new CompiledModelCodeGenerationOptions { ModelNamespace = "Scaffolding", ForNativeAot = true }, addDesignTimeServices: services => services.AddSingleton()); - [ConditionalFact] + [Fact] public virtual Task RelationshipCycles() => Test( BuildCyclesModel, @@ -502,7 +502,7 @@ protected virtual void AssertCyclesModel(IModel model) TestHelpers.ModelAsserter.AssertEqual(principalBaseFk.PrincipalKey.Properties, dependentFk.Properties); } - //[ConditionalFact(Skip = "Primitive collections not supported completely")] + //[Fact(Skip = "Primitive collections not supported completely")] public override Task BigModel() => base.BigModel(); diff --git a/test/EFCore.InMemory.FunctionalTests/ShadowStateUpdateTest.cs b/test/EFCore.InMemory.FunctionalTests/ShadowStateUpdateTest.cs index d721a95155c..f5cd0f0a95d 100644 --- a/test/EFCore.InMemory.FunctionalTests/ShadowStateUpdateTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/ShadowStateUpdateTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore; public class ShadowStateUpdateTest(InMemoryFixture fixture) : IClassFixture { - [ConditionalFact] + [Fact] public async Task Can_add_update_delete_end_to_end_using_partial_shadow_state() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); diff --git a/test/EFCore.InMemory.FunctionalTests/StoreGeneratedFixupInMemoryTest.cs b/test/EFCore.InMemory.FunctionalTests/StoreGeneratedFixupInMemoryTest.cs index 0f917c58519..4c6d2b32602 100644 --- a/test/EFCore.InMemory.FunctionalTests/StoreGeneratedFixupInMemoryTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/StoreGeneratedFixupInMemoryTest.cs @@ -14,7 +14,7 @@ public override void Temporary_value_equals_database_generated_value() // In-memory doesn't use real store-generated values. } - [ConditionalFact] + [Fact] public void InMemory_database_does_not_use_temp_values() { using var context = CreateContext(); diff --git a/test/EFCore.InMemory.FunctionalTests/StoreGeneratedInMemoryTest.cs b/test/EFCore.InMemory.FunctionalTests/StoreGeneratedInMemoryTest.cs index 245e2f0e5fd..9a14555f60e 100644 --- a/test/EFCore.InMemory.FunctionalTests/StoreGeneratedInMemoryTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/StoreGeneratedInMemoryTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. #nullable enable @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore; public class StoreGeneratedInMemoryTest { - [ConditionalFact] + [Fact] public virtual void Value_generation_works_for_common_GUID_conversions() { ValueGenerationPositive(); @@ -278,7 +278,7 @@ protected class WrappedIntRecordDependentRequired public WrappedIntRecordPrincipal Principal { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual void Insert_update_and_delete_with_wrapped_int_key() { var databaseName = Guid.NewGuid().ToString(); @@ -594,7 +594,7 @@ protected class LongToIntDependentOptional public LongToIntPrincipal? Principal { get; set; } } - [ConditionalFact] + [Fact] public virtual void Insert_update_and_delete_with_long_to_int_conversion() { var databaseName = Guid.NewGuid().ToString(); @@ -927,7 +927,7 @@ protected class WrappedStringRecordDependentRequired public WrappedStringRecordPrincipal Principal { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual void Insert_update_and_delete_with_wrapped_string_key() { var databaseName = Guid.NewGuid().ToString(); @@ -1423,7 +1423,7 @@ protected class WrappedGuidRecordDependentRequired public WrappedGuidRecordPrincipal Principal { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual void Insert_update_and_delete_with_wrapped_Guid_key() { var databaseName = Guid.NewGuid().ToString(); @@ -1919,7 +1919,7 @@ protected class WrappedUriRecordDependentRequired public WrappedUriRecordPrincipal Principal { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual void Insert_update_and_delete_with_wrapped_Uri_key() { var databaseName = Guid.NewGuid().ToString(); @@ -2234,7 +2234,7 @@ protected class UriDependentOptional public UriPrincipal? Principal { get; set; } } - [ConditionalFact] + [Fact] public virtual void Insert_update_and_delete_with_Uri_key() { var databaseName = Guid.NewGuid().ToString(); @@ -2357,7 +2357,7 @@ protected class EnumDependentOptional public EnumPrincipal? Principal { get; set; } } - [ConditionalFact] + [Fact] public virtual void Insert_update_and_delete_with_enum_key() { var databaseName = Guid.NewGuid().ToString(); @@ -2470,7 +2470,7 @@ protected class GuidAsStringDependentOptional public GuidAsStringPrincipal? Principal { get; set; } } - [ConditionalFact] + [Fact] public virtual void Insert_update_and_delete_with_GuidAsString_key() { var databaseName = Guid.NewGuid().ToString(); @@ -2583,7 +2583,7 @@ protected class StringAsGuidDependentOptional public StringAsGuidPrincipal? Principal { get; set; } } - [ConditionalFact] + [Fact] public virtual void Insert_update_and_delete_with_StringAsGuid_key() { var databaseName = Guid.NewGuid().ToString(); diff --git a/test/EFCore.InMemory.FunctionalTests/ValueConvertersEndToEndInMemoryTest.cs b/test/EFCore.InMemory.FunctionalTests/ValueConvertersEndToEndInMemoryTest.cs index 4c00fbb40c1..d7df8dcda83 100644 --- a/test/EFCore.InMemory.FunctionalTests/ValueConvertersEndToEndInMemoryTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/ValueConvertersEndToEndInMemoryTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore; public class ValueConvertersEndToEndInMemoryTest(ValueConvertersEndToEndInMemoryTest.ValueConvertersEndToEndInMemoryFixture fixture) : ValueConvertersEndToEndTestBase(fixture) { - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Query_with_converter_and_null_check(bool async) // Issue #29603 { using (var context = CreateContext()) diff --git a/test/EFCore.InMemory.Tests/Diagnostics/InMemoryEventIdTest.cs b/test/EFCore.InMemory.Tests/Diagnostics/InMemoryEventIdTest.cs index aef89c4cded..6d064cb1eaf 100644 --- a/test/EFCore.InMemory.Tests/Diagnostics/InMemoryEventIdTest.cs +++ b/test/EFCore.InMemory.Tests/Diagnostics/InMemoryEventIdTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Diagnostics; public class InMemoryEventIdTest : EventIdTestBase { - [ConditionalFact] + [Fact] public void Every_eventId_has_a_logger_method_and_logs_when_level_enabled() { var fakeFactories = new Dictionary> { { typeof(IEnumerable), () => new List() } }; diff --git a/test/EFCore.InMemory.Tests/EFCore.InMemory.Tests.csproj b/test/EFCore.InMemory.Tests/EFCore.InMemory.Tests.csproj index 571d2db3518..ee7ee317238 100644 --- a/test/EFCore.InMemory.Tests/EFCore.InMemory.Tests.csproj +++ b/test/EFCore.InMemory.Tests/EFCore.InMemory.Tests.csproj @@ -1,4 +1,4 @@ - + $(DefaultNetCoreTargetFramework) @@ -33,7 +33,6 @@ - diff --git a/test/EFCore.InMemory.Tests/Extensions/InMemoryDatabaseFacadeExtensionsTest.cs b/test/EFCore.InMemory.Tests/Extensions/InMemoryDatabaseFacadeExtensionsTest.cs index f35ccde29a2..3c4a70263dc 100644 --- a/test/EFCore.InMemory.Tests/Extensions/InMemoryDatabaseFacadeExtensionsTest.cs +++ b/test/EFCore.InMemory.Tests/Extensions/InMemoryDatabaseFacadeExtensionsTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore; public class InMemoryDatabaseFacadeExtensionsTest { - [ConditionalFact] + [Fact] public void IsInMemory_when_using_in_memory() { using var context = new ProviderContext(); diff --git a/test/EFCore.InMemory.Tests/Infrastructure/InMemoryModelValidatorTest.cs b/test/EFCore.InMemory.Tests/Infrastructure/InMemoryModelValidatorTest.cs index 6399817a087..8b45809c022 100644 --- a/test/EFCore.InMemory.Tests/Infrastructure/InMemoryModelValidatorTest.cs +++ b/test/EFCore.InMemory.Tests/Infrastructure/InMemoryModelValidatorTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure; public class InMemoryModelValidatorTest : ModelValidatorTestBase { - [ConditionalFact] + [Fact] public virtual void Detects_ToQuery_on_derived_keyless_types() { var modelBuilder = base.CreateConventionModelBuilder(); diff --git a/test/EFCore.InMemory.Tests/Infrastructure/InMemoryOptionsExtensionTest.cs b/test/EFCore.InMemory.Tests/Infrastructure/InMemoryOptionsExtensionTest.cs index 8ef52a25602..de0de6f748e 100644 --- a/test/EFCore.InMemory.Tests/Infrastructure/InMemoryOptionsExtensionTest.cs +++ b/test/EFCore.InMemory.Tests/Infrastructure/InMemoryOptionsExtensionTest.cs @@ -11,7 +11,7 @@ public class InMemoryOptionsExtensionTest private static readonly MethodInfo _applyServices = typeof(InMemoryOptionsExtension).GetTypeInfo().DeclaredMethods.Single(m => m.Name == "ApplyServices"); - [ConditionalFact] + [Fact] public void Adds_in_memory_services() { var services = new ServiceCollection(); diff --git a/test/EFCore.InMemory.Tests/Storage/InMemoryDatabaseCreatorTest.cs b/test/EFCore.InMemory.Tests/Storage/InMemoryDatabaseCreatorTest.cs index 19fe82ac5f7..ef73a10c2c0 100644 --- a/test/EFCore.InMemory.Tests/Storage/InMemoryDatabaseCreatorTest.cs +++ b/test/EFCore.InMemory.Tests/Storage/InMemoryDatabaseCreatorTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Storage; public class InMemoryDatabaseCreatorTest { - [ConditionalFact] + [Fact] public void EnsureCreated_returns_true_for_first_use_of_persistent_database_and_false_thereafter() { var serviceProvider = InMemoryTestHelpers.Instance.CreateServiceProvider(); @@ -24,7 +24,7 @@ public void EnsureCreated_returns_true_for_first_use_of_persistent_database_and_ Assert.False(creator.EnsureCreated()); } - [ConditionalFact] + [Fact] public async Task EnsureCreatedAsync_returns_true_for_first_use_of_persistent_database_and_false_thereafter() { var serviceProvider = InMemoryTestHelpers.Instance.CreateServiceProvider(); @@ -52,7 +52,7 @@ private static InMemoryDatabaseCreator CreateDatabaseCreator(IServiceProvider se contextServices.GetRequiredService()); } - [ConditionalFact] + [Fact] public void EnsureCreated_throws_for_missing_seed() { using var context = new FraggleContext(asyncSeed: true); @@ -62,7 +62,7 @@ public void EnsureCreated_throws_for_missing_seed() Assert.Throws(() => context.Database.EnsureCreated()).Message); } - [ConditionalFact] + [Fact] public async Task EnsureCreatedAsync_throws_for_missing_seed() { using var context = new FraggleContext(seed: true); @@ -72,11 +72,11 @@ public async Task EnsureCreatedAsync_throws_for_missing_seed() (await Assert.ThrowsAsync(() => context.Database.EnsureCreatedAsync())).Message); } - [ConditionalFact] + [Fact] public Task EnsureDeleted_clears_all_in_memory_data_and_returns_true() => Delete_clears_all_in_memory_data_test(async: false); - [ConditionalFact] + [Fact] public Task EnsureDeletedAsync_clears_all_in_memory_data_and_returns_true() => Delete_clears_all_in_memory_data_test(async: true); diff --git a/test/EFCore.InMemory.Tests/Storage/InMemoryDatabaseProviderTest.cs b/test/EFCore.InMemory.Tests/Storage/InMemoryDatabaseProviderTest.cs index 47f2c42717f..3268fbfddac 100644 --- a/test/EFCore.InMemory.Tests/Storage/InMemoryDatabaseProviderTest.cs +++ b/test/EFCore.InMemory.Tests/Storage/InMemoryDatabaseProviderTest.cs @@ -8,13 +8,13 @@ namespace Microsoft.EntityFrameworkCore.Storage; public class InMemoryDatabaseProviderTest { - [ConditionalFact] + [Fact] public void Returns_appropriate_name() => Assert.Equal( typeof(InMemoryDatabase).Assembly.GetName().Name, new DatabaseProvider(new DatabaseProviderDependencies()).Name); - [ConditionalFact] + [Fact] public void Is_configured_when_configuration_contains_associated_extension() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -24,7 +24,7 @@ public void Is_configured_when_configuration_contains_associated_extension() new DatabaseProvider(new DatabaseProviderDependencies()).IsConfigured(optionsBuilder.Options)); } - [ConditionalFact] + [Fact] public void Is_not_configured_when_configuration_does_not_contain_associated_extension() { var optionsBuilder = new DbContextOptionsBuilder(); diff --git a/test/EFCore.InMemory.Tests/Storage/InMemoryDatabaseTest.cs b/test/EFCore.InMemory.Tests/Storage/InMemoryDatabaseTest.cs index 2b4dd8cccc9..6deb5e75728 100644 --- a/test/EFCore.InMemory.Tests/Storage/InMemoryDatabaseTest.cs +++ b/test/EFCore.InMemory.Tests/Storage/InMemoryDatabaseTest.cs @@ -12,7 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Storage; public class InMemoryDatabaseTest { - [ConditionalFact] + [Fact] public void Uses_persistent_database_by_default() { var serviceProvider = InMemoryTestHelpers.Instance.CreateServiceProvider(); @@ -25,7 +25,7 @@ public void Uses_persistent_database_by_default() Assert.Same(store1.Store, store2.Store); } - [ConditionalFact] + [Fact] public void Uses_persistent_database_if_configured_as_persistent() { var serviceProvider = InMemoryTestHelpers.Instance.CreateServiceProvider(); @@ -35,7 +35,7 @@ public void Uses_persistent_database_if_configured_as_persistent() CreateStore(serviceProvider).Store); } - [ConditionalFact] + [Fact] public void Uses_different_stores_for_different_database_roots() { const string databaseName = nameof(Uses_different_stores_for_different_database_roots); @@ -53,7 +53,7 @@ public void Uses_different_stores_for_different_database_roots() Assert.NotSame(store1.Store, store2.Store); } - [ConditionalFact] + [Fact] public void EnsureDatabaseCreated_returns_true_for_first_use_of_persistent_database_and_false_thereafter() { var serviceProvider = InMemoryTestHelpers.Instance.CreateServiceProvider(); @@ -79,7 +79,7 @@ private static IServiceProvider CreateContextServices(IServiceProvider servicePr return InMemoryTestHelpers.Instance.CreateContextServices(serviceProvider, optionsBuilder.Options); } - [ConditionalFact] + [Fact] public async Task Save_changes_adds_new_objects_to_store() { var serviceProvider = InMemoryTestHelpers.Instance.CreateContextServices(CreateModel()); @@ -95,7 +95,7 @@ public async Task Save_changes_adds_new_objects_to_store() Assert.Equal([42, "Unikorn"], inMemoryDatabase.Store.GetTables(entityEntry.EntityType).Single().Rows.Single()); } - [ConditionalFact] + [Fact] public async Task Save_changes_updates_changed_objects_in_store() { var serviceProvider = InMemoryTestHelpers.Instance.CreateContextServices(CreateModel()); @@ -119,7 +119,7 @@ public async Task Save_changes_updates_changed_objects_in_store() inMemoryDatabase.Store.GetTables(entityEntry.EntityType).Single().Rows.Single()); } - [ConditionalFact] + [Fact] public async Task Save_changes_removes_deleted_objects_from_store() { var serviceProvider = InMemoryTestHelpers.Instance.CreateContextServices(CreateModel()); @@ -143,7 +143,7 @@ public async Task Save_changes_removes_deleted_objects_from_store() Assert.Empty(inMemoryDatabase.Store.GetTables(entityEntry.EntityType).SelectMany(t => t.Rows)); } - [ConditionalFact] + [Fact] public async Task Should_log_writes() { var loggerFactory = new ListLoggerFactory(); diff --git a/test/EFCore.InMemory.Tests/Storage/InMemoryTransactionManagerTest.cs b/test/EFCore.InMemory.Tests/Storage/InMemoryTransactionManagerTest.cs index ca6bfe8c5f3..5f76c836692 100644 --- a/test/EFCore.InMemory.Tests/Storage/InMemoryTransactionManagerTest.cs +++ b/test/EFCore.InMemory.Tests/Storage/InMemoryTransactionManagerTest.cs @@ -52,7 +52,7 @@ public IDbContextTransaction CurrentTransaction => throw new NotImplementedException(); } - [ConditionalFact] + [Fact] public void Enlist_operations_fails_if_provider_does_not_support_enlistment() { using var context = new FakeTransactionManagerContext(); @@ -66,7 +66,7 @@ public void Enlist_operations_fails_if_provider_does_not_support_enlistment() Assert.Throws(() => context.Database.GetEnlistedTransaction()).Message); } - [ConditionalFact] + [Fact] public void CurrentTransaction_returns_null() { var transactionManager = new InMemoryTransactionManager(CreateLogger()); @@ -74,35 +74,35 @@ public void CurrentTransaction_returns_null() Assert.Null(transactionManager.CurrentTransaction); } - [ConditionalFact] + [Fact] public void Throws_on_BeginTransaction() => AssertThrows(() => new InMemoryTransactionManager(CreateLogger()).BeginTransaction()); - [ConditionalFact] + [Fact] public void Throws_on_BeginTransactionAsync() => AssertThrows(() => new InMemoryTransactionManager(CreateLogger()).BeginTransactionAsync().GetAwaiter().GetResult()); - [ConditionalFact] + [Fact] public void Throws_on_BeginTransaction_with_IsolationLevel() => AssertThrows(() => new InMemoryTransactionManager(CreateLogger()).BeginTransaction(IsolationLevel.Serializable)); - [ConditionalFact] + [Fact] public void Throws_on_BeginTransactionAsync_with_IsolationLevel() => AssertThrows(() => new InMemoryTransactionManager(CreateLogger()).BeginTransactionAsync(IsolationLevel.Serializable).GetAwaiter().GetResult()); - [ConditionalFact] + [Fact] public void Throws_on_CommitTransaction() => AssertThrows(() => new InMemoryTransactionManager(CreateLogger()).CommitTransaction()); - [ConditionalFact] + [Fact] public void Throws_on_CommitTransactionAsync() => AssertThrows(() => new InMemoryTransactionManager(CreateLogger()).CommitTransactionAsync().GetAwaiter().GetResult()); - [ConditionalFact] + [Fact] public void Throws_on_RollbackTransaction() => AssertThrows(() => new InMemoryTransactionManager(CreateLogger()).RollbackTransaction()); - [ConditionalFact] + [Fact] public void Throws_on_RollbackTransactionAsync() => AssertThrows(() => new InMemoryTransactionManager(CreateLogger()).RollbackTransactionAsync().GetAwaiter().GetResult()); diff --git a/test/EFCore.InMemory.Tests/ValueGeneration/InMemoryIntegerValueGeneratorTest.cs b/test/EFCore.InMemory.Tests/ValueGeneration/InMemoryIntegerValueGeneratorTest.cs index 711dd3eacf2..f071543c9df 100644 --- a/test/EFCore.InMemory.Tests/ValueGeneration/InMemoryIntegerValueGeneratorTest.cs +++ b/test/EFCore.InMemory.Tests/ValueGeneration/InMemoryIntegerValueGeneratorTest.cs @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration; public class InMemoryIntegerValueGeneratorTest { - [ConditionalFact] + [Fact] public void Creates_values() { var generator = new InMemoryIntegerValueGenerator(0); @@ -28,7 +28,7 @@ public void Creates_values() Assert.Equal(2, generator.Next(null)); } - [ConditionalFact] + [Fact] public void Can_create_values_for_all_integer_types() { Assert.Equal(1, new InMemoryIntegerValueGenerator(0).Next(null)); @@ -41,7 +41,7 @@ public void Can_create_values_for_all_integer_types() Assert.Equal((sbyte)1, new InMemoryIntegerValueGenerator(0).Next(null)); } - [ConditionalFact] + [Fact] public void Throws_when_type_conversion_would_overflow() { var generator = new InMemoryIntegerValueGenerator(0); @@ -54,7 +54,7 @@ public void Throws_when_type_conversion_would_overflow() Assert.Throws(() => generator.Next(null)); } - [ConditionalFact] + [Fact] public void Does_not_generate_temp_values() => Assert.False(new InMemoryIntegerValueGenerator(0).GeneratesTemporaryValues); } diff --git a/test/EFCore.InMemory.Tests/ValueGeneration/InMemoryValueGeneratorSelectorTest.cs b/test/EFCore.InMemory.Tests/ValueGeneration/InMemoryValueGeneratorSelectorTest.cs index ead4687a5f5..865aa35422e 100644 --- a/test/EFCore.InMemory.Tests/ValueGeneration/InMemoryValueGeneratorSelectorTest.cs +++ b/test/EFCore.InMemory.Tests/ValueGeneration/InMemoryValueGeneratorSelectorTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration; public class InMemoryValueGeneratorSelectorTest { - [ConditionalFact] + [Fact] public void Returns_built_in_generators_for_types_setup_for_value_generation_using_Try_method() { var model = BuildModel(); @@ -59,7 +59,7 @@ public void Returns_built_in_generators_for_types_setup_for_value_generation_usi selector.TrySelect(entityType.FindProperty("Binary")!, entityType, out generator) ? generator : null); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void Can_create_factories_for_all_integer_types(bool useTry) { var model = BuildModel(); @@ -94,7 +94,7 @@ private static object CreateAndUseFactory(IProperty property) return generator!.Next(null!); } - [ConditionalFact] + [Fact] public void Returns_null_for_unsupported_combinations() { var model = BuildModel(); diff --git a/test/EFCore.OData.FunctionalTests/EFCore.OData.FunctionalTests.csproj b/test/EFCore.OData.FunctionalTests/EFCore.OData.FunctionalTests.csproj index 1778dd946d9..bc79162c40f 100644 --- a/test/EFCore.OData.FunctionalTests/EFCore.OData.FunctionalTests.csproj +++ b/test/EFCore.OData.FunctionalTests/EFCore.OData.FunctionalTests.csproj @@ -34,7 +34,6 @@ - diff --git a/test/EFCore.OData.FunctionalTests/Properties/TestAssemblyConditions.cs b/test/EFCore.OData.FunctionalTests/Properties/TestAssemblyConditions.cs index 3913c4c9043..370d941687f 100644 --- a/test/EFCore.OData.FunctionalTests/Properties/TestAssemblyConditions.cs +++ b/test/EFCore.OData.FunctionalTests/Properties/TestAssemblyConditions.cs @@ -1,6 +1,7 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -// Skip the entire assembly if not on Windows and no external SQL Server is configured +using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; -[assembly: SqlServerConfiguredCondition] +// Skip the entire assembly if SQL Server is not available +[assembly: ConditionalAssembly(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SqlServerAvailable))] diff --git a/test/EFCore.OData.FunctionalTests/Query/ComplexNavigationsODataQueryTestFixture.cs b/test/EFCore.OData.FunctionalTests/Query/ComplexNavigationsODataQueryTestFixture.cs index dffd4677e47..1b08dcf2365 100644 --- a/test/EFCore.OData.FunctionalTests/Query/ComplexNavigationsODataQueryTestFixture.cs +++ b/test/EFCore.OData.FunctionalTests/Query/ComplexNavigationsODataQueryTestFixture.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.ComplexNavigationsModel; @@ -34,7 +34,7 @@ private static IEdmModel GetEdmModel() public IHttpClientFactory ClientFactory { get; } - public override async Task DisposeAsync() + public override async ValueTask DisposeAsync() { if (_selfHostServer != null) { diff --git a/test/EFCore.OData.FunctionalTests/Query/ComplexNavigationsODataQueryTests.cs b/test/EFCore.OData.FunctionalTests/Query/ComplexNavigationsODataQueryTests.cs index b53523594b7..8be2cab8943 100644 --- a/test/EFCore.OData.FunctionalTests/Query/ComplexNavigationsODataQueryTests.cs +++ b/test/EFCore.OData.FunctionalTests/Query/ComplexNavigationsODataQueryTests.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Net; @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore.Query; public class ComplexNavigationsODataQueryTests(ComplexNavigationsODataQueryTestFixture fixture) : ODataQueryTestBase(fixture), IClassFixture { - [ConditionalFact] + [Fact] public async Task Query_level_ones() { var requestUri = $"{BaseAddress}/odata/LevelOne"; @@ -26,7 +26,7 @@ public async Task Query_level_ones() Assert.Equal(13, levelOnes.Count); } - [ConditionalFact] + [Fact] public async Task Query_level_twos() { var requestUri = $"{BaseAddress}/odata/LevelTwo"; @@ -42,7 +42,7 @@ public async Task Query_level_twos() Assert.Equal(11, levelTwos.Count); } - [ConditionalFact] + [Fact] public async Task Query_level_threes() { var requestUri = $"{BaseAddress}/odata/LevelThree"; @@ -58,7 +58,7 @@ public async Task Query_level_threes() Assert.Equal(10, levelThrees.Count); } - [ConditionalFact] + [Fact] public async Task Query_level_four() { var requestUri = $"{BaseAddress}/odata/LevelFour"; @@ -74,7 +74,7 @@ public async Task Query_level_four() Assert.Equal(10, levelFours.Count); } - [ConditionalFact] + [Fact] public async Task Query_count_expand_with_filter_contains() { var requestUri = diff --git a/test/EFCore.OData.FunctionalTests/Query/GearsOfWarODataQueryTestFixture.cs b/test/EFCore.OData.FunctionalTests/Query/GearsOfWarODataQueryTestFixture.cs index 02a2c8cf189..f3913204fbe 100644 --- a/test/EFCore.OData.FunctionalTests/Query/GearsOfWarODataQueryTestFixture.cs +++ b/test/EFCore.OData.FunctionalTests/Query/GearsOfWarODataQueryTestFixture.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.GearsOfWarModel; @@ -44,7 +44,7 @@ private static IEdmModel GetEdmModel() public IHttpClientFactory ClientFactory { get; } - public override async Task DisposeAsync() + public override async ValueTask DisposeAsync() { if (_selfHostServer != null) { diff --git a/test/EFCore.OData.FunctionalTests/Query/GearsOfWarODataQueryTests.cs b/test/EFCore.OData.FunctionalTests/Query/GearsOfWarODataQueryTests.cs index cad179ec81d..a48c5c8063c 100644 --- a/test/EFCore.OData.FunctionalTests/Query/GearsOfWarODataQueryTests.cs +++ b/test/EFCore.OData.FunctionalTests/Query/GearsOfWarODataQueryTests.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Net; @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore.Query; public class GearsOfWarODataQueryTests(GearsOfWarODataQueryTestFixture fixture) : ODataQueryTestBase(fixture), IClassFixture { - [ConditionalFact] + [Fact] public async Task Basic_query_gears() { var requestUri = $"{BaseAddress}/odata/Gears"; @@ -26,7 +26,7 @@ public async Task Basic_query_gears() Assert.Equal(5, gears.Count); } - [ConditionalFact] + [Fact] public async Task Basic_query_inheritance() { var requestUri = $"{BaseAddress}/odata/Gears/Microsoft.EntityFrameworkCore.TestModels.GearsOfWarModel.Officer"; @@ -43,7 +43,7 @@ public async Task Basic_query_inheritance() Assert.Equal(2, gears.Count); } - [ConditionalFact] + [Fact] public async Task Basic_query_single_element_from_set_composite_key() { var requestUri = $"{BaseAddress}/odata/Gears(Nickname='Marcus',SquadId=1)"; @@ -60,7 +60,7 @@ public async Task Basic_query_single_element_from_set_composite_key() Assert.Equal("Marcus", result["Nickname"].ToString()); } - [ConditionalFact] + [Fact] public async Task Complex_query_with_any_on_collection_navigation() { var requestUri = string.Format(@"{0}/odata/Gears?$filter=Weapons/any(w: w/Id gt 4)", BaseAddress); @@ -76,7 +76,7 @@ public async Task Complex_query_with_any_on_collection_navigation() Assert.Equal(3, officers.Count); } - [ConditionalFact] + [Fact] public async Task Query_with_expand_and_key_projection() { var requestUri = string.Format(@"{0}/odata/Gears?$select=SquadId&$expand=Tag($select=Id)", BaseAddress); diff --git a/test/EFCore.OData.FunctionalTests/Query/NorthwindODataQueryTestFixture.cs b/test/EFCore.OData.FunctionalTests/Query/NorthwindODataQueryTestFixture.cs index f53f0556851..a5a879539ba 100644 --- a/test/EFCore.OData.FunctionalTests/Query/NorthwindODataQueryTestFixture.cs +++ b/test/EFCore.OData.FunctionalTests/Query/NorthwindODataQueryTestFixture.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.AspNetCore.OData.Extensions; @@ -40,7 +40,7 @@ private static IEdmModel GetEdmModel() public IHttpClientFactory ClientFactory { get; } - public override async Task DisposeAsync() + public override async ValueTask DisposeAsync() { if (_selfHostServer != null) { diff --git a/test/EFCore.OData.FunctionalTests/Query/NorthwindODataQueryTests.cs b/test/EFCore.OData.FunctionalTests/Query/NorthwindODataQueryTests.cs index f656928f57b..b6c5a80f6cb 100644 --- a/test/EFCore.OData.FunctionalTests/Query/NorthwindODataQueryTests.cs +++ b/test/EFCore.OData.FunctionalTests/Query/NorthwindODataQueryTests.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Net; @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore.Query; public class NorthwindODataQueryTests(NorthwindODataQueryTestFixture fixture) : ODataQueryTestBase(fixture), IClassFixture { - [ConditionalFact] + [Fact] public async Task Basic_query_customers() { var requestUri = $"{BaseAddress}/odata/Customers"; @@ -26,7 +26,7 @@ public async Task Basic_query_customers() Assert.Equal(91, customers.Count); } - [ConditionalFact] + [Fact] public async Task Basic_query_select_single_customer() { var requestUri = string.Format(@"{0}/odata/Customers('ALFKI')", BaseAddress); @@ -40,7 +40,7 @@ public async Task Basic_query_select_single_customer() Assert.Equal("ALFKI", result["CustomerID"].ToString()); } - [ConditionalFact] + [Fact] public async Task Query_for_alfki_expand_orders() { var requestUri = string.Format(@"{0}/odata/Customers?$filter=CustomerID eq 'ALFKI'&$expand=Orders", BaseAddress); @@ -59,7 +59,7 @@ public async Task Query_for_alfki_expand_orders() Assert.Equal(6, orders.Count); } - [ConditionalFact] + [Fact] public async Task Basic_query_orders() { var requestUri = $"{BaseAddress}/odata/Orders"; @@ -75,7 +75,7 @@ public async Task Basic_query_orders() Assert.Equal(830, orders.Count); } - [ConditionalFact] + [Fact] public async Task Query_orders_select_single_property() { var requestUri = $"{BaseAddress}/odata/Orders?$select=OrderDate"; @@ -91,7 +91,7 @@ public async Task Query_orders_select_single_property() Assert.Equal(830, orderDates.Count); } - [ConditionalFact] + [Fact] public async Task Basic_query_order_details() { var requestUri = $"{BaseAddress}/odata/Order Details"; @@ -104,7 +104,7 @@ public async Task Basic_query_order_details() Assert.Contains("$metadata#Order%20Details", result["@odata.context"].ToString()); } - [ConditionalFact] + [Fact] public async Task Basic_query_order_details_single_element_composite_key() { var requestUri = $"{BaseAddress}/odata/Order Details(OrderID=10248,ProductID=11)"; diff --git a/test/EFCore.Proxies.Tests/ChangeDetectionProxyTests.cs b/test/EFCore.Proxies.Tests/ChangeDetectionProxyTests.cs index 7757c819c40..7063992a99d 100644 --- a/test/EFCore.Proxies.Tests/ChangeDetectionProxyTests.cs +++ b/test/EFCore.Proxies.Tests/ChangeDetectionProxyTests.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.ComponentModel; @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore; public class ChangeDetectionProxyTests { - [ConditionalFact] + [Fact] public void Throws_if_sealed_class() { using var context = new ChangeContext(); @@ -17,7 +17,7 @@ public void Throws_if_sealed_class() Assert.Throws(() => context.Model).Message); } - [ConditionalFact] + [Fact] public void Throws_if_non_virtual_property() { using var context = new ChangeContext(); @@ -26,7 +26,7 @@ public void Throws_if_non_virtual_property() Assert.Throws(() => context.Model).Message); } - [ConditionalFact] + [Fact] public void Throws_if_non_virtual_indexer_property() { using var context = new ChangeContext(entityBuilderAction: b => b.IndexerProperty("Snoopy")); @@ -35,7 +35,7 @@ public void Throws_if_non_virtual_indexer_property() Assert.Throws(() => context.Model).Message); } - [ConditionalFact] + [Fact] public void Does_not_throw_when_non_virtual_indexer_not_mapped() { using var context = new ChangeContext(); @@ -44,7 +44,7 @@ public void Does_not_throw_when_non_virtual_indexer_not_mapped() context.Model.FindEntityType(typeof(ChangeNonVirtualIndexerNotUsed)).GetProperties(), e => e.IsIndexerProperty()); } - [ConditionalFact] + [Fact] public void Does_not_throw_if_dictionary_type_with_only_PKs() { using var context = new SharedChangeContext>(); @@ -52,7 +52,7 @@ public void Does_not_throw_if_dictionary_type_with_only_PKs() Assert.True(context.Model.IsShared(typeof(Dictionary))); } - [ConditionalFact] + [Fact] public void Throws_if_dictionary_type_with_additional_properties() { using var context = new SharedChangeContext>(b => b.IndexerProperty("Snoopy")); @@ -64,7 +64,7 @@ public void Throws_if_dictionary_type_with_additional_properties() Assert.Throws(() => context.Model).Message); } - [ConditionalFact] + [Fact] public void Throws_if_non_virtual_navigation() { using var context = new ChangeContext(); @@ -73,7 +73,7 @@ public void Throws_if_non_virtual_navigation() Assert.Throws(() => context.Model).Message); } - [ConditionalFact] + [Fact] public void Sets_default_change_tracking_strategy() { using var context = new ChangeContext(); @@ -83,7 +83,7 @@ public void Sets_default_change_tracking_strategy() context.GetService().Model.GetChangeTrackingStrategy()); } - [ConditionalFact] + [Fact] public void Default_change_tracking_strategy_doesnt_overwrite_entity_strategy() { using var context = new ChangingAndChangedNotificationsWithOriginalValuesContext(); @@ -96,7 +96,7 @@ public void Default_change_tracking_strategy_doesnt_overwrite_entity_strategy() private static readonly Type changeInterface = typeof(INotifyPropertyChanged); private static readonly Type changingInterface = typeof(INotifyPropertyChanging); - [ConditionalFact] + [Fact] public void Throws_when_proxies_are_used_with_snapshot_tracking() { using var context = new SnapshotContext(); @@ -109,7 +109,7 @@ public void Throws_when_proxies_are_used_with_snapshot_tracking() Assert.Throws(() => _ = context.Model).Message); } - [ConditionalFact] + [Fact] public void Throws_when_proxies_are_used_with_changed_only_tracking() { using var context = new ChangedNotificationsContext(); @@ -122,7 +122,7 @@ public void Throws_when_proxies_are_used_with_changed_only_tracking() Assert.Throws(() => _ = context.Model).Message); } - [ConditionalFact] + [Fact] public void Proxies_correct_interfaces_for_default_strategy() { using var context = new DefaultContext(); @@ -133,7 +133,7 @@ public void Proxies_correct_interfaces_for_default_strategy() Assert.True(changingInterface.IsAssignableFrom(proxyType)); } - [ConditionalFact] + [Fact] public void Proxies_correct_interfaces_for_ChangingAndChangedNotifications() { using var context = new ChangingAndChangedNotificationsContext(); @@ -144,7 +144,7 @@ public void Proxies_correct_interfaces_for_ChangingAndChangedNotifications() Assert.True(changingInterface.IsAssignableFrom(proxyType)); } - [ConditionalFact] + [Fact] public void Proxies_correct_interfaces_for_ChangingAndChangedNotificationsWithOriginalValues() { using var context = new ChangingAndChangedNotificationsWithOriginalValuesContext(); @@ -155,7 +155,7 @@ public void Proxies_correct_interfaces_for_ChangingAndChangedNotificationsWithOr Assert.True(changingInterface.IsAssignableFrom(proxyType)); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Raises_changed_event_when_changed(bool useLazyLoading) { using var context = new ChangeContext(useLazyLoading: useLazyLoading); @@ -184,7 +184,7 @@ public void Raises_changed_event_when_changed(bool useLazyLoading) Assert.True(eventRaised); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Raises_changing_event_before_change(bool useLazyLoading) { using var context = new ChangeContext(useLazyLoading: useLazyLoading); @@ -214,7 +214,7 @@ public void Raises_changing_event_before_change(bool useLazyLoading) Assert.True(eventRaised); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Doesnt_raise_change_event_when_equal_and_check_equality_true(bool useLazyLoading) { using var context = new ChangeContext(useLazyLoading: useLazyLoading, checkEquality: true); @@ -234,7 +234,7 @@ public void Doesnt_raise_change_event_when_equal_and_check_equality_true(bool us Assert.False(eventRaised); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Doesnt_raise_changing_event_when_equal_and_check_equality_true(bool useLazyLoading) { using var context = new ChangeContext(useLazyLoading: useLazyLoading, checkEquality: true); @@ -254,7 +254,7 @@ public void Doesnt_raise_changing_event_when_equal_and_check_equality_true(bool Assert.False(eventRaised); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Raises_change_event_when_equal_and_check_equality_false(bool useLazyLoading) { using var context = new ChangeContext(useLazyLoading: useLazyLoading, checkEquality: false); @@ -274,7 +274,7 @@ public void Raises_change_event_when_equal_and_check_equality_false(bool useLazy Assert.True(eventRaised); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Raises_changing_event_when_equal_and_check_equality_false(bool useLazyLoading) { using var context = new ChangeContext(useLazyLoading: useLazyLoading, checkEquality: false); diff --git a/test/EFCore.Proxies.Tests/EFCore.Proxies.Tests.csproj b/test/EFCore.Proxies.Tests/EFCore.Proxies.Tests.csproj index bc7ecf3deee..57a1ab36b8e 100644 --- a/test/EFCore.Proxies.Tests/EFCore.Proxies.Tests.csproj +++ b/test/EFCore.Proxies.Tests/EFCore.Proxies.Tests.csproj @@ -1,4 +1,4 @@ - + $(DefaultNetCoreTargetFramework) @@ -32,7 +32,6 @@ - diff --git a/test/EFCore.Proxies.Tests/LazyLoadingProxyTests.cs b/test/EFCore.Proxies.Tests/LazyLoadingProxyTests.cs index 2a96c195a57..627e2ebdd04 100644 --- a/test/EFCore.Proxies.Tests/LazyLoadingProxyTests.cs +++ b/test/EFCore.Proxies.Tests/LazyLoadingProxyTests.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore; public class LazyLoadingProxyTests { - [ConditionalFact] + [Fact] public void Throws_if_sealed_class() { using var context = new LazyContext(); @@ -17,7 +17,7 @@ public void Throws_if_sealed_class() Assert.Throws(() => context.Model).Message); } - [ConditionalFact] + [Fact] public void Throws_if_non_virtual_navigation_to_non_owned_type() { using var context = new LazyContext(); @@ -26,7 +26,7 @@ public void Throws_if_non_virtual_navigation_to_non_owned_type() Assert.Throws(() => context.Model).Message); } - [ConditionalFact] + [Fact] public void Does_not_throw_if_non_virtual_navigation_to_non_owned_type_is_allowed() { using var context = new LazyContextIgnoreVirtuals(); @@ -34,7 +34,7 @@ public void Does_not_throw_if_non_virtual_navigation_to_non_owned_type_is_allowe context.Model.FindEntityType(typeof(LazyNonVirtualNavEntity))!.FindNavigation(nameof(LazyNonVirtualNavEntity.SelfRef))); } - [ConditionalFact] + [Fact] public void Does_not_throw_if_field_navigation_to_non_owned_type_is_allowed() { using var context = new LazyContextAllowingFieldNavigation(); @@ -42,7 +42,7 @@ public void Does_not_throw_if_field_navigation_to_non_owned_type_is_allowed() context.Model.FindEntityType(typeof(LazyFieldNavEntity))!.FindNavigation(nameof(LazyFieldNavEntity.SelfRef))); } - [ConditionalFact] + [Fact] public void Does_not_throw_if_non_virtual_navigation_is_set_to_not_eager_load() { using var context = new LazyContextDisabledNavigation(); @@ -50,7 +50,7 @@ public void Does_not_throw_if_non_virtual_navigation_is_set_to_not_eager_load() context.Model.FindEntityType(typeof(LazyNonVirtualNavEntity))!.FindNavigation(nameof(LazyNonVirtualNavEntity.SelfRef))); } - [ConditionalFact] + [Fact] public void Does_not_throw_if_field_navigation_is_set_to_not_eager_load() { using var context = new LazyContextDisabledFieldNavigation(); @@ -58,7 +58,7 @@ public void Does_not_throw_if_field_navigation_is_set_to_not_eager_load() context.Model.FindEntityType(typeof(LazyFieldNavEntity))!.FindNavigation(nameof(LazyFieldNavEntity.SelfRef))); } - [ConditionalFact] + [Fact] public void Does_not_throw_if_non_virtual_navigation_to_owned_type() { using var context = new LazyContext(); @@ -67,7 +67,7 @@ public void Does_not_throw_if_non_virtual_navigation_to_owned_type() nameof(LazyNonVirtualOwnedNavEntity.NavigationToOwned))); } - [ConditionalFact] + [Fact] public void Does_not_throw_if_field_navigation_to_owned_type() { using var context = new LazyContextOwnedFieldNavigation(); @@ -76,7 +76,7 @@ public void Does_not_throw_if_field_navigation_to_owned_type() nameof(LazyFieldOwnedNavEntity.NavigationToOwned))); } - [ConditionalFact] + [Fact] public void Throws_if_no_field_found() { using var context = new LazyContext(); @@ -85,7 +85,7 @@ public void Throws_if_no_field_found() Assert.Throws(() => context.Model).Message); } - [ConditionalFact] + [Fact] public void Throws_when_context_is_disposed() { var serviceProvider = new ServiceCollection() diff --git a/test/EFCore.Proxies.Tests/ProxyTests.cs b/test/EFCore.Proxies.Tests/ProxyTests.cs index 51939474501..134fc2836ca 100644 --- a/test/EFCore.Proxies.Tests/ProxyTests.cs +++ b/test/EFCore.Proxies.Tests/ProxyTests.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Castle.DynamicProxy; @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore; public class ProxyTests { - [ConditionalFact] + [Fact] public void Materialization_uses_parameterless_constructor() { using (var context = new NeweyContext(nameof(Materialization_uses_parameterless_constructor))) @@ -24,7 +24,7 @@ public void Materialization_uses_parameterless_constructor() } } - [ConditionalFact] + [Fact] public void Materialization_uses_parameterized_constructor() { using (var context = new NeweyContext(nameof(Materialization_uses_parameterized_constructor))) @@ -43,7 +43,7 @@ public void Materialization_uses_parameterized_constructor() } } - [ConditionalFact] + [Fact] public void Materialization_uses_parameterized_constructor_taking_context() { using (var context = new NeweyContext(nameof(Materialization_uses_parameterized_constructor_taking_context))) @@ -63,7 +63,7 @@ public void Materialization_uses_parameterized_constructor_taking_context() } } - [ConditionalFact] + [Fact] public void CreateProxy_works_for_shared_type_entity_types() { using var context = new NeweyContext(); @@ -72,7 +72,7 @@ public void CreateProxy_works_for_shared_type_entity_types() Assert.Same(typeof(SharedTypeEntityType), context.Set("STET1").CreateProxy(_ => { }).GetType().BaseType); } - [ConditionalFact] + [Fact] public void CreateProxy_works_for_record_with_base_type_entity_types() { using var context = new NeweyContext(); @@ -81,7 +81,7 @@ public void CreateProxy_works_for_record_with_base_type_entity_types() Assert.Same(typeof(March86C), context.Set().CreateProxy(_ => { }).GetType().BaseType); } - [ConditionalFact] + [Fact] public void CreateProxy_throws_for_shared_type_entity_types_when_entity_type_name_not_known() { using var context = new NeweyContext(); @@ -99,7 +99,7 @@ public void CreateProxy_throws_for_shared_type_entity_types_when_entity_type_nam Assert.Throws(() => context.CreateProxy(typeof(SharedTypeEntityType))).Message); } - [ConditionalFact] + [Fact] public void CreateProxy_works_for_owned_but_not_weak_entity_types() { using var context = new NeweyContext(); @@ -109,14 +109,14 @@ public void CreateProxy_works_for_owned_but_not_weak_entity_types() Assert.Same(typeof(IsOwnedButNotWeak), context.CreateProxy(typeof(IsOwnedButNotWeak)).GetType().BaseType); } - [ConditionalFact] + [Fact] public void CreateProxy_uses_parameterless_constructor() { using var context = new NeweyContext(); Assert.Same(typeof(March82GGtp), context.CreateProxy().GetType().BaseType); } - [ConditionalFact] + [Fact] public void CreateProxy_uses_parameterized_constructor() { using var context = new NeweyContext(); @@ -127,7 +127,7 @@ public void CreateProxy_uses_parameterized_constructor() Assert.Equal("Leyton House", proxy.Sponsor); } - [ConditionalFact] + [Fact] public void CreateProxy_uses_parameterized_constructor_taking_context() { using var context = new NeweyContext(); @@ -139,7 +139,7 @@ public void CreateProxy_uses_parameterized_constructor_taking_context() Assert.Equal("Canon", proxy.Sponsor); } - [ConditionalFact] + [Fact] public void Proxies_only_created_if_Use_called() { using (var context = new NeweyContext(nameof(Proxies_only_created_if_Use_called), false)) @@ -169,7 +169,7 @@ public void Proxies_only_created_if_Use_called() } } - [ConditionalFact] + [Fact] public void Proxy_services_must_be_available() { var withoutProxies = new ServiceCollection() @@ -200,35 +200,35 @@ public void Proxy_services_must_be_available() } } - [ConditionalFact] + [Fact] public void Throws_if_type_not_available_to_Castle() { using var context = new NeweyContextN4(); Assert.Throws(() => context.CreateProxy()); } - [ConditionalFact] + [Fact] public void Throws_if_constructor_not_available_to_Castle() { using var context = new NeweyContextN5(); Assert.Throws(() => context.CreateProxy()); } - [ConditionalFact] + [Fact] public void CreateProxy_throws_if_constructor_args_do_not_match() { using var context = new NeweyContext(); Assert.Throws(() => context.CreateProxy(77, 88)); } - [ConditionalFact] + [Fact] public void CreateProxy_throws_if_wrong_number_of_constructor_args() { using var context = new NeweyContext(); Assert.Throws(() => context.CreateProxy(77, 88, 99)); } - [ConditionalFact] + [Fact] public void Throws_if_create_proxy_for_non_mapped_type() { using var context = new NeweyContextN(); @@ -237,7 +237,7 @@ public void Throws_if_create_proxy_for_non_mapped_type() Assert.Throws(() => context.CreateProxy()).Message); } - [ConditionalFact] + [Fact] public void Throws_if_create_proxy_when_proxies_not_used() { using var context = new NeweyContextN6(); @@ -246,7 +246,7 @@ public void Throws_if_create_proxy_when_proxies_not_used() Assert.Throws(() => context.CreateProxy()).Message); } - [ConditionalFact] + [Fact] public void Throws_if_create_proxy_when_proxies_not_enabled() { using var context = new NeweyContextN7(); @@ -255,7 +255,7 @@ public void Throws_if_create_proxy_when_proxies_not_enabled() Assert.Throws(() => context.CreateProxy()).Message); } - [ConditionalFact] + [Fact] public void Throws_if_attempt_to_create_EntityType_based_on_proxy_class() { var model = new Model(); @@ -269,7 +269,7 @@ public void Throws_if_attempt_to_create_EntityType_based_on_proxy_class() } // tests scenario in https://github.com/dotnet/efcore/issues/15958 - [ConditionalFact] + [Fact] public void Throws_if_attempt_to_add_proxy_type_to_model_builder() => Assert.Equal( CoreStrings.AddingProxyTypeAsEntityType("Castle.Proxies.ClassToBeProxiedProxy"), diff --git a/test/EFCore.Relational.Specification.Tests/BulkUpdates/Inheritance/FiltersInheritanceBulkUpdatesRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/BulkUpdates/Inheritance/FiltersInheritanceBulkUpdatesRelationalTestBase.cs index 624f9807fe7..3b19f753d5d 100644 --- a/test/EFCore.Relational.Specification.Tests/BulkUpdates/Inheritance/FiltersInheritanceBulkUpdatesRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/BulkUpdates/Inheritance/FiltersInheritanceBulkUpdatesRelationalTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.InheritanceModel; @@ -17,7 +17,7 @@ protected FiltersInheritanceBulkUpdatesRelationalTestBase(TFixture fixture, ITes Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_where_keyless_entity_mapped_to_sql_query(bool async) => AssertTranslationFailed( RelationalStrings.ExecuteOperationOnKeylessEntityTypeWithUnsupportedOperator("ExecuteDelete", "EagleQuery"), @@ -26,7 +26,7 @@ public virtual Task Delete_where_keyless_entity_mapped_to_sql_query(bool async) ss => ss.Set().Where(e => e.CountryId > 0), rowsAffectedCount: 1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_where_keyless_entity_mapped_to_sql_query(bool async) => AssertTranslationFailed( RelationalStrings.ExecuteOperationOnKeylessEntityTypeWithUnsupportedOperator("ExecuteUpdate", "EagleQuery"), diff --git a/test/EFCore.Relational.Specification.Tests/BulkUpdates/Inheritance/InheritanceBulkUpdatesRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/BulkUpdates/Inheritance/InheritanceBulkUpdatesRelationalTestBase.cs index f16e303ac1b..61c7f72d24b 100644 --- a/test/EFCore.Relational.Specification.Tests/BulkUpdates/Inheritance/InheritanceBulkUpdatesRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/BulkUpdates/Inheritance/InheritanceBulkUpdatesRelationalTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.InheritanceModel; @@ -17,7 +17,7 @@ protected InheritanceBulkUpdatesRelationalTestBase(TFixture fixture, ITestOutput Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_where_keyless_entity_mapped_to_sql_query(bool async) => AssertTranslationFailed( RelationalStrings.ExecuteOperationOnKeylessEntityTypeWithUnsupportedOperator("ExecuteDelete", "EagleQuery"), @@ -26,7 +26,7 @@ public virtual Task Delete_where_keyless_entity_mapped_to_sql_query(bool async) ss => ss.Set().Where(e => e.CountryId > 0), rowsAffectedCount: 1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_where_keyless_entity_mapped_to_sql_query(bool async) => AssertTranslationFailed( RelationalStrings.ExecuteOperationOnKeylessEntityTypeWithUnsupportedOperator("ExecuteUpdate", "EagleQuery"), diff --git a/test/EFCore.Relational.Specification.Tests/BulkUpdates/Inheritance/TPTInheritanceBulkUpdatesTestBase.cs b/test/EFCore.Relational.Specification.Tests/BulkUpdates/Inheritance/TPTInheritanceBulkUpdatesTestBase.cs index d374eeaa0fc..6a323b1abad 100644 --- a/test/EFCore.Relational.Specification.Tests/BulkUpdates/Inheritance/TPTInheritanceBulkUpdatesTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/BulkUpdates/Inheritance/TPTInheritanceBulkUpdatesTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.BulkUpdates.Inheritance; @@ -39,11 +39,11 @@ public override Task Delete_GroupBy_Where_Select_First_3(bool async) RelationalStrings.ExecuteOperationOnTPT("ExecuteDelete", "Animal"), () => base.Delete_GroupBy_Where_Select_First_3(async)); - [ConditionalTheory(Skip = "FK constraint issue")] + [Theory(Skip = "FK constraint issue")] public override Task Delete_where_using_hierarchy(bool async) => base.Delete_where_using_hierarchy(async); - [ConditionalTheory(Skip = "FK constraint issue")] + [Theory(Skip = "FK constraint issue")] public override Task Delete_where_using_hierarchy_derived(bool async) => base.Delete_where_using_hierarchy_derived(async); diff --git a/test/EFCore.Relational.Specification.Tests/BulkUpdates/NonSharedModelBulkUpdatesRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/BulkUpdates/NonSharedModelBulkUpdatesRelationalTestBase.cs index d07ca69bc64..7a19531fa05 100644 --- a/test/EFCore.Relational.Specification.Tests/BulkUpdates/NonSharedModelBulkUpdatesRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/BulkUpdates/NonSharedModelBulkUpdatesRelationalTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.ComponentModel.DataAnnotations.Schema; @@ -12,7 +12,7 @@ public abstract class NonSharedModelBulkUpdatesRelationalTestBase(NonSharedFixtu protected override string NonSharedStoreName => "NonSharedModelBulkUpdatesTests"; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Delete_aggregate_root_when_table_sharing_with_non_owned_throws(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -29,7 +29,7 @@ await AssertTranslationFailedWithDetails( context => context.Set(), rowsAffectedCount: 0)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Update_main_table_in_entity_with_entity_splitting(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -55,7 +55,7 @@ await AssertUpdate( rowsAffectedCount: 1); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Update_non_main_table_in_entity_with_entity_splitting(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -83,7 +83,7 @@ await AssertUpdate( rowsAffectedCount: 1); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // #34677 + [Theory, MemberData(nameof(IsAsyncData))] // #34677 public virtual async Task Delete_with_view_mapping(bool async) { var contextFactory = await InitializeNonSharedTest(seed: async context => await context.Seed()); @@ -95,7 +95,7 @@ await AssertDelete( rowsAffectedCount: 1); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // #34677 + [Theory, MemberData(nameof(IsAsyncData))] // #34677 public virtual async Task Update_with_view_mapping(bool async) { var contextFactory = await InitializeNonSharedTest(seed: async context => await context.Seed()); @@ -108,7 +108,7 @@ await AssertUpdate( rowsAffectedCount: 1); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // #34677 + [Theory, MemberData(nameof(IsAsyncData))] // #34677 public virtual async Task Update_complex_type_with_view_mapping(bool async) { var contextFactory = await InitializeNonSharedTest(seed: async context => await context.Seed()); @@ -121,7 +121,7 @@ await AssertUpdate( rowsAffectedCount: 1); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // #34677 + [Theory, MemberData(nameof(IsAsyncData))] // #34677 public virtual async Task Update_complex_type_property_with_view_mapping(bool async) { var contextFactory = await InitializeNonSharedTest(seed: async context => await context.Seed()); diff --git a/test/EFCore.Relational.Specification.Tests/BulkUpdates/NorthwindBulkUpdatesRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/BulkUpdates/NorthwindBulkUpdatesRelationalTestBase.cs index ed32133a032..c978b80fa7d 100644 --- a/test/EFCore.Relational.Specification.Tests/BulkUpdates/NorthwindBulkUpdatesRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/BulkUpdates/NorthwindBulkUpdatesRelationalTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.Northwind; @@ -32,7 +32,7 @@ public override Task Delete_non_entity_projection_3(bool async) RelationalStrings.ExecuteDeleteOnNonEntityType, () => base.Delete_non_entity_projection_3(async)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_FromSql_converted_to_subquery(bool async) => TestHelpers.ExecuteWithStrategyInTransactionAsync( () => Fixture.CreateContext(), @@ -76,7 +76,7 @@ public override Task Update_unmapped_property_throws(bool async) RelationalStrings.InvalidPropertyInSetProperty("c => c.IsLondon"), () => base.Update_unmapped_property_throws(async)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_FromSql_set_constant(bool async) => TestHelpers.ExecuteWithStrategyInTransactionAsync( () => Fixture.CreateContext(), @@ -99,7 +99,7 @@ FROM [Customers] } }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // #37771 + [Theory, MemberData(nameof(IsAsyncData))] // #37771 public virtual Task Update_with_select_mixed_entity_scalar_anonymous_projection(bool async) => TestHelpers.ExecuteWithStrategyInTransactionAsync( () => Fixture.CreateContext(), @@ -118,7 +118,7 @@ public virtual Task Update_with_select_mixed_entity_scalar_anonymous_projection( } }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // #37771 + [Theory, MemberData(nameof(IsAsyncData))] // #37771 public virtual Task Update_with_select_scalar_anonymous_projection(bool async) => TestHelpers.ExecuteWithStrategyInTransactionAsync( () => Fixture.CreateContext(), diff --git a/test/EFCore.Relational.Specification.Tests/CommandInterceptionTestBase.cs b/test/EFCore.Relational.Specification.Tests/CommandInterceptionTestBase.cs index aa1081e8ac2..ceed6a31cfe 100644 --- a/test/EFCore.Relational.Specification.Tests/CommandInterceptionTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/CommandInterceptionTestBase.cs @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract class CommandInterceptionTestBase(InterceptionTestBase.InterceptionFixtureBase fixture) : InterceptionTestBase(fixture) { - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual async Task Intercept_query_passively(bool async, bool inject) { var (context, interceptor) = await CreateContextAsync(inject); @@ -41,7 +41,7 @@ public virtual async Task Intercept_query_passively(bool async, bool inj protected class PassiveReaderCommandInterceptor() : CommandInterceptorBase(DbCommandMethod.ExecuteReader); - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual async Task Intercept_scalar_passively(bool async, bool inject) { var (context, interceptor) = await CreateContextAsync(inject); @@ -72,7 +72,7 @@ public virtual async Task Intercept_scalar_passively(bool async, bool inject) protected class PassiveScalarCommandInterceptor() : CommandInterceptorBase(DbCommandMethod.ExecuteScalar); - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual async Task Intercept_non_query_passively(bool async, bool inject) { var (context, interceptor) = await CreateContextAsync(inject); @@ -101,7 +101,7 @@ public virtual async Task Intercept_non_query_passively(bool async, bool inject) protected class PassiveNonQueryCommandInterceptor() : CommandInterceptorBase(DbCommandMethod.ExecuteNonQuery); - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual async Task Intercept_query_to_suppress_execution(bool async, bool inject) { var (context, interceptor) = await CreateContextAsync(inject); @@ -155,7 +155,7 @@ public override async ValueTask> ReaderExecutin } } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual async Task Intercept_query_to_suppress_command_creation(bool async, bool inject) { var (context, interceptor) = await CreateContextAsync(inject); @@ -216,7 +216,7 @@ public override ValueTask> ReaderExecutingAsync } } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual async Task Intercept_scalar_to_suppress_execution(bool async, bool inject) { var (context, interceptor) = await CreateContextAsync(inject); @@ -271,7 +271,7 @@ public override async ValueTask> ScalarExecutingAsync } } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual async Task Intercept_non_query_to_suppress_execution(bool async, bool inject) { var (context, interceptor) = await CreateContextAsync(inject); @@ -322,11 +322,11 @@ public override async ValueTask> NonQueryExecutingAsync( } } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual Task Intercept_query_to_mutate_command(bool async, bool inject) => QueryMutationTest(async, inject); - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual Task Intercept_CommandInitialized_to_mutate_query_command(bool async, bool inject) => QueryMutationTest(async, inject); @@ -395,11 +395,11 @@ public override DbCommand CommandInitialized(CommandEndEventData eventData, DbCo } } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual Task Intercept_scalar_to_mutate_command(bool async, bool inject) => ScalarMutationTest(async, inject); - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual Task Intercept_CommandInitialized_to_mutate_scalar_command(bool async, bool inject) => ScalarMutationTest(async, inject); @@ -468,7 +468,7 @@ public override DbCommand CommandInitialized(CommandEndEventData eventData, DbCo } } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual async Task Intercept_non_query_to_mutate_command(bool async, bool inject) { var interceptor = new MutatingNonQueryCommandInterceptor(this); @@ -524,7 +524,7 @@ public override ValueTask> NonQueryExecutingAsync( } } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual async Task Intercept_query_to_replace_execution(bool async, bool inject) { var (context, interceptor) = await CreateContextAsync(inject); @@ -587,7 +587,7 @@ private static DbCommand CreateNewCommand(DbCommand command) } } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual async Task Intercept_scalar_to_replace_execution(bool async, bool inject) { var (context, interceptor) = await CreateContextAsync(inject); @@ -650,7 +650,7 @@ private static DbCommand CreateNewCommand(DbCommand command) } } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual async Task Intercept_non_query_to_replace_execution(bool async, bool inject) { var interceptor = new QueryReplacingNonQueryCommandInterceptor(this); @@ -716,7 +716,7 @@ private DbCommand CreateNewCommand(DbCommand command) } } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual async Task Intercept_query_to_replace_result(bool async, bool inject) { var (context, interceptor) = await CreateContextAsync(inject); @@ -851,7 +851,7 @@ public override string GetString(int ordinal) : _firstReader.GetString(ordinal); } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual async Task Intercept_scalar_to_replace_result(bool async, bool inject) { var (context, interceptor) = await CreateContextAsync(inject); @@ -906,7 +906,7 @@ public override async ValueTask ScalarExecutedAsync( } } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual async Task Intercept_non_query_to_replace_result(bool async, bool inject) { var (context, interceptor) = await CreateContextAsync(inject); @@ -957,7 +957,7 @@ public override async ValueTask NonQueryExecutedAsync( } } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual async Task Intercept_query_that_throws(bool async, bool inject) { var badSql = NormalizeDelimitersInRawString("SELECT * FROM [TheVoid]"); @@ -982,7 +982,7 @@ public virtual async Task Intercept_query_that_throws(bool async, bool inject) } } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual async Task Intercept_scalar_that_throws(bool async, bool inject) { var (context, interceptor) = await CreateContextAsync(inject); @@ -1015,7 +1015,7 @@ public virtual async Task Intercept_scalar_that_throws(bool async, bool inject) } } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual async Task Intercept_non_query_that_throws(bool async, bool inject) { var (context, interceptor) = await CreateContextAsync(inject); @@ -1042,7 +1042,7 @@ public virtual async Task Intercept_non_query_that_throws(bool async, bool injec } } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual async Task Intercept_query_to_throw(bool async, bool inject) { var (context, interceptor) = await CreateContextAsync(inject); @@ -1056,7 +1056,7 @@ public virtual async Task Intercept_query_to_throw(bool async, bool inject) } } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual async Task Intercept_scalar_to_throw(bool async, bool inject) { var (context, interceptor) = await CreateContextAsync(inject); @@ -1076,7 +1076,7 @@ public virtual async Task Intercept_scalar_to_throw(bool async, bool inject) } } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual async Task Intercept_non_query_to_throw(bool async, bool inject) { var (context, interceptor) = await CreateContextAsync(inject); @@ -1138,7 +1138,7 @@ public override ValueTask> NonQueryExecutingAsync( => throw new Exception("Bang!"); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_query_with_one_app_and_one_injected_interceptor(bool async) { var appInterceptor = new ResultReplacingReaderCommandInterceptor(); @@ -1163,7 +1163,7 @@ private static async Task TestCompoisteQueryInterceptors( AssertNormalOutcome(context, interceptor2, async, CommandSource.LinqQuery); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_scalar_with_one_app_and_one_injected_interceptor(bool async) { using var context = await CreateContextAsync( @@ -1187,7 +1187,7 @@ private static async Task TestCompositeScalarInterceptors(UniverseContext contex : command.ExecuteScalar(commandParameterObject)); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_non_query_one_app_and_one_injected_interceptor(bool async) { using var context = await CreateContextAsync( @@ -1211,7 +1211,7 @@ private async Task TestCompositeNonQueryInterceptors(UniverseContext context, bo } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_query_with_two_injected_interceptors(bool async) { var injectedInterceptor1 = new MutatingReaderCommandInterceptor(); @@ -1221,7 +1221,7 @@ public virtual async Task Intercept_query_with_two_injected_interceptors(bool as await TestCompoisteQueryInterceptors(context, injectedInterceptor2, injectedInterceptor1, async); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_scalar_with_two_injected_interceptors(bool async) { using var context = await CreateContextAsync( @@ -1230,7 +1230,7 @@ public virtual async Task Intercept_scalar_with_two_injected_interceptors(bool a await TestCompositeScalarInterceptors(context, async); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_non_query_with_two_injected_interceptors(bool async) { using var context = await CreateContextAsync( @@ -1239,7 +1239,7 @@ public virtual async Task Intercept_non_query_with_two_injected_interceptors(boo await TestCompositeNonQueryInterceptors(context, async); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_query_with_explicitly_composed_app_interceptor(bool async) { using var context = await CreateContextAsync( @@ -1266,7 +1266,7 @@ private static void AssertCompositeResults(List results) Assert.Equal("<999>", results[4].Type); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_scalar_with_explicitly_composed_app_interceptor(bool async) { using var context = await CreateContextAsync( @@ -1274,7 +1274,7 @@ public virtual async Task Intercept_scalar_with_explicitly_composed_app_intercep await TestCompositeScalarInterceptors(context, async); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_non_query_with_explicitly_composed_app_interceptor(bool async) { using var context = await CreateContextAsync( @@ -1282,7 +1282,7 @@ public virtual async Task Intercept_non_query_with_explicitly_composed_app_inter await TestCompositeNonQueryInterceptors(context, async); } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual async Task Intercept_query_to_call_DataReader_NextResult(bool async, bool inject) { var (context, interceptor) = await CreateContextAsync(inject); @@ -1327,7 +1327,7 @@ public override async ValueTask DataReaderClosingAsync( } } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual async Task Intercept_query_to_suppress_close_of_reader(bool async, bool inject) { var (context, interceptor) = await CreateContextAsync(inject); diff --git a/test/EFCore.Relational.Specification.Tests/ConcurrencyDetectorDisabledRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/ConcurrencyDetectorDisabledRelationalTestBase.cs index 569856102ec..20b2d14bf47 100644 --- a/test/EFCore.Relational.Specification.Tests/ConcurrencyDetectorDisabledRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/ConcurrencyDetectorDisabledRelationalTestBase.cs @@ -14,7 +14,7 @@ public abstract class ConcurrencyDetectorDisabledRelationalTestBase(TF protected string NormalizeDelimitersInRawString(string sql) => (Fixture.TestStore as RelationalTestStore)?.NormalizeDelimitersInRawString(sql) ?? sql; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSql(bool async) => ConcurrencyDetectorTest(async c => async ? await c.Products.FromSqlRaw(NormalizeDelimitersInRawString("select * from [Products]")).ToListAsync() diff --git a/test/EFCore.Relational.Specification.Tests/ConcurrencyDetectorEnabledRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/ConcurrencyDetectorEnabledRelationalTestBase.cs index a8dbe618aac..8e1ba908a04 100644 --- a/test/EFCore.Relational.Specification.Tests/ConcurrencyDetectorEnabledRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/ConcurrencyDetectorEnabledRelationalTestBase.cs @@ -14,7 +14,7 @@ public abstract class ConcurrencyDetectorEnabledRelationalTestBase(TFi protected string NormalizeDelimitersInRawString(string sql) => (Fixture.TestStore as RelationalTestStore)?.NormalizeDelimitersInRawString(sql) ?? sql; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSql(bool async) => ConcurrencyDetectorTest(async c => async ? await c.Products.FromSqlRaw(NormalizeDelimitersInRawString("select * from [Products]")).ToListAsync() diff --git a/test/EFCore.Relational.Specification.Tests/ConnectionInterceptionTestBase.cs b/test/EFCore.Relational.Specification.Tests/ConnectionInterceptionTestBase.cs index c52fd6fd449..a7d10fa6b69 100644 --- a/test/EFCore.Relational.Specification.Tests/ConnectionInterceptionTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/ConnectionInterceptionTestBase.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract class ConnectionInterceptionTestBase(InterceptionTestBase.InterceptionFixtureBase fixture) : InterceptionTestBase(fixture) { - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_connection_passively(bool async) { var (context, interceptor) = await CreateContextAsync(); @@ -57,7 +57,7 @@ public virtual async Task Intercept_connection_passively(bool async) } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_connection_to_override_opening(bool async) { var (context, interceptor) = await CreateContextAsync(); @@ -107,7 +107,7 @@ public virtual async Task Intercept_connection_to_override_opening(bool async) } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_connection_with_multiple_interceptors(bool async) { var interceptor1 = new ConnectionInterceptor(); @@ -169,7 +169,7 @@ [new NoOpConnectionInterceptor(), interceptor1, interceptor2], } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_connection_that_throws_on_open(bool async) { var interceptor = new ConnectionInterceptor(); @@ -196,7 +196,7 @@ public virtual async Task Intercept_connection_that_throws_on_open(bool async) AssertErrorOnOpen(context, interceptor, async); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_connection_creation_passively(bool async) { var interceptor = new ConnectionCreationInterceptor(); @@ -238,7 +238,7 @@ public virtual async Task Intercept_connection_creation_passively(bool async) Assert.True(connectionDisposed); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_connection_to_override_creation(bool async) { using var tempContext = new ConnectionStringContext(ConfigureProvider); @@ -284,7 +284,7 @@ public virtual async Task Intercept_connection_to_override_creation(bool async) Assert.True(connectionDisposed); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_connection_to_override_connection_after_creation(bool async) { using var tempContext = new ConnectionStringContext(ConfigureProvider); @@ -330,7 +330,7 @@ public virtual async Task Intercept_connection_to_override_connection_after_crea Assert.True(connectionDisposed); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_connection_to_suppress_dispose(bool async) { var interceptor = new ConnectionCreationNoDisposeInterceptor(); @@ -372,7 +372,7 @@ public virtual async Task Intercept_connection_to_suppress_dispose(bool async) Assert.False(connectionDisposed); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_connection_creation_with_multiple_interceptors(bool async) { using var tempContext1 = new ConnectionStringContext(ConfigureProvider); diff --git a/test/EFCore.Relational.Specification.Tests/DataAnnotationRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/DataAnnotationRelationalTestBase.cs index 69c09d84c2a..38972d8d92a 100644 --- a/test/EFCore.Relational.Specification.Tests/DataAnnotationRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/DataAnnotationRelationalTestBase.cs @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract class DataAnnotationRelationalTestBase(TFixture fixture) : DataAnnotationTestBase(fixture) where TFixture : DataAnnotationRelationalTestBase.DataAnnotationRelationalFixtureBase, new() { - [ConditionalFact] + [Fact] public virtual void ForeignKey_to_ForeignKey_on_many_to_many() { var modelBuilder = CreateModelBuilder(); @@ -58,7 +58,7 @@ public class Profile16 public virtual ICollection Login16s { get; set; } } - [ConditionalFact] + [Fact] public virtual Task Table_can_configure_TPT_with_Owned() => ExecuteWithStrategyInTransactionAsync( context => diff --git a/test/EFCore.Relational.Specification.Tests/DesignTimeTestBase.cs b/test/EFCore.Relational.Specification.Tests/DesignTimeTestBase.cs index 3e8e76a386a..4c540f116a4 100644 --- a/test/EFCore.Relational.Specification.Tests/DesignTimeTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/DesignTimeTestBase.cs @@ -12,7 +12,7 @@ public abstract class DesignTimeTestBase(TFixture fixture) : IClassFix protected abstract Assembly ProviderAssembly { get; } - [ConditionalFact] + [Fact] public void Can_get_reverse_engineering_services() { using var context = Fixture.CreateContext(); @@ -30,7 +30,7 @@ public void Can_get_reverse_engineering_services() Assert.NotNull(reverseEngineerScaffolder); } - [ConditionalFact] + [Fact] public void Can_get_migrations_services() { using var context = Fixture.CreateContext(); diff --git a/test/EFCore.Relational.Specification.Tests/EFCore.Relational.Specification.Tests.csproj b/test/EFCore.Relational.Specification.Tests/EFCore.Relational.Specification.Tests.csproj index 21807e229db..2e919a4b9b0 100644 --- a/test/EFCore.Relational.Specification.Tests/EFCore.Relational.Specification.Tests.csproj +++ b/test/EFCore.Relational.Specification.Tests/EFCore.Relational.Specification.Tests.csproj @@ -1,4 +1,4 @@ - + Shared test suite for Entity Framework Core relational database providers. @@ -47,7 +47,6 @@ - diff --git a/test/EFCore.Relational.Specification.Tests/EntitySplittingTestBase.cs b/test/EFCore.Relational.Specification.Tests/EntitySplittingTestBase.cs index 862a924b9fa..cab1d9fd281 100644 --- a/test/EFCore.Relational.Specification.Tests/EntitySplittingTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/EntitySplittingTestBase.cs @@ -15,7 +15,7 @@ protected EntitySplittingTestBase(NonSharedFixture fixture, ITestOutputHelper te // TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual async Task Can_roundtrip() { await InitializeAsync(OnModelCreating, sensitiveLogEnabled: true); @@ -42,7 +42,7 @@ public virtual async Task Can_roundtrip() } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task ExecuteDelete_throws_for_entity_splitting(bool async) { await InitializeAsync(OnModelCreating, sensitiveLogEnabled: true); @@ -119,7 +119,7 @@ protected async Task InitializeAsync( protected virtual EntitySplittingContext CreateContext() => ContextFactory.CreateDbContext(); - public override async Task DisposeAsync() + public override async ValueTask DisposeAsync() { await base.DisposeAsync(); diff --git a/test/EFCore.Relational.Specification.Tests/JsonTypesRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/JsonTypesRelationalTestBase.cs index 941645a627f..4886c4e4d32 100644 --- a/test/EFCore.Relational.Specification.Tests/JsonTypesRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/JsonTypesRelationalTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Metadata.Internal; @@ -127,7 +127,7 @@ private async Task NoNestedCollections(string propertyType, string entityType, F RelationalStrings.NestedCollectionsNotSupported(propertyType, entityType, "Prop"), (await Assert.ThrowsAsync(testCode)).Message); - [ConditionalTheory, InlineData(null)] + [Theory, InlineData(null)] public virtual Task Can_read_write_collection_of_fixed_length_string_JSON_values(object? storeType) => Can_read_and_write_JSON_collection_value>( b => b.ElementType().IsFixedLength().HasMaxLength(32), @@ -145,7 +145,7 @@ public virtual Task Can_read_write_collection_of_fixed_length_string_JSON_values { CoreAnnotationNames.MaxLength, 32 } }); - [ConditionalTheory, InlineData(null)] + [Theory, InlineData(null)] public virtual Task Can_read_write_collection_of_ASCII_string_JSON_values(object? storeType) => Can_read_and_write_JSON_collection_value>( b => b.ElementType().IsUnicode(false), diff --git a/test/EFCore.Relational.Specification.Tests/LoggingRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/LoggingRelationalTestBase.cs index dfa478ab708..f18f4c74ad3 100644 --- a/test/EFCore.Relational.Specification.Tests/LoggingRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/LoggingRelationalTestBase.cs @@ -13,43 +13,43 @@ public abstract class LoggingRelationalTestBase : LoggingT where TBuilder : RelationalDbContextOptionsBuilder where TExtension : RelationalOptionsExtension, new() { - [ConditionalFact] + [Fact] public void Logs_context_initialization_max_batch_size() => Assert.Equal( ExpectedMessage("MaxBatchSize=10 " + DefaultOptions), ActualMessage(s => CreateOptionsBuilder(s, b => b.MaxBatchSize(10)))); - [ConditionalFact] + [Fact] public void Logs_context_initialization_command_timeout() => Assert.Equal( ExpectedMessage("CommandTimeout=10 " + DefaultOptions), ActualMessage(s => CreateOptionsBuilder(s, b => b.CommandTimeout(10)))); - [ConditionalFact] + [Fact] public void Logs_context_initialization_relational_nulls() => Assert.Equal( ExpectedMessage("UseRelationalNulls " + DefaultOptions), ActualMessage(s => CreateOptionsBuilder(s, b => b.UseRelationalNulls()))); - [ConditionalFact] + [Fact] public void Logs_context_initialization_migrations_assembly() => Assert.Equal( ExpectedMessage("MigrationsAssembly=A.B.C " + DefaultOptions), ActualMessage(s => CreateOptionsBuilder(s, b => b.MigrationsAssembly("A.B.C")))); - [ConditionalFact] + [Fact] public void Logs_context_initialization_migrations_history_table() => Assert.Equal( ExpectedMessage("MigrationsHistoryTable=MyHistory " + DefaultOptions), ActualMessage(s => CreateOptionsBuilder(s, b => b.MigrationsHistoryTable("MyHistory")))); - [ConditionalFact] + [Fact] public void Logs_context_initialization_migrations_history_table_schema() => Assert.Equal( ExpectedMessage("MigrationsHistoryTable=mySchema.MyHistory " + DefaultOptions), ActualMessage(s => CreateOptionsBuilder(s, b => b.MigrationsHistoryTable("MyHistory", "mySchema")))); - [ConditionalFact] + [Fact] public virtual void IndexPropertiesBothMappedAndNotMappedToTable_throws_by_default() { using var context = new IndexPropertiesBothMappedAndNotMappedToTableContext(CreateOptionsBuilder(new ServiceCollection())); @@ -73,7 +73,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void UnnamedIndexPropertiesMappedToNonOverlappingTables_throws_by_default() { using var context = new UnnamedIndexPropertiesMappedToNonOverlappingTablesContext(CreateOptionsBuilder(new ServiceCollection())); @@ -99,7 +99,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void ForeignKeyPropertiesMappedToUnrelatedTables_throws_by_default() { using var context = new ForeignKeyPropertiesMappedToUnrelatedTablesContext(CreateOptionsBuilder(new ServiceCollection())); diff --git a/test/EFCore.Relational.Specification.Tests/ManyToManyTrackingRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/ManyToManyTrackingRelationalTestBase.cs index 32c4a37a8aa..66875504566 100644 --- a/test/EFCore.Relational.Specification.Tests/ManyToManyTrackingRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/ManyToManyTrackingRelationalTestBase.cs @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract class ManyToManyTrackingRelationalTestBase(TFixture fixture) : ManyToManyTrackingTestBase(fixture) where TFixture : ManyToManyTrackingRelationalTestBase.ManyToManyTrackingRelationalFixture { - [ConditionalFact] + [Fact] public void Many_to_many_delete_behaviors_are_set() { using var context = CreateContext(); diff --git a/test/EFCore.Relational.Specification.Tests/Migrations/MigrationsInfrastructureTestBase.cs b/test/EFCore.Relational.Specification.Tests/Migrations/MigrationsInfrastructureTestBase.cs index 658b38dba29..9316d108f5c 100644 --- a/test/EFCore.Relational.Specification.Tests/Migrations/MigrationsInfrastructureTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Migrations/MigrationsInfrastructureTestBase.cs @@ -62,7 +62,7 @@ protected virtual async Task GiveMeSomeTimeAsync(DbContext db) } } - [ConditionalFact] + [Fact] public virtual void Can_apply_all_migrations() { using var db = Fixture.CreateContext(); @@ -89,7 +89,7 @@ public virtual void Can_apply_all_migrations() Assert.Equal(0, Fixture.SeedAsyncCallCount); } - [ConditionalFact] + [Fact] public virtual async Task Can_apply_all_migrations_async() { using var db = Fixture.CreateContext(); @@ -116,7 +116,7 @@ await history.GetAppliedMigrationsAsync(), Assert.Equal(1, Fixture.SeedAsyncCallCount); } - [ConditionalFact] + [Fact] public virtual void Can_apply_range_of_migrations() { using var db = Fixture.CreateContext(); @@ -137,7 +137,7 @@ public virtual void Can_apply_range_of_migrations() x => Assert.Equal("00000000000006_Migration6", x.MigrationId)); } - [ConditionalFact] + [Fact] public virtual void Can_apply_one_migration() { using var db = Fixture.CreateContext(); @@ -158,7 +158,7 @@ public virtual void Can_apply_one_migration() Fixture.TestSqlLoggerFactory.Log.Single(l => l.Id == RelationalEventId.ModelSnapshotNotFound).Level); } - [ConditionalFact] + [Fact] public virtual void Can_revert_all_migrations() { using var db = Fixture.CreateContext(); @@ -174,7 +174,7 @@ public virtual void Can_revert_all_migrations() Assert.Empty(history.GetAppliedMigrations()); } - [ConditionalFact] + [Fact] public virtual void Can_revert_one_migrations() { using var db = Fixture.CreateContext(); @@ -195,7 +195,7 @@ public virtual void Can_revert_one_migrations() x => Assert.Equal("00000000000004_Migration4", x.MigrationId)); } - [ConditionalFact] + [Fact] public virtual void Can_apply_one_migration_in_parallel() { using var db = Fixture.CreateContext(); @@ -217,7 +217,7 @@ public virtual void Can_apply_one_migration_in_parallel() x => Assert.Equal("00000000000001_Migration1", x.MigrationId)); } - [ConditionalFact] + [Fact] public virtual async Task Can_apply_one_migration_in_parallel_async() { using var db = Fixture.CreateContext(); @@ -239,7 +239,7 @@ await history.GetAppliedMigrationsAsync(), x => Assert.Equal("00000000000001_Migration1", x.MigrationId)); } - [ConditionalFact] + [Fact] public virtual void Can_apply_second_migration_in_parallel() { using var db = Fixture.CreateContext(); @@ -262,7 +262,7 @@ public virtual void Can_apply_second_migration_in_parallel() x => Assert.Equal("00000000000002_Migration2", x.MigrationId)); } - [ConditionalFact] + [Fact] public virtual async Task Can_apply_second_migration_in_parallel_async() { using var db = Fixture.CreateContext(); @@ -285,7 +285,7 @@ await history.GetAppliedMigrationsAsync(), x => Assert.Equal("00000000000002_Migration2", x.MigrationId)); } - [ConditionalFact] + [Fact] public virtual void Can_apply_two_migrations_in_transaction() { using var db = Fixture.CreateContext(); @@ -313,7 +313,7 @@ public virtual void Can_apply_two_migrations_in_transaction() Fixture.TestSqlLoggerFactory.Log.First(l => l.Id == RelationalEventId.MigrationsUserTransactionWarning).Level); } - [ConditionalFact] + [Fact] public virtual async Task Can_apply_two_migrations_in_transaction_async() { using var db = Fixture.CreateContext(); @@ -341,7 +341,7 @@ await history.GetAppliedMigrationsAsync(), Fixture.TestSqlLoggerFactory.Log.First(l => l.Id == RelationalEventId.MigrationsUserTransactionWarning).Level); } - [ConditionalFact] + [Fact] public virtual async Task Can_generate_no_migration_script() { using var db = Fixture.CreateEmptyContext(); @@ -354,7 +354,7 @@ public virtual async Task Can_generate_no_migration_script() await SetAndExecuteSqlAsync(migrator.GenerateScript()); } - [ConditionalFact] + [Fact] public virtual async Task Can_generate_migration_from_initial_database_to_initial() { using var db = Fixture.CreateContext(); @@ -368,7 +368,7 @@ await SetAndExecuteSqlAsync( migrator.GenerateScript(fromMigration: Migration.InitialDatabase, toMigration: Migration.InitialDatabase)); } - [ConditionalFact] + [Fact] public virtual async Task Can_generate_up_and_down_scripts() { using var db = Fixture.CreateContext(); @@ -388,7 +388,7 @@ await SetAndExecuteSqlAsync( append: true); } - [ConditionalFact] + [Fact] public virtual async Task Can_generate_up_and_down_scripts_noTransactions() { using var db = Fixture.CreateContext(); @@ -409,7 +409,7 @@ await SetAndExecuteSqlAsync( append: true); } - [ConditionalFact] + [Fact] public virtual async Task Can_generate_one_up_and_down_script() { using var db = Fixture.CreateContext(); @@ -436,7 +436,7 @@ await SetAndExecuteSqlAsync( append: true); } - [ConditionalFact] + [Fact] public virtual async Task Can_generate_up_and_down_script_using_names() { using var db = Fixture.CreateContext(); @@ -463,7 +463,7 @@ await SetAndExecuteSqlAsync( append: true); } - [ConditionalFact] + [Fact] public virtual async Task Can_generate_idempotent_up_and_down_scripts() { using var db = Fixture.CreateContext(); @@ -487,7 +487,7 @@ await SetAndExecuteSqlAsync( append: true); } - [ConditionalFact] + [Fact] public virtual async Task Can_generate_idempotent_up_and_down_scripts_noTransactions() { using var db = Fixture.CreateContext(); @@ -511,7 +511,7 @@ await SetAndExecuteSqlAsync( append: true); } - [ConditionalFact] + [Fact] public virtual void Can_get_active_provider() { using var db = Fixture.CreateContext(); @@ -523,16 +523,16 @@ public virtual void Can_get_active_provider() ActiveProvider = MigrationsInfrastructureFixtureBase.ActiveProvider; } - [ConditionalFact] + [Fact] public abstract void Can_diff_against_2_2_model(); - [ConditionalFact] + [Fact] public abstract void Can_diff_against_3_0_ASP_NET_Identity_model(); - [ConditionalFact] + [Fact] public abstract void Can_diff_against_2_2_ASP_NET_Identity_model(); - [ConditionalFact] + [Fact] public abstract void Can_diff_against_2_1_ASP_NET_Identity_model(); protected virtual void DiffSnapshot(ModelSnapshot snapshot, DbContext context) diff --git a/test/EFCore.Relational.Specification.Tests/Migrations/MigrationsSqlGeneratorTestBase.cs b/test/EFCore.Relational.Specification.Tests/Migrations/MigrationsSqlGeneratorTestBase.cs index 1778301e8a2..814f95073e3 100644 --- a/test/EFCore.Relational.Specification.Tests/Migrations/MigrationsSqlGeneratorTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Migrations/MigrationsSqlGeneratorTestBase.cs @@ -18,7 +18,7 @@ protected static string EOL protected virtual string Sql { get; set; } - [ConditionalFact] + [Fact] public void All_tests_must_be_overriden() { var baseTests = GetType().GetMethods(BindingFlags.Instance | BindingFlags.Public) @@ -31,7 +31,7 @@ public void All_tests_must_be_overriden() + string.Join(EOL, baseTests.Select(m => m.Name))); } - [ConditionalFact] + [Fact] public virtual void AddColumnOperation_without_column_type() => Generate( new AddColumnOperation @@ -41,7 +41,7 @@ public virtual void AddColumnOperation_without_column_type() ClrType = typeof(string) }); - [ConditionalFact] + [Fact] public virtual void AddColumnOperation_with_unicode_overridden() => Generate( modelBuilder => modelBuilder.Entity().Property("Name").IsUnicode(false), @@ -54,7 +54,7 @@ public virtual void AddColumnOperation_with_unicode_overridden() IsNullable = true }); - [ConditionalFact] + [Fact] public virtual void AddColumnOperation_with_unicode_no_model() => Generate( new AddColumnOperation @@ -66,7 +66,7 @@ public virtual void AddColumnOperation_with_unicode_no_model() IsNullable = true }); - [ConditionalFact] + [Fact] public virtual void AddColumnOperation_with_fixed_length_no_model() => Generate( new AddColumnOperation @@ -80,7 +80,7 @@ public virtual void AddColumnOperation_with_fixed_length_no_model() MaxLength = 100 }); - [ConditionalFact] + [Fact] public virtual void AddColumnOperation_with_maxLength_overridden() => Generate( modelBuilder => modelBuilder.Entity().Property("Name").HasMaxLength(30), @@ -93,7 +93,7 @@ public virtual void AddColumnOperation_with_maxLength_overridden() IsNullable = true }); - [ConditionalFact] + [Fact] public virtual void AddColumnOperation_with_maxLength_no_model() => Generate( new AddColumnOperation @@ -105,7 +105,7 @@ public virtual void AddColumnOperation_with_maxLength_no_model() IsNullable = true }); - [ConditionalFact] + [Fact] public virtual void AddColumnOperation_with_precision_and_scale_overridden() => Generate( modelBuilder => modelBuilder.Entity().Property("Pi").HasPrecision(30, 17), @@ -118,7 +118,7 @@ public virtual void AddColumnOperation_with_precision_and_scale_overridden() Scale = 10 }); - [ConditionalFact] + [Fact] public virtual void AddColumnOperation_with_precision_and_scale_no_model() => Generate( new AddColumnOperation @@ -130,7 +130,7 @@ public virtual void AddColumnOperation_with_precision_and_scale_no_model() Scale = 7 }); - [ConditionalFact] + [Fact] public virtual void AddForeignKeyOperation_without_principal_columns() => Generate( new AddForeignKeyOperation @@ -140,7 +140,7 @@ public virtual void AddForeignKeyOperation_without_principal_columns() PrincipalTable = "People" }); - [ConditionalFact] + [Fact] public virtual void AlterColumnOperation_without_column_type() => Generate( new AlterColumnOperation @@ -150,7 +150,7 @@ public virtual void AlterColumnOperation_without_column_type() ClrType = typeof(int) }); - [ConditionalFact] + [Fact] public virtual void RenameTableOperation_legacy() => Generate( new RenameTableOperation @@ -160,7 +160,7 @@ public virtual void RenameTableOperation_legacy() NewName = "Person" }); - [ConditionalFact] + [Fact] public virtual void RenameTableOperation() => Generate( modelBuilder => modelBuilder.HasAnnotation(CoreAnnotationNames.ProductVersion, "2.1.0"), @@ -172,7 +172,7 @@ public virtual void RenameTableOperation() NewSchema = "dbo" }); - [ConditionalFact] + [Fact] public virtual void SqlOperation() => Generate( new SqlOperation { Sql = "-- I <3 DDL" }); @@ -208,7 +208,7 @@ public virtual void SqlOperation() private static readonly GeometryCollection _geometryCollection = new( [_lineString1, _lineString2, _multiPoint, _polygon1, _polygon2, _point1, _multiLineString, _multiPolygon]) { SRID = 4326 }; - [ConditionalFact] + [Fact] public virtual void InsertDataOperation_all_args_spatial() => Generate( new InsertDataOperation @@ -232,7 +232,7 @@ public virtual void InsertDataOperation_all_args_spatial() protected abstract string GetGeometryCollectionStoreType(); - [ConditionalFact] + [Fact] public virtual void InsertDataOperation_required_args() => Generate( CreateGotModel, @@ -243,7 +243,7 @@ public virtual void InsertDataOperation_required_args() Values = new object[,] { { "John" } } }); - [ConditionalFact] + [Fact] public virtual void InsertDataOperation_required_args_composite() => Generate( CreateGotModel, @@ -254,7 +254,7 @@ public virtual void InsertDataOperation_required_args_composite() Values = new object[,] { { "John", "Snow" } } }); - [ConditionalFact] + [Fact] public virtual void InsertDataOperation_required_args_multiple_rows() => Generate( CreateGotModel, @@ -265,7 +265,7 @@ public virtual void InsertDataOperation_required_args_multiple_rows() Values = new object[,] { { "John" }, { "Daenerys" } } }); - [ConditionalFact] + [Fact] public void InsertDataOperation_throws_for_missing_column_types() => Assert.Equal( RelationalStrings.InsertDataOperationNoModel("dbo.People"), @@ -279,7 +279,7 @@ public void InsertDataOperation_throws_for_missing_column_types() Values = new object[,] { { "John" } } })).Message); - [ConditionalFact] + [Fact] public virtual void InsertDataOperation_throws_for_unsupported_column_types() => Assert.Equal( RelationalStrings.UnsupportedDataOperationStoreType("char[]", "dbo.People.First Name"), @@ -294,7 +294,7 @@ public virtual void InsertDataOperation_throws_for_unsupported_column_types() Values = new object[,] { { null } } })).Message); - [ConditionalFact] + [Fact] public void InsertDataOperation_throws_for_values_count_mismatch() => Assert.Equal( RelationalStrings.InsertDataOperationValuesCountMismatch(1, 2, "dbo.People"), @@ -308,7 +308,7 @@ public void InsertDataOperation_throws_for_values_count_mismatch() Values = new object[,] { { "John" } } })).Message); - [ConditionalFact] + [Fact] public void InsertDataOperation_throws_for_types_count_mismatch() => Assert.Equal( RelationalStrings.InsertDataOperationTypesCountMismatch(2, 1, "People"), @@ -322,7 +322,7 @@ public void InsertDataOperation_throws_for_types_count_mismatch() Values = new object[,] { { "John" } } })).Message); - [ConditionalFact] + [Fact] public void InsertDataOperation_throws_for_missing_entity_type() => Assert.Equal( RelationalStrings.DataOperationNoTable("dbo1.People"), @@ -337,7 +337,7 @@ public void InsertDataOperation_throws_for_missing_entity_type() Values = new object[,] { { "John" } } })).Message); - [ConditionalFact] + [Fact] public void InsertDataOperation_throws_for_missing_property() => Assert.Equal( RelationalStrings.DataOperationNoProperty("People", "Name"), @@ -351,7 +351,7 @@ public void InsertDataOperation_throws_for_missing_property() Values = new object[,] { { "John" } } })).Message); - [ConditionalFact] + [Fact] public virtual void DeleteDataOperation_all_args() => Generate( CreateGotModel, @@ -362,7 +362,7 @@ public virtual void DeleteDataOperation_all_args() KeyValues = new object[,] { { "Hodor" }, { "Daenerys" }, { "John" }, { "Arya" }, { "Harry" } } }); - [ConditionalFact] + [Fact] public virtual void DeleteDataOperation_all_args_composite() => Generate( CreateGotModel, @@ -376,7 +376,7 @@ public virtual void DeleteDataOperation_all_args_composite() } }); - [ConditionalFact] + [Fact] public virtual void DeleteDataOperation_required_args() => Generate( CreateGotModel, @@ -387,7 +387,7 @@ public virtual void DeleteDataOperation_required_args() KeyValues = new object[,] { { "Snow" } } }); - [ConditionalFact] + [Fact] public virtual void DeleteDataOperation_required_args_composite() => Generate( CreateGotModel, @@ -398,7 +398,7 @@ public virtual void DeleteDataOperation_required_args_composite() KeyValues = new object[,] { { "John", "Snow" } } }); - [ConditionalFact] + [Fact] public void DeleteDataOperation_throws_for_missing_column_types() => Assert.Equal( RelationalStrings.DeleteDataOperationNoModel("People"), @@ -411,7 +411,7 @@ public void DeleteDataOperation_throws_for_missing_column_types() KeyValues = new object[,] { { "John" } } })).Message); - [ConditionalFact] + [Fact] public void DeleteDataOperation_throws_for_values_count_mismatch() => Assert.Equal( RelationalStrings.DeleteDataOperationValuesCountMismatch(1, 2, "People"), @@ -425,7 +425,7 @@ public void DeleteDataOperation_throws_for_values_count_mismatch() KeyValues = new object[,] { { "John" } } })).Message); - [ConditionalFact] + [Fact] public void DeleteDataOperation_throws_for_types_count_mismatch() => Assert.Equal( RelationalStrings.DeleteDataOperationTypesCountMismatch(2, 1, "People"), @@ -439,7 +439,7 @@ public void DeleteDataOperation_throws_for_types_count_mismatch() KeyValues = new object[,] { { "John" } } })).Message); - [ConditionalFact] + [Fact] public virtual void UpdateDataOperation_all_args() => Generate( CreateGotModel, @@ -452,7 +452,7 @@ public virtual void UpdateDataOperation_all_args() Values = new object[,] { { "Winterfell", "Stark", "Northmen" }, { "Dragonstone", "Targaryen", "Valyrian" } } }); - [ConditionalFact] + [Fact] public virtual void UpdateDataOperation_all_args_composite() => Generate( CreateGotModel, @@ -465,7 +465,7 @@ public virtual void UpdateDataOperation_all_args_composite() Values = new object[,] { { "Stark" }, { "Targaryen" } } }); - [ConditionalFact] + [Fact] public virtual void UpdateDataOperation_all_args_composite_multi() => Generate( CreateGotModel, @@ -478,7 +478,7 @@ public virtual void UpdateDataOperation_all_args_composite_multi() Values = new object[,] { { "Winterfell", "Stark", "Northmen" }, { "Dragonstone", "Targaryen", "Valyrian" } } }); - [ConditionalFact] + [Fact] public virtual void UpdateDataOperation_all_args_multi() => Generate( CreateGotModel, @@ -491,7 +491,7 @@ public virtual void UpdateDataOperation_all_args_multi() Values = new object[,] { { "Dragonstone", "Targaryen", "Valyrian" } } }); - [ConditionalFact] + [Fact] public virtual void UpdateDataOperation_required_args() => Generate( CreateGotModel, @@ -504,7 +504,7 @@ public virtual void UpdateDataOperation_required_args() Values = new object[,] { { "Targaryen" } } }); - [ConditionalFact] + [Fact] public virtual void UpdateDataOperation_required_args_multiple_rows() => Generate( CreateGotModel, @@ -517,7 +517,7 @@ public virtual void UpdateDataOperation_required_args_multiple_rows() Values = new object[,] { { "Stark" }, { "Targaryen" } } }); - [ConditionalFact] + [Fact] public virtual void UpdateDataOperation_required_args_composite() => Generate( CreateGotModel, @@ -530,7 +530,7 @@ public virtual void UpdateDataOperation_required_args_composite() Values = new object[,] { { "Targaryen" } } }); - [ConditionalFact] + [Fact] public virtual void UpdateDataOperation_required_args_composite_multi() => Generate( CreateGotModel, @@ -543,7 +543,7 @@ public virtual void UpdateDataOperation_required_args_composite_multi() Values = new object[,] { { "Dragonstone", "Targaryen", "Valyrian" } } }); - [ConditionalFact] + [Fact] public virtual void UpdateDataOperation_required_args_multi() => Generate( CreateGotModel, @@ -556,7 +556,7 @@ public virtual void UpdateDataOperation_required_args_multi() Values = new object[,] { { "Dragonstone", "Targaryen", "Valyrian" } } }); - [ConditionalFact] + [Fact] public void UpdateDataOperation_throws_for_missing_column_types() => Assert.Equal( RelationalStrings.UpdateDataOperationNoModel("People"), @@ -571,7 +571,7 @@ public void UpdateDataOperation_throws_for_missing_column_types() Values = new object[,] { { "Targaryen" } } })).Message); - [ConditionalFact] + [Fact] public void UpdateDataOperation_throws_for_row_count_mismatch() => Assert.Equal( RelationalStrings.UpdateDataOperationRowCountMismatch(1, 2, "People"), @@ -588,7 +588,7 @@ public void UpdateDataOperation_throws_for_row_count_mismatch() Values = new object[,] { { "Targaryen" } } })).Message); - [ConditionalFact] + [Fact] public void UpdateDataOperation_throws_for_key_values_count_mismatch() => Assert.Equal( RelationalStrings.UpdateDataOperationKeyValuesCountMismatch(1, 2, "People"), @@ -604,7 +604,7 @@ public void UpdateDataOperation_throws_for_key_values_count_mismatch() Values = new object[,] { { "Targaryen" } } })).Message); - [ConditionalFact] + [Fact] public void UpdateDataOperation_throws_for_key_types_count_mismatch() => Assert.Equal( RelationalStrings.UpdateDataOperationKeyTypesCountMismatch(2, 1, "People"), @@ -620,7 +620,7 @@ public void UpdateDataOperation_throws_for_key_types_count_mismatch() Values = new object[,] { { "Targaryen" } } })).Message); - [ConditionalFact] + [Fact] public void UpdateDataOperation_throws_for_values_count_mismatch() => Assert.Equal( RelationalStrings.UpdateDataOperationValuesCountMismatch(1, 2, "People"), @@ -636,7 +636,7 @@ public void UpdateDataOperation_throws_for_values_count_mismatch() Values = new object[,] { { "Targaryen" } } })).Message); - [ConditionalFact] + [Fact] public void UpdateDataOperation_throws_for_types_count_mismatch() => Assert.Equal( RelationalStrings.UpdateDataOperationTypesCountMismatch(2, 1, "People"), @@ -652,7 +652,7 @@ public void UpdateDataOperation_throws_for_types_count_mismatch() Values = new object[,] { { "Targaryen" } } })).Message); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void DefaultValue_with_line_breaks(bool isUnicode) => Generate( new CreateTableOperation @@ -673,7 +673,7 @@ public virtual void DefaultValue_with_line_breaks(bool isUnicode) } }); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void DefaultValue_with_line_breaks_2(bool isUnicode) { var defaultValue = Enumerable.Range(0, 300).Select(e => e.ToString()) @@ -700,7 +700,7 @@ public virtual void DefaultValue_with_line_breaks_2(bool isUnicode) }); } - [ConditionalTheory, InlineData(3L), InlineData(null)] + [Theory, InlineData(3L), InlineData(null)] public virtual void Sequence_restart_operation(long? startsAt) => Generate( new RestartSequenceOperation diff --git a/test/EFCore.Relational.Specification.Tests/Migrations/MigrationsTestBase.cs b/test/EFCore.Relational.Specification.Tests/Migrations/MigrationsTestBase.cs index 1ff3b12810d..1914e82d714 100644 --- a/test/EFCore.Relational.Specification.Tests/Migrations/MigrationsTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Migrations/MigrationsTestBase.cs @@ -25,7 +25,7 @@ protected MigrationsTestBase(TFixture fixture) _typeMappingSource = Fixture.ServiceProvider.GetService(); } - [ConditionalFact] + [Fact] public virtual Task Create_table() => Test( builder => { }, @@ -48,7 +48,7 @@ public virtual Task Create_table() Assert.Single(table.PrimaryKey!.Columns)); }); - [ConditionalFact] + [Fact] public virtual async Task Create_table_all_settings() { var intStoreType = TypeMappingSource.FindMapping(typeof(int)).StoreType; @@ -143,7 +143,7 @@ await Test( }); } - [ConditionalFact] + [Fact] public virtual Task Create_table_no_key() => Test( builder => { }, @@ -154,7 +154,7 @@ public virtual Task Create_table_no_key() Assert.Null(table.PrimaryKey); }); - [ConditionalFact] + [Fact] public virtual Task Create_table_with_comments() => Test( builder => { }, @@ -176,7 +176,7 @@ public virtual Task Create_table_with_comments() } }); - [ConditionalFact] + [Fact] public virtual Task Create_table_with_multiline_comments() { var tableComment = "This is a multi-line\r\ntable comment.\r\nMore information can\r\nbe found in the docs."; @@ -203,7 +203,7 @@ public virtual Task Create_table_with_multiline_comments() }); } - [ConditionalTheory, InlineData(true), InlineData(false), InlineData(null)] + [Theory, InlineData(true), InlineData(false), InlineData(null)] public virtual Task Create_table_with_computed_column(bool? stored) => Test( builder => { }, @@ -233,7 +233,7 @@ public virtual Task Create_table_with_computed_column(bool? stored) }); #pragma warning disable EF8001 // Owned JSON entities are obsolete - [ConditionalFact] + [Fact] public virtual async Task Create_table_with_json_column() => await Test( builder => { }, @@ -314,7 +314,7 @@ public virtual async Task Create_table_with_json_column() Assert.Single(table.PrimaryKey!.Columns)); }); - [ConditionalFact] + [Fact] public virtual async Task Create_table_with_json_column_explicit_json_column_names() => await Test( builder => { }, @@ -361,7 +361,7 @@ public virtual async Task Create_table_with_json_column_explicit_json_column_nam Assert.Single(table.PrimaryKey!.Columns)); }); - [ConditionalFact] + [Fact] public virtual async Task Create_table_with_complex_properties_mapped_to_json() => await Test( builder => { }, @@ -423,7 +423,7 @@ public virtual async Task Create_table_with_complex_properties_mapped_to_json() Assert.Single(table.PrimaryKey!.Columns)); }); - [ConditionalFact] + [Fact] public virtual async Task Create_table_with_complex_properties_with_nested_collection_mapped_to_json() => await Test( builder => { }, @@ -475,7 +475,7 @@ public virtual async Task Create_table_with_complex_properties_with_nested_colle }); #pragma warning restore EF8001 // Owned JSON entities are obsolete - [ConditionalFact] + [Fact] public virtual Task Alter_table_add_comment() => Test( builder => builder.Entity("People").Property("Id"), @@ -490,7 +490,7 @@ public virtual Task Alter_table_add_comment() } }); - [ConditionalFact] + [Fact] public virtual Task Alter_table_add_comment_non_default_schema() => Test( builder => builder.Entity("People") @@ -508,7 +508,7 @@ public virtual Task Alter_table_add_comment_non_default_schema() } }); - [ConditionalFact] + [Fact] public virtual Task Alter_table_change_comment() => Test( builder => builder.Entity("People").Property("Id"), @@ -523,7 +523,7 @@ public virtual Task Alter_table_change_comment() } }); - [ConditionalFact] + [Fact] public virtual Task Alter_table_remove_comment() => Test( builder => builder.Entity("People").Property("Id"), @@ -531,14 +531,14 @@ public virtual Task Alter_table_remove_comment() builder => { }, model => Assert.Null(Assert.Single(model.Tables).Comment)); - [ConditionalFact] + [Fact] public virtual Task Drop_table() => Test( builder => builder.Entity("People", e => e.Property("Id")), builder => { }, model => Assert.Empty(model.Tables)); - [ConditionalFact] + [Fact] public virtual Task Rename_table() => Test( builder => builder.Entity("People").Property("Id"), @@ -549,7 +549,7 @@ public virtual Task Rename_table() Assert.Equal("Persons", table.Name); }); - [ConditionalFact] + [Fact] public virtual Task Rename_table_with_primary_key() => Test( builder => builder.Entity( @@ -572,7 +572,7 @@ public virtual Task Rename_table_with_primary_key() }); #pragma warning disable EF8001 // Owned JSON entities are obsolete - [ConditionalFact] + [Fact] public virtual async Task Rename_table_with_json_column() => await Test( builder => @@ -666,7 +666,7 @@ public virtual async Task Rename_table_with_json_column() }); #pragma warning restore EF8001 // Owned JSON entities are obsolete - [ConditionalFact] + [Fact] public virtual Task Move_table() => Test( builder => builder.Entity("TestTable").Property("Id"), @@ -683,7 +683,7 @@ public virtual Task Move_table() Assert.Equal("TestTable", table.Name); }); - [ConditionalFact] + [Fact] public virtual Task Create_schema() => Test( builder => { }, @@ -699,7 +699,7 @@ public virtual Task Create_schema() } }); - [ConditionalFact] + [Fact] public virtual Task Add_column_with_defaultValue_string() => Test( builder => builder.Entity("People").Property("Id"), @@ -716,7 +716,7 @@ public virtual Task Add_column_with_defaultValue_string() Assert.Contains("John Doe", nameColumn.DefaultValueSql); }); - [ConditionalFact] + [Fact] public virtual Task Add_column_with_defaultValue_datetime() => Test( builder => builder.Entity("People").Property("Id"), @@ -731,7 +731,7 @@ public virtual Task Add_column_with_defaultValue_datetime() Assert.False(birthdayColumn.IsNullable); }); - [ConditionalFact] + [Fact] public virtual Task Add_column_with_defaultValueSql() => Test( builder => builder.Entity("People").Property("Id"), @@ -748,7 +748,7 @@ public virtual Task Add_column_with_defaultValueSql() Assert.Contains("2", sumColumn.DefaultValueSql); }); - [ConditionalFact] + [Fact] public virtual async Task Add_column_with_defaultValueSql_unspecified() { var ex = await TestThrows( @@ -759,7 +759,7 @@ public virtual async Task Add_column_with_defaultValueSql_unspecified() Assert.Equal(RelationalStrings.DefaultValueSqlUnspecified("People", "Sum"), ex.Message); } - [ConditionalFact] + [Fact] public virtual async Task Add_column_with_defaultValue_unspecified() { var ex = await TestThrows( @@ -782,7 +782,7 @@ protected class Owned } #pragma warning disable EF8001 // Owned JSON entities are obsolete - [ConditionalFact] + [Fact] public virtual async Task Add_json_columns_to_existing_table() => await Test( builder => builder.Entity( @@ -871,7 +871,7 @@ public virtual async Task Add_json_columns_to_existing_table() }); #pragma warning restore EF8001 // Owned JSON entities are obsolete - [ConditionalTheory, InlineData(true), InlineData(false), InlineData(null)] + [Theory, InlineData(true), InlineData(false), InlineData(null)] public virtual Task Add_column_with_computedSql(bool? stored) => Test( builder => builder.Entity( @@ -899,7 +899,7 @@ public virtual Task Add_column_with_computedSql(bool? stored) } }); - [ConditionalFact] + [Fact] public virtual async Task Add_column_with_computedSql_unspecified() { var ex = await TestThrows( @@ -910,7 +910,7 @@ public virtual async Task Add_column_with_computedSql_unspecified() Assert.Equal(RelationalStrings.ComputedColumnSqlUnspecified("Sum", "People"), ex.Message); } - [ConditionalFact] + [Fact] public virtual Task Add_column_with_required() => Test( builder => builder.Entity("People").Property("Id"), @@ -924,7 +924,7 @@ public virtual Task Add_column_with_required() Assert.False(column.IsNullable); }); - [ConditionalFact] + [Fact] public virtual Task Add_column_with_ansi() => Test( builder => builder.Entity("People").Property("Id"), @@ -941,7 +941,7 @@ public virtual Task Add_column_with_ansi() Assert.True(column.IsNullable); }); - [ConditionalFact] + [Fact] public virtual Task Add_column_with_max_length() => Test( builder => builder.Entity("People").Property("Id"), @@ -958,7 +958,7 @@ public virtual Task Add_column_with_max_length() column.StoreType); }); - [ConditionalFact] + [Fact] public virtual Task Add_column_with_unbounded_max_length() => Test( builder => builder.Entity("People").Property("Id"), @@ -975,7 +975,7 @@ public virtual Task Add_column_with_unbounded_max_length() column.StoreType); }); - [ConditionalFact] + [Fact] public virtual Task Add_column_with_max_length_on_derived() => Test( builder => @@ -1003,7 +1003,7 @@ public virtual Task Add_column_with_max_length_on_derived() column.StoreType); }); - [ConditionalFact] + [Fact] public virtual Task Add_column_with_fixed_length() => Test( builder => builder.Entity("People").Property("Id"), @@ -1022,7 +1022,7 @@ public virtual Task Add_column_with_fixed_length() column.StoreType); }); - [ConditionalFact] + [Fact] public virtual Task Add_column_with_comment() => Test( builder => builder.Entity("People").Property("Id"), @@ -1038,7 +1038,7 @@ public virtual Task Add_column_with_comment() } }); - [ConditionalFact] + [Fact] public virtual Task Add_column_with_collation() => Test( builder => builder.Entity("People").Property("Id"), @@ -1056,7 +1056,7 @@ public virtual Task Add_column_with_collation() } }); - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual Task Add_column_computed_with_collation(bool stored) => Test( builder => builder.Entity("People").Property("Id"), @@ -1081,7 +1081,7 @@ public virtual Task Add_column_computed_with_collation(bool stored) } }); - [ConditionalFact] + [Fact] public virtual Task Add_column_shared() => Test( builder => @@ -1098,7 +1098,7 @@ public virtual Task Add_column_shared() var column = Assert.Single(table.Columns, c => c.Name == "Foo"); }); - [ConditionalFact] + [Fact] public virtual Task Add_column_with_check_constraint() => Test( builder => builder.Entity("People").Property("Id"), @@ -1114,7 +1114,7 @@ public virtual Task Add_column_with_check_constraint() // TODO: no scaffolding support for check constraints, https://github.com/aspnet/EntityFrameworkCore/issues/15408 }); - [ConditionalFact] + [Fact] public virtual Task Alter_column_change_type() => Test( builder => builder.Entity("People").Property("Id"), @@ -1127,7 +1127,7 @@ public virtual Task Alter_column_change_type() Assert.Equal(_typeMappingSource.FindMapping(typeof(long)).StoreType, column.StoreType); }); - [ConditionalFact] + [Fact] public virtual Task Alter_column_make_required() => Test( builder => builder.Entity( @@ -1145,7 +1145,7 @@ public virtual Task Alter_column_make_required() Assert.False(column.IsNullable); }); - [ConditionalFact] + [Fact] public virtual Task Alter_column_make_required_with_null_data() => Test( builder => builder.Entity( @@ -1164,7 +1164,7 @@ public virtual Task Alter_column_make_required_with_null_data() Assert.False(column.IsNullable); }); - [ConditionalFact] + [Fact] public virtual Task Alter_column_make_required_with_index() => Test( builder => builder.Entity( @@ -1185,7 +1185,7 @@ public virtual Task Alter_column_make_required_with_index() Assert.Same(column, Assert.Single(index.Columns)); }); - [ConditionalFact] + [Fact] public virtual Task Alter_column_make_required_with_composite_index() => Test( builder => builder.Entity( @@ -1209,7 +1209,7 @@ public virtual Task Alter_column_make_required_with_composite_index() Assert.Contains(table.Columns.Single(c => c.Name == "LastName"), index.Columns); }); - [ConditionalTheory, InlineData(true), InlineData(false), InlineData(null)] + [Theory, InlineData(true), InlineData(false), InlineData(null)] public virtual Task Alter_column_make_computed(bool? stored) => Test( builder => builder.Entity( @@ -1238,7 +1238,7 @@ public virtual Task Alter_column_make_computed(bool? stored) } }); - [ConditionalFact] + [Fact] public virtual Task Alter_column_change_computed() => Test( builder => builder.Entity( @@ -1265,7 +1265,7 @@ public virtual Task Alter_column_change_computed() } }); - [ConditionalFact] + [Fact] public virtual Task Alter_column_change_computed_recreates_indexes() => Test( builder => builder.Entity( @@ -1297,7 +1297,7 @@ public virtual Task Alter_column_change_computed_recreates_indexes() Assert.Collection(sumIndex.Columns, c => Assert.Equal("Sum", c.Name)); }); - [ConditionalFact] + [Fact] public virtual Task Alter_column_change_computed_type() => Test( builder => builder.Entity( @@ -1322,7 +1322,7 @@ public virtual Task Alter_column_change_computed_type() } }); - [ConditionalFact] + [Fact] public virtual Task Alter_column_make_non_computed() => Test( builder => builder.Entity( @@ -1343,7 +1343,7 @@ public virtual Task Alter_column_make_non_computed() Assert.NotEqual(true, sumColumn.IsStored); }); - [ConditionalFact] + [Fact] public virtual Task Alter_column_add_comment() => Test( builder => builder.Entity("People").Property("Id"), @@ -1358,7 +1358,7 @@ public virtual Task Alter_column_add_comment() } }); - [ConditionalFact] + [Fact] public virtual Task Alter_computed_column_add_comment() => Test( builder => builder.Entity( @@ -1379,7 +1379,7 @@ public virtual Task Alter_computed_column_add_comment() } }); - [ConditionalFact] + [Fact] public virtual Task Alter_column_change_comment() => Test( builder => builder.Entity("People").Property("Id").HasComment("Some comment1"), @@ -1394,7 +1394,7 @@ public virtual Task Alter_column_change_comment() } }); - [ConditionalFact] + [Fact] public virtual Task Alter_column_remove_comment() => Test( builder => builder.Entity("People").Property("Id").HasComment("Some comment"), @@ -1406,7 +1406,7 @@ public virtual Task Alter_column_remove_comment() Assert.Null(column.Comment); }); - [ConditionalFact] + [Fact] public virtual Task Alter_column_set_collation() => Test( builder => builder.Entity("People").Property("Name"), @@ -1422,7 +1422,7 @@ public virtual Task Alter_column_set_collation() } }); - [ConditionalFact] + [Fact] public virtual Task Alter_column_reset_collation() => Test( builder => builder.Entity("People").Property("Name"), @@ -1436,7 +1436,7 @@ public virtual Task Alter_column_reset_collation() }); #pragma warning disable EF8001 // Owned JSON entities are obsolete - [ConditionalFact] + [Fact] public virtual async Task Convert_json_entities_to_regular_owned() => await Test( builder => @@ -1514,7 +1514,7 @@ public virtual async Task Convert_json_entities_to_regular_owned() Assert.Equal(4, model.Tables.Count()); }); - [ConditionalFact] + [Fact] public virtual async Task Convert_regular_owned_entities_to_json() => await Test( builder => @@ -1603,7 +1603,7 @@ public virtual async Task Convert_regular_owned_entities_to_json() Assert.Single(table.PrimaryKey!.Columns)); }); - [ConditionalFact] + [Fact] public virtual async Task Convert_string_column_to_a_json_column_containing_reference() { await Test( @@ -1647,7 +1647,7 @@ await Test( AssertSql(); } - [ConditionalFact] + [Fact] public virtual async Task Convert_string_column_to_a_json_column_containing_required_reference() => await Test( builder => @@ -1689,7 +1689,7 @@ public virtual async Task Convert_string_column_to_a_json_column_containing_requ c => Assert.Equal("Name", c.Name)); }); - [ConditionalFact] + [Fact] public virtual async Task Convert_string_column_to_a_json_column_containing_collection() { await Test( @@ -1734,7 +1734,7 @@ await Test( } #pragma warning restore EF8001 // Owned JSON entities are obsolete - [ConditionalFact] + [Fact] public virtual Task Drop_column() => Test( builder => builder.Entity("People").Property("Id"), @@ -1746,7 +1746,7 @@ public virtual Task Drop_column() Assert.Equal("Id", Assert.Single(table.Columns).Name); }); - [ConditionalFact] + [Fact] public virtual Task Drop_column_primary_key() => Test( builder => builder.Entity("People").Property("SomeColumn"), @@ -1763,7 +1763,7 @@ public virtual Task Drop_column_primary_key() Assert.Equal("SomeColumn", Assert.Single(table.Columns).Name); }); - [ConditionalFact] + [Fact] public virtual Task Drop_column_computed_and_non_computed_with_dependency() => Test( builder => builder.Entity("People").Property("Id"), @@ -1781,7 +1781,7 @@ public virtual Task Drop_column_computed_and_non_computed_with_dependency() }); #pragma warning disable EF8001 // Owned JSON entities are obsolete - [ConditionalFact] + [Fact] public virtual async Task Drop_json_columns_from_existing_table() => await Test( builder => @@ -1849,7 +1849,7 @@ public virtual async Task Drop_json_columns_from_existing_table() }); #pragma warning restore EF8001 // Owned JSON entities are obsolete - [ConditionalFact] + [Fact] public virtual Task Rename_column() => Test( builder => builder.Entity("People").Property("Id"), @@ -1863,7 +1863,7 @@ public virtual Task Rename_column() }); #pragma warning disable EF8001 // Owned JSON entities are obsolete - [ConditionalFact] + [Fact] public virtual async Task Rename_json_column() => await Test( builder => @@ -1955,7 +1955,7 @@ public virtual async Task Rename_json_column() }); #pragma warning restore EF8001 // Owned JSON entities are obsolete - [ConditionalFact] + [Fact] public virtual Task Create_index() => Test( builder => builder.Entity( @@ -1983,7 +1983,7 @@ public virtual Task Create_index() Assert.Null(index.Filter); }); - [ConditionalFact] + [Fact] public virtual Task Create_index_unique() => Test( builder => builder.Entity( @@ -2002,7 +2002,7 @@ public virtual Task Create_index_unique() Assert.True(index.IsUnique); }); - [ConditionalFact] + [Fact] public virtual Task Create_index_descending() => Test( builder => builder.Entity( @@ -2020,7 +2020,7 @@ public virtual Task Create_index_descending() Assert.Collection(index.IsDescending, Assert.True); }); - [ConditionalFact] + [Fact] public virtual Task Create_index_descending_mixed() => Test( builder => builder.Entity( @@ -2042,7 +2042,7 @@ public virtual Task Create_index_descending_mixed() Assert.Collection(index.IsDescending, Assert.False, Assert.True, Assert.False); }); - [ConditionalFact] + [Fact] public virtual Task Alter_index_make_unique() => Test( builder => builder.Entity( @@ -2060,7 +2060,7 @@ public virtual Task Alter_index_make_unique() Assert.True(index.IsUnique); }); - [ConditionalFact] + [Fact] public virtual Task Alter_index_change_sort_order() => Test( builder => builder.Entity( @@ -2084,7 +2084,7 @@ public virtual Task Alter_index_change_sort_order() Assert.Collection(index.IsDescending, Assert.False, Assert.True, Assert.False); }); - [ConditionalFact] + [Fact] public virtual Task Create_index_with_filter() => Test( builder => builder.Entity( @@ -2107,7 +2107,7 @@ public virtual Task Create_index_with_filter() } }); - [ConditionalFact] + [Fact] public virtual Task Create_unique_index_with_filter() => Test( builder => builder.Entity( @@ -2129,7 +2129,7 @@ public virtual Task Create_unique_index_with_filter() } }); - [ConditionalFact] + [Fact] public virtual Task Drop_index() => Test( builder => builder.Entity( @@ -2142,7 +2142,7 @@ public virtual Task Drop_index() builder => { }, model => Assert.Empty(Assert.Single(model.Tables).Indexes)); - [ConditionalFact] + [Fact] public virtual Task Rename_index() => Test( builder => builder.Entity( @@ -2160,7 +2160,7 @@ public virtual Task Rename_index() Assert.Equal("foo", index.Name); }); - [ConditionalFact] + [Fact] public virtual Task Add_primary_key_int() => Test( builder => builder.Entity("People").Property("SomeField"), @@ -2179,7 +2179,7 @@ public virtual Task Add_primary_key_int() } }); - [ConditionalFact] + [Fact] public virtual Task Add_primary_key_string() => Test( builder => builder.Entity("People").Property("SomeField").IsRequired(), @@ -2198,7 +2198,7 @@ public virtual Task Add_primary_key_string() } }); - [ConditionalFact] + [Fact] public virtual Task Add_primary_key_with_name() => Test( builder => builder.Entity("People").Property("SomeField"), @@ -2217,7 +2217,7 @@ public virtual Task Add_primary_key_with_name() } }); - [ConditionalFact] + [Fact] public virtual Task Add_primary_key_composite_with_name() => Test( builder => builder.Entity( @@ -2244,7 +2244,7 @@ public virtual Task Add_primary_key_composite_with_name() } }); - [ConditionalFact] + [Fact] public virtual Task Drop_primary_key_int() => Test( builder => builder.Entity("People").Property("SomeField"), @@ -2252,7 +2252,7 @@ public virtual Task Drop_primary_key_int() builder => { }, model => Assert.Null(Assert.Single(model.Tables).PrimaryKey)); - [ConditionalFact] + [Fact] public virtual Task Drop_primary_key_string() => Test( builder => builder.Entity("People").Property("SomeField").IsRequired(), @@ -2260,7 +2260,7 @@ public virtual Task Drop_primary_key_string() builder => { }, model => Assert.Null(Assert.Single(model.Tables).PrimaryKey)); - [ConditionalFact] + [Fact] public virtual Task Add_foreign_key() => Test( builder => @@ -2297,7 +2297,7 @@ public virtual Task Add_foreign_key() Assert.Equal("CustomerId", Assert.Single(foreignKey.Columns).Name); }); - [ConditionalFact] + [Fact] public virtual Task Add_foreign_key_with_name() => Test( builder => @@ -2328,7 +2328,7 @@ public virtual Task Add_foreign_key_with_name() } }); - [ConditionalFact] + [Fact] public virtual Task Add_foreign_key_excluded_from_migrations() => Test( builder => @@ -2355,7 +2355,7 @@ public virtual Task Add_foreign_key_excluded_from_migrations() Assert.Empty(ordersTable.ForeignKeys); }); - [ConditionalFact] + [Fact] public virtual Task Drop_foreign_key() => Test( builder => @@ -2381,7 +2381,7 @@ public virtual Task Drop_foreign_key() Assert.Empty(customersTable.ForeignKeys); }); - [ConditionalFact] + [Fact] public virtual Task Add_unique_constraint() => Test( builder => builder.Entity( @@ -2404,7 +2404,7 @@ public virtual Task Add_unique_constraint() } }); - [ConditionalFact] + [Fact] public virtual Task Add_unique_constraint_composite_with_name() => Test( builder => builder.Entity( @@ -2431,7 +2431,7 @@ public virtual Task Add_unique_constraint_composite_with_name() } }); - [ConditionalFact] + [Fact] public virtual Task Drop_unique_constraint() => Test( builder => builder.Entity( @@ -2447,7 +2447,7 @@ public virtual Task Drop_unique_constraint() Assert.Empty(Assert.Single(model.Tables).UniqueConstraints); }); - [ConditionalFact] + [Fact] public virtual Task Add_check_constraint_with_name() => Test( builder => builder.Entity( @@ -2464,7 +2464,7 @@ public virtual Task Add_check_constraint_with_name() // TODO: no scaffolding support for check constraints, https://github.com/aspnet/EntityFrameworkCore/issues/15408 }); - [ConditionalFact] + [Fact] public virtual Task Alter_check_constraint() => Test( builder => builder.Entity( @@ -2482,7 +2482,7 @@ public virtual Task Alter_check_constraint() // TODO: no scaffolding support for check constraints, https://github.com/aspnet/EntityFrameworkCore/issues/15408 }); - [ConditionalFact] + [Fact] public virtual Task Drop_check_constraint() => Test( builder => builder.Entity( @@ -2499,7 +2499,7 @@ public virtual Task Drop_check_constraint() // TODO: no scaffolding support for check constraints, https://github.com/aspnet/EntityFrameworkCore/issues/15408 }); - [ConditionalFact] + [Fact] public virtual Task Create_sequence() => Test( builder => { }, @@ -2510,7 +2510,7 @@ public virtual Task Create_sequence() Assert.Equal("TestSequence", sequence.Name); }); - [ConditionalFact] + [Fact] public virtual Task Create_sequence_long() => Test( builder => { }, @@ -2521,7 +2521,7 @@ public virtual Task Create_sequence_long() Assert.Equal("TestSequence", sequence.Name); }); - [ConditionalFact] + [Fact] public virtual Task Create_sequence_short() => Test( builder => { }, @@ -2532,7 +2532,7 @@ public virtual Task Create_sequence_short() Assert.Equal("TestSequence", sequence.Name); }); - [ConditionalFact] + [Fact] public virtual Task Create_sequence_all_settings() => Test( builder => { }, @@ -2554,7 +2554,7 @@ public virtual Task Create_sequence_all_settings() Assert.True(sequence.IsCyclic); }); - [ConditionalFact] + [Fact] public virtual Task Alter_sequence_all_settings() => Test( builder => builder.HasSequence("foo"), @@ -2575,7 +2575,7 @@ public virtual Task Alter_sequence_all_settings() Assert.True(sequence.IsCyclic); }); - [ConditionalFact] + [Fact] public virtual Task Alter_sequence_increment_by() => Test( builder => builder.HasSequence("foo"), @@ -2587,7 +2587,7 @@ public virtual Task Alter_sequence_increment_by() Assert.Equal(2, sequence.IncrementBy); }); - [ConditionalFact] + [Fact] public virtual Task Alter_sequence_restart_with() => Test( builder => builder.HasSequence("foo"), @@ -2599,14 +2599,14 @@ public virtual Task Alter_sequence_restart_with() Assert.Equal(3, sequence.StartValue); }); - [ConditionalFact] + [Fact] public virtual Task Drop_sequence() => Test( builder => builder.HasSequence("TestSequence"), builder => { }, model => Assert.Empty(model.Sequences)); - [ConditionalFact] + [Fact] public virtual Task Rename_sequence() => Test( builder => builder.HasSequence("TestSequence"), @@ -2617,7 +2617,7 @@ public virtual Task Rename_sequence() Assert.Equal("testsequence", sequence.Name); }); - [ConditionalFact] + [Fact] public virtual Task Move_sequence() => Test( builder => builder.HasSequence("TestSequence"), @@ -2629,7 +2629,7 @@ public virtual Task Move_sequence() Assert.Equal("TestSequence", sequence.Name); }); - [ConditionalFact] + [Fact] public virtual Task InsertDataOperation() => Test( builder => builder.Entity( @@ -2649,7 +2649,7 @@ public virtual Task InsertDataOperation() new Person { Id = 5, Name = null }), model => { }); - [ConditionalFact] + [Fact] public virtual Task DeleteDataOperation_simple_key() => Test( builder => builder.Entity( @@ -2664,7 +2664,7 @@ public virtual Task DeleteDataOperation_simple_key() builder => { }, model => { }); - [ConditionalFact] + [Fact] public virtual Task DeleteDataOperation_composite_key() => Test( builder => builder.Entity( @@ -2692,7 +2692,7 @@ public virtual Task DeleteDataOperation_composite_key() builder => { }, model => { }); - [ConditionalFact] + [Fact] public virtual Task UpdateDataOperation_simple_key() => Test( builder => builder.Entity( @@ -2707,7 +2707,7 @@ public virtual Task UpdateDataOperation_simple_key() builder => builder.Entity("Person").HasData(new Person { Id = 2, Name = "Another John Snow" }), model => { }); - [ConditionalFact] + [Fact] public virtual Task UpdateDataOperation_composite_key() => Test( builder => builder.Entity( @@ -2741,7 +2741,7 @@ public virtual Task UpdateDataOperation_composite_key() }), model => { }); - [ConditionalFact] + [Fact] public virtual Task UpdateDataOperation_multiple_columns() => Test( builder => builder.Entity( @@ -2775,7 +2775,7 @@ public virtual Task UpdateDataOperation_multiple_columns() }), model => { }); - [ConditionalFact] + [Fact] public virtual async Task SqlOperation() { await Test( @@ -2793,7 +2793,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual Task Create_table_with_complex_type_with_required_properties_on_derived_entity_in_TPH() => Test( builder => { }, @@ -2862,7 +2862,7 @@ public virtual Task Create_table_with_complex_type_with_required_properties_on_d }); }); - [ConditionalFact] + [Fact] public virtual Task Create_table_with_optional_complex_type_with_required_properties() => Test( builder => { }, @@ -2937,7 +2937,7 @@ public class MyNestedComplex public DateTime Bar { get; set; } } - [ConditionalFact] + [Fact] public virtual Task Add_required_primitive_collection_to_existing_table() => Test( builder => builder.Entity( @@ -2970,7 +2970,7 @@ public virtual Task Add_required_primitive_collection_to_existing_table() Assert.Single(customersTable.PrimaryKey!.Columns)); }); - [ConditionalFact] + [Fact] public virtual Task Add_required_primitive_collection_with_custom_default_value_to_existing_table() => Test( builder => builder.Entity( @@ -3009,7 +3009,7 @@ public virtual Task Add_required_primitive_collection_with_custom_default_value_ Assert.Single(customersTable.PrimaryKey!.Columns)); }); - [ConditionalFact] + [Fact] public abstract Task Add_required_primitive_collection_with_custom_default_value_sql_to_existing_table(); protected virtual Task Add_required_primitive_collection_with_custom_default_value_sql_to_existing_table_core(string defaultValueSql) @@ -3044,7 +3044,7 @@ protected virtual Task Add_required_primitive_collection_with_custom_default_val Assert.Single(customersTable.PrimaryKey!.Columns)); }); - [ConditionalFact(Skip = "issue #33038")] + [Fact(Skip = "issue #33038")] public virtual Task Add_required_primitive_collection_with_custom_converter_to_existing_table() => Test( builder => builder.Entity( @@ -3088,7 +3088,7 @@ public virtual Task Add_required_primitive_collection_with_custom_converter_to_e Assert.Single(customersTable.PrimaryKey!.Columns)); }); - [ConditionalFact] + [Fact] public virtual Task Add_required_primitive_collection_with_custom_converter_and_custom_default_value_to_existing_table() => Test( builder => builder.Entity( @@ -3133,7 +3133,7 @@ public virtual Task Add_required_primitive_collection_with_custom_converter_and_ Assert.Single(customersTable.PrimaryKey!.Columns)); }); - [ConditionalFact] + [Fact] public virtual Task Add_optional_primitive_collection_to_existing_table() => Test( builder => builder.Entity( @@ -3166,7 +3166,7 @@ public virtual Task Add_optional_primitive_collection_to_existing_table() Assert.Single(customersTable.PrimaryKey!.Columns)); }); - [ConditionalFact] + [Fact] public virtual Task Create_table_with_required_primitive_collection() => Test( builder => { }, @@ -3192,7 +3192,7 @@ public virtual Task Create_table_with_required_primitive_collection() Assert.Single(customersTable.PrimaryKey!.Columns)); }); - [ConditionalFact] + [Fact] public virtual Task Create_table_with_optional_primitive_collection() => Test( builder => { }, @@ -3218,7 +3218,7 @@ public virtual Task Create_table_with_optional_primitive_collection() Assert.Single(customersTable.PrimaryKey!.Columns)); }); - [ConditionalFact] + [Fact] public virtual Task Add_required_primitve_collection_to_existing_table() => Test( builder => builder.Entity( @@ -3251,7 +3251,7 @@ public virtual Task Add_required_primitve_collection_to_existing_table() Assert.Single(customersTable.PrimaryKey!.Columns)); }); - [ConditionalFact] + [Fact] public virtual Task Add_required_primitve_collection_with_custom_default_value_to_existing_table() => Test( builder => builder.Entity( @@ -3290,7 +3290,7 @@ public virtual Task Add_required_primitve_collection_with_custom_default_value_t Assert.Single(customersTable.PrimaryKey!.Columns)); }); - [ConditionalFact] + [Fact] public abstract Task Add_required_primitve_collection_with_custom_default_value_sql_to_existing_table(); protected virtual Task Add_required_primitve_collection_with_custom_default_value_sql_to_existing_table_core(string defaultValueSql) @@ -3325,7 +3325,7 @@ protected virtual Task Add_required_primitve_collection_with_custom_default_valu Assert.Single(customersTable.PrimaryKey!.Columns)); }); - [ConditionalFact(Skip = "issue #33038")] + [Fact(Skip = "issue #33038")] public virtual Task Add_required_primitve_collection_with_custom_converter_to_existing_table() => Test( builder => builder.Entity( @@ -3369,7 +3369,7 @@ public virtual Task Add_required_primitve_collection_with_custom_converter_to_ex Assert.Single(customersTable.PrimaryKey!.Columns)); }); - [ConditionalFact] + [Fact] public virtual Task Add_required_primitve_collection_with_custom_converter_and_custom_default_value_to_existing_table() => Test( builder => builder.Entity( @@ -3414,7 +3414,7 @@ public virtual Task Add_required_primitve_collection_with_custom_converter_and_c Assert.Single(customersTable.PrimaryKey!.Columns)); }); - [ConditionalFact] + [Fact] public virtual Task Multiop_drop_table_and_create_the_same_table_in_one_migration() => TestComposite( [ @@ -3438,7 +3438,7 @@ public virtual Task Multiop_drop_table_and_create_the_same_table_in_one_migratio }) ]); - [ConditionalFact] + [Fact] public virtual Task Multiop_create_table_and_drop_it_in_one_migration() => TestComposite( [ @@ -3455,7 +3455,7 @@ public virtual Task Multiop_create_table_and_drop_it_in_one_migration() builder => { }, ]); - [ConditionalFact] + [Fact] public virtual Task Multiop_rename_table_and_drop() => TestComposite( [ @@ -3480,7 +3480,7 @@ public virtual Task Multiop_rename_table_and_drop() builder => { }, ]); - [ConditionalFact] + [Fact] public virtual Task Multiop_rename_table_and_create_new_table_with_the_old_name() => TestComposite( [ diff --git a/test/EFCore.Relational.Specification.Tests/ModelBuilding/RelationalModelBuilderTest.cs b/test/EFCore.Relational.Specification.Tests/ModelBuilding/RelationalModelBuilderTest.cs index ccf9c70365e..23455d4a97a 100644 --- a/test/EFCore.Relational.Specification.Tests/ModelBuilding/RelationalModelBuilderTest.cs +++ b/test/EFCore.Relational.Specification.Tests/ModelBuilding/RelationalModelBuilderTest.cs @@ -12,7 +12,7 @@ public class RelationalModelBuilderTest : ModelBuilderTest { public abstract class RelationalNonRelationshipTestBase(RelationalModelBuilderFixture fixture) : NonRelationshipTestBase(fixture) { - [ConditionalFact] + [Fact] public virtual void Can_use_table_splitting() { var modelBuilder = CreateModelBuilder(); @@ -56,7 +56,7 @@ public virtual void Can_use_table_splitting() Assert.Same(customerId.GetOverrides().Single(), customerId.FindOverrides(StoreObjectIdentifier.Table("OrderDetails", "dbo"))); } - [ConditionalFact] + [Fact] public virtual void Can_use_table_splitting_with_schema() { var modelBuilder = CreateModelBuilder(); @@ -90,7 +90,7 @@ public virtual void Can_use_table_splitting_with_schema() Assert.Null(customerId.GetColumnName(StoreObjectIdentifier.Table("Order"))); } - [ConditionalFact] + [Fact] public virtual void Can_use_view_splitting() { var modelBuilder = CreateModelBuilder(); @@ -128,7 +128,7 @@ public virtual void Can_use_view_splitting() Assert.Same(customerId.GetOverrides().Single(), customerId.FindOverrides(StoreObjectIdentifier.View("OrderDetails"))); } - [ConditionalFact] + [Fact] public virtual void Can_use_view_splitting_with_schema() { var modelBuilder = CreateModelBuilder(); @@ -158,7 +158,7 @@ public virtual void Can_use_view_splitting_with_schema() Assert.Null(customerId.GetColumnName(StoreObjectIdentifier.View("Order"))); } - [ConditionalFact] + [Fact] public virtual void Conflicting_sproc_rows_affected_return_and_parameter_throw() { var modelBuilder = CreateModelBuilder(); @@ -171,7 +171,7 @@ public virtual void Conflicting_sproc_rows_affected_return_and_parameter_throw() .Message); } - [ConditionalFact] + [Fact] public virtual void Conflicting_sproc_rows_affected_return_and_result_column_throw() { var modelBuilder = CreateModelBuilder(); @@ -184,7 +184,7 @@ public virtual void Conflicting_sproc_rows_affected_return_and_result_column_thr .Message); } - [ConditionalFact] + [Fact] public virtual void Conflicting_sproc_rows_affected_parameter_and_return_throw() { var modelBuilder = CreateModelBuilder(); @@ -197,7 +197,7 @@ public virtual void Conflicting_sproc_rows_affected_parameter_and_return_throw() .Message); } - [ConditionalFact] + [Fact] public virtual void Conflicting_sproc_rows_affected_result_column_and_return_throw() { var modelBuilder = CreateModelBuilder(); @@ -210,7 +210,7 @@ public virtual void Conflicting_sproc_rows_affected_result_column_and_return_thr .Message); } - [ConditionalFact] + [Fact] public virtual void Conflicting_sproc_rows_affected_result_column_and_parameter_throw() { var modelBuilder = CreateModelBuilder(); @@ -223,7 +223,7 @@ public virtual void Conflicting_sproc_rows_affected_result_column_and_parameter_ .Message); } - [ConditionalFact] + [Fact] public virtual void Duplicate_sproc_rows_affected_result_column_throws() { var modelBuilder = CreateModelBuilder(); @@ -237,7 +237,7 @@ public virtual void Duplicate_sproc_rows_affected_result_column_throws() .Message); } - [ConditionalFact] + [Fact] public virtual void Conflicting_sproc_rows_affected_parameter_and_result_column_throw() { var modelBuilder = CreateModelBuilder(); @@ -250,7 +250,7 @@ public virtual void Conflicting_sproc_rows_affected_parameter_and_result_column_ .Message); } - [ConditionalFact] + [Fact] public virtual void Duplicate_sproc_rows_affected_parameter_throws() { var modelBuilder = CreateModelBuilder(); @@ -264,7 +264,7 @@ public virtual void Duplicate_sproc_rows_affected_parameter_throws() .Message); } - [ConditionalFact] + [Fact] public virtual void Duplicate_sproc_parameter_throws() { var modelBuilder = CreateModelBuilder(); @@ -278,7 +278,7 @@ public virtual void Duplicate_sproc_parameter_throws() .Message); } - [ConditionalFact] + [Fact] public virtual void Duplicate_sproc_original_value_parameter_throws() { var modelBuilder = CreateModelBuilder(); @@ -292,7 +292,7 @@ public virtual void Duplicate_sproc_original_value_parameter_throws() .Message); } - [ConditionalFact] + [Fact] public virtual void Duplicate_sproc_result_column_throws() { var modelBuilder = CreateModelBuilder(); @@ -306,7 +306,7 @@ public virtual void Duplicate_sproc_result_column_throws() .Message); } - [ConditionalFact] + [Fact] public virtual void Configuring_direction_on_RowsAffectedParameter_throws() { var modelBuilder = CreateModelBuilder(); @@ -323,7 +323,7 @@ public virtual void Configuring_direction_on_RowsAffectedParameter_throws() public abstract class RelationalComplexTypeTestBase(RelationalModelBuilderFixture fixture) : ComplexTypeTestBase(fixture) { - [ConditionalFact] + [Fact] public virtual void Can_use_TPH() { var modelBuilder = CreateModelBuilder(); @@ -347,7 +347,7 @@ public virtual void Can_use_TPH() Assert.True(property.IsColumnNullable()); } - [ConditionalFact] + [Fact] public virtual void Can_use_table_splitting() { var modelBuilder = CreateModelBuilder(); @@ -391,7 +391,7 @@ public virtual void Can_use_table_splitting() Assert.Same(customerId.GetOverrides().Single(), customerId.FindOverrides(StoreObjectIdentifier.Table("OrderDetails", "dbo"))); } - [ConditionalFact] + [Fact] public virtual void Can_use_table_splitting_with_schema() { var modelBuilder = CreateModelBuilder(); @@ -425,7 +425,7 @@ public virtual void Can_use_table_splitting_with_schema() Assert.Null(customerId.GetColumnName(StoreObjectIdentifier.Table("Order"))); } - [ConditionalFact] + [Fact] public virtual void Can_use_view_splitting() { var modelBuilder = CreateModelBuilder(); @@ -463,7 +463,7 @@ public virtual void Can_use_view_splitting() Assert.Same(customerId.GetOverrides().Single(), customerId.FindOverrides(StoreObjectIdentifier.View("OrderDetails"))); } - [ConditionalFact] + [Fact] public virtual void Can_use_view_splitting_with_schema() { var modelBuilder = CreateModelBuilder(); @@ -493,7 +493,7 @@ public virtual void Can_use_view_splitting_with_schema() Assert.Null(customerId.GetColumnName(StoreObjectIdentifier.View("Order"))); } - [ConditionalFact] + [Fact] public virtual void Conflicting_sproc_rows_affected_return_and_parameter_throw() { var modelBuilder = CreateModelBuilder(); @@ -506,7 +506,7 @@ public virtual void Conflicting_sproc_rows_affected_return_and_parameter_throw() .Message); } - [ConditionalFact] + [Fact] public virtual void Conflicting_sproc_rows_affected_return_and_result_column_throw() { var modelBuilder = CreateModelBuilder(); @@ -519,7 +519,7 @@ public virtual void Conflicting_sproc_rows_affected_return_and_result_column_thr .Message); } - [ConditionalFact] + [Fact] public virtual void Conflicting_sproc_rows_affected_parameter_and_return_throw() { var modelBuilder = CreateModelBuilder(); @@ -532,7 +532,7 @@ public virtual void Conflicting_sproc_rows_affected_parameter_and_return_throw() .Message); } - [ConditionalFact] + [Fact] public virtual void Conflicting_sproc_rows_affected_result_column_and_return_throw() { var modelBuilder = CreateModelBuilder(); @@ -545,7 +545,7 @@ public virtual void Conflicting_sproc_rows_affected_result_column_and_return_thr .Message); } - [ConditionalFact] + [Fact] public virtual void Conflicting_sproc_rows_affected_result_column_and_parameter_throw() { var modelBuilder = CreateModelBuilder(); @@ -558,7 +558,7 @@ public virtual void Conflicting_sproc_rows_affected_result_column_and_parameter_ .Message); } - [ConditionalFact] + [Fact] public virtual void Duplicate_sproc_rows_affected_result_column_throws() { var modelBuilder = CreateModelBuilder(); @@ -572,7 +572,7 @@ public virtual void Duplicate_sproc_rows_affected_result_column_throws() .Message); } - [ConditionalFact] + [Fact] public virtual void Conflicting_sproc_rows_affected_parameter_and_result_column_throw() { var modelBuilder = CreateModelBuilder(); @@ -585,7 +585,7 @@ public virtual void Conflicting_sproc_rows_affected_parameter_and_result_column_ .Message); } - [ConditionalFact] + [Fact] public virtual void Duplicate_sproc_rows_affected_parameter_throws() { var modelBuilder = CreateModelBuilder(); @@ -599,7 +599,7 @@ public virtual void Duplicate_sproc_rows_affected_parameter_throws() .Message); } - [ConditionalFact] + [Fact] public virtual void Duplicate_sproc_parameter_throws() { var modelBuilder = CreateModelBuilder(); @@ -613,7 +613,7 @@ public virtual void Duplicate_sproc_parameter_throws() .Message); } - [ConditionalFact] + [Fact] public virtual void Duplicate_sproc_original_value_parameter_throws() { var modelBuilder = CreateModelBuilder(); @@ -627,7 +627,7 @@ public virtual void Duplicate_sproc_original_value_parameter_throws() .Message); } - [ConditionalFact] + [Fact] public virtual void Duplicate_sproc_result_column_throws() { var modelBuilder = CreateModelBuilder(); @@ -641,7 +641,7 @@ public virtual void Duplicate_sproc_result_column_throws() .Message); } - [ConditionalFact] + [Fact] public virtual void Configuring_direction_on_RowsAffectedParameter_throws() { var modelBuilder = CreateModelBuilder(); @@ -655,7 +655,7 @@ public virtual void Configuring_direction_on_RowsAffectedParameter_throws() .Message); } - [ConditionalFact] + [Fact] public virtual void Complex_property_mapped_to_json_with_nested_complex_properties() { var modelBuilder = CreateModelBuilder(); @@ -683,7 +683,7 @@ public virtual void Complex_property_mapped_to_json_with_nested_complex_properti Assert.True(nestedComplexProperty.ComplexType.IsMappedToJson()); } - [ConditionalFact] + [Fact] public virtual void Complex_property_mapped_to_json_uses_property_name_when_column_name_not_specified() { var modelBuilder = CreateModelBuilder(); @@ -712,7 +712,7 @@ public virtual void Complex_property_mapped_to_json_uses_property_name_when_colu public override void Complex_properties_can_be_configured_by_type() => Assert.Throws(base.Complex_properties_can_be_configured_by_type); - [ConditionalFact] + [Fact] public virtual void Complex_type_discriminator_mapped_to_json_has_default_json_property_name() { var modelBuilder = CreateModelBuilder(); @@ -746,7 +746,7 @@ public virtual void Complex_type_discriminator_mapped_to_json_has_default_json_p Assert.Equal("$type", discriminatorProperty.GetJsonPropertyName()); } - [ConditionalFact] + [Fact] public virtual void Complex_property_mapped_to_json_can_specify_column_type() { var modelBuilder = CreateModelBuilder(); @@ -818,7 +818,7 @@ public override void Dotted_complex_collection_string_configures_nested_collecti Assert.True(someOrdersComplex!.IsCollection); } - [ConditionalFact] + [Fact] public virtual void Complex_collection_mapped_to_json_uses_property_name_when_column_name_not_specified() { var modelBuilder = CreateModelBuilder(); @@ -841,7 +841,7 @@ public virtual void Complex_collection_mapped_to_json_uses_property_name_when_co Assert.Equal(nameof(ComplexProperties.QuarksCollection), complexType.GetContainerColumnName()); } - [ConditionalFact] + [Fact] public virtual void ComplexCollection_can_have_nested_complex_properties_mapped_to_json() { var modelBuilder = CreateModelBuilder(); @@ -964,7 +964,7 @@ public virtual void ComplexCollection_can_have_nested_complex_properties_mapped_ } } - [ConditionalFact] + [Fact] public virtual void Complex_collection_mapped_to_json_can_specify_column_type() { var modelBuilder = CreateModelBuilder(); @@ -992,7 +992,7 @@ public virtual void Complex_collection_mapped_to_json_can_specify_column_type() public abstract class RelationalInheritanceTestBase(RelationalModelBuilderFixture fixture) : InheritanceTestBase(fixture) { - [ConditionalFact] + [Fact] public virtual void Can_use_table_splitting() { var modelBuilder = CreateModelBuilder(); @@ -1036,7 +1036,7 @@ public virtual void Can_use_table_splitting() public abstract class RelationalOneToManyTestBase(RelationalModelBuilderFixture fixture) : OneToManyTestBase(fixture) { - [ConditionalFact] + [Fact] public virtual void Can_exclude_foreign_key_from_migrations_for_one_to_many() { var modelBuilder = CreateModelBuilder(); @@ -1056,7 +1056,7 @@ public virtual void Can_exclude_foreign_key_from_migrations_for_one_to_many() public abstract class RelationalManyToOneTestBase(RelationalModelBuilderFixture fixture) : ManyToOneTestBase(fixture) { - [ConditionalFact] + [Fact] public virtual void Can_exclude_foreign_key_from_migrations_for_many_to_one() { var modelBuilder = CreateModelBuilder(); @@ -1076,7 +1076,7 @@ public virtual void Can_exclude_foreign_key_from_migrations_for_many_to_one() public abstract class RelationalOneToOneTestBase(RelationalModelBuilderFixture fixture) : OneToOneTestBase(fixture) { - [ConditionalFact] + [Fact] public virtual void Can_exclude_foreign_key_from_migrations_for_one_to_one() { var modelBuilder = CreateModelBuilder(); @@ -1096,7 +1096,7 @@ public virtual void Can_exclude_foreign_key_from_migrations_for_one_to_one() public abstract class RelationalManyToManyTestBase(RelationalModelBuilderFixture fixture) : ManyToManyTestBase(fixture) { - [ConditionalFact] + [Fact] public virtual void Can_exclude_foreign_key_from_migrations_for_many_to_many() { var modelBuilder = CreateModelBuilder(); @@ -1120,7 +1120,7 @@ public virtual void Can_exclude_foreign_key_from_migrations_for_many_to_many() } } - [ConditionalFact] // Issue #27990 + [Fact] // Issue #27990 public virtual void Can_use_ForeignKeyAttribute_with_InversePropertyAttribute() { var modelBuilder = CreateModelBuilder(); @@ -1258,7 +1258,7 @@ protected class MotorBauart public abstract class RelationalOwnedTypesTestBase(RelationalModelBuilderFixture fixture) : OwnedTypesTestBase(fixture) { - [ConditionalFact] + [Fact] public virtual void Can_exclude_foreign_key_from_migrations_for_owned_type() { var modelBuilder = CreateModelBuilder(); @@ -1285,7 +1285,7 @@ public virtual void Can_exclude_foreign_key_from_migrations_for_owned_type() Assert.True(foreignKey.IsExcludedFromMigrations()); } - [ConditionalFact] + [Fact] public virtual void Can_use_table_splitting_with_owned_reference() { var modelBuilder = CreateModelBuilder(); @@ -1355,7 +1355,7 @@ public virtual void Can_use_table_splitting_with_owned_reference() Assert.Equal(3, readOnlyModel.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public virtual void Can_use_view_splitting_with_owned_collection() { var modelBuilder = CreateModelBuilder(); @@ -1414,7 +1414,7 @@ public virtual void Can_use_view_splitting_with_owned_collection() Assert.Same(anotherCustomerId, overrides.Property); } - [ConditionalFact] + [Fact] public virtual void Can_use_sproc_mapping_with_owned_reference() { var modelBuilder = CreateModelBuilder(); diff --git a/test/EFCore.Relational.Specification.Tests/OptimisticConcurrencyRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/OptimisticConcurrencyRelationalTestBase.cs index 0c0da1e528a..f9b38429512 100644 --- a/test/EFCore.Relational.Specification.Tests/OptimisticConcurrencyRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/OptimisticConcurrencyRelationalTestBase.cs @@ -12,7 +12,7 @@ public abstract class OptimisticConcurrencyRelationalTestBase(fixture) where TFixture : F1RelationalFixture, new() { - [ConditionalFact] + [Fact] public virtual void Property_entry_original_value_is_set() { using var c = CreateF1Context(); diff --git a/test/EFCore.Relational.Specification.Tests/Query/AdHocAdvancedMappingsQueryRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/AdHocAdvancedMappingsQueryRelationalTestBase.cs index 9046396e7be..b34615a7032 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/AdHocAdvancedMappingsQueryRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/AdHocAdvancedMappingsQueryRelationalTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -18,7 +18,7 @@ protected void AssertSql(params string[] expected) #region 32911 - [ConditionalFact] + [Fact] public virtual async Task Two_similar_complex_properties_projected_with_split_query1() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -38,7 +38,7 @@ public virtual async Task Two_similar_complex_properties_projected_with_split_qu } } - [ConditionalFact] + [Fact] public virtual async Task Two_similar_complex_properties_projected_with_split_query2() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -57,7 +57,7 @@ public virtual async Task Two_similar_complex_properties_projected_with_split_qu } } - [ConditionalFact] + [Fact] public virtual async Task Projecting_one_of_two_similar_complex_types_picks_the_correct_one() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -229,7 +229,7 @@ public class C #endregion - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Hierarchy_query_with_abstract_type_sibling_TPC(bool async) => Hierarchy_query_with_abstract_type_sibling_helper( async, @@ -242,7 +242,7 @@ public virtual Task Hierarchy_query_with_abstract_type_sibling_TPC(bool async) mb.Entity().ToTable("FarmAnimals"); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Hierarchy_query_with_abstract_type_sibling_TPT(bool async) => Hierarchy_query_with_abstract_type_sibling_helper( async, @@ -257,7 +257,7 @@ public virtual Task Hierarchy_query_with_abstract_type_sibling_TPT(bool async) #region 35727 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task TPC_query_with_generic_derived_types_returns_correct_types(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -274,7 +274,7 @@ public virtual async Task TPC_query_with_generic_derived_types_returns_correct_t Assert.IsType>(entities[3]); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task TPC_query_with_generic_derived_types_OfType_returns_correct_types(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); diff --git a/test/EFCore.Relational.Specification.Tests/Query/AdHocComplexTypeQueryRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/AdHocComplexTypeQueryRelationalTestBase.cs index 74c255a1248..2a7eda024b4 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/AdHocComplexTypeQueryRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/AdHocComplexTypeQueryRelationalTestBase.cs @@ -7,7 +7,7 @@ public abstract class AdHocComplexTypeQueryRelationalTestBase(NonSharedFixture f { #region 37205 - [ConditionalFact] + [Fact] public virtual async Task Complex_json_collection_inside_left_join_subquery() { var contextFactory = await InitializeNonSharedTest(); @@ -54,7 +54,7 @@ public record CareNeedAnswer #region 35025 - [ConditionalFact] + [Fact] public virtual async Task Select_TPC_base_with_ComplexType() { var contextFactory = await InitializeNonSharedTest(); @@ -117,7 +117,7 @@ public class AnotherComplexThing #region 34706 - [ConditionalFact] + [Fact] public virtual async Task Complex_type_on_an_entity_mapped_to_view_and_table() { var contextFactory = await InitializeNonSharedTest( diff --git a/test/EFCore.Relational.Specification.Tests/Query/AdHocJsonQueryRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/AdHocJsonQueryRelationalTestBase.cs index 6ea02f68f6c..bbc85a26376 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/AdHocJsonQueryRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/AdHocJsonQueryRelationalTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. #pragma warning disable EF8001 // Owned JSON entities are obsolete @@ -129,7 +129,7 @@ protected override void OnModelCreating33046(ModelBuilder modelBuilder) #region 34293 - [ConditionalFact] + [Fact] public virtual async Task Project_entity_with_optional_json_entity_owned_by_required_json() { var contextFactory = await InitializeNonSharedTest( @@ -142,7 +142,7 @@ public virtual async Task Project_entity_with_optional_json_entity_owned_by_requ Assert.Equal(3, entityProjection.Count); } - [ConditionalFact] + [Fact] public virtual async Task Project_required_json_entity() { var contextFactory = await InitializeNonSharedTest( @@ -168,7 +168,7 @@ public virtual async Task Project_required_json_entity() Assert.Equal(RelationalStrings.JsonRequiredEntityWithNullJson(nameof(Context34293.JsonBranch)), badBranchProjectionMessage); } - [ConditionalFact] + [Fact] public virtual async Task Project_optional_json_entity_owned_by_required_json_entity() { var contextFactory = await InitializeNonSharedTest( @@ -564,7 +564,7 @@ protected override void OnModelCreatingBadJsonProperties(ModelBuilder modelBuild #region Entity splitting - [ConditionalFact] // #36145 + [Fact] // #36145 public virtual async Task Entity_splitting_with_owned_json() { var contextFactory = await InitializeNonSharedTest( @@ -622,7 +622,7 @@ public class JsonEntity #region HasJsonPropertyName - [ConditionalFact] + [Fact] public virtual async Task HasJsonPropertyName() { var contextFactory = await InitializeNonSharedTest( @@ -695,7 +695,7 @@ public class JsonNestedType #region Value converter equality null scalar - [ConditionalFact] + [Fact] public virtual async Task Value_converter_equality_null_scalar() { var contextFactory = await InitializeNonSharedTest( diff --git a/test/EFCore.Relational.Specification.Tests/Query/AdHocMiscellaneousQueryRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/AdHocMiscellaneousQueryRelationalTestBase.cs index 765ae28533e..0c756112376 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/AdHocMiscellaneousQueryRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/AdHocMiscellaneousQueryRelationalTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. #nullable disable @@ -26,7 +26,7 @@ protected abstract DbContextOptionsBuilder SetParameterizedCollectionMode( #region 2951 - [ConditionalFact] + [Fact] public async Task Query_when_null_key_in_database_should_throw() { var contextFactory = await InitializeNonSharedTest( @@ -60,7 +60,7 @@ public class ZeroKey2951 #region 11818 - [ConditionalFact] + [Fact] public virtual async Task GroupJoin_Anonymous_projection_GroupBy_Aggregate_join_elimination() { var contextFactory = await InitializeNonSharedTest( @@ -160,7 +160,7 @@ public class MaumarEntity11818 #region 23981 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Multiple_different_entity_type_from_different_namespaces(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -192,7 +192,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) #region 27954 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task StoreType_for_UDF_used(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -241,7 +241,7 @@ public static DateTime Modify(DateTime date) #region 34752 - [ConditionalFact] + [Fact] public virtual async Task Mapping_JsonElement_property_throws_a_meaningful_exception() { var message = (await Assert.ThrowsAsync(() => InitializeNonSharedTest())).Message; @@ -266,7 +266,7 @@ public class Entity #region Inlined redacting - [ConditionalTheory, MemberData(nameof(InlinedRedactingData))] + [Theory, MemberData(nameof(InlinedRedactingData))] public virtual async Task Check_inlined_constants_redacting(bool async, bool enableSensitiveDataLogging) { var contextFactory = await InitializeNonSharedTest( @@ -314,7 +314,7 @@ public class TestEntity #region 36311 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public async Task Entity_equality_with_Contains_and_Parameter(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -352,7 +352,7 @@ public class BlogDetails #region 36247 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Like_on_value_converted_string_column_does_not_produce_cast(bool async) { var contextFactory = await InitializeNonSharedTest( diff --git a/test/EFCore.Relational.Specification.Tests/Query/AdHocNavigationsQueryRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/AdHocNavigationsQueryRelationalTestBase.cs index 0cc80ef0c1c..56b77fafe4a 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/AdHocNavigationsQueryRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/AdHocNavigationsQueryRelationalTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -18,7 +18,7 @@ protected void AssertSql(params string[] expected) #region 21803 - [ConditionalTheory, InlineData(true, true), InlineData(true, false), InlineData(false, true), InlineData(false, false)] + [Theory, InlineData(true, true), InlineData(true, false), InlineData(false, true), InlineData(false, false)] public virtual async Task Select_enumerable_navigation_backed_by_collection(bool async, bool split) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); diff --git a/test/EFCore.Relational.Specification.Tests/Query/AdHocPrecompiledQueryRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/AdHocPrecompiledQueryRelationalTestBase.cs index 607e9f45747..d6f5b60563f 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/AdHocPrecompiledQueryRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/AdHocPrecompiledQueryRelationalTestBase.cs @@ -14,7 +14,7 @@ public AdHocPrecompiledQueryRelationalTestBase(NonSharedFixture fixture, ITestOu : base(fixture) => TestOutputHelper = testOutputHelper; - [ConditionalFact] + [Fact] public virtual async Task Index_no_evaluatability() { var contextFactory = await InitializeNonSharedTest(); @@ -31,7 +31,7 @@ await Test( options); } - [ConditionalFact] + [Fact] public virtual async Task Index_with_captured_variable() { var contextFactory = await InitializeNonSharedTest(); @@ -49,7 +49,7 @@ await Test( options); } - [ConditionalFact] + [Fact] public virtual async Task JsonScalar() { var contextFactory = await InitializeNonSharedTest(); @@ -88,7 +88,7 @@ public class JsonThing public string StringProperty { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual async Task Materialize_non_public() { var contextFactory = await InitializeNonSharedTest(); @@ -192,7 +192,7 @@ public int? PrivateAutoPropertyExposer #pragma warning restore CS0649 #pragma warning restore CS0169 -// [ConditionalFact] +// [Fact] // public virtual Task JsonScalar() // => Test( // // TODO: Remove Select() to Id after JSON is supported in materialization @@ -223,7 +223,7 @@ public int? PrivateAutoPropertyExposer // } // """); - [ConditionalFact] + [Fact] public virtual async Task Projecting_property_requiring_converter_with_closure_is_not_supported() { var contextFactory = await InitializeNonSharedTest(); @@ -242,7 +242,7 @@ await Test( errors.Single().Exception.Message)); } - [ConditionalFact] + [Fact] public virtual async Task Projecting_expression_requiring_converter_without_closure_works() { var contextFactory = await InitializeNonSharedTest(); @@ -257,7 +257,7 @@ await Test( options); } - [ConditionalFact] + [Fact] public virtual async Task Projecting_entity_with_property_requiring_converter_with_closure_works() { var contextFactory = await InitializeNonSharedTest(); diff --git a/test/EFCore.Relational.Specification.Tests/Query/AdHocQuerySplittingQueryTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/AdHocQuerySplittingQueryTestBase.cs index 02f39022ee6..db5d94e25ce 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/AdHocQuerySplittingQueryTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/AdHocQuerySplittingQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Data; @@ -31,7 +31,7 @@ protected abstract DbContextOptionsBuilder SetQuerySplittingBehavior( #region 21355 - [ConditionalFact] + [Fact] public virtual async Task Can_configure_SingleQuery_at_context_level() { var contextFactory = await InitializeNonSharedTest( @@ -54,7 +54,7 @@ public virtual async Task Can_configure_SingleQuery_at_context_level() } } - [ConditionalFact] + [Fact] public virtual async Task Can_configure_SplitQuery_at_context_level() { var contextFactory = await InitializeNonSharedTest( @@ -77,7 +77,7 @@ public virtual async Task Can_configure_SplitQuery_at_context_level() } } - [ConditionalFact] + [Fact] public virtual async Task Unconfigured_query_splitting_behavior_throws_a_warning() { var contextFactory = await InitializeNonSharedTest( @@ -99,7 +99,7 @@ public virtual async Task Unconfigured_query_splitting_behavior_throws_a_warning } } - [ConditionalFact] + [Fact] public virtual async Task Using_AsSingleQuery_without_context_configuration_does_not_throw_warning() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -107,7 +107,7 @@ public virtual async Task Using_AsSingleQuery_without_context_configuration_does context.Parents.Include(p => p.Children1).Include(p => p.Children2).AsSingleQuery().ToList(); } - [ConditionalFact] + [Fact] public virtual async Task SplitQuery_disposes_inner_data_readers() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -179,7 +179,7 @@ public class AnotherChild #region 25225 - [ConditionalFact] + [Fact] public virtual async Task Can_query_with_nav_collection_in_projection_with_split_query_in_parallel_async() { var (context1, context2) = await CreateTwoContext25225(); @@ -198,7 +198,7 @@ async Task QueryAsync(Context25225 context, Guid parentId, Guid collectionId) } } - [ConditionalFact] + [Fact] public virtual async Task Can_query_with_nav_collection_in_projection_with_split_query_in_parallel_sync() { var (context1, context2) = await CreateTwoContext25225(); @@ -313,7 +313,7 @@ public class CollectionViewModel #region 25400 - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task NoTracking_split_query_creates_only_required_instances(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -365,7 +365,7 @@ public Test(int value) #region 34728 - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task NoTrackingWithIdentityResolution_split_query_basic(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -381,7 +381,7 @@ public virtual async Task NoTrackingWithIdentityResolution_split_query_basic(boo : query.ToList(); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task NoTrackingWithIdentityResolution_split_query_complex(bool async) { var contextFactory = await InitializeNonSharedTest( diff --git a/test/EFCore.Relational.Specification.Tests/Query/Associations/ComplexJson/ComplexJsonMiscellaneousRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/Associations/ComplexJson/ComplexJsonMiscellaneousRelationalTestBase.cs index 2e25c5e6038..081bb1d1807 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/Associations/ComplexJson/ComplexJsonMiscellaneousRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/Associations/ComplexJson/ComplexJsonMiscellaneousRelationalTestBase.cs @@ -15,7 +15,7 @@ public ComplexJsonMiscellaneousRelationalTestBase(TFixture fixture, ITestOutputH Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual Task FromSql_on_root() => RelationalAssociationsTests.FromSql_on_root(this, Fixture); diff --git a/test/EFCore.Relational.Specification.Tests/Query/Associations/ComplexTableSplitting/ComplexTableSplittingMiscellaneousRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/Associations/ComplexTableSplitting/ComplexTableSplittingMiscellaneousRelationalTestBase.cs index a2f83e6fb35..0e135b67002 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/Associations/ComplexTableSplitting/ComplexTableSplittingMiscellaneousRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/Associations/ComplexTableSplitting/ComplexTableSplittingMiscellaneousRelationalTestBase.cs @@ -15,7 +15,7 @@ public ComplexTableSplittingMiscellaneousRelationalTestBase(TFixture fixture, IT fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual Task FromSql_on_root() => RelationalAssociationsTests.FromSql_on_root(this, Fixture); diff --git a/test/EFCore.Relational.Specification.Tests/Query/Associations/Navigations/NavigationsMiscellaneousRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/Associations/Navigations/NavigationsMiscellaneousRelationalTestBase.cs index 2dec3c06b05..fb4cc5c9538 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/Associations/Navigations/NavigationsMiscellaneousRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/Associations/Navigations/NavigationsMiscellaneousRelationalTestBase.cs @@ -13,7 +13,7 @@ public NavigationsMiscellaneousRelationalTestBase(TFixture fixture, ITestOutputH fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual Task FromSql_on_root() => RelationalAssociationsTests.FromSql_on_root(this, Fixture); diff --git a/test/EFCore.Relational.Specification.Tests/Query/Associations/OwnedJson/OwnedJsonBulkUpdateRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/Associations/OwnedJson/OwnedJsonBulkUpdateRelationalTestBase.cs index 6f68234e81c..8ed78fdbf6f 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/Associations/OwnedJson/OwnedJsonBulkUpdateRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/Associations/OwnedJson/OwnedJsonBulkUpdateRelationalTestBase.cs @@ -19,7 +19,7 @@ public OwnedJsonBulkUpdateRelationalTestBase(TFixture fixture, ITestOutputHelper // We just have a couple of tests here to verify that the correct exceptions are thrown, and don't extend // the actual AssociationsBulkUpdateTestBase with all the different tests. - [ConditionalFact] + [Fact] public virtual Task Delete_association() => AssertTranslationFailedWithDetails( RelationalStrings.ExecuteOperationOnOwnedJsonIsNotSupported("ExecuteDelete", "RootEntity.RequiredAssociate#AssociateType"), @@ -27,7 +27,7 @@ public virtual Task Delete_association() ss => ss.Set().Select(c => c.RequiredAssociate), rowsAffectedCount: 0)); - [ConditionalFact] + [Fact] public virtual Task Update_property_inside_association() => AssertTranslationFailedWithDetails( RelationalStrings.ExecuteOperationOnOwnedJsonIsNotSupported("ExecuteUpdate", "RootEntity.RequiredAssociate#AssociateType"), @@ -37,7 +37,7 @@ public virtual Task Update_property_inside_association() s => s.SetProperty(c => c.RequiredAssociate.String, "foo_updated"), rowsAffectedCount: 0)); - [ConditionalFact] + [Fact] public virtual async Task Update_association() { var newNested = new NestedAssociateType diff --git a/test/EFCore.Relational.Specification.Tests/Query/Associations/OwnedJson/OwnedJsonMiscellaneousRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/Associations/OwnedJson/OwnedJsonMiscellaneousRelationalTestBase.cs index dde74366dca..0cc54ec7a70 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/Associations/OwnedJson/OwnedJsonMiscellaneousRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/Associations/OwnedJson/OwnedJsonMiscellaneousRelationalTestBase.cs @@ -15,7 +15,7 @@ public OwnedJsonMiscellaneousRelationalTestBase(TFixture fixture, ITestOutputHel fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual Task FromSql_on_root() => RelationalAssociationsTests.FromSql_on_root(this, Fixture); diff --git a/test/EFCore.Relational.Specification.Tests/Query/Associations/OwnedNavigations/OwnedNavigationsMiscellaneousRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/Associations/OwnedNavigations/OwnedNavigationsMiscellaneousRelationalTestBase.cs index b197306b9f0..8779b7ca6d0 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/Associations/OwnedNavigations/OwnedNavigationsMiscellaneousRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/Associations/OwnedNavigations/OwnedNavigationsMiscellaneousRelationalTestBase.cs @@ -13,7 +13,7 @@ public OwnedNavigationsMiscellaneousRelationalTestBase(TFixture fixture, ITestOu fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual Task FromSql_on_root() => RelationalAssociationsTests.FromSql_on_root(this, Fixture); diff --git a/test/EFCore.Relational.Specification.Tests/Query/Associations/OwnedTableSplitting/OwnedTableSplittingMiscellaneousRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/Associations/OwnedTableSplitting/OwnedTableSplittingMiscellaneousRelationalTestBase.cs index 0acbec652b0..f20b1fe5f39 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/Associations/OwnedTableSplitting/OwnedTableSplittingMiscellaneousRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/Associations/OwnedTableSplitting/OwnedTableSplittingMiscellaneousRelationalTestBase.cs @@ -15,7 +15,7 @@ public OwnedTableSplittingMiscellaneousRelationalTestBase(TFixture fixture, ITes fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual Task FromSql_on_root() => RelationalAssociationsTests.FromSql_on_root(this, Fixture); diff --git a/test/EFCore.Relational.Specification.Tests/Query/EntitySplittingQueryTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/EntitySplittingQueryTestBase.cs index fb22dfb1263..494bca257c9 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/EntitySplittingQueryTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/EntitySplittingQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Globalization; @@ -14,7 +14,7 @@ protected EntitySplittingQueryTestBase(NonSharedFixture fixture) : base(fixture) => _setSourceCreator = GetSetSourceCreator(); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Can_query_entity_which_is_split_in_two(bool async) { await InitializeContextFactoryAsync(mb => @@ -36,7 +36,7 @@ await AssertQuery( entryCount: 5); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Can_query_entity_which_is_split_in_three(bool async) { await InitializeContextFactoryAsync(mb => @@ -67,7 +67,7 @@ await AssertQuery( entryCount: 5); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Can_query_entity_which_is_split_selecting_only_main_properties(bool async) { await InitializeContextFactoryAsync(mb => @@ -103,7 +103,7 @@ await AssertQuery( elementSorter: e => e.Id); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Can_query_entity_which_is_split_selecting_only_part_2_properties(bool async) { await InitializeContextFactoryAsync(mb => @@ -139,7 +139,7 @@ await AssertQuery( elementSorter: e => e.Id); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Can_query_entity_which_is_split_selecting_only_part_3_properties(bool async) { await InitializeContextFactoryAsync(mb => @@ -175,7 +175,7 @@ await AssertQuery( elementSorter: e => e.Id); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_reference_to_split_entity(bool async) { await InitializeContextFactoryAsync(mb => @@ -207,7 +207,7 @@ await AssertQuery( entryCount: 8); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_collection_to_split_entity(bool async) { await InitializeContextFactoryAsync(mb => @@ -236,7 +236,7 @@ await AssertQuery( entryCount: 10); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_reference_to_split_entity_including_reference(bool async) { await InitializeContextFactoryAsync(mb => @@ -271,7 +271,7 @@ await AssertQuery( entryCount: 10); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_collection_to_split_entity_including_collection(bool async) { await InitializeContextFactoryAsync(mb => @@ -306,7 +306,7 @@ await AssertQuery( entryCount: 15); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_reference_on_split_entity(bool async) { await InitializeContextFactoryAsync(mb => @@ -338,7 +338,7 @@ await AssertQuery( entryCount: 8); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_collection_on_split_entity(bool async) { await InitializeContextFactoryAsync(mb => @@ -370,7 +370,7 @@ await AssertQuery( entryCount: 10); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Custom_projection_trim_when_multiple_tables(bool async) { await InitializeContextFactoryAsync(mb => @@ -413,7 +413,7 @@ await AssertQuery( entryCount: 3); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Normal_entity_owning_a_split_reference_with_main_fragment_sharing(bool async) { await InitializeContextFactoryAsync(mb => @@ -450,7 +450,7 @@ await AssertQuery( entryCount: 10); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Normal_entity_owning_a_split_reference_with_main_fragment_sharing_custom_projection(bool async) { await InitializeContextFactoryAsync(mb => @@ -500,7 +500,7 @@ await AssertQuery( entryCount: 0); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Normal_entity_owning_a_split_reference_with_main_fragment_not_sharing(bool async) { await InitializeContextFactoryAsync(mb => @@ -541,7 +541,7 @@ await AssertQuery( entryCount: 10); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Normal_entity_owning_a_split_reference_with_main_fragment_not_sharing_custom_projection(bool async) { await InitializeContextFactoryAsync(mb => @@ -593,7 +593,7 @@ await AssertQuery( entryCount: 0); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Normal_entity_owning_a_split_collection(bool async) { await InitializeContextFactoryAsync(mb => @@ -634,7 +634,7 @@ await AssertQuery( entryCount: 15); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Normal_entity_owning_a_split_reference_with_main_fragment_sharing_multiple_level(bool async) { await InitializeContextFactoryAsync(mb => @@ -697,7 +697,7 @@ await AssertQuery( entryCount: 15); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Split_entity_owning_a_reference(bool async) { await InitializeContextFactoryAsync(mb => @@ -731,7 +731,7 @@ await AssertQuery( entryCount: 10); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Split_entity_owning_a_collection(bool async) { await InitializeContextFactoryAsync(mb => @@ -765,7 +765,7 @@ await AssertQuery( entryCount: 15); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Split_entity_owning_a_split_reference_without_table_sharing(bool async) { await InitializeContextFactoryAsync(mb => @@ -820,7 +820,7 @@ await AssertQuery( entryCount: 10); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Split_entity_owning_a_split_collection(bool async) { await InitializeContextFactoryAsync(mb => @@ -875,7 +875,7 @@ await AssertQuery( entryCount: 15); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Split_entity_owning_a_split_reference_with_table_sharing_1(bool async) { await InitializeContextFactoryAsync(mb => @@ -932,7 +932,7 @@ await AssertQuery( entryCount: 10); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Split_entity_owning_a_split_reference_with_table_sharing_4(bool async) { await InitializeContextFactoryAsync(mb => @@ -989,7 +989,7 @@ await AssertQuery( entryCount: 10); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Split_entity_owning_a_split_reference_with_table_sharing_6(bool async) { await InitializeContextFactoryAsync(mb => @@ -1046,7 +1046,7 @@ await AssertQuery( entryCount: 10); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tph_entity_owning_a_split_reference_on_base_with_table_sharing(bool async) { await InitializeContextFactoryAsync(mb => @@ -1081,7 +1081,7 @@ await AssertQuery( entryCount: 8); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tpt_entity_owning_a_split_reference_on_base_with_table_sharing(bool async) { await InitializeContextFactoryAsync(mb => @@ -1118,7 +1118,7 @@ await AssertQuery( entryCount: 8); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tph_entity_owning_a_split_reference_on_middle_with_table_sharing(bool async) { await InitializeContextFactoryAsync(mb => @@ -1153,7 +1153,7 @@ await AssertQuery( entryCount: 6); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tpt_entity_owning_a_split_reference_on_middle_with_table_sharing(bool async) { await InitializeContextFactoryAsync(mb => @@ -1190,7 +1190,7 @@ await AssertQuery( entryCount: 6); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tph_entity_owning_a_split_reference_on_leaf_with_table_sharing(bool async) { await InitializeContextFactoryAsync(mb => @@ -1225,7 +1225,7 @@ await AssertQuery( entryCount: 5); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tpt_entity_owning_a_split_reference_on_leaf_with_table_sharing(bool async) { await InitializeContextFactoryAsync(mb => @@ -1262,7 +1262,7 @@ await AssertQuery( entryCount: 5); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tpc_entity_owning_a_split_reference_on_leaf_with_table_sharing(bool async) { await InitializeContextFactoryAsync(mb => @@ -1299,7 +1299,7 @@ await AssertQuery( entryCount: 5); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tph_entity_owning_a_split_reference_on_base_with_table_sharing_querying_sibling(bool async) { await InitializeContextFactoryAsync(mb => @@ -1334,7 +1334,7 @@ await AssertQuery( entryCount: 2); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tpt_entity_owning_a_split_reference_on_base_with_table_sharing_querying_sibling(bool async) { await InitializeContextFactoryAsync(mb => @@ -1371,7 +1371,7 @@ await AssertQuery( entryCount: 2); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tph_entity_owning_a_split_reference_on_middle_with_table_sharing_querying_sibling(bool async) { await InitializeContextFactoryAsync(mb => @@ -1406,7 +1406,7 @@ await AssertQuery( entryCount: 1); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tpt_entity_owning_a_split_reference_on_middle_with_table_sharing_querying_sibling(bool async) { await InitializeContextFactoryAsync(mb => @@ -1443,7 +1443,7 @@ await AssertQuery( entryCount: 1); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tph_entity_owning_a_split_reference_on_leaf_with_table_sharing_querying_sibling(bool async) { await InitializeContextFactoryAsync(mb => @@ -1478,7 +1478,7 @@ await AssertQuery( entryCount: 1); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tpt_entity_owning_a_split_reference_on_leaf_with_table_sharing_querying_sibling(bool async) { await InitializeContextFactoryAsync(mb => @@ -1515,7 +1515,7 @@ await AssertQuery( entryCount: 1); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tpc_entity_owning_a_split_reference_on_leaf_with_table_sharing_querying_sibling(bool async) { await InitializeContextFactoryAsync(mb => @@ -1552,7 +1552,7 @@ await AssertQuery( entryCount: 1); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tph_entity_owning_a_split_reference_on_base_without_table_sharing(bool async) { await InitializeContextFactoryAsync(mb => @@ -1589,7 +1589,7 @@ await AssertQuery( entryCount: 8); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tpt_entity_owning_a_split_reference_on_base_without_table_sharing(bool async) { await InitializeContextFactoryAsync(mb => @@ -1628,7 +1628,7 @@ await AssertQuery( entryCount: 8); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tpc_entity_owning_a_split_reference_on_base_without_table_sharing(bool async) { await InitializeContextFactoryAsync(mb => @@ -1667,7 +1667,7 @@ await AssertQuery( entryCount: 8); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tph_entity_owning_a_split_reference_on_middle_without_table_sharing(bool async) { await InitializeContextFactoryAsync(mb => @@ -1704,7 +1704,7 @@ await AssertQuery( entryCount: 6); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tpt_entity_owning_a_split_reference_on_middle_without_table_sharing(bool async) { await InitializeContextFactoryAsync(mb => @@ -1743,7 +1743,7 @@ await AssertQuery( entryCount: 6); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tpc_entity_owning_a_split_reference_on_middle_without_table_sharing(bool async) { await InitializeContextFactoryAsync(mb => @@ -1782,7 +1782,7 @@ await AssertQuery( entryCount: 6); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tph_entity_owning_a_split_reference_on_leaf_without_table_sharing(bool async) { await InitializeContextFactoryAsync(mb => @@ -1819,7 +1819,7 @@ await AssertQuery( entryCount: 5); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tpt_entity_owning_a_split_reference_on_leaf_without_table_sharing(bool async) { await InitializeContextFactoryAsync(mb => @@ -1858,7 +1858,7 @@ await AssertQuery( entryCount: 5); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tpc_entity_owning_a_split_reference_on_leaf_without_table_sharing(bool async) { await InitializeContextFactoryAsync(mb => @@ -1897,7 +1897,7 @@ await AssertQuery( entryCount: 5); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tph_entity_owning_a_split_collection_on_base(bool async) { await InitializeContextFactoryAsync(mb => @@ -1934,7 +1934,7 @@ await AssertQuery( entryCount: 10); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tpt_entity_owning_a_split_collection_on_base(bool async) { await InitializeContextFactoryAsync(mb => @@ -1973,7 +1973,7 @@ await AssertQuery( entryCount: 10); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tpc_entity_owning_a_split_collection_on_base(bool async) { await InitializeContextFactoryAsync(mb => @@ -2012,7 +2012,7 @@ await AssertQuery( entryCount: 10); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tph_entity_owning_a_split_collection_on_middle(bool async) { await InitializeContextFactoryAsync(mb => @@ -2049,7 +2049,7 @@ await AssertQuery( entryCount: 8); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tpt_entity_owning_a_split_collection_on_middle(bool async) { await InitializeContextFactoryAsync(mb => @@ -2088,7 +2088,7 @@ await AssertQuery( entryCount: 8); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tpc_entity_owning_a_split_collection_on_middle(bool async) { await InitializeContextFactoryAsync(mb => @@ -2127,7 +2127,7 @@ await AssertQuery( entryCount: 8); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tph_entity_owning_a_split_collection_on_leaf(bool async) { await InitializeContextFactoryAsync(mb => @@ -2164,7 +2164,7 @@ await AssertQuery( entryCount: 7); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tpt_entity_owning_a_split_collection_on_leaf(bool async) { await InitializeContextFactoryAsync(mb => @@ -2203,7 +2203,7 @@ await AssertQuery( entryCount: 7); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Tpc_entity_owning_a_split_collection_on_leaf(bool async) { await InitializeContextFactoryAsync(mb => @@ -2242,7 +2242,7 @@ await AssertQuery( entryCount: 7); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Compare_split_entity_to_null(bool async) { await InitializeContextFactoryAsync(mb => mb @@ -2828,7 +2828,7 @@ protected virtual void OnModelCreating(ModelBuilder modelBuilder) modelBuilder.Entity(); } - public override async Task DisposeAsync() + public override async ValueTask DisposeAsync() { await base.DisposeAsync(); diff --git a/test/EFCore.Relational.Specification.Tests/Query/FromSqlQueryTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/FromSqlQueryTestBase.cs index c5d514d9579..59d2776b332 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/FromSqlQueryTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/FromSqlQueryTestBase.cs @@ -20,7 +20,7 @@ protected FromSqlQueryTestBase(TFixture fixture) : base(fixture) => Fixture.TestSqlLoggerFactory.Clear(); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Bad_data_error_handling_invalid_cast_key(bool async) { using var context = CreateContext(); @@ -36,7 +36,7 @@ public virtual async Task Bad_data_error_handling_invalid_cast_key(bool async) : Assert.Throws(() => query.ToList())).Message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Bad_data_error_handling_invalid_cast(bool async) { using var context = CreateContext(); @@ -52,7 +52,7 @@ public virtual async Task Bad_data_error_handling_invalid_cast(bool async) : Assert.Throws(() => query.ToList())).Message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Bad_data_error_handling_invalid_cast_projection(bool async) { using var context = CreateContext(); @@ -69,7 +69,7 @@ public virtual async Task Bad_data_error_handling_invalid_cast_projection(bool a : Assert.Throws(() => query.ToList())).Message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Bad_data_error_handling_invalid_cast_no_tracking(bool async) { using var context = CreateContext(); @@ -86,7 +86,7 @@ public virtual async Task Bad_data_error_handling_invalid_cast_no_tracking(bool : Assert.Throws(() => query.ToList())).Message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Bad_data_error_handling_null(bool async) { using var context = CreateContext(); @@ -102,7 +102,7 @@ public virtual async Task Bad_data_error_handling_null(bool async) : Assert.Throws(() => query.ToList())).Message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Bad_data_error_handling_null_projection(bool async) { using var context = CreateContext(); @@ -120,7 +120,7 @@ public virtual async Task Bad_data_error_handling_null_projection(bool async) : Assert.Throws(() => query.ToList())).Message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Bad_data_error_handling_null_no_tracking(bool async) { using var context = CreateContext(); @@ -137,7 +137,7 @@ public virtual async Task Bad_data_error_handling_null_no_tracking(bool async) : Assert.Throws(() => query.ToList())).Message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_queryable_simple(bool async) => AssertQuery( async, @@ -145,7 +145,7 @@ public virtual Task FromSqlRaw_queryable_simple(bool async) .FromSqlRaw(NormalizeDelimitersInRawString("SELECT * FROM [Customers] WHERE [ContactName] LIKE '%z%'")), ss => ss.Set().Where(x => x.ContactName.Contains("z"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_queryable_simple_columns_out_of_order(bool async) => AssertQuery( async, @@ -154,7 +154,7 @@ public virtual Task FromSqlRaw_queryable_simple_columns_out_of_order(bool async) "SELECT [Region], [PostalCode], [Phone], [Fax], [CustomerID], [Country], [ContactTitle], [ContactName], [CompanyName], [City], [Address] FROM [Customers]")), ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_queryable_simple_columns_out_of_order_and_extra_columns(bool async) => AssertQuery( async, @@ -163,7 +163,7 @@ public virtual Task FromSqlRaw_queryable_simple_columns_out_of_order_and_extra_c "SELECT [Region], [PostalCode], [PostalCode] AS [Foo], [Phone], [Fax], [CustomerID], [Country], [ContactTitle], [ContactName], [CompanyName], [City], [Address] FROM [Customers]")), ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSqlRaw_queryable_simple_columns_out_of_order_and_not_enough_columns_throws(bool async) { using var context = CreateContext(); @@ -178,7 +178,7 @@ public virtual async Task FromSqlRaw_queryable_simple_columns_out_of_order_and_n : Assert.Throws(() => query.ToList())).Message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSqlRaw_queryable_simple_different_cased_columns_and_not_enough_columns_throws(bool async) { using var context = CreateContext(); @@ -193,7 +193,7 @@ public virtual async Task FromSqlRaw_queryable_simple_different_cased_columns_an : Assert.Throws(() => query.ToList())).Message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_queryable_composed(bool async) => AssertQuery( async, @@ -201,7 +201,7 @@ public virtual Task FromSqlRaw_queryable_composed(bool async) .Where(c => c.ContactName.Contains("z")), ss => ss.Set().Where(c => c.ContactName.Contains("z"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_queryable_composed_after_removing_whitespaces(bool async) => AssertQuery( async, @@ -211,7 +211,7 @@ public virtual Task FromSqlRaw_queryable_composed_after_removing_whitespaces(boo .Where(c => c.ContactName.Contains("z")), ss => ss.Set().Where(c => c.ContactName.Contains("z"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSqlRaw_queryable_composed_compiled(bool async) { if (async) @@ -242,7 +242,7 @@ public virtual async Task FromSqlRaw_queryable_composed_compiled(bool async) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSqlRaw_queryable_composed_compiled_with_parameter(bool async) { if (async) @@ -275,7 +275,7 @@ public virtual async Task FromSqlRaw_queryable_composed_compiled_with_parameter( } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSqlRaw_queryable_composed_compiled_with_DbParameter(bool async) { if (async) @@ -310,7 +310,7 @@ public virtual async Task FromSqlRaw_queryable_composed_compiled_with_DbParamete } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSqlRaw_queryable_composed_compiled_with_nameless_DbParameter(bool async) { if (async) @@ -345,7 +345,7 @@ public virtual async Task FromSqlRaw_queryable_composed_compiled_with_nameless_D } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_composed_contains(bool async) => AssertQuery( async, @@ -360,7 +360,7 @@ where ss.Set() .Contains(c.CustomerID) select c); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_composed_contains2(bool async) => AssertQuery( async, @@ -375,7 +375,7 @@ public virtual Task FromSqlRaw_composed_contains2(bool async) where c.CustomerID == "ALFKI" && ss.Set().Select(o => o.CustomerID).Contains(c.CustomerID) select c); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_queryable_multiple_composed(bool async) => AssertQuery( async, @@ -388,7 +388,7 @@ from o in ss.Set() where c.CustomerID == o.CustomerID select new { c, o }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_queryable_multiple_composed_with_closure_parameters(bool async) { var startDate = new DateTime(1997, 1, 1); @@ -409,7 +409,7 @@ from o in ss.Set().Where(x => x.OrderDate >= startDate && x.OrderDate <= select new { c, o }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSqlRaw_queryable_multiple_composed_with_parameters_and_closure_parameters(bool async) { var city = "London"; @@ -451,7 +451,7 @@ from o in ss.Set().Where(x => x.OrderDate >= startDate && x.OrderDate <= select new { c, o }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_queryable_multiple_line_query(bool async) => AssertQuery( async, @@ -462,7 +462,7 @@ FROM [Customers] WHERE [City] = 'London'")), ss => ss.Set().Where(x => x.City == "London")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_queryable_composed_multiple_line_query(bool async) => AssertQuery( async, @@ -473,7 +473,7 @@ public virtual Task FromSqlRaw_queryable_composed_multiple_line_query(bool async .Where(c => c.City == "London"), ss => ss.Set().Where(x => x.City == "London")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_queryable_with_parameters(bool async) { var city = "London"; @@ -487,7 +487,7 @@ public virtual Task FromSqlRaw_queryable_with_parameters(bool async) ss => ss.Set().Where(x => x.City == city && x.ContactTitle == contactTitle)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_queryable_with_parameters_inline(bool async) => AssertQuery( async, @@ -496,7 +496,7 @@ public virtual Task FromSqlRaw_queryable_with_parameters_inline(bool async) "Sales Representative"), ss => ss.Set().Where(x => x.City == "London" && x.ContactTitle == "Sales Representative")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlInterpolated_queryable_with_parameters_interpolated(bool async) { var city = "London"; @@ -510,7 +510,7 @@ public virtual Task FromSqlInterpolated_queryable_with_parameters_interpolated(b ss => ss.Set().Where(x => x.City == city && x.ContactTitle == contactTitle)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSql_queryable_with_parameters_interpolated(bool async) { var city = "London"; @@ -524,7 +524,7 @@ public virtual Task FromSql_queryable_with_parameters_interpolated(bool async) ss => ss.Set().Where(x => x.City == city && x.ContactTitle == contactTitle)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlInterpolated_queryable_with_parameters_inline_interpolated(bool async) => AssertQuery( async, @@ -533,7 +533,7 @@ public virtual Task FromSqlInterpolated_queryable_with_parameters_inline_interpo $"SELECT * FROM [Customers] WHERE [City] = {"London"} AND [ContactTitle] = {"Sales Representative"}")), ss => ss.Set().Where(x => x.City == "London" && x.ContactTitle == "Sales Representative")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSql_queryable_with_parameters_inline_interpolated(bool async) => AssertQuery( async, @@ -542,7 +542,7 @@ public virtual Task FromSql_queryable_with_parameters_inline_interpolated(bool a $"SELECT * FROM [Customers] WHERE [City] = {"London"} AND [ContactTitle] = {"Sales Representative"}")), ss => ss.Set().Where(x => x.City == "London" && x.ContactTitle == "Sales Representative")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSqlInterpolated_queryable_multiple_composed_with_parameters_and_closure_parameters_interpolated( bool async) { @@ -583,7 +583,7 @@ from o in ss.Set().Where(x => x.OrderDate >= startDate && x.OrderDate <= select new { c, o }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSql_queryable_multiple_composed_with_parameters_and_closure_parameters_interpolated( bool async) { @@ -624,7 +624,7 @@ from o in ss.Set().Where(x => x.OrderDate >= startDate && x.OrderDate <= select new { c, o }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_queryable_with_null_parameter(bool async) { uint? reportsTo = null; @@ -638,7 +638,7 @@ public virtual Task FromSqlRaw_queryable_with_null_parameter(bool async) ss => ss.Set().Where(x => x.ReportsTo == reportsTo)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSqlRaw_queryable_with_parameters_and_closure(bool async) { var city = "London"; @@ -661,7 +661,7 @@ public virtual Task FromSqlRaw_queryable_with_null_parameter(bool async) return queryString; } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSqlRaw_queryable_simple_cache_key_includes_query_string(bool async) { await AssertQuery( @@ -677,7 +677,7 @@ await AssertQuery( ss => ss.Set().Where(x => x.City == "Seattle")); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSqlRaw_queryable_with_parameters_cache_key_includes_parameters(bool async) { var city = "London"; @@ -698,7 +698,7 @@ await AssertQuery( ss => ss.Set().Where(x => x.City == city && x.ContactTitle == contactTitle)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_queryable_simple_as_no_tracking_not_composed(bool async) => AssertQuery( async, @@ -707,7 +707,7 @@ public virtual Task FromSqlRaw_queryable_simple_as_no_tracking_not_composed(bool .AsNoTracking(), ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSqlRaw_queryable_simple_projection_composed(bool async) { using var context = CreateContext(); @@ -730,7 +730,7 @@ WHERE [Discontinued] <> " .Select(x => x.ProductName)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_queryable_simple_include(bool async) => AssertQuery( async, @@ -740,7 +740,7 @@ public virtual Task FromSqlRaw_queryable_simple_include(bool async) ss => ss.Set(), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(x => x.Orders))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_queryable_simple_composed_include(bool async) => AssertQuery( async, @@ -751,7 +751,7 @@ public virtual Task FromSqlRaw_queryable_simple_composed_include(bool async) ss => ss.Set().Where(c => c.City == "London"), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(x => x.Orders))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSqlRaw_annotations_do_not_affect_successive_calls(bool async) { using var context = CreateContext(); @@ -772,7 +772,7 @@ public virtual async Task FromSqlRaw_annotations_do_not_affect_successive_calls( Assert.Equal(91, actual.Length); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_composed_with_nullable_predicate(bool async) => AssertQuery( async, @@ -782,7 +782,7 @@ public virtual Task FromSqlRaw_composed_with_nullable_predicate(bool async) ss => ss.Set().Where(c => c.ContactName == c.CompanyName), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSqlRaw_with_dbParameter(bool async) { var parameter = CreateDbParameter("@city", "London"); @@ -794,7 +794,7 @@ await AssertQuery( ss => ss.Set().Where(x => x.City == "London")); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSqlRaw_with_dbParameter_without_name_prefix(bool async) { var parameter = CreateDbParameter("city", "London"); @@ -806,7 +806,7 @@ await AssertQuery( ss => ss.Set().Where(x => x.City == "London")); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSqlRaw_with_dbParameter_mixed(bool async) { var city = "London"; @@ -831,7 +831,7 @@ await AssertQuery( ss => ss.Set().Where(x => x.City == city && x.ContactTitle == title)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSqlRaw_with_dbParameter_and_regular_parameter_with_same_name(bool async) { var city = "London"; @@ -847,7 +847,7 @@ await AssertQuery( ss => ss.Set().Where(x => x.City == city && x.ContactTitle == foo)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_does_not_close_user_opened_connection_for_empty_result(bool async) { Fixture.TestStore.CloseConnection(); @@ -880,7 +880,7 @@ public virtual async Task Include_does_not_close_user_opened_connection_for_empt Fixture.TestStore.OpenConnection(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSqlRaw_with_db_parameters_called_multiple_times(bool async) { using var context = CreateContext(); @@ -904,7 +904,7 @@ public virtual async Task FromSqlRaw_with_db_parameters_called_multiple_times(bo Assert.Single(result2); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_with_SelectMany_and_include(bool async) => AssertQuery( async, @@ -923,7 +923,7 @@ from c2 in ss.Set().Where(x => x.CustomerID == "AROUT") AssertInclude(e.c2, a.c2, new ExpectedInclude(x => x.Orders)); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_with_join_and_include(bool async) => AssertQuery( async, @@ -945,7 +945,7 @@ on c.CustomerID equals o.CustomerID AssertInclude(e.o, a.o, new ExpectedInclude(x => x.OrderDetails)); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_closed_connection_opened_by_it_when_buffering(bool async) { Fixture.TestStore.CloseConnection(); @@ -966,7 +966,7 @@ public virtual async Task Include_closed_connection_opened_by_it_when_buffering( Assert.Equal(ConnectionState.Closed, connection.State); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSqlInterpolated_with_inlined_db_parameter(bool async) { var parameter = CreateDbParameter("@somename", "ALFKI"); @@ -978,7 +978,7 @@ await AssertQuery( ss => ss.Set().Where(x => x.CustomerID == "ALFKI")); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSql_with_inlined_db_parameter(bool async) { var parameter = CreateDbParameter("@somename", "ALFKI"); @@ -991,7 +991,7 @@ await AssertQuery( ss => ss.Set().Where(x => x.CustomerID == "ALFKI")); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSqlInterpolated_with_inlined_db_parameter_without_name_prefix(bool async) { var parameter = CreateDbParameter("somename", "ALFKI"); @@ -1003,7 +1003,7 @@ await AssertQuery( ss => ss.Set().Where(x => x.CustomerID == "ALFKI")); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSql_with_inlined_db_parameter_without_name_prefix(bool async) { var parameter = CreateDbParameter("somename", "ALFKI"); @@ -1016,7 +1016,7 @@ await AssertQuery( ss => ss.Set().Where(x => x.CustomerID == "ALFKI")); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSqlInterpolated_parameterization_issue_12213(bool async) { using var context = CreateContext(); @@ -1052,7 +1052,7 @@ public virtual async Task FromSqlInterpolated_parameterization_issue_12213(bool : query3.ToArray(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSqlRaw_does_not_parameterize_interpolated_string(bool async) { var tableName = "Orders"; @@ -1065,7 +1065,7 @@ await AssertQuery( ss => ss.Set().Where(x => x.OrderID < max)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_equality_through_fromsql(bool async) => AssertQuery( async, @@ -1074,7 +1074,7 @@ public virtual Task Entity_equality_through_fromsql(bool async) .Where(o => o.Customer == new Customer { CustomerID = "VINET" }), ss => ss.Set().Where(o => o.Customer == new Customer { CustomerID = "VINET" })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_with_set_operation(bool async) => AssertQuery( async, @@ -1086,7 +1086,7 @@ public virtual Task FromSqlRaw_with_set_operation(bool async) ss => ss.Set().Where(x => x.City == "London") .Concat(ss.Set().Where(x => x.City == "Berlin"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Keyless_entity_with_all_nulls(bool async) => AssertQuery( async, @@ -1095,7 +1095,7 @@ public virtual Task Keyless_entity_with_all_nulls(bool async) .IgnoreQueryFilters(), ss => ss.Set().Where(x => x.City == "Berlin").Select(x => new OrderQuery(null))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSql_used_twice_without_parameters(bool async) { await AssertAny( @@ -1113,7 +1113,7 @@ await AssertAny( ss => ss.Set().Where(x => x.CustomerID == "ALFKI").Select(x => new OrderQuery(x.CustomerID))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSql_used_twice_with_parameters(bool async) { await AssertAny( @@ -1131,7 +1131,7 @@ await AssertAny( ss => ss.Set().Where(x => x.CustomerID == "ALFKI").Select(x => new OrderQuery(x.CustomerID))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSql_Count_used_twice_without_parameters(bool async) { await AssertCount( @@ -1149,7 +1149,7 @@ await AssertCount( ss => ss.Set().Where(x => x.CustomerID == "ALFKI").Select(x => new OrderQuery(x.CustomerID))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSql_Count_used_twice_with_parameters(bool async) { await AssertCount( @@ -1167,7 +1167,7 @@ await AssertCount( ss => ss.Set().Where(x => x.CustomerID == "ALFKI").Select(x => new OrderQuery(x.CustomerID))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Line_endings_after_Select(bool async) => AssertQuery( async, @@ -1176,7 +1176,7 @@ public virtual Task Line_endings_after_Select(bool async) .Where(e => e.City == "Seattle"), ss => ss.Set().Where(x => x.City == "Seattle")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSql_with_db_parameter_in_split_query(bool async) => AssertQuery( async, @@ -1194,7 +1194,7 @@ public virtual Task FromSql_with_db_parameter_in_split_query(bool async) new ExpectedInclude(x => x.Orders), new ExpectedInclude(x => x.OrderDetails, "Orders"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_queryable_simple_projection_not_composed(bool async) => AssertQuery( async, @@ -1210,7 +1210,7 @@ public virtual Task FromSqlRaw_queryable_simple_projection_not_composed(bool asy Assert.Equal(e.City, a.City); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_in_subquery_with_dbParameter(bool async) => AssertQuery( async, @@ -1224,7 +1224,7 @@ public virtual Task FromSqlRaw_in_subquery_with_dbParameter(bool async) .Select(c => c.CustomerID) .Contains(o.CustomerID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_in_subquery_with_positional_dbParameter_without_name(bool async) => AssertQuery( async, @@ -1239,7 +1239,7 @@ public virtual Task FromSqlRaw_in_subquery_with_positional_dbParameter_without_n .Select(c => c.CustomerID) .Contains(o.CustomerID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_in_subquery_with_positional_dbParameter_with_name(bool async) => AssertQuery( async, @@ -1254,7 +1254,7 @@ public virtual Task FromSqlRaw_in_subquery_with_positional_dbParameter_with_name .Select(c => c.CustomerID) .Contains(o.CustomerID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSqlRaw_with_dbParameter_mixed_in_subquery(bool async) { const string city = "London"; @@ -1289,7 +1289,7 @@ await AssertQuery( .Contains(o.CustomerID))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSqlRaw_composed_with_common_table_expression(bool async) => AssertQuery( async, @@ -1303,7 +1303,7 @@ public virtual Task FromSqlRaw_composed_with_common_table_expression(bool async) .Where(c => c.ContactName.Contains("z")), ss => ss.Set().Where(c => c.ContactName.Contains("z"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Multiple_occurrences_of_FromSql_with_db_parameter_adds_two_parameters(bool async) { using var context = CreateContext(); @@ -1332,7 +1332,7 @@ public virtual async Task Multiple_occurrences_of_FromSql_with_db_parameter_adds // The GroupBy followed by a non-reducing Select causes the base FromSql to get duplicated in the SQL, and so the same DbParameter // to get referenced from multiple FromSqlExpressions. Ensure we only process the DbParameter once. See #37409. - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSql_GroupBy_non_reducing_Select(bool async) { using var context = CreateContext(); diff --git a/test/EFCore.Relational.Specification.Tests/Query/FromSqlSprocQueryTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/FromSqlSprocQueryTestBase.cs index ff1bee87871..eb0c511fba3 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/FromSqlSprocQueryTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/FromSqlSprocQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.Northwind; @@ -13,7 +13,7 @@ public abstract class FromSqlSprocQueryTestBase(TFixture fixture) : IC { protected TFixture Fixture { get; } = fixture; - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task From_sql_queryable_stored_procedure(bool async) { using var context = CreateContext(); @@ -33,7 +33,7 @@ public virtual async Task From_sql_queryable_stored_procedure(bool async) && mep.UnitPrice == 263.50m); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task From_sql_queryable_stored_procedure_with_tag(bool async) { using var context = CreateContext(); @@ -54,7 +54,7 @@ public virtual async Task From_sql_queryable_stored_procedure_with_tag(bool asyn && mep.UnitPrice == 263.50m); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task From_sql_queryable_stored_procedure_with_tags(bool async) { using var context = CreateContext(); @@ -77,7 +77,7 @@ public virtual async Task From_sql_queryable_stored_procedure_with_tags(bool asy && mep.UnitPrice == 263.50m); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task From_sql_queryable_stored_procedure_with_caller_info_tag(bool async) { using var context = CreateContext(); @@ -95,7 +95,7 @@ public virtual async Task From_sql_queryable_stored_procedure_with_caller_info_t Assert.Equal("-- File: SampleFileName:13", actual); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task From_sql_queryable_stored_procedure_with_caller_info_tag_and_other_tags(bool async) { using var context = CreateContext(); @@ -117,7 +117,7 @@ public virtual async Task From_sql_queryable_stored_procedure_with_caller_info_t Assert.Equal("-- After", tags[2]); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task From_sql_queryable_stored_procedure_projection(bool async) { using var context = CreateContext(); @@ -133,7 +133,7 @@ public virtual async Task From_sql_queryable_stored_procedure_projection(bool as : Assert.Throws(() => query.ToArray())).Message); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task From_sql_queryable_stored_procedure_re_projection(bool async) { using var context = CreateContext(); @@ -150,7 +150,7 @@ public virtual async Task From_sql_queryable_stored_procedure_re_projection(bool : Assert.Throws(() => query.ToArray())).Message); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task From_sql_queryable_stored_procedure_re_projection_on_client(bool async) { using var context = CreateContext(); @@ -166,7 +166,7 @@ public virtual async Task From_sql_queryable_stored_procedure_re_projection_on_c Assert.True(actual.All(mep => mep.TenMostExpensiveProducts == "Foo")); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task From_sql_queryable_stored_procedure_with_parameter(bool async) { using var context = CreateContext(); @@ -186,7 +186,7 @@ public virtual async Task From_sql_queryable_stored_procedure_with_parameter(boo && coh.Total == 6); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task From_sql_queryable_stored_procedure_composed(bool async) { using var context = CreateContext(); @@ -203,7 +203,7 @@ public virtual async Task From_sql_queryable_stored_procedure_composed(bool asyn : Assert.Throws(() => query.ToArray())).Message); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task From_sql_queryable_stored_procedure_composed_on_client(bool async) { using var context = CreateContext(); @@ -223,7 +223,7 @@ public virtual async Task From_sql_queryable_stored_procedure_composed_on_client Assert.Equal(263.50m, actual.Last().UnitPrice); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task From_sql_queryable_stored_procedure_with_parameter_composed(bool async) { using var context = CreateContext(); @@ -241,7 +241,7 @@ public virtual async Task From_sql_queryable_stored_procedure_with_parameter_com : Assert.Throws(() => query.ToArray())).Message); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task From_sql_queryable_stored_procedure_with_parameter_composed_on_client(bool async) { using var context = CreateContext(); @@ -261,7 +261,7 @@ public virtual async Task From_sql_queryable_stored_procedure_with_parameter_com Assert.Equal(21, actual.Last().Total); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task From_sql_queryable_stored_procedure_take(bool async) { using var context = CreateContext(); @@ -278,7 +278,7 @@ public virtual async Task From_sql_queryable_stored_procedure_take(bool async) : Assert.Throws(() => query.ToArray())).Message); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task From_sql_queryable_stored_procedure_take_on_client(bool async) { using var context = CreateContext(); @@ -298,7 +298,7 @@ public virtual async Task From_sql_queryable_stored_procedure_take_on_client(boo Assert.Equal(123.79m, actual.Last().UnitPrice); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task From_sql_queryable_stored_procedure_min(bool async) { using var context = CreateContext(); @@ -312,7 +312,7 @@ public virtual async Task From_sql_queryable_stored_procedure_min(bool async) : Assert.Throws(() => query.Min(mep => mep.UnitPrice))).Message); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task From_sql_queryable_stored_procedure_min_on_client(bool async) { using var context = CreateContext(); @@ -327,7 +327,7 @@ public virtual async Task From_sql_queryable_stored_procedure_min_on_client(bool .Min(mep => mep.UnitPrice)); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task From_sql_queryable_stored_procedure_with_include_throws(bool async) { using var context = CreateContext(); @@ -342,7 +342,7 @@ public virtual async Task From_sql_queryable_stored_procedure_with_include_throw : Assert.Throws(() => query.ToArray())).Message); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task From_sql_queryable_with_multiple_stored_procedures(bool async) { using var context = CreateContext(); @@ -360,7 +360,7 @@ from b in context.Set() : Assert.Throws(() => query.ToArray())).Message); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task From_sql_queryable_with_multiple_stored_procedures_on_client(bool async) { using var context = CreateContext(); @@ -381,7 +381,7 @@ from b in results2 Assert.Equal(10, actual.Length); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task From_sql_queryable_stored_procedure_and_select(bool async) { using var context = CreateContext(); @@ -399,7 +399,7 @@ from p in context.Set() : Assert.Throws(() => query.ToArray())).Message); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task From_sql_queryable_stored_procedure_and_select_on_client(bool async) { using var context = CreateContext(); @@ -419,7 +419,7 @@ from p in results2 Assert.Equal(10, actual.Length); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task From_sql_queryable_select_and_stored_procedure(bool async) { using var context = CreateContext(); @@ -436,7 +436,7 @@ from mep in context.Set() : Assert.Throws(() => query.ToArray())).Message); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task From_sql_queryable_select_and_stored_procedure_on_client(bool async) { using var context = CreateContext(); diff --git a/test/EFCore.Relational.Specification.Tests/Query/GearsOfWarFromSqlQueryTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/GearsOfWarFromSqlQueryTestBase.cs index fc3d8df62e0..8afee004130 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/GearsOfWarFromSqlQueryTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/GearsOfWarFromSqlQueryTestBase.cs @@ -13,7 +13,7 @@ public abstract class GearsOfWarFromSqlQueryTestBase(TFixture fixture) { protected TFixture Fixture { get; } = fixture; - [ConditionalFact] + [Fact] public virtual void From_sql_queryable_simple_columns_out_of_order() { using var context = CreateContext(); diff --git a/test/EFCore.Relational.Specification.Tests/Query/GearsOfWarQueryRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/GearsOfWarQueryRelationalTestBase.cs index 40b18e5a267..b38d58a5996 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/GearsOfWarQueryRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/GearsOfWarQueryRelationalTestBase.cs @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Query; public abstract class GearsOfWarQueryRelationalTestBase(TFixture fixture) : GearsOfWarQueryTestBase(fixture) where TFixture : GearsOfWarQueryFixtureBase, new() { - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Parameter_used_multiple_times_take_appropriate_inferred_type_mapping(bool async) { var place = "Ephyra's location"; @@ -67,7 +67,7 @@ public override Task GetValueOrDefault_on_DateTimeOffset(bool async) public override Task Where_coalesce_with_anonymous_types(bool async) => AssertTranslationFailed(() => base.Where_coalesce_with_anonymous_types(async)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Project_discriminator_columns(bool async) { await AssertQuery( diff --git a/test/EFCore.Relational.Specification.Tests/Query/Inheritance/TPCInheritanceQueryTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/Inheritance/TPCInheritanceQueryTestBase.cs index 5f8c5df65d2..79278f52c9f 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/Inheritance/TPCInheritanceQueryTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/Inheritance/TPCInheritanceQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.InheritanceModel; @@ -37,7 +37,7 @@ public override Task Discriminator_used_when_projection_over_of_type(bool async) public override Task Discriminator_with_cast_in_shadow_property(bool async) => Task.CompletedTask; - [ConditionalFact] + [Fact] public virtual void Using_from_sql_throws() { using var context = CreateContext(); diff --git a/test/EFCore.Relational.Specification.Tests/Query/Inheritance/TPHInheritanceQueryTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/Inheritance/TPHInheritanceQueryTestBase.cs index 40be97eab0c..8bd365e68e7 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/Inheritance/TPHInheritanceQueryTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/Inheritance/TPHInheritanceQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.InheritanceModel; @@ -17,21 +17,21 @@ protected TPHInheritanceQueryTestBase(TFixture fixture, ITestOutputHelper testOu Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void FromSql_on_root() { using var context = CreateContext(); context.Set().FromSqlRaw(NormalizeDelimitersInRawString("select * from [Animals]")).ToList(); } - [ConditionalFact] + [Fact] public virtual void FromSql_on_derived() { using var context = CreateContext(); context.Set().FromSqlRaw(NormalizeDelimitersInRawString("select * from [Animals]")).ToList(); } - [ConditionalFact] + [Fact] public virtual void Casting_to_base_type_joining_with_query_type_works() { using var context = CreateContext(); diff --git a/test/EFCore.Relational.Specification.Tests/Query/Inheritance/TPTInheritanceQueryTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/Inheritance/TPTInheritanceQueryTestBase.cs index 152c90098db..4fc0aff5060 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/Inheritance/TPTInheritanceQueryTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/Inheritance/TPTInheritanceQueryTestBase.cs @@ -37,7 +37,7 @@ public override Task Discriminator_used_when_projection_over_of_type(bool async) public override Task Discriminator_with_cast_in_shadow_property(bool async) => Task.CompletedTask; - [ConditionalFact] + [Fact] public virtual void Using_from_sql_throws() { using var context = CreateContext(); diff --git a/test/EFCore.Relational.Specification.Tests/Query/InheritanceRelationshipsQueryRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/InheritanceRelationshipsQueryRelationalTestBase.cs index e6a1d0180be..3e5de796f3f 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/InheritanceRelationshipsQueryRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/InheritanceRelationshipsQueryRelationalTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.InheritanceRelationshipsModel; @@ -11,7 +11,7 @@ public abstract class InheritanceRelationshipsQueryRelationalTestBase( : InheritanceRelationshipsQueryTestBase(fixture) where TFixture : InheritanceRelationshipsQueryRelationalFixture, new() { - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_inheritance_split(bool async) => AssertQuery( async, @@ -20,7 +20,7 @@ public virtual Task Include_collection_with_inheritance_split(bool async) e, a, new ExpectedInclude(x => x.BaseCollectionOnBase))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_inheritance_reverse_split(bool async) => AssertQuery( async, @@ -29,7 +29,7 @@ public virtual Task Include_collection_with_inheritance_reverse_split(bool async e, a, new ExpectedInclude(x => x.BaseParent))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_inheritance_with_filter_split(bool async) => AssertQuery( async, @@ -39,7 +39,7 @@ public virtual Task Include_collection_with_inheritance_with_filter_split(bool a e, a, new ExpectedInclude(x => x.BaseCollectionOnBase))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_inheritance_with_filter_reverse_split(bool async) => AssertQuery( async, @@ -48,7 +48,7 @@ public virtual Task Include_collection_with_inheritance_with_filter_reverse_spli e, a, new ExpectedInclude(x => x.BaseParent))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_without_inheritance_split(bool async) => AssertQuery( async, @@ -57,7 +57,7 @@ public virtual Task Include_collection_without_inheritance_split(bool async) e, a, new ExpectedInclude(x => x.CollectionOnBase))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_without_inheritance_reverse_split(bool async) => AssertQuery( async, @@ -66,7 +66,7 @@ public virtual Task Include_collection_without_inheritance_reverse_split(bool as e, a, new ExpectedInclude(x => x.Parent))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_without_inheritance_with_filter_split(bool async) => AssertQuery( async, @@ -76,7 +76,7 @@ public virtual Task Include_collection_without_inheritance_with_filter_split(boo e, a, new ExpectedInclude(x => x.CollectionOnBase))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_without_inheritance_with_filter_reverse_split(bool async) => AssertQuery( async, @@ -85,7 +85,7 @@ public virtual Task Include_collection_without_inheritance_with_filter_reverse_s e, a, new ExpectedInclude(x => x.Parent))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_inheritance_on_derived1_split(bool async) => AssertQuery( async, @@ -94,7 +94,7 @@ public virtual Task Include_collection_with_inheritance_on_derived1_split(bool a e, a, new ExpectedInclude(x => x.BaseCollectionOnBase))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_inheritance_on_derived2_split(bool async) => AssertQuery( async, @@ -103,7 +103,7 @@ public virtual Task Include_collection_with_inheritance_on_derived2_split(bool a e, a, new ExpectedInclude(x => x.BaseCollectionOnDerived))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_inheritance_on_derived3_split(bool async) => AssertQuery( async, @@ -112,7 +112,7 @@ public virtual Task Include_collection_with_inheritance_on_derived3_split(bool a e, a, new ExpectedInclude(x => x.DerivedCollectionOnDerived))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_inheritance_on_derived_reverse_split(bool async) => AssertQuery( async, @@ -121,7 +121,7 @@ public virtual Task Include_collection_with_inheritance_on_derived_reverse_split e, a, new ExpectedInclude(x => x.BaseParent))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nested_include_with_inheritance_reference_collection_split(bool async) => AssertQuery( async, @@ -131,7 +131,7 @@ public virtual Task Nested_include_with_inheritance_reference_collection_split(b new ExpectedInclude(x => x.BaseReferenceOnBase), new ExpectedInclude(x => x.NestedCollection))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nested_include_with_inheritance_reference_collection_on_base_split(bool async) => AssertQuery( async, @@ -141,7 +141,7 @@ public virtual Task Nested_include_with_inheritance_reference_collection_on_base new ExpectedInclude(x => x.BaseReferenceOnBase), new ExpectedInclude(x => x.NestedCollection))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nested_include_with_inheritance_reference_collection_reverse_split(bool async) => AssertQuery( async, @@ -151,7 +151,7 @@ public virtual Task Nested_include_with_inheritance_reference_collection_reverse new ExpectedInclude(x => x.ParentReference), new ExpectedInclude(x => x.BaseParent))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nested_include_with_inheritance_collection_reference_split(bool async) => AssertQuery( async, @@ -162,7 +162,7 @@ public virtual Task Nested_include_with_inheritance_collection_reference_split(b new ExpectedInclude(x => x.BaseCollectionOnBase), new ExpectedInclude(x => x.NestedReference))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nested_include_with_inheritance_collection_reference_reverse_split(bool async) => AssertQuery( async, @@ -172,7 +172,7 @@ public virtual Task Nested_include_with_inheritance_collection_reference_reverse new ExpectedInclude(x => x.ParentCollection), new ExpectedInclude(x => x.BaseParent))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nested_include_with_inheritance_collection_collection_split(bool async) => AssertQuery( async, @@ -183,7 +183,7 @@ public virtual Task Nested_include_with_inheritance_collection_collection_split( new ExpectedInclude(x => x.BaseCollectionOnBase), new ExpectedInclude(x => x.NestedCollection))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nested_include_with_inheritance_collection_collection_reverse_split(bool async) => AssertQuery( async, @@ -193,7 +193,7 @@ public virtual Task Nested_include_with_inheritance_collection_collection_revers new ExpectedInclude(x => x.ParentCollection), new ExpectedInclude(x => x.BaseParent))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nested_include_collection_reference_on_non_entity_base_split(bool async) => AssertQuery( async, @@ -203,7 +203,7 @@ public virtual Task Nested_include_collection_reference_on_non_entity_base_split new ExpectedInclude(x => x.Principals), new ExpectedInclude(x => x.Reference))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_projection_on_base_type_split(bool async) => AssertQuery( async, @@ -216,7 +216,7 @@ public virtual Task Collection_projection_on_base_type_split(bool async) AssertCollection(e.BaseCollectionOnBase, a.BaseCollectionOnBase); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_on_derived_type_with_queryable_Cast_split(bool async) => AssertQuery( async, diff --git a/test/EFCore.Relational.Specification.Tests/Query/JsonQueryRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/JsonQueryRelationalTestBase.cs index 058972afe30..c4ea7663774 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/JsonQueryRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/JsonQueryRelationalTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.JsonQuery; @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Query; public abstract class JsonQueryRelationalTestBase(TFixture fixture) : JsonQueryTestBase(fixture) where TFixture : JsonQueryRelationalFixture, new() { - [ConditionalTheory] + [Theory] public override async Task Project_json_reference_in_tracking_query_fails(bool async) { var message = @@ -17,7 +17,7 @@ public override async Task Project_json_reference_in_tracking_query_fails(bool a Assert.Equal(CoreStrings.OwnedEntitiesCannotBeTrackedWithoutTheirOwner, message); } - [ConditionalTheory] + [Theory] public override async Task Project_json_collection_in_tracking_query_fails(bool async) { var message = @@ -27,7 +27,7 @@ public override async Task Project_json_collection_in_tracking_query_fails(bool Assert.Equal(CoreStrings.OwnedEntitiesCannotBeTrackedWithoutTheirOwner, message); } - [ConditionalTheory] + [Theory] public override async Task Project_json_entity_in_tracking_query_fails_even_when_owner_is_present(bool async) { var message = (await Assert.ThrowsAsync(() @@ -36,7 +36,7 @@ public override async Task Project_json_entity_in_tracking_query_fails_even_when Assert.Equal(CoreStrings.OwnedEntitiesCannotBeTrackedWithoutTheirOwner, message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSql_on_entity_with_json_basic(bool async) => AssertQuery( async, @@ -44,7 +44,7 @@ public virtual Task FromSql_on_entity_with_json_basic(bool async) Fixture.TestStore.NormalizeDelimitersInRawString("SELECT * FROM [JsonEntitiesBasic] AS j")), ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSql_on_entity_with_json_project_json_reference(bool async) => AssertQuery( async, @@ -54,7 +54,7 @@ public virtual Task FromSql_on_entity_with_json_project_json_reference(bool asyn .Select(x => x.OwnedReferenceRoot.OwnedReferenceBranch), ss => ss.Set().Select(x => x.OwnedReferenceRoot.OwnedReferenceBranch)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSql_on_entity_with_json_project_json_collection(bool async) => AssertQuery( async, @@ -65,7 +65,7 @@ public virtual Task FromSql_on_entity_with_json_project_json_collection(bool asy ss => ss.Set().Select(x => x.OwnedReferenceRoot.OwnedCollectionBranch), elementAsserter: (e, a) => AssertCollection(e, a, elementSorter: ee => (ee.Date, ee.Enum, ee.Fraction))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSql_on_entity_with_json_inheritance_on_base(bool async) => AssertQuery( async, @@ -73,7 +73,7 @@ public virtual Task FromSql_on_entity_with_json_inheritance_on_base(bool async) Fixture.TestStore.NormalizeDelimitersInRawString("SELECT * FROM [JsonEntitiesInheritance] AS j")), ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSql_on_entity_with_json_inheritance_on_derived(bool async) => AssertQuery( async, @@ -81,7 +81,7 @@ public virtual Task FromSql_on_entity_with_json_inheritance_on_derived(bool asyn Fixture.TestStore.NormalizeDelimitersInRawString("SELECT * FROM [JsonEntitiesInheritance] AS j")), ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSql_on_entity_with_json_inheritance_project_reference_on_base(bool async) => AssertQuery( async, @@ -93,7 +93,7 @@ public virtual Task FromSql_on_entity_with_json_inheritance_project_reference_on ss => ss.Set().OrderBy(x => x.Id).Select(x => x.ReferenceOnBase), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FromSql_on_entity_with_json_inheritance_project_reference_on_derived(bool async) => AssertQuery( async, @@ -106,7 +106,7 @@ public virtual Task FromSql_on_entity_with_json_inheritance_project_reference_on elementAsserter: (e, a) => AssertCollection(e, a, elementSorter: ee => (ee.Date, ee.Enum, ee.Fraction)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Json_projection_using_queryable_methods_on_top_of_JSON_collection_AsNoTrackingWithIdentityResolution( bool async) { @@ -133,7 +133,7 @@ public virtual async Task Json_projection_using_queryable_methods_on_top_of_JSON message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Json_nested_collection_anonymous_projection_in_projection_NoTrackingWithIdentityResolution(bool async) { var message = (await Assert.ThrowsAsync(() => @@ -171,7 +171,7 @@ public virtual async Task Json_nested_collection_anonymous_projection_in_project message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Json_projection_nested_collection_and_element_using_parameter_AsNoTrackingWithIdentityResolution(bool async) { var prm = 0; @@ -199,7 +199,7 @@ public virtual async Task Json_projection_nested_collection_and_element_using_pa message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Json_projection_nested_collection_and_element_using_parameter_AsNoTrackingWithIdentityResolution2(bool async) { var prm1 = 0; @@ -228,7 +228,7 @@ public virtual async Task Json_projection_nested_collection_and_element_using_pa message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Json_projection_second_element_through_collection_element_parameter_different_values_projected_before_owner_nested_AsNoTrackingWithIdentityResolution( bool async) @@ -260,7 +260,7 @@ public virtual async Task message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Json_projection_second_element_through_collection_element_parameter_projected_before_owner_nested_AsNoTrackingWithIdentityResolution( bool async) @@ -291,7 +291,7 @@ public virtual async Task message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Json_projection_second_element_through_collection_element_parameter_projected_before_owner_nested_AsNoTrackingWithIdentityResolution2( bool async) @@ -323,7 +323,7 @@ public virtual async Task message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Json_projection_second_element_through_collection_element_parameter_projected_after_owner_nested_AsNoTrackingWithIdentityResolution( bool async) @@ -354,7 +354,7 @@ public virtual async Task message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Json_projection_second_element_through_collection_element_constant_projected_before_owner_nested_AsNoTrackingWithIdentityResolution( bool async) @@ -383,7 +383,7 @@ public virtual async Task message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Json_branch_collection_distinct_and_other_collection_AsNoTrackingWithIdentityResolution(bool async) { var message = (await Assert.ThrowsAsync(() => @@ -409,7 +409,7 @@ public virtual async Task Json_branch_collection_distinct_and_other_collection_A message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Json_collection_SelectMany_AsNoTrackingWithIdentityResolution(bool async) { var message = (await Assert.ThrowsAsync(() => @@ -426,7 +426,7 @@ public virtual async Task Json_collection_SelectMany_AsNoTrackingWithIdentityRes message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Json_projection_deduplication_with_collection_indexer_in_target_AsNoTrackingWithIdentityResolution(bool async) { var prm = 1; @@ -456,7 +456,7 @@ public virtual async Task Json_projection_deduplication_with_collection_indexer_ message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Json_projection_nested_collection_and_element_wrong_order_AsNoTrackingWithIdentityResolution(bool async) { var message = (await Assert.ThrowsAsync(() => @@ -483,7 +483,7 @@ public virtual async Task Json_projection_nested_collection_and_element_wrong_or message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Json_projection_second_element_projected_before_entire_collection_AsNoTrackingWithIdentityResolution( bool async) { @@ -511,7 +511,7 @@ public virtual async Task Json_projection_second_element_projected_before_entire message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Json_projection_second_element_projected_before_owner_AsNoTrackingWithIdentityResolution(bool async) { var message = (await Assert.ThrowsAsync(() => @@ -538,7 +538,7 @@ public virtual async Task Json_projection_second_element_projected_before_owner_ message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Json_projection_second_element_projected_before_owner_nested_AsNoTrackingWithIdentityResolution(bool async) { var message = (await Assert.ThrowsAsync(() => diff --git a/test/EFCore.Relational.Specification.Tests/Query/ManyToManyNoTrackingQueryRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/ManyToManyNoTrackingQueryRelationalTestBase.cs index 69587a718a3..52d87d37a89 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/ManyToManyNoTrackingQueryRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/ManyToManyNoTrackingQueryRelationalTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.ManyToManyModel; @@ -11,14 +11,14 @@ public abstract class ManyToManyNoTrackingQueryRelationalTestBase(TFix : ManyToManyNoTrackingQueryTestBase(fixture) where TFixture : ManyToManyQueryFixtureBase, new() { - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_skip_navigation_split(bool async) => AssertQuery( async, ss => ss.Set().Include(e => e.RootSkipShared).AsSplitQuery(), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(et => et.RootSkipShared))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_skip_navigation_then_reference_split(bool async) => AssertQuery( async, @@ -28,7 +28,7 @@ public virtual Task Include_skip_navigation_then_reference_split(bool async) new ExpectedInclude(et => et.OneSkip), new ExpectedInclude(et => et.Reference, "OneSkip"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_skip_navigation_then_include_skip_navigation_split(bool async) => AssertQuery( async, @@ -38,7 +38,7 @@ public virtual Task Include_skip_navigation_then_include_skip_navigation_split(b new ExpectedInclude(et => et.LeafSkipFull), new ExpectedInclude(et => et.OneSkip, "LeafSkipFull"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_skip_navigation_then_include_reference_and_skip_navigation_split(bool async) => AssertQuery( async, @@ -50,7 +50,7 @@ public virtual Task Include_skip_navigation_then_include_reference_and_skip_navi new ExpectedInclude(et => et.Reference, "OneSkipPayloadFull"), new ExpectedInclude(et => et.SelfSkipPayloadRight, "OneSkipPayloadFull"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_skip_navigation_and_reference_split(bool async) => AssertQuery( async, @@ -60,7 +60,7 @@ public virtual Task Include_skip_navigation_and_reference_split(bool async) new ExpectedInclude(et => et.OneSkipShared), new ExpectedInclude(et => et.Reference))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_where_split(bool async) => AssertQuery( async, @@ -70,7 +70,7 @@ public virtual Task Filtered_include_skip_navigation_where_split(bool async) new ExpectedFilteredInclude( et => et.OneSkipPayloadFullShared, includeFilter: x => x.Where(i => i.Id < 10)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_order_by_split(bool async) => AssertQuery( async, @@ -80,7 +80,7 @@ public virtual Task Filtered_include_skip_navigation_order_by_split(bool async) new ExpectedFilteredInclude( et => et.TwoSkipFull, includeFilter: x => x.OrderBy(i => i.Id)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_order_by_skip_split(bool async) => AssertQuery( async, @@ -90,7 +90,7 @@ public virtual Task Filtered_include_skip_navigation_order_by_skip_split(bool as new ExpectedFilteredInclude( et => et.SelfSkipSharedRight, includeFilter: x => x.OrderBy(i => i.Id).Skip(2)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_order_by_take_split(bool async) => AssertQuery( async, @@ -100,7 +100,7 @@ public virtual Task Filtered_include_skip_navigation_order_by_take_split(bool as new ExpectedFilteredInclude( et => et.TwoSkipShared, includeFilter: x => x.OrderBy(i => i.Id).Take(2)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_order_by_skip_take_split(bool async) => AssertQuery( async, @@ -110,7 +110,7 @@ public virtual Task Filtered_include_skip_navigation_order_by_skip_take_split(bo new ExpectedFilteredInclude( et => et.ThreeSkipFull, includeFilter: x => x.OrderBy(i => i.Id).Skip(1).Take(2)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_then_include_skip_navigation_where_split(bool async) => AssertQuery( async, @@ -123,7 +123,7 @@ public virtual Task Filtered_then_include_skip_navigation_where_split(bool async new ExpectedFilteredInclude( et => et.OneSkipPayloadFullShared, "ThreeSkipShared", includeFilter: x => x.Where(i => i.Id < 10)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_then_include_skip_navigation_order_by_skip_take_split(bool async) => AssertQuery( async, @@ -136,7 +136,7 @@ public virtual Task Filtered_then_include_skip_navigation_order_by_skip_take_spl new ExpectedFilteredInclude( et => et.ThreeSkipFull, "CompositeKeySkipShared", includeFilter: x => x.OrderBy(i => i.Id).Skip(1).Take(2)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_where_then_include_skip_navigation_split(bool async) => AssertQuery( async, @@ -148,7 +148,7 @@ public virtual Task Filtered_include_skip_navigation_where_then_include_skip_nav et => et.CompositeKeySkipFull, includeFilter: x => x.Where(i => i.Key1 < 5)), new ExpectedInclude(et => et.TwoSkipShared, "CompositeKeySkipFull"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where_split(bool async) => AssertQuery( async, @@ -162,7 +162,7 @@ public virtual Task Filtered_include_skip_navigation_order_by_skip_take_then_inc new ExpectedFilteredInclude( et => et.ThreeSkipFull, "TwoSkip", includeFilter: x => x.Where(i => i.Id < 10)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take_split(bool async) => AssertQuery( async, @@ -176,7 +176,7 @@ public virtual Task Filtered_include_skip_navigation_where_then_include_skip_nav new ExpectedFilteredInclude( et => et.ThreeSkipFull, "TwoSkip", includeFilter: x => x.OrderBy(i => i.Id).Skip(1).Take(2)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_include_on_skip_navigation_combined_split(bool async) => AssertQuery( async, @@ -189,7 +189,7 @@ public virtual Task Filter_include_on_skip_navigation_combined_split(bool async) new ExpectedInclude(et => et.Reference, "OneSkip"), new ExpectedInclude(et => et.Collection, "OneSkip"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_include_on_skip_navigation_combined_with_filtered_then_includes_split(bool async) => AssertQuery( async, @@ -208,7 +208,7 @@ public virtual Task Filter_include_on_skip_navigation_combined_with_filtered_the new ExpectedFilteredInclude( et => et.BranchSkip, "OneSkipPayloadFull", includeFilter: x => x.Where(e => e.Id < 20)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_on_skip_navigation_then_filtered_include_on_navigation_split(bool async) => AssertQuery( async, @@ -222,7 +222,7 @@ public virtual Task Filtered_include_on_skip_navigation_then_filtered_include_on new ExpectedFilteredInclude( et => et.Collection, "OneSkipPayloadFull", includeFilter: x => x.Where(i => i.Id < 5)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_on_navigation_then_filtered_include_on_skip_navigation_split(bool async) => AssertQuery( async, diff --git a/test/EFCore.Relational.Specification.Tests/Query/ManyToManyQueryRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/ManyToManyQueryRelationalTestBase.cs index ca795329bc1..3f001a767ef 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/ManyToManyQueryRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/ManyToManyQueryRelationalTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.ManyToManyModel; @@ -10,14 +10,14 @@ namespace Microsoft.EntityFrameworkCore.Query; public abstract class ManyToManyQueryRelationalTestBase(TFixture fixture) : ManyToManyQueryTestBase(fixture) where TFixture : ManyToManyQueryFixtureBase, new() { - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_skip_navigation_split(bool async) => AssertQuery( async, ss => ss.Set().Include(e => e.RootSkipShared).AsSplitQuery(), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(et => et.RootSkipShared))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_skip_navigation_then_reference_split(bool async) => AssertQuery( async, @@ -27,7 +27,7 @@ public virtual Task Include_skip_navigation_then_reference_split(bool async) new ExpectedInclude(et => et.OneSkip), new ExpectedInclude(et => et.Reference, "OneSkip"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_skip_navigation_then_include_skip_navigation_split(bool async) => AssertQuery( async, @@ -37,7 +37,7 @@ public virtual Task Include_skip_navigation_then_include_skip_navigation_split(b new ExpectedInclude(et => et.LeafSkipFull), new ExpectedInclude(et => et.OneSkip, "LeafSkipFull"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_skip_navigation_then_include_reference_and_skip_navigation_split(bool async) => AssertQuery( async, @@ -49,7 +49,7 @@ public virtual Task Include_skip_navigation_then_include_reference_and_skip_navi new ExpectedInclude(et => et.Reference, "OneSkipPayloadFull"), new ExpectedInclude(et => et.SelfSkipPayloadRight, "OneSkipPayloadFull"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_skip_navigation_and_reference_split(bool async) => AssertQuery( async, @@ -59,7 +59,7 @@ public virtual Task Include_skip_navigation_and_reference_split(bool async) new ExpectedInclude(et => et.OneSkipShared), new ExpectedInclude(et => et.Reference))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_where_split(bool async) => AssertQuery( async, @@ -69,7 +69,7 @@ public virtual Task Filtered_include_skip_navigation_where_split(bool async) new ExpectedFilteredInclude( et => et.OneSkipPayloadFullShared, includeFilter: x => x.Where(i => i.Id < 10)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_order_by_split(bool async) => AssertQuery( async, @@ -79,7 +79,7 @@ public virtual Task Filtered_include_skip_navigation_order_by_split(bool async) new ExpectedFilteredInclude( et => et.TwoSkipFull, includeFilter: x => x.OrderBy(i => i.Id)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_order_by_skip_split(bool async) => AssertQuery( async, @@ -89,7 +89,7 @@ public virtual Task Filtered_include_skip_navigation_order_by_skip_split(bool as new ExpectedFilteredInclude( et => et.SelfSkipSharedRight, includeFilter: x => x.OrderBy(i => i.Id).Skip(2)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_order_by_take_split(bool async) => AssertQuery( async, @@ -99,7 +99,7 @@ public virtual Task Filtered_include_skip_navigation_order_by_take_split(bool as new ExpectedFilteredInclude( et => et.TwoSkipShared, includeFilter: x => x.OrderBy(i => i.Id).Take(2)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_order_by_skip_take_split(bool async) => AssertQuery( async, @@ -109,7 +109,7 @@ public virtual Task Filtered_include_skip_navigation_order_by_skip_take_split(bo new ExpectedFilteredInclude( et => et.ThreeSkipFull, includeFilter: x => x.OrderBy(i => i.Id).Skip(1).Take(2)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_then_include_skip_navigation_where_split(bool async) => AssertQuery( async, @@ -122,7 +122,7 @@ public virtual Task Filtered_then_include_skip_navigation_where_split(bool async new ExpectedFilteredInclude( et => et.OneSkipPayloadFullShared, "ThreeSkipShared", includeFilter: x => x.Where(i => i.Id < 10)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_then_include_skip_navigation_order_by_skip_take_split(bool async) => AssertQuery( async, @@ -135,7 +135,7 @@ public virtual Task Filtered_then_include_skip_navigation_order_by_skip_take_spl new ExpectedFilteredInclude( et => et.ThreeSkipFull, "CompositeKeySkipShared", includeFilter: x => x.OrderBy(i => i.Id).Skip(1).Take(2)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_where_then_include_skip_navigation_split(bool async) => AssertQuery( async, @@ -147,7 +147,7 @@ public virtual Task Filtered_include_skip_navigation_where_then_include_skip_nav et => et.CompositeKeySkipFull, includeFilter: x => x.Where(i => i.Key1 < 5)), new ExpectedInclude(et => et.TwoSkipShared, "CompositeKeySkipFull"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where_split(bool async) => AssertQuery( async, @@ -161,7 +161,7 @@ public virtual Task Filtered_include_skip_navigation_order_by_skip_take_then_inc new ExpectedFilteredInclude( et => et.ThreeSkipFull, "TwoSkip", includeFilter: x => x.Where(i => i.Id < 10)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take_split(bool async) => AssertQuery( async, @@ -175,7 +175,7 @@ public virtual Task Filtered_include_skip_navigation_where_then_include_skip_nav new ExpectedFilteredInclude( et => et.ThreeSkipFull, "TwoSkip", includeFilter: x => x.OrderBy(i => i.Id).Skip(1).Take(2)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_include_on_skip_navigation_combined_split(bool async) => AssertQuery( async, @@ -188,7 +188,7 @@ public virtual Task Filter_include_on_skip_navigation_combined_split(bool async) new ExpectedInclude(et => et.Reference, "OneSkip"), new ExpectedInclude(et => et.Collection, "OneSkip"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_include_on_skip_navigation_combined_with_filtered_then_includes_split(bool async) => AssertQuery( async, @@ -207,7 +207,7 @@ public virtual Task Filter_include_on_skip_navigation_combined_with_filtered_the new ExpectedFilteredInclude( et => et.BranchSkip, "OneSkipPayloadFull", includeFilter: x => x.Where(e => e.Id < 20)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_on_skip_navigation_then_filtered_include_on_navigation_split(bool async) => AssertQuery( async, @@ -221,7 +221,7 @@ public virtual Task Filtered_include_on_skip_navigation_then_filtered_include_on new ExpectedFilteredInclude( et => et.Collection, "OneSkipPayloadFull", includeFilter: x => x.Where(i => i.Id < 5)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_on_navigation_then_filtered_include_on_skip_navigation_split(bool async) => AssertQuery( async, diff --git a/test/EFCore.Relational.Specification.Tests/Query/MappingQueryTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/MappingQueryTestBase.cs index f14aabbb4cc..54c1ff93853 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/MappingQueryTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/MappingQueryTestBase.cs @@ -14,7 +14,7 @@ public abstract class MappingQueryTestBase(MappingQueryTestBase( : NorthwindKeylessEntitiesQueryTestBase(fixture) where TFixture : NorthwindQueryFixtureBase, new() { - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Projecting_collection_correlated_with_keyless_entity_throws(bool async) { var message = (await Assert.ThrowsAsync(() => AssertQuery( @@ -26,7 +26,7 @@ public virtual async Task Projecting_collection_correlated_with_keyless_entity_t Assert.Equal(RelationalStrings.InsufficientInformationToIdentifyElementOfCollectionJoin, message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Collection_of_entities_projecting_correlated_collection_of_keyless_entities(bool async) { var message = (await Assert.ThrowsAsync(() => AssertQuery( diff --git a/test/EFCore.Relational.Specification.Tests/Query/NorthwindMiscellaneousQueryRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/NorthwindMiscellaneousQueryRelationalTestBase.cs index e40601742a0..8447f545bc6 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/NorthwindMiscellaneousQueryRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/NorthwindMiscellaneousQueryRelationalTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.Northwind; @@ -11,7 +11,7 @@ public abstract class NorthwindMiscellaneousQueryRelationalTestBase(TF : NorthwindMiscellaneousQueryTestBase(fixture) where TFixture : NorthwindQueryFixtureBase, new() { - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_collection_split(bool async) => AssertQuery( async, @@ -20,7 +20,7 @@ public virtual Task Projecting_collection_split(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_collection_then_include_split(bool async) => AssertQuery( async, diff --git a/test/EFCore.Relational.Specification.Tests/Query/NorthwindSqlQueryTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/NorthwindSqlQueryTestBase.cs index 01c7db60c1f..d2236ebef3e 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/NorthwindSqlQueryTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/NorthwindSqlQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.Northwind; @@ -24,7 +24,7 @@ protected NorthwindSqlQueryTestBase(TFixture fixture) public static readonly IEnumerable IsAsyncData = [[false], [true]]; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SqlQueryRaw_over_int(bool async) { using var context = CreateContext(); @@ -37,7 +37,7 @@ public virtual async Task SqlQueryRaw_over_int(bool async) Assert.Equal(77, result.Count); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SqlQuery_composed_Contains(bool async) { using var context = CreateContext(); @@ -53,7 +53,7 @@ public virtual async Task SqlQuery_composed_Contains(bool async) Assert.Equal(0, result.Count); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SqlQuery_composed_Join(bool async) { using var context = CreateContext(); @@ -70,7 +70,7 @@ on o.OrderID equals p Assert.Equal(0, result.Count); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SqlQuery_over_int_with_parameter(bool async) { using var context = CreateContext(); diff --git a/test/EFCore.Relational.Specification.Tests/Query/NorthwindWhereQueryRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/NorthwindWhereQueryRelationalTestBase.cs index 21a6a5d2306..92f78af1be0 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/NorthwindWhereQueryRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/NorthwindWhereQueryRelationalTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.Northwind; @@ -13,7 +13,7 @@ public abstract class NorthwindWhereQueryRelationalTestBase(TFixture f public override Task Where_bool_client_side_negated(bool async) => AssertTranslationFailed(() => base.Where_bool_client_side_negated(async)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task EF_MultipleParameters_with_non_evaluatable_argument_throws(bool async) { var exception = await Assert.ThrowsAsync(() => AssertQuery( diff --git a/test/EFCore.Relational.Specification.Tests/Query/NullSemanticsQueryTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/NullSemanticsQueryTestBase.cs index 81640ff4ce1..6856c4c3aaa 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/NullSemanticsQueryTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/NullSemanticsQueryTestBase.cs @@ -20,7 +20,7 @@ namespace Microsoft.EntityFrameworkCore.Query; public abstract class NullSemanticsQueryTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : NullSemanticsQueryFixtureBase, new() { - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Rewrite_compare_int_with_int(bool async) { var bools = new[] { false, true }; @@ -82,7 +82,7 @@ public virtual async Task Rewrite_compare_int_with_int(bool async) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Rewrite_compare_bool_with_bool(bool async) { var bools = new[] { false, true }; @@ -189,7 +189,7 @@ public virtual async Task Rewrite_compare_bool_with_bool(bool async) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Compare_bool_with_bool_equal(bool async) { await AssertQueryScalar(async, ss => ss.Set().Where(e => e.BoolA == e.BoolB).Select(e => e.Id)); @@ -199,7 +199,7 @@ await AssertQueryScalar( async, ss => ss.Set().Where(e => e.NullableBoolA == e.NullableBoolB).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Compare_negated_bool_with_bool_equal(bool async) { await AssertQueryScalar(async, ss => ss.Set().Where(e => !e.BoolA == e.BoolB).Select(e => e.Id)); @@ -209,7 +209,7 @@ await AssertQueryScalar( async, ss => ss.Set().Where(e => !e.NullableBoolA == e.NullableBoolB).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Compare_bool_with_negated_bool_equal(bool async) { await AssertQueryScalar(async, ss => ss.Set().Where(e => e.BoolA == !e.BoolB).Select(e => e.Id)); @@ -219,7 +219,7 @@ await AssertQueryScalar( async, ss => ss.Set().Where(e => e.NullableBoolA == !e.NullableBoolB).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Compare_negated_bool_with_negated_bool_equal(bool async) { await AssertQueryScalar(async, ss => ss.Set().Where(e => !e.BoolA == !e.BoolB).Select(e => e.Id)); @@ -229,7 +229,7 @@ await AssertQueryScalar( async, ss => ss.Set().Where(e => !e.NullableBoolA == !e.NullableBoolB).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Compare_bool_with_bool_equal_negated(bool async) { await AssertQueryScalar(async, ss => ss.Set().Where(e => !(e.BoolA == e.BoolB)).Select(e => e.Id)); @@ -241,7 +241,7 @@ await AssertQueryScalar( async, ss => ss.Set().Where(e => !(e.NullableBoolA == e.NullableBoolB)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Compare_negated_bool_with_bool_equal_negated(bool async) { await AssertQueryScalar(async, ss => ss.Set().Where(e => !(!e.BoolA == e.BoolB)).Select(e => e.Id)); @@ -253,7 +253,7 @@ await AssertQueryScalar( async, ss => ss.Set().Where(e => !(!e.NullableBoolA == e.NullableBoolB)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Compare_bool_with_negated_bool_equal_negated(bool async) { await AssertQueryScalar(async, ss => ss.Set().Where(e => !(e.BoolA == !e.BoolB)).Select(e => e.Id)); @@ -265,7 +265,7 @@ await AssertQueryScalar( async, ss => ss.Set().Where(e => !(e.NullableBoolA == !e.NullableBoolB)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Compare_negated_bool_with_negated_bool_equal_negated(bool async) { await AssertQueryScalar(async, ss => ss.Set().Where(e => !(!e.BoolA == !e.BoolB)).Select(e => e.Id)); @@ -277,7 +277,7 @@ await AssertQueryScalar( async, ss => ss.Set().Where(e => !(!e.NullableBoolA == !e.NullableBoolB)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Compare_bool_with_bool_not_equal(bool async) { await AssertQueryScalar(async, ss => ss.Set().Where(e => e.BoolA != e.BoolB).Select(e => e.Id)); @@ -287,7 +287,7 @@ await AssertQueryScalar( async, ss => ss.Set().Where(e => e.NullableBoolA != e.NullableBoolB).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Compare_negated_bool_with_bool_not_equal(bool async) { await AssertQueryScalar(async, ss => ss.Set().Where(e => !e.BoolA != e.BoolB).Select(e => e.Id)); @@ -297,7 +297,7 @@ await AssertQueryScalar( async, ss => ss.Set().Where(e => !e.NullableBoolA != e.NullableBoolB).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Compare_bool_with_negated_bool_not_equal(bool async) { await AssertQueryScalar(async, ss => ss.Set().Where(e => e.BoolA != !e.BoolB).Select(e => e.Id)); @@ -307,7 +307,7 @@ await AssertQueryScalar( async, ss => ss.Set().Where(e => e.NullableBoolA != !e.NullableBoolB).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Compare_negated_bool_with_negated_bool_not_equal(bool async) { await AssertQueryScalar(async, ss => ss.Set().Where(e => !e.BoolA != !e.BoolB).Select(e => e.Id)); @@ -317,7 +317,7 @@ await AssertQueryScalar( async, ss => ss.Set().Where(e => !e.NullableBoolA != !e.NullableBoolB).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Compare_bool_with_bool_not_equal_negated(bool async) { await AssertQueryScalar(async, ss => ss.Set().Where(e => !(e.BoolA != e.BoolB)).Select(e => e.Id)); @@ -329,7 +329,7 @@ await AssertQueryScalar( async, ss => ss.Set().Where(e => !(e.NullableBoolA != e.NullableBoolB)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Compare_negated_bool_with_bool_not_equal_negated(bool async) { await AssertQueryScalar(async, ss => ss.Set().Where(e => !(!e.BoolA != e.BoolB)).Select(e => e.Id)); @@ -341,7 +341,7 @@ await AssertQueryScalar( async, ss => ss.Set().Where(e => !(!e.NullableBoolA != e.NullableBoolB)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Compare_bool_with_negated_bool_not_equal_negated(bool async) { await AssertQueryScalar(async, ss => ss.Set().Where(e => !(e.BoolA != !e.BoolB)).Select(e => e.Id)); @@ -353,7 +353,7 @@ await AssertQueryScalar( async, ss => ss.Set().Where(e => !(e.NullableBoolA != !e.NullableBoolB)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Compare_negated_bool_with_negated_bool_not_equal_negated(bool async) { await AssertQueryScalar(async, ss => ss.Set().Where(e => !(!e.BoolA != !e.BoolB)).Select(e => e.Id)); @@ -365,7 +365,7 @@ await AssertQueryScalar( async, ss => ss.Set().Where(e => !(!e.NullableBoolA != !e.NullableBoolB)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Compare_equals_method(bool async) { await AssertQueryScalar(async, ss => ss.Set().Where(e => e.BoolA.Equals(e.BoolB)).Select(e => e.Id)); @@ -377,7 +377,7 @@ await AssertQueryScalar( async, ss => ss.Set().Where(e => e.NullableBoolA.Equals(e.NullableBoolB)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Compare_equals_method_static(bool async) { await AssertQueryScalar(async, ss => ss.Set().Where(e => Equals(e.BoolA, e.BoolB)).Select(e => e.Id)); @@ -389,7 +389,7 @@ await AssertQueryScalar( async, ss => ss.Set().Where(e => Equals(e.NullableBoolA, e.NullableBoolB)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Compare_equals_method_negated(bool async) { await AssertQueryScalar(async, ss => ss.Set().Where(e => !e.BoolA.Equals(e.BoolB)).Select(e => e.Id)); @@ -401,7 +401,7 @@ await AssertQueryScalar( async, ss => ss.Set().Where(e => !e.NullableBoolA.Equals(e.NullableBoolB)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Compare_equals_method_negated_static(bool async) { await AssertQueryScalar(async, ss => ss.Set().Where(e => !Equals(e.BoolA, e.BoolB)).Select(e => e.Id)); @@ -413,7 +413,7 @@ await AssertQueryScalar( async, ss => ss.Set().Where(e => !Equals(e.NullableBoolA, e.NullableBoolB)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Compare_complex_equal_equal_equal(bool async) { await AssertQueryScalar( @@ -428,7 +428,7 @@ await AssertQueryScalar( .Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Compare_complex_equal_not_equal_equal(bool async) { await AssertQueryScalar( @@ -444,7 +444,7 @@ await AssertQueryScalar( assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Compare_complex_not_equal_equal_equal(bool async) { await AssertQueryScalar( @@ -460,7 +460,7 @@ await AssertQueryScalar( assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Compare_complex_not_equal_not_equal_equal(bool async) { await AssertQueryScalar( @@ -475,7 +475,7 @@ await AssertQueryScalar( .Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Compare_complex_not_equal_equal_not_equal(bool async) { await AssertQueryScalar( @@ -490,7 +490,7 @@ await AssertQueryScalar( .Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Compare_complex_not_equal_not_equal_not_equal(bool async) { await AssertQueryScalar( @@ -506,7 +506,7 @@ await AssertQueryScalar( assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Compare_nullable_with_null_parameter_equal(bool async) { string prm = null; @@ -514,7 +514,7 @@ public virtual Task Compare_nullable_with_null_parameter_equal(bool async) return AssertQueryScalar(async, ss => ss.Set().Where(e => e.NullableStringA == prm).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Compare_nullable_with_non_null_parameter_not_equal(bool async) { var prm = "Foo"; @@ -522,7 +522,7 @@ public virtual Task Compare_nullable_with_non_null_parameter_not_equal(bool asyn return AssertQueryScalar(async, ss => ss.Set().Where(e => e.NullableStringA == prm).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_uses_database_semantics(bool async) => AssertQuery( async, @@ -537,7 +537,7 @@ join e2 in ss.Set() on e1.NullableIntA equals e2.NullableI }, elementSorter: e => (e.Id1, e.Id2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_uses_csharp_semantics_for_anon_objects(bool async) => AssertQuery( async, @@ -553,7 +553,7 @@ join e2 in ss.Set() on }, elementSorter: e => (e.Id1, e.Id2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_array_closure_with_null(bool async) { string[] ids = ["Foo", null]; @@ -562,7 +562,7 @@ public virtual Task Contains_with_local_array_closure_with_null(bool async) async, ss => ss.Set().Where(e => ids.Contains(e.NullableStringA)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_array_closure_with_multiple_nulls(bool async) { string[] ids = [null, "Foo", null, null]; @@ -571,7 +571,7 @@ public virtual Task Contains_with_local_array_closure_with_multiple_nulls(bool a async, ss => ss.Set().Where(e => ids.Contains(e.NullableStringA)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_array_closure_false_with_null(bool async) { string[] ids = ["Foo", null]; @@ -580,7 +580,7 @@ public virtual Task Contains_with_local_array_closure_false_with_null(bool async async, ss => ss.Set().Where(e => !ids.Contains(e.NullableStringA)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_nullable_array_closure_negated(bool async) { string[] ids = ["Foo"]; @@ -589,21 +589,21 @@ public virtual Task Contains_with_local_nullable_array_closure_negated(bool asyn async, ss => ss.Set().Where(e => !ids.Contains(e.NullableStringA)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_multiple_ors_with_null(bool async) => AssertQueryScalar( async, ss => ss.Set() .Where(e => e.NullableStringA == "Foo" || e.NullableStringA == "Blah" || e.NullableStringA == null).Select(e => e.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_multiple_ands_with_null(bool async) => AssertQueryScalar( async, ss => ss.Set() .Where(e => e.NullableStringA != "Foo" && e.NullableStringA != "Blah" && e.NullableStringA != null).Select(e => e.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_multiple_ors_with_nullable_parameter(bool async) { string prm = null; @@ -613,7 +613,7 @@ public virtual Task Where_multiple_ors_with_nullable_parameter(bool async) ss => ss.Set().Where(e => e.NullableStringA == "Foo" || e.NullableStringA == prm).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_multiple_ands_with_nullable_parameter_and_constant(bool async) { string prm1 = null; @@ -628,7 +628,7 @@ public virtual Task Where_multiple_ands_with_nullable_parameter_and_constant(boo && e.NullableStringA != prm3).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_multiple_ands_with_nullable_parameter_and_constant_not_optimized(bool async) { string prm1 = null; @@ -644,24 +644,24 @@ public virtual Task Where_multiple_ands_with_nullable_parameter_and_constant_not && e.NullableStringA != prm3).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_coalesce(bool async) => AssertQueryScalar(async, ss => ss.Set().Where(e => e.NullableBoolA ?? true).Select(e => e.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_coalesce_shortcircuit(bool async) => AssertQueryScalar( async, ss => ss.Set().Where(e => (bool?)(e.BoolA | e.BoolB) ?? e.NullableBoolA ?? true) .Select(e => e.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_coalesce_shortcircuit_many(bool async) => AssertQueryScalar( async, ss => ss.Set() .Where(e => e.NullableBoolA ?? (bool?)(e.BoolA | e.BoolB) ?? e.NullableBoolB ?? e.BoolB) .Select(e => e.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_equal_nullable_with_null_value_parameter(bool async) { string prm = null; @@ -669,7 +669,7 @@ public virtual Task Where_equal_nullable_with_null_value_parameter(bool async) return AssertQueryScalar(async, ss => ss.Set().Where(e => e.NullableStringA == prm).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_not_equal_nullable_with_null_value_parameter(bool async) { string prm = null; @@ -677,35 +677,35 @@ public virtual Task Where_not_equal_nullable_with_null_value_parameter(bool asyn return AssertQueryScalar(async, ss => ss.Set().Where(e => e.NullableStringA != prm).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_equal_with_coalesce(bool async) => AssertQueryScalar( async, ss => ss.Set().Where(e => (e.NullableStringA ?? e.NullableStringB) == e.NullableStringC) .Select(e => e.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_not_equal_with_coalesce(bool async) => AssertQueryScalar( async, ss => ss.Set().Where(e => (e.NullableStringA ?? e.NullableStringB) != e.NullableStringC) .Select(e => e.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_equal_with_coalesce_both_sides(bool async) => AssertQueryScalar( async, ss => ss.Set().Where(e => (e.NullableStringA ?? e.NullableStringB) == (e.NullableStringC ?? e.StringA)) .Select(e => e.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_not_equal_with_coalesce_both_sides(bool async) => AssertQueryScalar( async, ss => ss.Set().Where(e => (e.NullableIntA ?? e.NullableIntB) != (e.NullableIntC ?? e.NullableIntB)) .Select(e => e.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_equal_with_conditional(bool async) => AssertQueryScalar( async, @@ -714,7 +714,7 @@ public virtual Task Where_equal_with_conditional(bool async) : e.NullableStringB) == e.NullableStringC).Select(e => e.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_not_equal_with_conditional(bool async) => AssertQueryScalar( async, @@ -723,7 +723,7 @@ public virtual Task Where_not_equal_with_conditional(bool async) ? e.NullableStringA : e.NullableStringB)).Select(e => e.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_equal_with_conditional_non_nullable(bool async) => AssertQueryScalar( async, @@ -732,7 +732,7 @@ public virtual Task Where_equal_with_conditional_non_nullable(bool async) ? e.StringA : e.StringB)).Select(e => e.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_conditional_search_condition_in_result(bool async) { var prm = true; @@ -747,7 +747,7 @@ await AssertQueryScalar( ss => ss.Set().Where(e => !prm ? true : e.StringA.StartsWith("B")).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_nested_conditional_search_condition_in_result(bool async) { var prm1 = true; @@ -765,7 +765,7 @@ public virtual Task Where_nested_conditional_search_condition_in_result(bool asy : (e.BoolB ? list.Contains(e.StringA) : list.Contains(e.StringB))).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_equal_with_and_and_contains(bool async) => AssertQueryScalar( async, @@ -774,13 +774,13 @@ public virtual Task Where_equal_with_and_and_contains(bool async) .Where(e => e.NullableStringA != null && e.NullableStringA.Contains(e.NullableStringB ?? "Blah") && e.BoolA) .Select(e => e.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Null_comparison_in_selector_with_relational_nulls(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(e => e.NullableStringA != "Foo")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Null_comparison_in_order_by_with_relational_nulls(bool async) => AssertQuery( async, @@ -788,7 +788,7 @@ public virtual Task Null_comparison_in_order_by_with_relational_nulls(bool async .Select(e => e), elementSorter: e => e.Id); - [ConditionalTheory(Skip = "issue #15743"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "issue #15743"), MemberData(nameof(IsAsyncData))] public virtual Task Null_comparison_in_join_key_with_relational_nulls(bool async) => AssertQuery( async, @@ -798,7 +798,7 @@ public virtual Task Null_comparison_in_join_key_with_relational_nulls(bool async e2 => e2.NullableBoolB != true, (o, i) => new { o, i })); - [ConditionalFact] + [Fact] public virtual void Where_equal_using_relational_null_semantics() { using var context = CreateContext(useRelationalNulls: true); @@ -807,7 +807,7 @@ public virtual void Where_equal_using_relational_null_semantics() .Select(e => e.Id).ToList(); } - [ConditionalFact] + [Fact] public virtual void Where_contains_on_parameter_array_with_relational_null_semantics() { using var context = CreateContext(useRelationalNulls: true); @@ -819,7 +819,7 @@ public virtual void Where_contains_on_parameter_array_with_relational_null_seman Assert.True(result.All(r => r is "Foo" or "Bar")); } - [ConditionalFact] + [Fact] public virtual void Where_contains_on_parameter_empty_array_with_relational_null_semantics() { using var context = CreateContext(useRelationalNulls: true); @@ -831,7 +831,7 @@ public virtual void Where_contains_on_parameter_empty_array_with_relational_null Assert.Equal(0, result); } - [ConditionalFact] + [Fact] public virtual void Where_contains_on_parameter_array_with_just_null_with_relational_null_semantics() { using var context = CreateContext(useRelationalNulls: true); @@ -843,26 +843,26 @@ public virtual void Where_contains_on_parameter_array_with_just_null_with_relati Assert.Equal(0, result); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_nullable_bool(bool async) => AssertQueryScalar( async, ss => ss.Set().Where(e => e.NullableBoolA.Value).Select(e => e.Id), ss => ss.Set().Where(e => e.NullableBoolA == true).Select(e => e.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_nullable_bool_equal_with_constant(bool async) => AssertQueryScalar( async, ss => ss.Set().Where(e => e.NullableBoolA == true).Select(e => e.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_nullable_bool_with_null_check(bool async) => AssertQueryScalar( async, ss => ss.Set().Where(e => e.NullableBoolA != null && e.NullableBoolA.Value).Select(e => e.Id)); - [ConditionalFact] + [Fact] public virtual void Where_equal_using_relational_null_semantics_with_parameter() { using var context = CreateContext(useRelationalNulls: true); @@ -872,7 +872,7 @@ public virtual void Where_equal_using_relational_null_semantics_with_parameter() .Select(e => e.Id).ToList(); } - [ConditionalFact] + [Fact] public virtual void Where_equal_using_relational_null_semantics_complex_with_parameter() { using var context = CreateContext(useRelationalNulls: true); @@ -882,7 +882,7 @@ public virtual void Where_equal_using_relational_null_semantics_complex_with_par .Select(e => e.Id).ToList(); } - [ConditionalFact] + [Fact] public virtual void Where_not_equal_using_relational_null_semantics() { using var context = CreateContext(useRelationalNulls: true); @@ -891,7 +891,7 @@ public virtual void Where_not_equal_using_relational_null_semantics() .Select(e => e.Id).ToList(); } - [ConditionalFact] + [Fact] public virtual void Where_not_equal_using_relational_null_semantics_with_parameter() { using var context = CreateContext(useRelationalNulls: true); @@ -901,7 +901,7 @@ public virtual void Where_not_equal_using_relational_null_semantics_with_paramet .Select(e => e.Id).ToList(); } - [ConditionalFact] + [Fact] public virtual void Where_not_equal_using_relational_null_semantics_complex_with_parameter() { using var context = CreateContext(useRelationalNulls: true); @@ -911,7 +911,7 @@ public virtual void Where_not_equal_using_relational_null_semantics_complex_with .Select(e => e.Id).ToList(); } - [ConditionalFact] + [Fact] public virtual void Where_not_equal_using_relational_null_semantics_complex_in_equals() { using var context = CreateContext(useRelationalNulls: true); @@ -922,7 +922,7 @@ public virtual void Where_not_equal_using_relational_null_semantics_complex_in_e Assert.Equal(l.OrderBy(e => e), [1, 5, 11, 13]); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_comparison_null_constant_and_null_parameter(bool async) { string prm = null; @@ -931,7 +931,7 @@ public virtual async Task Where_comparison_null_constant_and_null_parameter(bool await AssertQueryScalar(async, ss => ss.Set().Where(e => prm != null).Select(e => e.Id), assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_comparison_null_constant_and_nonnull_parameter(bool async) { var prm = "Foo"; @@ -940,7 +940,7 @@ public virtual async Task Where_comparison_null_constant_and_nonnull_parameter(b await AssertQueryScalar(async, ss => ss.Set().Where(e => null != prm).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_comparison_nonnull_constant_and_null_parameter(bool async) { string prm = null; @@ -949,7 +949,7 @@ public virtual async Task Where_comparison_nonnull_constant_and_null_parameter(b await AssertQueryScalar(async, ss => ss.Set().Where(e => "Foo" != prm).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_comparison_null_semantics_optimization_works_with_complex_predicates(bool async) { string prm = null; @@ -958,7 +958,7 @@ public virtual Task Where_comparison_null_semantics_optimization_works_with_comp async, ss => ss.Set().Where(e => null == prm && e.NullableStringA == prm).Select(e => e.Id)); } - [ConditionalFact] + [Fact] public virtual void Switching_null_semantics_produces_different_cache_entry() { List results1, results2; @@ -983,7 +983,7 @@ public virtual void Switching_null_semantics_produces_different_cache_entry() Assert.True(results1.Count != results2.Count); } - [ConditionalFact] + [Fact] public virtual void Switching_parameter_value_to_null_produces_different_cache_entry() { using var context = CreateContext(); @@ -1001,7 +1001,7 @@ public virtual void Switching_parameter_value_to_null_produces_different_cache_e Assert.True(results1.Count != results2.Count); } - [ConditionalFact] + [Fact] public virtual void From_sql_composed_with_relational_null_comparison() { using var context = CreateContext(useRelationalNulls: true); @@ -1013,7 +1013,7 @@ public virtual void From_sql_composed_with_relational_null_comparison() Assert.Equal(15, actual.Length); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_nullable_bool_with_coalesce(bool async) => AssertQuery( async, @@ -1025,7 +1025,7 @@ public virtual Task Projecting_nullable_bool_with_coalesce(bool async) Assert.Equal(e.Coalesce, a.Coalesce); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Projecting_nullable_bool_with_coalesce_nested(bool async) { await AssertQuery( @@ -1049,7 +1049,7 @@ await AssertQuery( }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Null_semantics_applied_when_comparing_function_with_nullable_argument_to_a_nullable_column(bool async) { await AssertQueryScalar( @@ -1071,7 +1071,7 @@ await AssertQueryScalar( || (e.NullableStringA != null && e.NullableStringA.IndexOf("oo") != e.NullableIntB)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_IndexOf_empty(bool async) => AssertQueryScalar( async, @@ -1079,7 +1079,7 @@ public virtual Task Where_IndexOf_empty(bool async) ss => ss.Set().Where(e => 0 == e.NullableIntA || (e.NullableStringA == null && e.NullableIntA == null)) .Select(e => e.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_IndexOf(bool async) => AssertQueryScalar( async, @@ -1087,7 +1087,7 @@ public virtual Task Select_IndexOf(bool async) ss => ss.Set().OrderBy(e => e.Id).Select(e => e.NullableStringA.MaybeScalar(x => x.IndexOf("oo"))), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Null_semantics_applied_when_comparing_two_functions_with_nullable_arguments(bool async) { await AssertQueryScalar( @@ -1112,7 +1112,7 @@ await AssertQueryScalar( != e.NullableStringA.MaybeScalar(x => x.IndexOf("ar"))).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Null_semantics_applied_when_comparing_two_functions_with_multiple_nullable_arguments(bool async) { await AssertQueryScalar( @@ -1138,7 +1138,7 @@ await AssertQueryScalar( && e.NullableStringA.Replace(e.NullableStringB, e.NullableStringC) != e.NullableStringA)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Null_semantics_coalesce(bool async) { await AssertQueryScalar( @@ -1153,7 +1153,7 @@ await AssertQueryScalar( ss => ss.Set().Where(e => (e.NullableBoolB ?? e.NullableBoolC) != e.NullableBoolA).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Null_semantics_conditional(bool async) { await AssertQueryScalar( @@ -1179,7 +1179,7 @@ await AssertQueryScalar( ); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Null_semantics_function(bool async) => AssertQueryScalar( async, @@ -1188,7 +1188,7 @@ public virtual Task Null_semantics_function(bool async) ss => ss.Set().Where(e => e.NullableStringA.Maybe(x => x.Substring(0, e.IntA)) != e.NullableStringB) .Select(e => e.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Null_semantics_join_with_composite_key(bool async) => AssertQuery( async, @@ -1214,7 +1214,7 @@ join e2 in ss.Set() AssertEqual(e.e2, a.e2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Null_semantics_contains(bool async) { var ids = new List { 1, 2 }; @@ -1254,7 +1254,7 @@ await AssertQueryScalar( }.Contains(e.NullableIntA)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Null_semantics_contains_array_with_no_values(bool async) { var ids = new List(); @@ -1295,7 +1295,7 @@ await AssertQueryScalar( #region Contains with subquery - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Null_semantics_contains_non_nullable_item_with_non_nullable_subquery(bool async) { await AssertQueryScalar( @@ -1312,7 +1312,7 @@ await AssertQueryScalar( assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Null_semantics_contains_nullable_item_with_non_nullable_subquery(bool async) { await AssertQueryScalar( @@ -1328,7 +1328,7 @@ await AssertQueryScalar( .Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Null_semantics_contains_non_nullable_item_with_nullable_subquery(bool async) { await AssertQueryScalar( @@ -1345,7 +1345,7 @@ await AssertQueryScalar( assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Null_semantics_contains_nullable_item_with_nullable_subquery(bool async) { await AssertQueryScalar( @@ -1368,7 +1368,7 @@ await AssertQueryScalar( #region Contains with inline collection - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Null_semantics_contains_with_non_nullable_item_and_inline_non_nullable_values(bool async) { await AssertQueryScalar( @@ -1379,7 +1379,7 @@ await AssertQueryScalar( .Where(e => !new[] { 1, 2 }.Contains(e.IntA)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Null_semantics_contains_with_non_nullable_item_and_inline_values_with_null(bool async) { await AssertQueryScalar( @@ -1390,7 +1390,7 @@ await AssertQueryScalar( .Where(e => !new int?[] { 1, 2, null }.Contains(e.IntA)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Null_semantics_contains_with_non_nullable_item_and_inline_values_with_nullable_column(bool async) { await AssertQueryScalar( @@ -1401,7 +1401,7 @@ await AssertQueryScalar( .Where(e => !new[] { 1, 2, e.NullableIntB }.Contains(e.IntA)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Null_semantics_contains_with_non_nullable_item_and_inline_values_with_nullable_column_and_null(bool async) { await AssertQueryScalar( @@ -1412,7 +1412,7 @@ await AssertQueryScalar( .Where(e => !new[] { 1, 2, e.NullableIntB, null }.Contains(e.IntA)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Null_semantics_contains_with_nullable_item_and_inline_non_nullable_values(bool async) { await AssertQueryScalar( @@ -1423,7 +1423,7 @@ await AssertQueryScalar( .Where(e => !new int?[] { 1, 2 }.Contains(e.NullableIntA)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Null_semantics_contains_with_nullable_item_and_inline_values_with_null(bool async) { await AssertQueryScalar( @@ -1434,7 +1434,7 @@ await AssertQueryScalar( .Where(e => !new int?[] { 1, 2, null }.Contains(e.NullableIntA)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Null_semantics_contains_with_nullable_item_and_inline_values_with_nullable_column(bool async) { await AssertQueryScalar( @@ -1445,7 +1445,7 @@ await AssertQueryScalar( .Where(e => !new[] { 1, 2, e.NullableIntB }.Contains(e.NullableIntA)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Null_semantics_contains_with_nullable_item_and_values_with_nullable_column_and_null(bool async) { await AssertQueryScalar( @@ -1456,7 +1456,7 @@ await AssertQueryScalar( .Where(e => !new[] { 1, 2, e.NullableIntB, null }.Contains(e.NullableIntA)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Null_semantics_contains_with_non_nullable_item_and_one_value(bool async) { await AssertQueryScalar( @@ -1485,7 +1485,7 @@ await AssertQueryScalar( ss => ss.Set().Where(e => !new[] { e.NullableIntB }.Contains(e.IntA)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Null_semantics_contains_with_nullable_item_and_one_value(bool async) { await AssertQueryScalar( @@ -1512,7 +1512,7 @@ await AssertQueryScalar( #endregion Contains with inline collection - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Null_semantics_contains_non_nullable_item_with_values(bool async) { var ids = new List @@ -1542,7 +1542,7 @@ await AssertQueryScalar( await AssertQueryScalar(async, ss => ss.Set().Where(e => !ids4.Contains(e.IntA)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Null_semantics_with_null_check_simple(bool async) { await AssertQueryScalar( @@ -1570,7 +1570,7 @@ await AssertQueryScalar( .Where(e => e.NullableIntA != null && e.NullableIntB != null && e.NullableIntA != e.NullableIntB).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Null_semantics_with_null_check_complex(bool async) { await AssertQueryScalar( @@ -1592,7 +1592,7 @@ await AssertQueryScalar( .Where(e => (e.NullableIntA != null || e.NullableIntB != null) && e.NullableIntA == e.NullableIntC).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Null_semantics_with_null_check_complex2(bool async) { await AssertQueryScalar( @@ -1614,7 +1614,7 @@ await AssertQueryScalar( || (e.NullableBoolB != e.BoolB)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task IsNull_on_complex_expression(bool async) { await AssertQueryScalar(async, ss => ss.Set().Where(e => -e.NullableIntA != null).Select(e => e.Id)); @@ -1626,11 +1626,11 @@ await AssertQueryScalar( async, ss => ss.Set().Where(e => (e.NullableIntA ?? e.NullableIntB) != null).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Coalesce_not_equal(bool async) => AssertQueryScalar(async, ss => ss.Set().Where(e => (e.NullableIntA ?? 0) != 0).Select(e => e.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Negated_order_comparison_on_non_nullable_arguments_gets_optimized(bool async) { var i = 1; @@ -1641,7 +1641,7 @@ public virtual async Task Negated_order_comparison_on_non_nullable_arguments_get await AssertQueryScalar(async, ss => ss.Set().Where(e => !(e.IntA <= i)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Negated_order_comparison_on_nullable_arguments_doesnt_get_optimized(bool async) { var i = 1; @@ -1652,7 +1652,7 @@ public virtual async Task Negated_order_comparison_on_nullable_arguments_doesnt_ await AssertQueryScalar(async, ss => ss.Set().Where(e => !(e.NullableIntA <= i)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nullable_column_info_propagates_inside_binary_AndAlso(bool async) => AssertQueryScalar( async, @@ -1660,7 +1660,7 @@ public virtual Task Nullable_column_info_propagates_inside_binary_AndAlso(bool a .Where(e => e.NullableStringA != null && e.NullableStringB != null && e.NullableStringA != e.NullableStringB) .Select(e => e.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nullable_column_info_doesnt_propagate_inside_binary_OrElse(bool async) => AssertQueryScalar( async, @@ -1668,7 +1668,7 @@ public virtual Task Nullable_column_info_doesnt_propagate_inside_binary_OrElse(b => (e.NullableStringA != null || e.NullableStringB != null) && e.NullableStringA != e.NullableStringB) .Select(e => e.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Nullable_column_info_propagates_inside_binary_OrElse_when_info_is_duplicated(bool async) { await AssertQueryScalar( @@ -1684,13 +1684,13 @@ await AssertQueryScalar( && e.NullableStringA != e.NullableStringB).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nullable_column_info_propagates_inside_conditional(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(e => e.NullableStringA != null ? e.NullableStringA != e.StringA : e.BoolA)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nullable_column_info_doesnt_propagate_between_projections(bool async) => AssertQuery( async, @@ -1698,7 +1698,7 @@ public virtual Task Nullable_column_info_doesnt_propagate_between_projections(bo .Select(e => new { Foo = e.NullableStringA != null, Bar = e.NullableStringA != e.StringA }), elementSorter: e => (e.Foo, e.Bar)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nullable_column_info_doesnt_propagate_between_different_parts_of_select(bool async) => AssertQueryScalar( async, @@ -1707,7 +1707,7 @@ join e2 in ss.Set() on e1.NullableBoolA != null equals fal where e1.NullableBoolA != e2.NullableBoolB select e1.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nullable_column_info_propagation_complex(bool async) => AssertQueryScalar( async, @@ -1716,7 +1716,7 @@ public virtual Task Nullable_column_info_propagation_complex(bool async) && ((e.NullableStringA != null || e.NullableBoolC != null) && e.NullableBoolB != e.NullableBoolC)).Select(e => e.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task String_concat_with_both_arguments_being_null(bool async) { var prm = default(string); @@ -1733,7 +1733,7 @@ public virtual async Task String_concat_with_both_arguments_being_null(bool asyn await AssertQuery(async, ss => ss.Set().Select(x => x.NullableStringB + x.NullableStringA)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Empty_subquery_with_contains_returns_false(bool async) => AssertQuery( async, @@ -1741,14 +1741,14 @@ public virtual Task Empty_subquery_with_contains_returns_false(bool async) => ss.Set().Where(x => false).Select(x => x.NullableIntA).Contains(e.NullableIntA)), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Empty_subquery_with_contains_negated_returns_true(bool async) => AssertQuery( async, ss => ss.Set().Where(e => !ss.Set().Where(x => false).Select(x => x.NullableIntA).Contains(e.NullableIntA))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nullable_string_FirstOrDefault_compared_to_nullable_string_LastOrDefault(bool async) => AssertQuery( async, @@ -1756,7 +1756,7 @@ public virtual Task Nullable_string_FirstOrDefault_compared_to_nullable_string_L ss => ss.Set().Where(e => e.NullableStringA.MaybeScalar(x => x.FirstOrDefault()) == e.NullableStringB.MaybeScalar(x => x.LastOrDefault()))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Null_semantics_applied_to_CompareTo_equality(bool async) { await AssertQuery( @@ -1780,7 +1780,7 @@ await AssertQuery( ss => ss.Set().Where(e => e.NullableStringA != e.NullableStringB)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Nested_CompareTo_optimized(bool async) { await AssertQuery( @@ -1804,7 +1804,7 @@ await AssertQuery( ss => ss.Set().Where(e => e.NullableStringA != e.NullableStringB)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task CaseWhen_equal_to_second_filter(bool async) => AssertQuery( async, @@ -1817,7 +1817,7 @@ public virtual Task CaseWhen_equal_to_second_filter(bool async) == 2) ); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task CaseWhen_equal_to_first_or_third_filter(bool async) => AssertQuery( async, @@ -1830,7 +1830,7 @@ public virtual Task CaseWhen_equal_to_first_or_third_filter(bool async) == 3) ); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task CaseWhen_equal_to_second_select(bool async) => AssertQuery( async, @@ -1845,7 +1845,7 @@ public virtual Task CaseWhen_equal_to_second_select(bool async) assertOrder: true ); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task CaseWhen_equal_to_first_or_third_select(bool async) => AssertQuery( async, @@ -1859,7 +1859,7 @@ public virtual Task CaseWhen_equal_to_first_or_third_select(bool async) == 3), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task CaseOpWhen_projection(bool async) => AssertQuery( async, @@ -1869,7 +1869,7 @@ public virtual Task CaseOpWhen_projection(bool async) x.StringA == "Foo", 3, 2)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task CaseOpWhen_predicate(bool async) => AssertQuery( async, @@ -1881,19 +1881,19 @@ public virtual Task CaseOpWhen_predicate(bool async) assertOrder: true ); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task False_compared_to_negated_is_null(bool async) => AssertQuery( async, ss => ss.Set().Where(e => false == (!(e.NullableStringA == null)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_non_equality_comparisons_with_null_in_the_middle(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.NullableIntA != 1 && e.NullableIntA != null && e.NullableIntA != 2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Bool_equal_nullable_bool_HasValue(bool async) { await AssertQuery( @@ -1910,7 +1910,7 @@ await AssertQuery( ss => ss.Set().Where(e => e.BoolB == e.NullableBoolA.HasValue)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Bool_equal_nullable_bool_compared_to_null(bool async) { await AssertQuery( @@ -1923,7 +1923,7 @@ await AssertQuery( ss => ss.Set().Where(e => prm == (e.NullableBoolA != null))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Bool_not_equal_nullable_bool_HasValue(bool async) { await AssertQuery( @@ -1940,7 +1940,7 @@ await AssertQuery( ss => ss.Set().Where(e => e.BoolB != e.NullableBoolA.HasValue)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Bool_not_equal_nullable_int_HasValue(bool async) { await AssertQuery( @@ -1957,7 +1957,7 @@ await AssertQuery( ss => ss.Set().Where(e => e.BoolB != e.NullableIntA.HasValue)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Bool_not_equal_nullable_bool_compared_to_null(bool async) { await AssertQuery( @@ -1970,7 +1970,7 @@ await AssertQuery( ss => ss.Set().Where(e => prm != (e.NullableBoolA != null))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Bool_logical_operation_with_nullable_bool_HasValue(bool async) { await AssertQuery( @@ -1988,7 +1988,7 @@ await AssertQuery( ss => ss.Set().Where(e => e.BoolB | e.NullableBoolA.HasValue)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Comparison_compared_to_null_check_on_bool(bool async) { await AssertQuery( @@ -2000,7 +2000,7 @@ await AssertQuery( ss => ss.Set().Where(e => (e.IntA != e.IntB) == (e.NullableBoolA != null))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Multiple_non_equality_comparisons_including_null_comparison_work_for_relational_null_semantics(bool async) { var ctx = CreateContext(useRelationalNulls: true); @@ -2013,7 +2013,7 @@ public virtual async Task Multiple_non_equality_comparisons_including_null_compa Assert.Equal(expected.Count, result.Count); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Multiple_non_equality_comparisons_without_null_comparison_work_for_relational_null_semantics(bool async) { var ctx = CreateContext(useRelationalNulls: true); @@ -2027,7 +2027,7 @@ public virtual async Task Multiple_non_equality_comparisons_without_null_compari Assert.Equal(expected.Count, result.Count); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Multiple_equality_comparisons_including_null_comparison_work_for_relational_null_semantics(bool async) { var ctx = CreateContext(useRelationalNulls: true); @@ -2040,7 +2040,7 @@ public virtual async Task Multiple_equality_comparisons_including_null_compariso Assert.Equal(expected.Count, result.Count); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Multiple_contains_calls_get_combined_into_one_for_relational_null_semantics(bool async) { var ctx = CreateContext(useRelationalNulls: true); @@ -2055,7 +2055,7 @@ public virtual async Task Multiple_contains_calls_get_combined_into_one_for_rela Assert.Equal(expected.Count, result.Count); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Multiple_negated_contains_calls_get_combined_into_one_for_relational_null_semantics(bool async) { var ctx = CreateContext(useRelationalNulls: true); @@ -2066,7 +2066,7 @@ public virtual async Task Multiple_negated_contains_calls_get_combined_into_one_ Assert.Empty(result); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Contains_with_comparison_dont_get_combined_for_relational_null_semantics(bool async) { var ctx = CreateContext(useRelationalNulls: true); @@ -2081,7 +2081,7 @@ public virtual async Task Contains_with_comparison_dont_get_combined_for_relatio Assert.Equal(expected.Count, result.Count); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Negated_contains_with_comparison_dont_get_combined_for_relational_null_semantics(bool async) { var ctx = CreateContext(useRelationalNulls: true); @@ -2096,7 +2096,7 @@ public virtual async Task Negated_contains_with_comparison_dont_get_combined_for Assert.Equal(expected.Count, result.Count); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Negated_contains_with_comparison_without_null_get_combined_for_relational_null_semantics(bool async) { var ctx = CreateContext(useRelationalNulls: true); @@ -2110,19 +2110,19 @@ public virtual async Task Negated_contains_with_comparison_without_null_get_comb Assert.Equal(expected.Count, result.Count); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Is_null_on_column_followed_by_OrElse_optimizes_nullability_simple(bool async) => AssertQuery( async, ss => ss.Set().Where(x => !(x.NullableStringA == null || x.NullableStringA != "Foo"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Is_null_on_column_followed_by_OrElse_optimizes_nullability_negative(bool async) => AssertQuery( async, ss => ss.Set().Where(x => !(x.NullableStringA == null && x.NullableStringA != "Foo"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Is_null_on_column_followed_by_OrElse_optimizes_nullability_nested(bool async) => AssertQuery( async, @@ -2130,7 +2130,7 @@ public virtual Task Is_null_on_column_followed_by_OrElse_optimizes_nullability_n || x.NullableStringB == null || x.NullableStringA != x.NullableStringB)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Is_null_on_column_followed_by_OrElse_optimizes_nullability_intersection(bool async) => AssertQuery( async, @@ -2138,7 +2138,7 @@ public virtual Task Is_null_on_column_followed_by_OrElse_optimizes_nullability_i && (x.StringA == "Foo" || x.NullableStringA == null || x.NullableStringB == null)) || x.NullableStringA != x.NullableStringB)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Is_null_on_column_followed_by_OrElse_optimizes_nullability_conditional(bool async) => AssertQuery( async, @@ -2146,7 +2146,7 @@ public virtual Task Is_null_on_column_followed_by_OrElse_optimizes_nullability_c ? x.NullableStringA != x.NullableStringB : x.NullableStringA != x.NullableStringC)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Is_null_on_column_followed_by_OrElse_optimizes_nullability_conditional_multiple(bool async) => AssertQuery( async, @@ -2154,7 +2154,7 @@ public virtual Task Is_null_on_column_followed_by_OrElse_optimizes_nullability_c ? x.NullableStringA == x.NullableStringB : x.NullableStringA != x.NullableStringB)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Is_null_on_column_followed_by_OrElse_optimizes_nullability_conditional_negative(bool async) => AssertQuery( async, @@ -2163,7 +2163,7 @@ public virtual Task Is_null_on_column_followed_by_OrElse_optimizes_nullability_c ? x.NullableStringA == x.NullableStringB : x.NullableStringA != x.NullableStringB)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Is_null_on_column_followed_by_OrElse_optimizes_nullability_conditional_with_setup(bool async) => AssertQuery( async, @@ -2172,7 +2172,7 @@ public virtual Task Is_null_on_column_followed_by_OrElse_optimizes_nullability_c ? x.NullableBoolB != x.NullableBoolA : x.NullableBoolA != x.NullableBoolB))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Is_null_on_column_followed_by_OrElse_optimizes_nullability_conditional_nested(bool async) => AssertQuery( async, @@ -2182,20 +2182,20 @@ public virtual Task Is_null_on_column_followed_by_OrElse_optimizes_nullability_c ? x.NullableBoolA != x.NullableBoolC : x.NullableBoolC != x.NullableBoolA))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_function_is_always_considered_non_nullable(bool async) => AssertQuery( async, ss => ss.Set().GroupBy(e => e.NullableIntA) .Select(g => new { g.Key, Sum = g.Sum(x => x.IntA) != g.Key })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nullability_is_computed_correctly_for_chained_coalesce(bool async) => AssertQuery( async, ss => ss.Set().Where(e => (e.NullableIntA ?? e.NullableIntB ?? e.IntC) != e.NullableIntC)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Nullability_check_is_computed_correctly_for_chained_coalesce(bool async) { await AssertQueryScalar( @@ -2209,13 +2209,13 @@ await AssertQueryScalar( .Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Coalesce_on_self_gets_simplified(bool async) => AssertQuery( async, ss => ss.Set().Select(e => e.NullableStringA ?? e.NullableStringA)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Coalesce_deeply_nested(bool async) => AssertQueryScalar( async, @@ -2224,7 +2224,7 @@ join e2 in ss.Set() on e1.Id equals e2.Id select (e1.NullableIntA ?? (e1.NullableIntB ?? (e2.NullableIntC ?? e2.NullableIntB))) ?? e1.NullableIntC ?? (e2.NullableIntA ?? e2.NullableIntC ?? e1.NullableIntA)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Like(bool async) { await AssertQueryScalar( @@ -2248,7 +2248,7 @@ await AssertQueryScalar( ss => ss.Set().Where(e => LikeLite(e.NullableStringA, e.NullableStringB)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Like_negated(bool async) { await AssertQueryScalar( @@ -2272,7 +2272,7 @@ await AssertQueryScalar( ss => ss.Set().Where(e => !LikeLite(e.NullableStringA, e.NullableStringB)).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Like_with_escape_char(bool async) { await AssertQueryScalar( @@ -2297,7 +2297,7 @@ await AssertQueryScalar( ss => ss.Set().Where(e => true).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Compare_constant_true_to_expression_which_evaluates_to_null(bool async) { var prm = default(bool?); diff --git a/test/EFCore.Relational.Specification.Tests/Query/OperatorsProceduralQueryTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/OperatorsProceduralQueryTestBase.cs index 17b5d862bb8..b52cde1a824 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/OperatorsProceduralQueryTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/OperatorsProceduralQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.Operators; @@ -143,7 +143,7 @@ protected virtual async Task SeedAsync(OperatorsContext ctx) await ctx.SaveChangesAsync(); } - //[ConditionalFact] + //[Fact] public virtual async Task Procedural_predicate_test_six_sources_three_pairs() { var maxDepth = 7; @@ -189,7 +189,7 @@ public virtual async Task Procedural_predicate_test_six_sources_three_pairs() } } - //[ConditionalFact] + //[Fact] public virtual async Task Procedural_projection_test_six_sources_two_trios() { var maxDepth = 7; diff --git a/test/EFCore.Relational.Specification.Tests/Query/OperatorsQueryTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/OperatorsQueryTestBase.cs index 33e16d5e048..3999f832f82 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/OperatorsQueryTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/OperatorsQueryTestBase.cs @@ -26,7 +26,7 @@ protected virtual Task Seed(OperatorsContext ctx) return ctx.SaveChangesAsync(); } - [ConditionalFact] + [Fact] public virtual async Task Bitwise_and_on_expression_with_like_and_null_check_being_compared_to_false() { var contextFactory = await InitializeNonSharedTest(seed: Seed); @@ -65,7 +65,7 @@ from o3 in context.Set() } } - [ConditionalFact] + [Fact] public virtual async Task Complex_predicate_with_bitwise_and_modulo_and_negation() { var contextFactory = await InitializeNonSharedTest(seed: Seed); @@ -111,7 +111,7 @@ from e3 in context.Set() } } - [ConditionalFact] + [Fact] public virtual async Task Complex_predicate_with_bitwise_and_arithmetic_operations() { var contextFactory = await InitializeNonSharedTest(seed: Seed); @@ -150,7 +150,7 @@ from e2 in context.Set() } } - [ConditionalFact] + [Fact] public virtual async Task Or_on_two_nested_binaries_and_another_simple_comparison() { var contextFactory = await InitializeNonSharedTest(seed: Seed); @@ -199,7 +199,7 @@ from e5 in context.Set() } } - [ConditionalFact] + [Fact] public virtual async Task Projection_with_not_and_negation_on_integer() { var contextFactory = await InitializeNonSharedTest(seed: Seed); @@ -224,7 +224,7 @@ from e5 in context.Set() } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Negate_on_column(bool async) { var contextFactory = await InitializeNonSharedTest(seed: Seed); @@ -245,7 +245,7 @@ public virtual async Task Negate_on_column(bool async) } } - [ConditionalFact] + [Fact] public virtual async Task Double_negate_on_column() { var contextFactory = await InitializeNonSharedTest(seed: Seed); @@ -266,7 +266,7 @@ public virtual async Task Double_negate_on_column() } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Negate_on_binary_expression(bool async) { var contextFactory = await InitializeNonSharedTest(seed: Seed); @@ -290,7 +290,7 @@ from e2 in context.Set() } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Negate_on_like_expression(bool async) { var contextFactory = await InitializeNonSharedTest(seed: Seed); @@ -312,7 +312,7 @@ public virtual async Task Negate_on_like_expression(bool async) } #pragma warning disable EF8001 // Owned JSON entities are obsolete - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Concat_and_json_scalar(bool async) { var contextFactory = await InitializeNonSharedTest( diff --git a/test/EFCore.Relational.Specification.Tests/Query/OptionalDependentQueryTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/OptionalDependentQueryTestBase.cs index 0b45500800c..09a04d14b43 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/OptionalDependentQueryTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/OptionalDependentQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.OptionalDependent; @@ -10,61 +10,61 @@ namespace Microsoft.EntityFrameworkCore.Query; public abstract class OptionalDependentQueryTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : OptionalDependentQueryFixtureBase, new() { - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Basic_projection_entity_with_all_optional(bool async) => AssertQuery( async, ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Basic_projection_entity_with_some_required(bool async) => AssertQuery( async, ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_optional_dependent_with_all_optional_compared_to_null(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Json == null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_optional_dependent_with_all_optional_compared_to_not_null(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Json != null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_optional_dependent_with_some_required_compared_to_null(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Json == null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_optional_dependent_with_some_required_compared_to_not_null(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Json != null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_nested_optional_dependent_with_all_optional_compared_to_null(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Json.OpNav1 == null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_nested_optional_dependent_with_all_optional_compared_to_not_null(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Json.OpNav2 != null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_nested_optional_dependent_with_some_required_compared_to_null(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Json.ReqNav1 == null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_nested_optional_dependent_with_some_required_compared_to_not_null(bool async) => AssertQuery( async, diff --git a/test/EFCore.Relational.Specification.Tests/Query/OwnedEntityQueryRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/OwnedEntityQueryRelationalTestBase.cs index 2eab60616fe..ef8b9af7f9d 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/OwnedEntityQueryRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/OwnedEntityQueryRelationalTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -18,7 +18,7 @@ protected void AssertSql(params string[] expected) #region 23198 - [ConditionalFact] + [Fact] public virtual async Task An_optional_dependent_without_any_columns_and_nested_dependent_throws() { var message = (await Assert.ThrowsAsync(() => InitializeNonSharedTest())).Message; @@ -67,7 +67,7 @@ public class AnOwnedTypeWithPrimitiveProperties2 #region 24777 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Multiple_owned_reference_mapped_to_own_table_containing_owned_collection_in_split_query(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -176,7 +176,7 @@ public class Leaf #region 25680 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Owned_collection_basic_split_query(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -228,7 +228,7 @@ protected class PublishTokenType25680 #region 26592 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Owned_reference_mapped_to_different_table_updated_correctly_after_subquery_pushdown(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -237,7 +237,7 @@ public virtual async Task Owned_reference_mapped_to_different_table_updated_corr await base.Owned_references_on_same_level_expanded_at_different_times_around_take_helper(context, async); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Owned_reference_mapped_to_different_table_nested_updated_correctly_after_subquery_pushdown(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -273,7 +273,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) #region 28347 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Owned_entity_with_all_null_properties_materializes_when_not_containing_another_owned_entity(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -304,7 +304,7 @@ public virtual async Task Owned_entity_with_all_null_properties_materializes_whe }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Owned_entity_with_all_null_properties_entity_equality_when_not_containing_another_owned_entity(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -325,7 +325,7 @@ public virtual async Task Owned_entity_with_all_null_properties_entity_equality_ }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Owned_entity_with_all_null_properties_in_compared_to_null_in_conditional_projection(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -355,7 +355,7 @@ public virtual async Task Owned_entity_with_all_null_properties_in_compared_to_n }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Owned_entity_with_all_null_properties_in_compared_to_non_null_in_conditional_projection(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -385,7 +385,7 @@ public virtual async Task Owned_entity_with_all_null_properties_in_compared_to_n }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Owned_entity_with_all_null_properties_property_access_when_not_containing_another_owned_entity(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -474,7 +474,7 @@ public class Rut #region 30358 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Join_selects_with_duplicating_aliases_and_owned_expansion_uniquifies_correctly(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -558,7 +558,7 @@ public class MagicTool #region 31107 - [ConditionalFact] + [Fact] public async Task Can_have_required_owned_type_on_derived_type() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); diff --git a/test/EFCore.Relational.Specification.Tests/Query/OwnedQueryRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/OwnedQueryRelationalTestBase.cs index 9a937f0e76e..da0a2dc170c 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/OwnedQueryRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/OwnedQueryRelationalTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -28,19 +28,19 @@ public override Task Skip_Take_over_owned_collection(bool async) public override Task FirstOrDefault_over_owned_collection(bool async) => Task.CompletedTask; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Query_for_base_type_loads_all_owned_navs_split(bool async) => AssertQuery( async, ss => ss.Set().AsSplitQuery()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Query_for_branch_type_loads_all_owned_navs_split(bool async) => AssertQuery( async, ss => ss.Set().AsSplitQuery()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Query_when_subquery_split(bool async) => AssertQuery( async, @@ -51,7 +51,7 @@ public virtual Task Query_when_subquery_split(bool async) assertOrder: true, elementAsserter: (e, a) => AssertEqual(e.op, a.op)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_multiple_owned_navigations_split(bool async) => AssertQuery( async, @@ -70,7 +70,7 @@ public virtual Task Project_multiple_owned_navigations_split(bool async) AssertEqual(e.Planet, a.Planet); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_collection_split(bool async) => AssertQuery( async, @@ -78,25 +78,25 @@ public virtual Task Navigation_rewrite_on_owned_reference_followed_by_regular_en assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Query_with_OfType_eagerly_loads_correct_owned_navigations_split(bool async) => AssertQuery( async, ss => ss.Set().OfType().AsSplitQuery()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Unmapped_property_projection_loads_owned_navigations_split(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.Id == 1).AsTracking().Select(e => new { e.ReadOnlyProperty }).AsSplitQuery()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_query_on_indexer_properties_split(bool async) => AssertQuery( async, ss => ss.Set().Where(c => (string)c["Name"] == "Mona Cy").AsSplitQuery()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Using_from_sql_on_owner_generates_join_with_table_for_owned_shared_dependents(bool async) { using var context = CreateContext(); diff --git a/test/EFCore.Relational.Specification.Tests/Query/PrecompiledQueryRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/PrecompiledQueryRelationalTestBase.cs index 830f1fbadfa..30e92880bef 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/PrecompiledQueryRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/PrecompiledQueryRelationalTestBase.cs @@ -30,7 +30,7 @@ public PrecompiledQueryRelationalTestBase(PrecompiledQueryRelationalFixture fixt #region Expression types - [ConditionalFact] + [Fact] public virtual Task BinaryExpression() => Test( """ @@ -59,7 +59,7 @@ public virtual Task BinaryExpression() Assert.Equal(new DateTime(2002, 2, 2), blog2.Json[1].Inner.Date); """); - [ConditionalFact] + [Fact] public virtual Task Conditional_no_evaluatable() => Test( """ @@ -67,7 +67,7 @@ public virtual Task Conditional_no_evaluatable() var blogs = await context.Blogs.Select(b => b.Id == 2 ? "yes" : "no").ToListAsync(); """); - [ConditionalFact] + [Fact] public virtual Task Conditional_contains_captured_variable() => Test( """ @@ -77,7 +77,7 @@ public virtual Task Conditional_contains_captured_variable() // We do not support embedding Expression builder API calls into the query; this would require CSharpToLinqTranslator to actually // evaluate those APIs and embed the results into the tree. It's (at least potentially) a form of dynamic query, unsupported for now. - [ConditionalFact] + [Fact] public virtual Task Invoke_no_evaluatability_is_not_supported() => Test( """ @@ -90,11 +90,11 @@ public virtual Task Invoke_no_evaluatability_is_not_supported() """, errorAsserter: errors => Assert.IsType(errors.Single().Exception)); - [ConditionalFact] + [Fact] public virtual Task ListInit_no_evaluatability() => Test("_ = await context.Blogs.Select(b => new List { b.Id, b.Id + 1 }).ToListAsync();"); - [ConditionalFact] + [Fact] public virtual Task ListInit_with_evaluatable_with_captured_variable() => Test( """ @@ -102,7 +102,7 @@ public virtual Task ListInit_with_evaluatable_with_captured_variable() _ = await context.Blogs.Select(b => new List { b.Id, i }).ToListAsync(); """); - [ConditionalFact] + [Fact] public virtual Task ListInit_with_evaluatable_without_captured_variable() => Test( """ @@ -110,7 +110,7 @@ public virtual Task ListInit_with_evaluatable_without_captured_variable() _ = await context.Blogs.Select(b => new List { b.Id, 8 }).ToListAsync(); """); - [ConditionalFact] + [Fact] public virtual Task ListInit_fully_evaluatable() => Test( """ @@ -118,11 +118,11 @@ public virtual Task ListInit_fully_evaluatable() Assert.Equal("Blog1", blog.Name); """); - [ConditionalFact] + [Fact] public virtual Task MethodCallExpression_no_evaluatability() => Test("_ = await context.Blogs.Where(b => b.Name.StartsWith(b.Name)).ToListAsync();"); - [ConditionalFact] + [Fact] public virtual Task MethodCallExpression_with_evaluatable_with_captured_variable() => Test( """ @@ -130,15 +130,15 @@ public virtual Task MethodCallExpression_with_evaluatable_with_captured_variable _ = await context.Blogs.Where(b => b.Name.StartsWith(pattern)).ToListAsync(); """); - [ConditionalFact] + [Fact] public virtual Task MethodCallExpression_with_evaluatable_without_captured_variable() => Test("""_ = await context.Blogs.Where(b => b.Name.StartsWith("foo")).ToListAsync();"""); - [ConditionalFact] + [Fact] public virtual Task MethodCallExpression_fully_evaluatable() => Test("""_ = await context.Blogs.Where(b => "foobar".StartsWith("foo")).ToListAsync();"""); - [ConditionalFact] + [Fact] public virtual Task New_with_no_arguments() => Test( """ @@ -146,7 +146,7 @@ public virtual Task New_with_no_arguments() _ = await context.Blogs.Where(b => b == new Blog()).ToListAsync(); """); - [ConditionalFact] + [Fact] public virtual Task Where_New_with_captured_variable() => Test( """ @@ -155,7 +155,7 @@ public virtual Task Where_New_with_captured_variable() """, errorAsserter: errors => Assert.StartsWith("Translation of", errors.Single().Exception.Message)); - [ConditionalFact] + [Fact] public virtual Task Select_New_with_captured_variable() => Test( """ @@ -163,11 +163,11 @@ public virtual Task Select_New_with_captured_variable() _ = await context.Blogs.Select(b => new Blog(i, b.Name)).ToListAsync(); """); - [ConditionalFact] + [Fact] public virtual Task MemberInit_no_evaluatable() => Test("_ = await context.Blogs.Select(b => new Blog { Id = b.Id, Name = b.Name }).ToListAsync();"); - [ConditionalFact] + [Fact] public virtual Task MemberInit_contains_captured_variable() => Test( """ @@ -175,11 +175,11 @@ public virtual Task MemberInit_contains_captured_variable() _ = await context.Blogs.Select(b => new Blog { Id = id, Name = b.Name }).ToListAsync(); """); - [ConditionalFact] + [Fact] public virtual Task MemberInit_evaluatable_as_constant() => Test("""_ = await context.Blogs.Select(b => new Blog { Id = 1, Name = "foo" }).ToListAsync();"""); - [ConditionalFact] + [Fact] public virtual Task MemberInit_evaluatable_as_parameter() => Test( """ @@ -188,7 +188,7 @@ public virtual Task MemberInit_evaluatable_as_parameter() _ = await context.Blogs.Select(b => new Blog { Id = id, Name = foo }).ToListAsync(); """); - [ConditionalFact] + [Fact] public virtual Task NewArray() => Test( """ @@ -196,7 +196,7 @@ public virtual Task NewArray() _ = await context.Blogs.Select(b => new[] { b.Id, b.Id + i }).ToListAsync(); """); - [ConditionalFact] + [Fact] public virtual Task Unary() => Test("_ = await context.Blogs.Where(b => (short)b.Id == (short)8).ToListAsync();"); @@ -204,15 +204,15 @@ public virtual Task Unary() #region Regular operators - [ConditionalFact] + [Fact] public virtual Task OrderBy() => Test("_ = await context.Blogs.OrderBy(b => b.Name).ToListAsync();"); - [ConditionalFact] + [Fact] public virtual Task Skip_with_constant() => Test("_ = await context.Blogs.OrderBy(b => b.Name).Skip(1).ToListAsync();"); - [ConditionalFact] + [Fact] public virtual Task Skip_with_parameter() => Test( """ @@ -220,11 +220,11 @@ public virtual Task Skip_with_parameter() _ = await context.Blogs.OrderBy(b => b.Name).Skip(toSkip).ToListAsync(); """); - [ConditionalFact] + [Fact] public virtual Task Take_with_constant() => Test("_ = await context.Blogs.OrderBy(b => b.Name).Take(1).ToListAsync();"); - [ConditionalFact] + [Fact] public virtual Task Take_with_parameter() => Test( """ @@ -232,23 +232,23 @@ public virtual Task Take_with_parameter() _ = await context.Blogs.OrderBy(b => b.Name).Take(toTake).ToListAsync(); """); - [ConditionalFact] + [Fact] public virtual Task Select_changes_type() => Test("_ = await context.Blogs.Select(b => b.Name).ToListAsync();"); - [ConditionalFact] + [Fact] public virtual Task Select_anonymous_object() => Test("""_ = await context.Blogs.Select(b => new { Foo = b.Name + "Foo" }).ToListAsync();"""); - [ConditionalFact] + [Fact] public virtual Task Include_single() => Test("var blogs = await context.Blogs.Include(b => b.Posts).Where(b => b.Id > 8).ToListAsync();"); - [ConditionalFact] + [Fact] public virtual Task Include_split() => Test("var blogs = await context.Blogs.AsSplitQuery().Include(b => b.Posts).ToListAsync();"); - [ConditionalFact] + [Fact] public virtual Task Final_GroupBy() => Test("""var blogs = await context.Blogs.GroupBy(b => b.Name).ToListAsync();"""); @@ -256,7 +256,7 @@ public virtual Task Final_GroupBy() #region Terminating operators - [ConditionalFact] + [Fact] public virtual Task Terminating_AsEnumerable() => Test( """ @@ -267,7 +267,7 @@ public virtual Task Terminating_AsEnumerable() b => Assert.Equal(9, b.Id)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_AsAsyncEnumerable_on_DbSet() => Test( """ @@ -279,7 +279,7 @@ public virtual Task Terminating_AsAsyncEnumerable_on_DbSet() Assert.Equal(17, sum); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_AsAsyncEnumerable_on_IQueryable() => Test( """ @@ -291,7 +291,7 @@ public virtual Task Terminating_AsAsyncEnumerable_on_IQueryable() Assert.Equal(9, sum); """); - [ConditionalFact] + [Fact] public virtual Task Foreach_sync_over_operator() => Test( """ @@ -300,7 +300,7 @@ public virtual Task Foreach_sync_over_operator() } """); - [ConditionalFact] + [Fact] public virtual Task Terminating_ToArray() => Test( """ @@ -311,7 +311,7 @@ public virtual Task Terminating_ToArray() b => Assert.Equal(9, b.Id)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_ToArrayAsync() => Test( """ @@ -322,7 +322,7 @@ public virtual Task Terminating_ToArrayAsync() b => Assert.Equal(9, b.Id)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_ToDictionary() => Test( """ @@ -332,7 +332,7 @@ public virtual Task Terminating_ToDictionary() Assert.Equal("Blog2", blogs[9]); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_ToDictionaryAsync() => Test( """ @@ -342,15 +342,15 @@ public virtual Task Terminating_ToDictionaryAsync() Assert.Equal("Blog2", blogs[9]); """); - [ConditionalFact] + [Fact] public virtual Task ToDictionary_over_anonymous_type() => Test("_ = context.Blogs.Select(b => new { b.Id, b.Name }).ToDictionary(x => x.Id, x => x.Name);"); - [ConditionalFact] + [Fact] public virtual Task ToDictionaryAsync_over_anonymous_type() => Test("_ = await context.Blogs.Select(b => new { b.Id, b.Name }).ToDictionaryAsync(x => x.Id, x => x.Name);"); - [ConditionalFact] + [Fact] public virtual Task Terminating_ToHashSet() => Test( """ @@ -361,7 +361,7 @@ public virtual Task Terminating_ToHashSet() b => Assert.Equal(9, b.Id)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_ToHashSetAsync() => Test( """ @@ -372,11 +372,11 @@ public virtual Task Terminating_ToHashSetAsync() b => Assert.Equal(9, b.Id)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_ToLookup() => Test("_ = context.Blogs.ToLookup(b => b.Name);"); - [ConditionalFact] + [Fact] public virtual Task Terminating_ToList() => Test( """ @@ -387,7 +387,7 @@ public virtual Task Terminating_ToList() b => Assert.Equal(9, b.Id)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_ToListAsync() => Test( """ @@ -399,7 +399,7 @@ public virtual Task Terminating_ToListAsync() """); // foreach/await foreach directly over DbSet properties doesn't isn't supported, since we can't intercept property accesses. - [ConditionalFact] + [Fact] public virtual async Task Foreach_sync_over_DbSet_property_is_not_supported() { // TODO: Assert diagnostics about non-intercepted query @@ -413,7 +413,7 @@ public virtual async Task Foreach_sync_over_DbSet_property_is_not_supported() } // foreach/await foreach directly over DbSet properties doesn't isn't supported, since we can't intercept property accesses. - [ConditionalFact] + [Fact] public virtual async Task Foreach_async_is_not_supported() { // TODO: Assert diagnostics about non-intercepted query @@ -430,7 +430,7 @@ public virtual async Task Foreach_async_is_not_supported() #region Reducing terminating operators - [ConditionalFact] + [Fact] public virtual Task Terminating_All() => Test( """ @@ -438,7 +438,7 @@ public virtual Task Terminating_All() Assert.False(context.Blogs.All(b => b.Id > 8)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_AllAsync() => Test( """ @@ -446,7 +446,7 @@ public virtual Task Terminating_AllAsync() Assert.False(await context.Blogs.AllAsync(b => b.Id > 8)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_Any() => Test( """ @@ -457,7 +457,7 @@ public virtual Task Terminating_Any() Assert.False(context.Blogs.Any(b => b.Id < 7)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_AnyAsync() => Test( """ @@ -468,7 +468,7 @@ public virtual Task Terminating_AnyAsync() Assert.False(await context.Blogs.AnyAsync(b => b.Id < 7)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_Average() => Test( """ @@ -476,7 +476,7 @@ public virtual Task Terminating_Average() Assert.Equal(8.5, context.Blogs.Average(b => b.Id)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_AverageAsync() => Test( """ @@ -484,7 +484,7 @@ public virtual Task Terminating_AverageAsync() Assert.Equal(8.5, await context.Blogs.AverageAsync(b => b.Id)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_Contains() => Test( """ @@ -492,7 +492,7 @@ public virtual Task Terminating_Contains() Assert.False(context.Blogs.Select(b => b.Id).Contains(7)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_ContainsAsync() => Test( """ @@ -500,7 +500,7 @@ public virtual Task Terminating_ContainsAsync() Assert.False(await context.Blogs.Select(b => b.Id).ContainsAsync(7)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_Count() => Test( """ @@ -508,7 +508,7 @@ public virtual Task Terminating_Count() Assert.Equal(1, context.Blogs.Count(b => b.Id > 8)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_CountAsync() => Test( """ @@ -516,7 +516,7 @@ public virtual Task Terminating_CountAsync() Assert.Equal(1, await context.Blogs.CountAsync(b => b.Id > 8)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_ElementAt() => Test( """ @@ -524,7 +524,7 @@ public virtual Task Terminating_ElementAt() Assert.Throws(() => context.Blogs.OrderBy(b => b.Id).ElementAt(3)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_ElementAtAsync() => Test( """ @@ -532,7 +532,7 @@ public virtual Task Terminating_ElementAtAsync() await Assert.ThrowsAsync(() => context.Blogs.OrderBy(b => b.Id).ElementAtAsync(3)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_ElementAtOrDefault() => Test( """ @@ -540,7 +540,7 @@ public virtual Task Terminating_ElementAtOrDefault() Assert.Null(context.Blogs.OrderBy(b => b.Id).ElementAtOrDefault(3)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_ElementAtOrDefaultAsync() => Test( """ @@ -548,7 +548,7 @@ public virtual Task Terminating_ElementAtOrDefaultAsync() Assert.Null(await context.Blogs.OrderBy(b => b.Id).ElementAtOrDefaultAsync(3)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_First() => Test( """ @@ -559,7 +559,7 @@ public virtual Task Terminating_First() Assert.Throws(() => context.Blogs.First(b => b.Id == 7)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_FirstAsync() => Test( """ @@ -570,7 +570,7 @@ public virtual Task Terminating_FirstAsync() await Assert.ThrowsAsync(() => context.Blogs.FirstAsync(b => b.Id == 7)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_FirstOrDefault() => Test( """ @@ -581,7 +581,7 @@ public virtual Task Terminating_FirstOrDefault() Assert.Null(context.Blogs.FirstOrDefault(b => b.Id == 7)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_FirstOrDefaultAsync() => Test( """ @@ -592,7 +592,7 @@ public virtual Task Terminating_FirstOrDefaultAsync() Assert.Null(await context.Blogs.FirstOrDefaultAsync(b => b.Id == 7)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_GetEnumerator() => Test( """ @@ -602,7 +602,7 @@ public virtual Task Terminating_GetEnumerator() Assert.False(enumerator.MoveNext()); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_Last() => Test( """ @@ -613,7 +613,7 @@ public virtual Task Terminating_Last() Assert.Throws(() => context.Blogs.OrderBy(b => b.Id).Last(b => b.Id == 7)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_LastAsync() => Test( """ @@ -624,7 +624,7 @@ public virtual Task Terminating_LastAsync() await Assert.ThrowsAsync(() => context.Blogs.OrderBy(b => b.Id).LastAsync(b => b.Id == 7)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_LastOrDefault() => Test( """ @@ -635,7 +635,7 @@ public virtual Task Terminating_LastOrDefault() Assert.Null(context.Blogs.OrderBy(b => b.Id).LastOrDefault(b => b.Id == 7)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_LastOrDefaultAsync() => Test( """ @@ -646,7 +646,7 @@ public virtual Task Terminating_LastOrDefaultAsync() Assert.Null(await context.Blogs.OrderBy(b => b.Id).LastOrDefaultAsync(b => b.Id == 7)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_LongCount() => Test( """ @@ -654,7 +654,7 @@ public virtual Task Terminating_LongCount() Assert.Equal(1, context.Blogs.LongCount(b => b.Id == 8)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_LongCountAsync() => Test( """ @@ -662,7 +662,7 @@ public virtual Task Terminating_LongCountAsync() Assert.Equal(1, await context.Blogs.LongCountAsync(b => b.Id == 8)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_Max() => Test( """ @@ -670,7 +670,7 @@ public virtual Task Terminating_Max() Assert.Equal(9, context.Blogs.Max(b => b.Id)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_MaxAsync() => Test( """ @@ -678,7 +678,7 @@ public virtual Task Terminating_MaxAsync() Assert.Equal(9, await context.Blogs.MaxAsync(b => b.Id)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_Min() => Test( """ @@ -686,7 +686,7 @@ public virtual Task Terminating_Min() Assert.Equal(8, context.Blogs.Min(b => b.Id)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_MinAsync() => Test( """ @@ -694,7 +694,7 @@ public virtual Task Terminating_MinAsync() Assert.Equal(8, await context.Blogs.MinAsync(b => b.Id)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_Single() => Test( """ @@ -705,7 +705,7 @@ public virtual Task Terminating_Single() Assert.Throws(() => context.Blogs.Single(b => b.Id == 7)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_SingleAsync() => Test( """ @@ -716,7 +716,7 @@ public virtual Task Terminating_SingleAsync() await Assert.ThrowsAsync(() => context.Blogs.SingleAsync(b => b.Id == 7)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_SingleOrDefault() => Test( """ @@ -727,7 +727,7 @@ public virtual Task Terminating_SingleOrDefault() Assert.Null(context.Blogs.SingleOrDefault(b => b.Id == 7)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_SingleOrDefaultAsync() => Test( """ @@ -738,7 +738,7 @@ public virtual Task Terminating_SingleOrDefaultAsync() Assert.Null(await context.Blogs.SingleOrDefaultAsync(b => b.Id == 7)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_Sum() => Test( """ @@ -746,7 +746,7 @@ public virtual Task Terminating_Sum() Assert.Equal(17, context.Blogs.Sum(b => b.Id)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_SumAsync() => Test( """ @@ -754,7 +754,7 @@ public virtual Task Terminating_SumAsync() Assert.Equal(17, await context.Blogs.SumAsync(b => b.Id)); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_ExecuteDelete() => Test( """ @@ -765,7 +765,7 @@ public virtual Task Terminating_ExecuteDelete() Assert.Equal(1, await context.Blogs.CountAsync()); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_ExecuteDeleteAsync() => Test( """ @@ -776,7 +776,7 @@ public virtual Task Terminating_ExecuteDeleteAsync() Assert.Equal(1, await context.Blogs.CountAsync()); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_ExecuteUpdate_with_lambda() => Test( """ @@ -788,7 +788,7 @@ public virtual Task Terminating_ExecuteUpdate_with_lambda() Assert.Equal(1, await context.Blogs.CountAsync(b => b.Id == 9 && b.Name == "Blog2Suffix")); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_ExecuteUpdate_without_lambda() => Test( """ @@ -800,7 +800,7 @@ public virtual Task Terminating_ExecuteUpdate_without_lambda() Assert.Equal(1, await context.Blogs.CountAsync(b => b.Id == 9 && b.Name == "NewValue")); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_ExecuteUpdateAsync_with_lambda() => Test( """ @@ -812,7 +812,7 @@ public virtual Task Terminating_ExecuteUpdateAsync_with_lambda() Assert.Equal(1, await context.Blogs.CountAsync(b => b.Id == 9 && b.Name == "Blog2Suffix")); """); - [ConditionalFact] + [Fact] public virtual Task Terminating_ExecuteUpdateAsync_without_lambda() => Test( """ @@ -824,7 +824,7 @@ public virtual Task Terminating_ExecuteUpdateAsync_without_lambda() Assert.Equal(1, await context.Blogs.CountAsync(b => b.Id == 9 && b.Name == "NewValue")); """); - [ConditionalFact] // #35494 + [Fact] // #35494 public virtual Task Terminating_with_cancellation_token() => Test( """ @@ -838,7 +838,7 @@ public virtual Task Terminating_with_cancellation_token() #region SQL expression quotability - [ConditionalFact] + [Fact] public virtual Task Union() => Test( """ @@ -855,7 +855,7 @@ public virtual Task Union() b => Assert.Equal(23, b.Id)); """); - [ConditionalFact(Skip = "issue 33378")] + [Fact(Skip = "issue 33378")] public virtual Task UnionOnEntitiesWithJson() => Test( """ @@ -869,7 +869,7 @@ public virtual Task UnionOnEntitiesWithJson() b => Assert.Equal(9, b.Id)); """); - [ConditionalFact] + [Fact] public virtual Task Concat() => Test( """ @@ -887,7 +887,7 @@ public virtual Task Concat() b => Assert.Equal(23, b.Id)); """); - [ConditionalFact(Skip = "issue 33378")] + [Fact(Skip = "issue 33378")] public virtual Task ConcatOnEntitiesWithJson() => Test( """ @@ -903,7 +903,7 @@ public virtual Task ConcatOnEntitiesWithJson() b => Assert.Equal(9, b.Id)); """); - [ConditionalFact] + [Fact] public virtual Task Intersect() => Test( """ @@ -917,7 +917,7 @@ public virtual Task Intersect() b => Assert.Equal(21, b.Id)); """); - [ConditionalFact(Skip = "issue 33378")] + [Fact(Skip = "issue 33378")] public virtual Task IntersectOnEntitiesWithJson() => Test( """ @@ -929,7 +929,7 @@ public virtual Task IntersectOnEntitiesWithJson() Assert.Collection(blogs, b => Assert.Equal(9, b.Id)); """); - [ConditionalFact] + [Fact] public virtual Task Except() => Test( """ @@ -943,7 +943,7 @@ public virtual Task Except() b => Assert.Equal(21, b.Id)); """); - [ConditionalFact(Skip = "issue 33378")] + [Fact(Skip = "issue 33378")] public virtual Task ExceptOnEntitiesWithJson() => Test( """ @@ -955,12 +955,12 @@ public virtual Task ExceptOnEntitiesWithJson() Assert.Collection(blogs, b => Assert.Equal(8, b.Id)); """); - [ConditionalFact] + [Fact] public virtual Task ValuesExpression() => Test("_ = await context.Blogs.Where(b => new[] { 7, b.Id }.Count(i => i > 8) == 2).ToListAsync();"); // Tests e.g. OPENJSON on SQL Server - [ConditionalFact] + [Fact] public virtual Task Contains_with_parameterized_collection() => Test( """ @@ -968,12 +968,12 @@ public virtual Task Contains_with_parameterized_collection() _ = await context.Blogs.Where(b => ((IEnumerable)ids).Contains(b.Id)).ToListAsync(); """); - [ConditionalFact] + [Fact] public virtual Task FromSqlRaw() => Test( $""""_ = await context.Blogs.FromSqlRaw("""{NormalizeDelimitersInRawString("SELECT * FROM [Blogs] WHERE [Id] > 8")}""").OrderBy(b => b.Id).ToListAsync();""""); - [ConditionalFact] + [Fact] public virtual Task FromSql_with_FormattableString_parameters() => Test( $""""_ = await context.Blogs.FromSql($"""{NormalizeDelimitersInRawString("SELECT * FROM [Blogs] WHERE [Id] > {8} AND [Id] < {9}")}""").OrderBy(b => b.Id).ToListAsync();""""); @@ -982,7 +982,7 @@ public virtual Task FromSql_with_FormattableString_parameters() #region Different DbContext expressions - [ConditionalFact] + [Fact] public virtual Task DbContext_as_local_variable() => Test( """ @@ -991,7 +991,7 @@ public virtual Task DbContext_as_local_variable() _ = await context2.Blogs.ToListAsync(); """); - [ConditionalFact] + [Fact] public virtual Task DbContext_as_field() => FullSourceTest( """ @@ -1013,7 +1013,7 @@ public static async Task Test(DbContextOptions dbContextOptions) } """); - [ConditionalFact] + [Fact] public virtual Task DbContext_as_property() => FullSourceTest( """ @@ -1035,7 +1035,7 @@ public static async Task Test(DbContextOptions dbContextOptions) } """); - [ConditionalFact] + [Fact] public virtual Task DbContext_as_captured_variable() => Test( """ @@ -1043,7 +1043,7 @@ public virtual Task DbContext_as_captured_variable() _ = foo(); """); - [ConditionalFact] + [Fact] public virtual Task DbContext_as_method_invocation_result() => FullSourceTest( """ @@ -1072,7 +1072,7 @@ private static PrecompiledQueryContext GetContext() #region Captured variable handling - [ConditionalFact] + [Fact] public virtual Task Two_captured_variables_in_same_lambda() => Test( """ @@ -1081,7 +1081,7 @@ public virtual Task Two_captured_variables_in_same_lambda() var blogs = await context.Blogs.Select(b => b.Id == 3 ? yes : no).ToListAsync(); """); - [ConditionalFact] + [Fact] public virtual Task Two_captured_variables_in_different_lambdas() => Test( """ @@ -1091,7 +1091,7 @@ public virtual Task Two_captured_variables_in_different_lambdas() Assert.Equal(9, blog.Id); """); - [ConditionalFact] + [Fact] public virtual Task Same_captured_variable_twice_in_same_lambda() => Test( """ @@ -1099,7 +1099,7 @@ public virtual Task Same_captured_variable_twice_in_same_lambda() var blogs = await context.Blogs.Where(b => b.Name.StartsWith(foo) && b.Name.EndsWith(foo)).ToListAsync(); """); - [ConditionalFact] + [Fact] public virtual Task Same_captured_variable_twice_in_different_lambdas() => Test( """ @@ -1107,7 +1107,7 @@ public virtual Task Same_captured_variable_twice_in_different_lambdas() var blogs = await context.Blogs.Where(b => b.Name.StartsWith(foo)).Where(b => b.Name.EndsWith(foo)).ToListAsync(); """); - [ConditionalFact] + [Fact] public virtual Task Multiple_queries_with_captured_variables() => Test( """ @@ -1126,7 +1126,7 @@ public virtual Task Multiple_queries_with_captured_variables() #region Negative cases - [ConditionalFact] + [Fact] public virtual Task Dynamic_query_does_not_get_precompiled() => Test( """ @@ -1141,7 +1141,7 @@ public virtual Task Dynamic_query_does_not_get_precompiled() Assert.Equal("query.ToListAsync()", dynamicQueryError.SyntaxNode.NormalizeWhitespace().ToFullString()); }); - [ConditionalFact] + [Fact] public virtual Task ToList_over_objects_does_not_get_precompiled() => Test( """ @@ -1149,7 +1149,7 @@ public virtual Task ToList_over_objects_does_not_get_precompiled() var lessNumbers = numbers.Where(i => i > 1).ToList(); """); - [ConditionalFact] + [Fact] public virtual async Task Query_compilation_failure() => await Test( "_ = await context.Blogs.Where(b => PrecompiledQueryRelationalTestBase.Untranslatable(b.Id) == 999).ToListAsync();", @@ -1165,14 +1165,14 @@ public virtual async Task Query_compilation_failure() public static int Untranslatable(int foo) => throw new InvalidOperationException(); - [ConditionalFact] + [Fact] public virtual Task EF_Constant_is_not_supported() => Test( "_ = await context.Blogs.Where(b => b.Id > EF.Constant(8)).ToListAsync();", errorAsserter: errors => Assert.Equal(CoreStrings.EFConstantNotSupportedInPrecompiledQueries, errors.Single().Exception.Message)); - [ConditionalFact] + [Fact] public virtual Task NotParameterizedAttribute_with_constant() => Test( """ @@ -1180,7 +1180,7 @@ public virtual Task NotParameterizedAttribute_with_constant() Assert.Equal(9, blog.Id); """); - [ConditionalFact] + [Fact] public virtual Task NotParameterizedAttribute_is_not_supported_with_non_constant_argument() => Test( """ @@ -1192,7 +1192,7 @@ public virtual Task NotParameterizedAttribute_is_not_supported_with_non_constant CoreStrings.NotParameterizedAttributeWithNonConstantNotSupportedInPrecompiledQueries("propertyName", "Property"), errors.Single().Exception.Message)); - [ConditionalFact] + [Fact] public virtual Task Query_syntax_is_not_supported() => Test( """ @@ -1207,7 +1207,7 @@ where b.Id > 8 #endregion Negative cases - [ConditionalFact] + [Fact] public virtual Task Unsafe_accessor_gets_generated_once_for_multiple_queries() => Test( """ diff --git a/test/EFCore.Relational.Specification.Tests/Query/PrecompiledSqlPregenerationQueryRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/PrecompiledSqlPregenerationQueryRelationalTestBase.cs index e0ade9bb120..f29adebcd63 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/PrecompiledSqlPregenerationQueryRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/PrecompiledSqlPregenerationQueryRelationalTestBase.cs @@ -30,11 +30,11 @@ public PrecompiledSqlPregenerationQueryRelationalTestBase( protected virtual bool AlwaysPrintGeneratedSources => false; - [ConditionalFact] + [Fact] public virtual Task No_parameters() => Test("""var blogs = await context.Blogs.Where(b => b.Name == "foo").ToListAsync();"""); - [ConditionalFact] + [Fact] public virtual Task Non_nullable_value_type() => Test( """ @@ -42,7 +42,7 @@ public virtual Task Non_nullable_value_type() var blogs = await context.Blogs.Where(b => b.Id == id).ToListAsync(); """); - [ConditionalFact] + [Fact] public virtual Task Nullable_value_type() => Test( """ @@ -66,7 +66,7 @@ public virtual Task Nullable_value_type() """, code); }); - [ConditionalFact] + [Fact] public virtual Task Nullable_reference_type() => Test( """ @@ -90,7 +90,7 @@ public virtual Task Nullable_reference_type() """, code); }); - [ConditionalFact] + [Fact] public virtual Task Non_nullable_reference_type() => Test( """ @@ -98,7 +98,7 @@ public virtual Task Non_nullable_reference_type() var blogs = await context.Blogs.Where(b => b.Name == name).ToListAsync(); """); - [ConditionalFact] + [Fact] public virtual Task Nullable_and_non_nullable_value_types() => Test( """ @@ -123,7 +123,7 @@ public virtual Task Nullable_and_non_nullable_value_types() """, code); }); - [ConditionalFact] + [Fact] public virtual Task Two_nullable_reference_types() => Test( """ @@ -162,7 +162,7 @@ public virtual Task Two_nullable_reference_types() """, code); }); - [ConditionalFact] + [Fact] public virtual Task Two_non_nullable_reference_types() => Test( """ @@ -171,7 +171,7 @@ public virtual Task Two_non_nullable_reference_types() var blogs = await context.Blogs.Where(b => b.Name == name1 || b.Name == name2).ToListAsync(); """); - [ConditionalFact] + [Fact] public virtual Task Nullable_and_non_nullable_reference_types() => Test( """ @@ -196,7 +196,7 @@ public virtual Task Nullable_and_non_nullable_reference_types() """, code); }); - [ConditionalFact] + [Fact] public virtual Task Too_many_nullable_parameters_prevent_pregeneration() => Test( """ @@ -208,7 +208,7 @@ public virtual Task Too_many_nullable_parameters_prevent_pregeneration() """, interceptorCodeAsserter: code => Assert.Contains(nameof(RelationalCommandCache), code)); - [ConditionalFact] + [Fact] public virtual Task Many_non_nullable_parameters_do_not_prevent_pregeneration() => Test( """ @@ -221,7 +221,7 @@ public virtual Task Many_non_nullable_parameters_do_not_prevent_pregeneration() #region Tests for the different querying enumerables - [ConditionalFact] + [Fact] public virtual Task Include_single_query() => Test( """ @@ -230,7 +230,7 @@ public virtual Task Include_single_query() .ToListAsync(); """); - [ConditionalFact] + [Fact] public virtual Task Include_split_query() => Test( """ @@ -240,7 +240,7 @@ public virtual Task Include_split_query() .ToListAsync(); """); - [ConditionalFact] + [Fact] public virtual Task Final_GroupBy() => Test("var blogs = await context.Blogs.GroupBy(b => b.Name).ToListAsync();"); diff --git a/test/EFCore.Relational.Specification.Tests/Query/PrimitiveCollectionsQueryRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/PrimitiveCollectionsQueryRelationalTestBase.cs index fae2714ea2c..485819db459 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/PrimitiveCollectionsQueryRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/PrimitiveCollectionsQueryRelationalTestBase.cs @@ -12,7 +12,7 @@ protected abstract DbContextOptionsBuilder SetParameterizedCollectionMode( DbContextOptionsBuilder optionsBuilder, ParameterTranslationMode parameterizedCollectionMode); - [ConditionalFact] + [Fact] public override async Task Inline_collection_Count_with_zero_values() { var exception = await Assert.ThrowsAsync(() => base.Inline_collection_Count_with_zero_values()); @@ -23,7 +23,7 @@ public override async Task Inline_collection_Count_with_zero_values() protected static IEnumerable ParameterTranslationModeValues() => Enum.GetValues().Select(x => [x]); - [ConditionalTheory, MemberData(nameof(ParameterTranslationModeValues))] + [Theory, MemberData(nameof(ParameterTranslationModeValues))] public virtual async Task Parameter_collection_Count_with_column_predicate_with_default_mode(ParameterTranslationMode mode) { var contextFactory = await InitializeNonSharedTest( @@ -43,7 +43,7 @@ public virtual async Task Parameter_collection_Count_with_column_predicate_with_ Assert.Equivalent(new[] { 100 }, result); } - [ConditionalTheory, MemberData(nameof(ParameterTranslationModeValues))] + [Theory, MemberData(nameof(ParameterTranslationModeValues))] public virtual async Task Parameter_collection_Contains_with_default_mode(ParameterTranslationMode mode) { var contextFactory = await InitializeNonSharedTest( @@ -64,7 +64,7 @@ public virtual async Task Parameter_collection_Contains_with_default_mode(Parame Assert.Equivalent(new[] { 2 }, result); } - [ConditionalTheory, MemberData(nameof(ParameterTranslationModeValues))] + [Theory, MemberData(nameof(ParameterTranslationModeValues))] public virtual async Task Parameter_collection_Count_with_column_predicate_with_default_mode_EF_Constant(ParameterTranslationMode mode) { var contextFactory = await InitializeNonSharedTest( @@ -84,7 +84,7 @@ public virtual async Task Parameter_collection_Count_with_column_predicate_with_ Assert.Equivalent(new[] { 100 }, result); } - [ConditionalTheory, MemberData(nameof(ParameterTranslationModeValues))] + [Theory, MemberData(nameof(ParameterTranslationModeValues))] public virtual async Task Parameter_collection_Contains_with_default_mode_EF_Constant(ParameterTranslationMode mode) { var contextFactory = await InitializeNonSharedTest( @@ -105,7 +105,7 @@ public virtual async Task Parameter_collection_Contains_with_default_mode_EF_Con Assert.Equivalent(new[] { 2 }, result); } - [ConditionalTheory, MemberData(nameof(ParameterTranslationModeValues))] + [Theory, MemberData(nameof(ParameterTranslationModeValues))] public virtual async Task Parameter_collection_Count_with_column_predicate_with_default_mode_EF_Parameter(ParameterTranslationMode mode) { var contextFactory = await InitializeNonSharedTest( @@ -126,7 +126,7 @@ public virtual async Task Parameter_collection_Count_with_column_predicate_with_ Assert.Equivalent(new[] { 100 }, result); } - [ConditionalTheory, MemberData(nameof(ParameterTranslationModeValues))] + [Theory, MemberData(nameof(ParameterTranslationModeValues))] public virtual async Task Parameter_collection_Contains_with_default_mode_EF_Parameter(ParameterTranslationMode mode) { var contextFactory = await InitializeNonSharedTest( @@ -147,7 +147,7 @@ public virtual async Task Parameter_collection_Contains_with_default_mode_EF_Par Assert.Equivalent(new[] { 2 }, result); } - [ConditionalTheory, MemberData(nameof(ParameterTranslationModeValues))] + [Theory, MemberData(nameof(ParameterTranslationModeValues))] public virtual async Task Parameter_collection_Count_with_column_predicate_with_default_mode_EF_MultipleParameters( ParameterTranslationMode mode) { @@ -169,7 +169,7 @@ public virtual async Task Parameter_collection_Count_with_column_predicate_with_ Assert.Equivalent(new[] { 100 }, result); } - [ConditionalTheory, MemberData(nameof(ParameterTranslationModeValues))] + [Theory, MemberData(nameof(ParameterTranslationModeValues))] public virtual async Task Parameter_collection_Contains_with_default_mode_EF_MultipleParameters(ParameterTranslationMode mode) { var contextFactory = await InitializeNonSharedTest( @@ -190,7 +190,7 @@ public virtual async Task Parameter_collection_Contains_with_default_mode_EF_Mul Assert.Equivalent(new[] { 2 }, result); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_Contains_parameter_bucketization() { var contextFactory = await InitializeNonSharedTest( @@ -212,7 +212,7 @@ public virtual async Task Parameter_collection_Contains_parameter_bucketization( } #pragma warning disable EF8001 // Owned JSON entities are obsolete - [ConditionalFact] + [Fact] public virtual async Task Column_collection_inside_json_owned_entity() { var contextFactory = await InitializeNonSharedTest( @@ -246,7 +246,7 @@ public override Task Column_collection_equality_inline_collection_with_parameter public override async Task Column_collection_Where_equality_inline_collection() => await AssertTranslationFailed(base.Column_collection_Where_equality_inline_collection); - [ConditionalFact] + [Fact] public override void Parameter_collection_in_subquery_and_Convert_as_compiled_query() { // The array indexing is translated as a subquery over e.g. OPENJSON with LIMIT/OFFSET. @@ -275,7 +275,7 @@ public override async Task Project_inline_collection_with_Concat() } // #38008 - [ConditionalTheory, MemberData(nameof(ParameterTranslationModeValues))] + [Theory, MemberData(nameof(ParameterTranslationModeValues))] public virtual async Task Parameter_collection_of_enum_Cast_from_different_enum_type(ParameterTranslationMode mode) { var contextFactory = await InitializeNonSharedTest( diff --git a/test/EFCore.Relational.Specification.Tests/Query/QueryNoClientEvalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/QueryNoClientEvalTestBase.cs index a5bfcf17637..d9893c7320a 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/QueryNoClientEvalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/QueryNoClientEvalTestBase.cs @@ -14,7 +14,7 @@ public abstract class QueryNoClientEvalTestBase(TFixture fixture) : IC { protected TFixture Fixture { get; } = fixture; - [ConditionalFact] + [Fact] public virtual void Throws_when_where() { using var context = CreateContext(); @@ -23,7 +23,7 @@ public virtual void Throws_when_where() CoreStrings.QueryUnableToTranslateMember(nameof(Customer.IsLondon), nameof(Customer))); } - [ConditionalFact] + [Fact] public virtual void Throws_when_orderby() { using var context = CreateContext(); @@ -32,7 +32,7 @@ public virtual void Throws_when_orderby() CoreStrings.QueryUnableToTranslateMember(nameof(Customer.IsLondon), nameof(Customer))); } - [ConditionalFact] + [Fact] public virtual void Throws_when_orderby_multiple() { using var context = CreateContext(); @@ -47,7 +47,7 @@ public virtual void Throws_when_orderby_multiple() private static object ClientMethod(object o) => o.GetHashCode(); - [ConditionalFact] + [Fact] public virtual void Throws_when_where_subquery_correlated() { using var context = CreateContext(); @@ -58,7 +58,7 @@ public virtual void Throws_when_where_subquery_correlated() CoreStrings.QueryUnableToTranslateMember(nameof(Customer.IsLondon), nameof(Customer))); } - [ConditionalFact] + [Fact] public virtual void Throws_when_all() { using var context = CreateContext(); @@ -67,7 +67,7 @@ public virtual void Throws_when_all() CoreStrings.QueryUnableToTranslateMember(nameof(Customer.IsLondon), nameof(Customer))); } - [ConditionalFact] + [Fact] public virtual void Throws_when_from_sql_composed() { using var context = CreateContext(); @@ -79,7 +79,7 @@ public virtual void Throws_when_from_sql_composed() CoreStrings.QueryUnableToTranslateMember(nameof(Customer.IsLondon), nameof(Customer))); } - [ConditionalFact] + [Fact] public virtual void Doesnt_throw_when_from_sql_not_composed() { using var context = CreateContext(); @@ -91,7 +91,7 @@ var customers Assert.Equal(91, customers.Count); } - [ConditionalFact] + [Fact] public virtual void Throws_when_subquery_main_from_clause() { using var context = CreateContext(); @@ -105,7 +105,7 @@ public virtual void Throws_when_subquery_main_from_clause() CoreStrings.QueryUnableToTranslateMember(nameof(Customer.IsLondon), nameof(Customer))); } - [ConditionalFact] + [Fact] public virtual void Does_not_throws_when_group_join() { using var context = CreateContext(); @@ -115,7 +115,7 @@ public virtual void Does_not_throws_when_group_join() .ToList(); } - [ConditionalFact(Skip = "Issue#18923")] + [Fact(Skip = "Issue#18923")] public virtual void Throws_when_group_by() { using var context = CreateContext(); @@ -128,7 +128,7 @@ public virtual void Throws_when_group_by() .ToList()); } - [ConditionalFact] + [Fact] public virtual void Throws_when_first() { using var context = CreateContext(); @@ -137,7 +137,7 @@ public virtual void Throws_when_first() CoreStrings.QueryUnableToTranslateMember(nameof(Customer.IsLondon), nameof(Customer))); } - [ConditionalFact] + [Fact] public virtual void Throws_when_single() { using var context = CreateContext(); @@ -146,7 +146,7 @@ public virtual void Throws_when_single() CoreStrings.QueryUnableToTranslateMember(nameof(Customer.IsLondon), nameof(Customer))); } - [ConditionalFact] + [Fact] public virtual void Throws_when_first_or_default() { using var context = CreateContext(); @@ -155,7 +155,7 @@ public virtual void Throws_when_first_or_default() CoreStrings.QueryUnableToTranslateMember(nameof(Customer.IsLondon), nameof(Customer))); } - [ConditionalFact] + [Fact] public virtual void Throws_when_single_or_default() { using var context = CreateContext(); diff --git a/test/EFCore.Relational.Specification.Tests/Query/RelationalNorthwindDbFunctionsQueryTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/RelationalNorthwindDbFunctionsQueryTestBase.cs index 9804bca0ace..cad12880b47 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/RelationalNorthwindDbFunctionsQueryTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/RelationalNorthwindDbFunctionsQueryTestBase.cs @@ -11,7 +11,7 @@ public abstract class NorthwindDbFunctionsQueryRelationalTestBase(TFix : NorthwindDbFunctionsQueryTestBase(fixture) where TFixture : NorthwindQueryRelationalFixture, new() { - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collate_case_insensitive(bool async) => AssertCount( async, @@ -20,7 +20,7 @@ public virtual Task Collate_case_insensitive(bool async) c => EF.Functions.Collate(c.ContactName, CaseInsensitiveCollation) == "maria anders", c => c.ContactName.Equals("maria anders", StringComparison.OrdinalIgnoreCase)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collate_case_sensitive(bool async) => AssertCount( async, @@ -29,7 +29,7 @@ public virtual Task Collate_case_sensitive(bool async) c => EF.Functions.Collate(c.ContactName, CaseSensitiveCollation) == "maria anders", c => c.ContactName.Equals("maria anders", StringComparison.Ordinal)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collate_case_sensitive_constant(bool async) => AssertCount( async, @@ -38,7 +38,7 @@ public virtual Task Collate_case_sensitive_constant(bool async) c => c.ContactName == EF.Functions.Collate("maria anders", CaseSensitiveCollation), c => c.ContactName.Equals("maria anders", StringComparison.Ordinal)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collate_is_null(bool async) => AssertCount( async, @@ -47,35 +47,35 @@ public virtual Task Collate_is_null(bool async) c => EF.Functions.Collate(c.Region, CaseSensitiveCollation) == null, c => c.Region == null); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Least(bool async) => AssertQuery( async, ss => ss.Set().Where(od => EF.Functions.Least(od.OrderID, 10251) == 10251), ss => ss.Set().Where(od => Math.Min(od.OrderID, 10251) == 10251)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Greatest(bool async) => AssertQuery( async, ss => ss.Set().Where(od => EF.Functions.Greatest(od.OrderID, 10251) == 10251), ss => ss.Set().Where(od => Math.Max(od.OrderID, 10251) == 10251)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Least_with_nullable_value_type(bool async) => AssertQuery( async, ss => ss.Set().Where(od => EF.Functions.Least(od.OrderID, (int?)10251) == 10251), ss => ss.Set().Where(od => Math.Min(od.OrderID, 10251) == 10251)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Greatest_with_nullable_value_type(bool async) => AssertQuery( async, ss => ss.Set().Where(od => EF.Functions.Greatest(od.OrderID, (int?)10251) == 10251), ss => ss.Set().Where(od => Math.Max(od.OrderID, 10251) == 10251)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Least_with_parameter_array_is_not_supported(bool async) { var arr = new[] { 1, 2 }; @@ -86,7 +86,7 @@ await AssertTranslationFailed(() => ss => ss.Set().Where(od => EF.Functions.Least(arr) == 10251))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Greatest_with_parameter_array_is_not_supported(bool async) { var arr = new[] { 1, 2 }; diff --git a/test/EFCore.Relational.Specification.Tests/Query/SharedTypeQueryRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/SharedTypeQueryRelationalTestBase.cs index ba88d3266cc..86adf68250e 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/SharedTypeQueryRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/SharedTypeQueryRelationalTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -16,7 +16,7 @@ protected void ClearLog() protected void AssertSql(params string[] expected) => TestSqlLoggerFactory.AssertBaseline(expected); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Can_use_shared_type_entity_type_in_query_filter_with_from_sql(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -31,7 +31,7 @@ public virtual async Task Can_use_shared_type_entity_type_in_query_filter_with_f Assert.Empty(result); } - [ConditionalFact] + [Fact] public virtual async Task Ad_hoc_query_for_shared_type_entity_type_works() { var contextFactory = await InitializeNonSharedTest( @@ -45,7 +45,7 @@ public virtual async Task Ad_hoc_query_for_shared_type_entity_type_works() Assert.Empty(await result.ToListAsync()); } - [ConditionalFact] + [Fact] public virtual async Task Ad_hoc_query_for_default_shared_type_entity_type_throws() { var contextFactory = await InitializeNonSharedTest( diff --git a/test/EFCore.Relational.Specification.Tests/Query/SqlExecutorTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/SqlExecutorTestBase.cs index 6de82d3e512..b1f797b6771 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/SqlExecutorTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/SqlExecutorTestBase.cs @@ -16,7 +16,7 @@ public abstract class SqlExecutorTestBase(TFixture fixture) : IClassFi { protected TFixture Fixture { get; } = fixture; - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Executes_stored_procedure(bool async) { using var context = CreateContext(); @@ -28,7 +28,7 @@ public virtual async Task Executes_stored_procedure(bool async) : context.Database.ExecuteSqlRaw(TenMostExpensiveProductsSproc)); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Executes_stored_procedure_with_parameter(bool async) { using var context = CreateContext(); @@ -40,7 +40,7 @@ public virtual async Task Executes_stored_procedure_with_parameter(bool async) : context.Database.ExecuteSqlRaw(CustomerOrderHistorySproc, parameter)); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Executes_stored_procedure_with_generated_parameter(bool async) { using var context = CreateContext(); @@ -52,7 +52,7 @@ public virtual async Task Executes_stored_procedure_with_generated_parameter(boo : context.Database.ExecuteSqlRaw(CustomerOrderHistoryWithGeneratedParameterSproc, "ALFKI")); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Throws_on_concurrent_command(bool async) { using var context = CreateContext(); @@ -94,7 +94,7 @@ public virtual async Task Throws_on_concurrent_command(bool async) blockingTask.Wait(); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Query_with_parameters(bool async) { var city = "London"; @@ -111,7 +111,7 @@ public virtual async Task Query_with_parameters(bool async) Assert.Equal(-1, actual); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Query_with_dbParameter_with_name(bool async) { var city = CreateDbParameter("@city", "London"); @@ -125,7 +125,7 @@ public virtual async Task Query_with_dbParameter_with_name(bool async) Assert.Equal(-1, actual); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Query_with_positional_dbParameter_with_name(bool async) { var city = CreateDbParameter("@city", "London"); @@ -139,7 +139,7 @@ public virtual async Task Query_with_positional_dbParameter_with_name(bool async Assert.Equal(-1, actual); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Query_with_positional_dbParameter_without_name(bool async) { var city = CreateDbParameter(name: null, value: "London"); @@ -153,7 +153,7 @@ public virtual async Task Query_with_positional_dbParameter_without_name(bool as Assert.Equal(-1, actual); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Query_with_dbParameters_mixed(bool async) { var city = "London"; @@ -183,7 +183,7 @@ public virtual async Task Query_with_dbParameters_mixed(bool async) Assert.Equal(-1, actual); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Query_with_parameters_interpolated(bool async) { var city = "London"; @@ -200,7 +200,7 @@ public virtual async Task Query_with_parameters_interpolated(bool async) Assert.Equal(-1, actual); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Query_with_DbParameters_interpolated(bool async) { var city = CreateDbParameter("city", "London"); @@ -217,7 +217,7 @@ public virtual async Task Query_with_DbParameters_interpolated(bool async) Assert.Equal(-1, actual); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Query_with_parameters_interpolated_2(bool async) { var city = "London"; @@ -234,7 +234,7 @@ public virtual async Task Query_with_parameters_interpolated_2(bool async) Assert.Equal(-1, actual); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Query_with_DbParameters_interpolated_2(bool async) { var city = CreateDbParameter("city", "London"); @@ -251,7 +251,7 @@ public virtual async Task Query_with_DbParameters_interpolated_2(bool async) Assert.Equal(-1, actual); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Query_with_parameters_custom_converter(bool async) { var city = new City { Name = "London" }; diff --git a/test/EFCore.Relational.Specification.Tests/Query/SqlQueryTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/SqlQueryTestBase.cs index 7136a7308f8..113478d5567 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/SqlQueryTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/SqlQueryTestBase.cs @@ -21,7 +21,7 @@ protected SqlQueryTestBase(TFixture fixture) : base(fixture) => Fixture.TestSqlLoggerFactory.Clear(); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Bad_data_error_handling_invalid_cast_key(bool async) { using var context = CreateContext(); @@ -37,7 +37,7 @@ public virtual async Task Bad_data_error_handling_invalid_cast_key(bool async) : Assert.Throws(() => query.ToList())).Message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Bad_data_error_handling_invalid_cast(bool async) { using var context = CreateContext(); @@ -53,7 +53,7 @@ public virtual async Task Bad_data_error_handling_invalid_cast(bool async) : Assert.Throws(() => query.ToList())).Message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Bad_data_error_handling_invalid_cast_projection(bool async) { using var context = CreateContext(); @@ -70,7 +70,7 @@ public virtual async Task Bad_data_error_handling_invalid_cast_projection(bool a : Assert.Throws(() => query.ToList())).Message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Bad_data_error_handling_invalid_cast_no_tracking(bool async) { using var context = CreateContext(); @@ -86,7 +86,7 @@ public virtual async Task Bad_data_error_handling_invalid_cast_no_tracking(bool : Assert.Throws(() => query.ToList())).Message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Bad_data_error_handling_null(bool async) { using var context = CreateContext(); @@ -102,7 +102,7 @@ public virtual async Task Bad_data_error_handling_null(bool async) : Assert.Throws(() => query.ToList())).Message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Bad_data_error_handling_null_projection(bool async) { using var context = CreateContext(); @@ -119,7 +119,7 @@ public virtual async Task Bad_data_error_handling_null_projection(bool async) : Assert.Throws(() => query.ToList())).Message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Bad_data_error_handling_null_no_tracking(bool async) { using var context = CreateContext(); @@ -135,7 +135,7 @@ public virtual async Task Bad_data_error_handling_null_no_tracking(bool async) : Assert.Throws(() => query.ToList())).Message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SqlQueryRaw_queryable_simple(bool async) => AssertQuery( async, @@ -145,7 +145,7 @@ public virtual Task SqlQueryRaw_queryable_simple(bool async) elementSorter: e => e.CustomerID, elementAsserter: AssertUnmappedCustomers); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SqlQueryRaw_queryable_simple_mapped_type(bool async) => AssertQuery( async, @@ -153,7 +153,7 @@ public virtual Task SqlQueryRaw_queryable_simple_mapped_type(bool async) (NormalizeDelimitersInRawString("SELECT * FROM [Customers] WHERE [ContactName] LIKE '%z%'")), ss => ss.Set().Where(x => x.ContactName.Contains("z"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SqlQueryRaw_queryable_simple_columns_out_of_order(bool async) => AssertQuery( async, @@ -164,7 +164,7 @@ public virtual Task SqlQueryRaw_queryable_simple_columns_out_of_order(bool async elementSorter: e => e.CustomerID, elementAsserter: AssertUnmappedCustomers); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SqlQueryRaw_queryable_simple_columns_out_of_order_and_extra_columns(bool async) => AssertQuery( async, @@ -175,7 +175,7 @@ public virtual Task SqlQueryRaw_queryable_simple_columns_out_of_order_and_extra_ elementSorter: e => e.CustomerID, elementAsserter: AssertUnmappedCustomers); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SqlQueryRaw_queryable_simple_columns_out_of_order_and_not_enough_columns_throws(bool async) { using var context = CreateContext(); @@ -190,7 +190,7 @@ public virtual async Task SqlQueryRaw_queryable_simple_columns_out_of_order_and_ : Assert.Throws(() => query.ToList())).Message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SqlQueryRaw_queryable_simple_different_cased_columns_and_not_enough_columns_throws(bool async) { using var context = CreateContext(); @@ -205,7 +205,7 @@ public virtual async Task SqlQueryRaw_queryable_simple_different_cased_columns_a : Assert.Throws(() => query.ToList())).Message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SqlQueryRaw_queryable_composed(bool async) => AssertQuery( async, @@ -216,7 +216,7 @@ public virtual Task SqlQueryRaw_queryable_composed(bool async) elementSorter: e => e.CustomerID, elementAsserter: AssertUnmappedCustomers); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SqlQueryRaw_queryable_composed_after_removing_whitespaces(bool async) => AssertQuery( async, @@ -228,7 +228,7 @@ public virtual Task SqlQueryRaw_queryable_composed_after_removing_whitespaces(bo elementSorter: e => e.CustomerID, elementAsserter: AssertUnmappedCustomers); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SqlQueryRaw_queryable_composed_compiled(bool async) { if (async) @@ -259,7 +259,7 @@ public virtual async Task SqlQueryRaw_queryable_composed_compiled(bool async) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SqlQueryRaw_queryable_composed_compiled_with_parameter(bool async) { if (async) @@ -290,7 +290,7 @@ public virtual async Task SqlQueryRaw_queryable_composed_compiled_with_parameter } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SqlQueryRaw_queryable_composed_compiled_with_DbParameter(bool async) { if (async) @@ -323,7 +323,7 @@ public virtual async Task SqlQueryRaw_queryable_composed_compiled_with_DbParamet } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SqlQueryRaw_queryable_composed_compiled_with_nameless_DbParameter(bool async) { if (async) @@ -356,7 +356,7 @@ public virtual async Task SqlQueryRaw_queryable_composed_compiled_with_nameless_ } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SqlQueryRaw_composed_contains(bool async) { var context = Fixture.CreateContext(); @@ -376,7 +376,7 @@ select UnmappedCustomer.FromCustomer(c), elementAsserter: AssertUnmappedCustomers); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SqlQueryRaw_queryable_multiple_composed(bool async) { var context = Fixture.CreateContext(); @@ -401,7 +401,7 @@ from o in ss.Set() }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SqlQueryRaw_queryable_multiple_composed_with_closure_parameters(bool async) { var startDate = new DateTime(1997, 1, 1); @@ -429,7 +429,7 @@ from o in ss.Set().Where(x => x.OrderDate >= startDate && x.OrderDate <= }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SqlQueryRaw_queryable_multiple_composed_with_parameters_and_closure_parameters(bool async) { var city = "London"; @@ -484,7 +484,7 @@ from o in ss.Set().Where(x => x.OrderDate >= startDate && x.OrderDate <= }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SqlQueryRaw_queryable_multiple_line_query(bool async) => AssertQuery( async, @@ -497,7 +497,7 @@ FROM [Customers] elementSorter: e => e.CustomerID, elementAsserter: AssertUnmappedCustomers); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SqlQueryRaw_queryable_composed_multiple_line_query(bool async) => AssertQuery( async, @@ -510,7 +510,7 @@ public virtual Task SqlQueryRaw_queryable_composed_multiple_line_query(bool asyn elementSorter: e => e.CustomerID, elementAsserter: AssertUnmappedCustomers); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SqlQueryRaw_queryable_with_parameters(bool async) { var city = "London"; @@ -527,7 +527,7 @@ public virtual Task SqlQueryRaw_queryable_with_parameters(bool async) elementAsserter: AssertUnmappedCustomers); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SqlQueryRaw_queryable_with_parameters_inline(bool async) => AssertQuery( async, @@ -539,7 +539,7 @@ public virtual Task SqlQueryRaw_queryable_with_parameters_inline(bool async) elementSorter: e => e.CustomerID, elementAsserter: AssertUnmappedCustomers); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SqlQuery_queryable_with_parameters_interpolated(bool async) { var city = "London"; @@ -556,7 +556,7 @@ public virtual Task SqlQuery_queryable_with_parameters_interpolated(bool async) elementAsserter: AssertUnmappedCustomers); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SqlQuery_queryable_with_parameters_inline_interpolated(bool async) => AssertQuery( async, @@ -568,7 +568,7 @@ public virtual Task SqlQuery_queryable_with_parameters_inline_interpolated(bool elementSorter: e => e.CustomerID, elementAsserter: AssertUnmappedCustomers); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SqlQuery_queryable_multiple_composed_with_parameters_and_closure_parameters_interpolated( bool async) { @@ -622,7 +622,7 @@ from o in ss.Set().Where(x => x.OrderDate >= startDate && x.OrderDate <= }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SqlQueryRaw_queryable_with_null_parameter(bool async) { uint? reportsTo = null; @@ -638,7 +638,7 @@ public virtual Task SqlQueryRaw_queryable_with_null_parameter(bool async) elementAsserter: AssertUnmappedEmployees); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SqlQueryRaw_queryable_with_parameters_and_closure(bool async) { var city = "London"; @@ -661,7 +661,7 @@ public virtual async Task SqlQueryRaw_queryable_with_parameters_and_clos return queryString; } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SqlQueryRaw_queryable_simple_cache_key_includes_query_string(bool async) { await AssertQuery( @@ -681,7 +681,7 @@ await AssertQuery( elementAsserter: AssertUnmappedCustomers); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SqlQueryRaw_queryable_with_parameters_cache_key_includes_parameters(bool async) { var city = "London"; @@ -708,7 +708,7 @@ await AssertQuery( elementAsserter: AssertUnmappedCustomers); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SqlQueryRaw_queryable_simple_as_no_tracking_not_composed(bool async) => AssertQuery( async, @@ -719,7 +719,7 @@ public virtual Task SqlQueryRaw_queryable_simple_as_no_tracking_not_composed(boo elementSorter: e => e.CustomerID, elementAsserter: AssertUnmappedCustomers); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SqlQueryRaw_queryable_simple_projection_composed(bool async) { using var context = CreateContext(); @@ -742,7 +742,7 @@ WHERE [Discontinued] <> " .Select(x => x.ProductName)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SqlQueryRaw_annotations_do_not_affect_successive_calls(bool async) { using var context = CreateContext(); @@ -763,7 +763,7 @@ public virtual async Task SqlQueryRaw_annotations_do_not_affect_successive_calls Assert.Equal(91, actual.Length); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SqlQueryRaw_composed_with_predicate(bool async) => AssertQuery( async, @@ -775,7 +775,7 @@ public virtual Task SqlQueryRaw_composed_with_predicate(bool async) elementSorter: e => e.CustomerID, elementAsserter: AssertUnmappedCustomers); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SqlQueryRaw_composed_with_empty_predicate(bool async) => AssertQuery( async, @@ -785,7 +785,7 @@ public virtual Task SqlQueryRaw_composed_with_empty_predicate(bool async) ss => ss.Set().Where(c => c.ContactName == c.CompanyName).Select(e => UnmappedCustomer.FromCustomer(e)), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SqlQueryRaw_with_dbParameter(bool async) { var parameter = CreateDbParameter("@city", "London"); @@ -799,7 +799,7 @@ await AssertQuery( elementAsserter: AssertUnmappedCustomers); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SqlQueryRaw_with_dbParameter_without_name_prefix(bool async) { var parameter = CreateDbParameter("city", "London"); @@ -813,7 +813,7 @@ await AssertQuery( elementAsserter: AssertUnmappedCustomers); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SqlQueryRaw_with_dbParameter_mixed(bool async) { var city = "London"; @@ -842,7 +842,7 @@ await AssertQuery( elementAsserter: AssertUnmappedCustomers); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SqlQueryRaw_with_db_parameters_called_multiple_times(bool async) { using var context = CreateContext(); @@ -866,7 +866,7 @@ public virtual async Task SqlQueryRaw_with_db_parameters_called_multiple_times(b Assert.Single(result2); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SqlQuery_with_inlined_db_parameter(bool async) { var parameter = CreateDbParameter("@somename", "ALFKI"); @@ -880,7 +880,7 @@ await AssertQuery( elementAsserter: AssertUnmappedCustomers); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SqlQuery_with_inlined_db_parameter_without_name_prefix(bool async) { var parameter = CreateDbParameter("somename", "ALFKI"); @@ -894,7 +894,7 @@ await AssertQuery( elementAsserter: AssertUnmappedCustomers); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SqlQuery_parameterization_issue_12213(bool async) { using var context = CreateContext(); @@ -930,7 +930,7 @@ public virtual async Task SqlQuery_parameterization_issue_12213(bool async) : query3.ToArray(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SqlQueryRaw_does_not_parameterize_interpolated_string(bool async) { var tableName = "Orders"; @@ -945,7 +945,7 @@ await AssertQuery( elementAsserter: AssertUnmappedOrders); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SqlQueryRaw_with_set_operation(bool async) { var context = Fixture.CreateContext(); @@ -963,7 +963,7 @@ public virtual Task SqlQueryRaw_with_set_operation(bool async) elementAsserter: AssertUnmappedCustomers); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Line_endings_after_Select(bool async) => AssertQuery( async, @@ -974,7 +974,7 @@ public virtual Task Line_endings_after_Select(bool async) elementSorter: e => e.CustomerID, elementAsserter: AssertUnmappedCustomers); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SqlQueryRaw_queryable_simple_projection_not_composed(bool async) => AssertQuery( async, @@ -990,7 +990,7 @@ public virtual Task SqlQueryRaw_queryable_simple_projection_not_composed(bool as Assert.Equal(e.City, a.City); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SqlQueryRaw_in_subquery_with_dbParameter(bool async) { var context = Fixture.CreateContext(); @@ -1012,7 +1012,7 @@ public virtual Task SqlQueryRaw_in_subquery_with_dbParameter(bool async) elementAsserter: AssertUnmappedOrders); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SqlQueryRaw_in_subquery_with_positional_dbParameter_without_name(bool async) { var context = Fixture.CreateContext(); @@ -1034,7 +1034,7 @@ public virtual Task SqlQueryRaw_in_subquery_with_positional_dbParameter_without_ elementAsserter: AssertUnmappedOrders); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SqlQueryRaw_in_subquery_with_positional_dbParameter_with_name(bool async) { var context = Fixture.CreateContext(); @@ -1056,7 +1056,7 @@ public virtual Task SqlQueryRaw_in_subquery_with_positional_dbParameter_with_nam elementAsserter: AssertUnmappedOrders); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SqlQueryRaw_with_dbParameter_mixed_in_subquery(bool async) { const string city = "London"; @@ -1098,7 +1098,7 @@ await AssertQuery( elementAsserter: AssertUnmappedOrders); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SqlQueryRaw_composed_with_common_table_expression(bool async) => AssertQuery( async, @@ -1115,7 +1115,7 @@ WITH [Customers2] AS ( elementSorter: e => e.CustomerID, elementAsserter: AssertUnmappedCustomers); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Multiple_occurrences_of_SqlQuery_with_db_parameter_adds_two_parameters(bool async) { using var context = CreateContext(); @@ -1142,7 +1142,7 @@ public virtual async Task Multiple_occurrences_of_SqlQuery_with_db_parameter_add Assert.Empty(actual); } - [ConditionalFact] + [Fact] public virtual void Ad_hoc_type_with_reference_navigation_throws() { using var context = CreateContext(); @@ -1153,7 +1153,7 @@ public virtual void Ad_hoc_type_with_reference_navigation_throws() => context.Database.SqlQueryRaw(NormalizeDelimitersInRawString(@"SELECT * FROM [Posts]"))).Message); } - [ConditionalFact] // Issue #30056 + [Fact] // Issue #30056 public virtual void Ad_hoc_type_with_collection_navigation_throws() { using var context = CreateContext(); @@ -1164,7 +1164,7 @@ public virtual void Ad_hoc_type_with_collection_navigation_throws() => context.Database.SqlQueryRaw(NormalizeDelimitersInRawString(@"SELECT * FROM [Blogs]"))).Message); } - [ConditionalFact] + [Fact] public virtual void Ad_hoc_type_with_unmapped_property_throws() { using var context = CreateContext(); @@ -1175,7 +1175,7 @@ public virtual void Ad_hoc_type_with_unmapped_property_throws() => context.Database.SqlQueryRaw(NormalizeDelimitersInRawString(@"SELECT * FROM [People]"))).Message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SqlQueryRaw_then_String_Length(bool async) { using var context = CreateContext(); @@ -1192,7 +1192,7 @@ public virtual async Task SqlQueryRaw_then_String_Length(bool async) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SqlQueryRaw_then_String_ToUpper_String_Length(bool async) { using var context = CreateContext(); diff --git a/test/EFCore.Relational.Specification.Tests/Query/ToSqlQueryTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/ToSqlQueryTestBase.cs index 9dc2789c2f5..583ae39fb35 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/ToSqlQueryTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/ToSqlQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -8,7 +8,7 @@ public abstract class ToSqlQueryTestBase(NonSharedFixture fixture) : NonSharedMo protected override string NonSharedStoreName => "ToSqlQueryTests"; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] // Issue #27629 public virtual async Task Entity_type_with_navigation_mapped_to_SqlQuery(bool async) { diff --git a/test/EFCore.Relational.Specification.Tests/Query/Translations/JsonTranslationsRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/Translations/JsonTranslationsRelationalTestBase.cs index 6f35434428e..0e22da8d499 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/Translations/JsonTranslationsRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/Translations/JsonTranslationsRelationalTestBase.cs @@ -12,7 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Translations; public abstract class JsonTranslationsRelationalTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : JsonTranslationsRelationalTestBase.JsonTranslationsQueryFixtureBase, new() { - [ConditionalFact] + [Fact] public virtual Task JsonPathExists_on_scalar_string_column() => AssertQuery( ss => ss.Set() @@ -20,7 +20,7 @@ public virtual Task JsonPathExists_on_scalar_string_column() ss => ss.Set() .Where(b => ((IDictionary)JsonNode.Parse(b.JsonString)!).ContainsKey("OptionalInt"))); - [ConditionalFact] + [Fact] public virtual Task JsonPathExists_on_complex_property() => AssertQuery( ss => ss.Set() @@ -28,7 +28,7 @@ public virtual Task JsonPathExists_on_complex_property() ss => ss.Set() .Where(b => ((IDictionary)JsonNode.Parse(b.JsonString)!).ContainsKey("OptionalInt"))); - [ConditionalFact] + [Fact] public virtual Task JsonPathExists_on_owned_entity() => AssertQuery( ss => ss.Set() diff --git a/test/EFCore.Relational.Specification.Tests/Query/Translations/StringTranslationsRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/Translations/StringTranslationsRelationalTestBase.cs index 978bebf68dc..c974bd57f7a 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/Translations/StringTranslationsRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/Translations/StringTranslationsRelationalTestBase.cs @@ -47,25 +47,25 @@ public override Task Contains_with_StringComparison_OrdinalIgnoreCase() #region Like - [ConditionalFact] // #26661, precedence/parentheses - belongs in OperatorsQueryTestBase + [Fact] // #26661, precedence/parentheses - belongs in OperatorsQueryTestBase public virtual Task Where_Like_and_comparison() => AssertQuery( ss => ss.Set().Where(c => EF.Functions.Like(c.String, "S%") && c.Int == 8), ss => ss.Set().Where(c => c.String.StartsWith("S") && c.Int == 8)); - [ConditionalFact] // #26661, precedence/parentheses - belongs in OperatorsQueryTestBase + [Fact] // #26661, precedence/parentheses - belongs in OperatorsQueryTestBase public virtual Task Where_Like_or_comparison() => AssertQuery( ss => ss.Set().Where(c => EF.Functions.Like(c.String, "S%") || c.Int == int.MaxValue), ss => ss.Set().Where(c => c.String.StartsWith("S") || c.Id == int.MaxValue)); - [ConditionalFact] + [Fact] public virtual Task Like_with_non_string_column_using_ToString() => AssertQuery( ss => ss.Set().Where(o => EF.Functions.Like(o.Int.ToString(), "%5%")), ss => ss.Set().Where(o => o.Int.ToString().Contains("5"))); - [ConditionalFact] + [Fact] public virtual Task Like_with_non_string_column_using_double_cast() => AssertQuery( ss => ss.Set().Where(o => EF.Functions.Like((string)(object)o.Int, "%5%")), @@ -75,7 +75,7 @@ public virtual Task Like_with_non_string_column_using_double_cast() #region IndexOf - [ConditionalFact] + [Fact] public virtual Task IndexOf_with_non_string_column_using_double_cast() { var pattern = "5"; @@ -88,7 +88,7 @@ public virtual Task IndexOf_with_non_string_column_using_double_cast() #region Replace - [ConditionalFact] + [Fact] public virtual Task Replace_with_non_string_column_using_double_cast() => AssertQuery( ss => ss.Set().Where(b => ((string)(object)b.Int).Replace("8", "3") == "3"), diff --git a/test/EFCore.Relational.Specification.Tests/Query/UdfDbFunctionTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/UdfDbFunctionTestBase.cs index dd13c7db404..0cb834a6aef 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/UdfDbFunctionTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/UdfDbFunctionTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.ComponentModel.DataAnnotations.Schema; @@ -584,7 +584,7 @@ protected override async Task SeedAsync(DbContext context) #region Static - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Extension_Method_Static() { using var context = CreateContext(); @@ -594,7 +594,7 @@ public virtual void Scalar_Function_Extension_Method_Static() Assert.Equal(4, len); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_With_Translator_Translates_Static() { using var context = CreateContext(); @@ -606,7 +606,7 @@ public virtual void Scalar_Function_With_Translator_Translates_Static() Assert.Equal(5, len); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_ClientEval_Method_As_Translateable_Method_Parameter_Static() { using var context = CreateContext(); @@ -622,7 +622,7 @@ public virtual void Scalar_Function_ClientEval_Method_As_Translateable_Method_Pa .Single()); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Constant_Parameter_Static() { using var context = CreateContext(); @@ -633,7 +633,7 @@ public virtual void Scalar_Function_Constant_Parameter_Static() Assert.Equal(4, custs.Count); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Anonymous_Type_Select_Correlated_Static() { using var context = CreateContext(); @@ -646,7 +646,7 @@ public virtual void Scalar_Function_Anonymous_Type_Select_Correlated_Static() Assert.Equal(3, cust.OrderCount); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Anonymous_Type_Select_Not_Correlated_Static() { using var context = CreateContext(); @@ -659,7 +659,7 @@ public virtual void Scalar_Function_Anonymous_Type_Select_Not_Correlated_Static( Assert.Equal(3, cust.OrderCount); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Anonymous_Type_Select_Parameter_Static() { using var context = CreateContext(); @@ -673,7 +673,7 @@ public virtual void Scalar_Function_Anonymous_Type_Select_Parameter_Static() Assert.Equal(3, cust.OrderCount); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Anonymous_Type_Select_Nested_Static() { using var context = CreateContext(); @@ -693,7 +693,7 @@ public virtual void Scalar_Function_Anonymous_Type_Select_Nested_Static() Assert.Equal("***1", cust.OrderCount); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Where_Correlated_Static() { using var context = CreateContext(); @@ -705,7 +705,7 @@ where UDFSqlContext.IsTopCustomerStatic(c.Id) Assert.Single(cust); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Where_Not_Correlated_Static() { using var context = CreateContext(); @@ -718,7 +718,7 @@ where UDFSqlContext.GetCustomerWithMostOrdersAfterDateStatic(startDate) == c.Id Assert.Equal(2, custId); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Where_Parameter_Static() { using var context = CreateContext(); @@ -733,7 +733,7 @@ where c.Id Assert.Equal(1, custId); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Where_Nested_Static() { using var context = CreateContext(); @@ -748,7 +748,7 @@ where c.Id Assert.Equal(1, custId); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Let_Correlated_Static() { using var context = CreateContext(); @@ -762,7 +762,7 @@ public virtual void Scalar_Function_Let_Correlated_Static() Assert.Equal(2, cust.OrderCount); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Let_Not_Correlated_Static() { using var context = CreateContext(); @@ -776,7 +776,7 @@ public virtual void Scalar_Function_Let_Not_Correlated_Static() Assert.Equal(2, cust.OrderCount); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Let_Not_Parameter_Static() { using var context = CreateContext(); @@ -791,7 +791,7 @@ public virtual void Scalar_Function_Let_Not_Parameter_Static() Assert.Equal(2, cust.OrderCount); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Let_Nested_Static() { using var context = CreateContext(); @@ -807,7 +807,7 @@ public virtual void Scalar_Function_Let_Nested_Static() Assert.Equal("***3", cust.OrderCount); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_Unwind_Client_Eval_Where_Static() { using var context = CreateContext(); @@ -817,7 +817,7 @@ public virtual void Scalar_Nested_Function_Unwind_Client_Eval_Where_Static() select c.Id).Single()); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_Unwind_Client_Eval_OrderBy_Static() { using var context = CreateContext(); @@ -827,7 +827,7 @@ orderby UDFSqlContext.AddOneStatic(c.Id) select c.Id).ToList()); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_Unwind_Client_Eval_Select_Static() { using var context = CreateContext(); @@ -840,7 +840,7 @@ orderby c.Id Assert.True(results.SequenceEqual(Enumerable.Range(2, 4))); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_Client_BCL_UDF_Static() { using var context = CreateContext(); @@ -851,7 +851,7 @@ where 2 select c.Id).Single()); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_Client_UDF_BCL_Static() { using var context = CreateContext(); @@ -862,7 +862,7 @@ where 2 select c.Id).Single()); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_BCL_Client_UDF_Static() { using var context = CreateContext(); @@ -873,7 +873,7 @@ where 2 select c.Id).Single()); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_BCL_UDF_Client_Static() { using var context = CreateContext(); @@ -884,7 +884,7 @@ where 1 select c.Id).Single()); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_UDF_BCL_Client_Static() { using var context = CreateContext(); @@ -895,7 +895,7 @@ where 1 select c.Id).Single()); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_UDF_Client_BCL_Static() { using var context = CreateContext(); @@ -906,7 +906,7 @@ where 1 select c.Id).Single()); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_Client_BCL_Static() { using var context = CreateContext(); @@ -916,7 +916,7 @@ public virtual void Scalar_Nested_Function_Client_BCL_Static() select c.Id).Single()); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_Client_UDF_Static() { using var context = CreateContext(); @@ -926,7 +926,7 @@ public virtual void Scalar_Nested_Function_Client_UDF_Static() select c.Id).Single()); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_BCL_Client_Static() { using var context = CreateContext(); @@ -936,7 +936,7 @@ public virtual void Scalar_Nested_Function_BCL_Client_Static() select c.Id).Single()); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_BCL_UDF_Static() { using var context = CreateContext(); @@ -948,7 +948,7 @@ public virtual void Scalar_Nested_Function_BCL_UDF_Static() Assert.Equal(1, results); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_UDF_Client_Static() { using var context = CreateContext(); @@ -958,7 +958,7 @@ public virtual void Scalar_Nested_Function_UDF_Client_Static() select c.Id).Single()); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_UDF_BCL_Static() { using var context = CreateContext(); @@ -970,7 +970,7 @@ public virtual void Scalar_Nested_Function_UDF_BCL_Static() Assert.Equal(1, results); } - [ConditionalFact] + [Fact] public virtual void Nullable_navigation_property_access_preserves_schema_for_sql_function() { using var context = CreateContext(); @@ -983,7 +983,7 @@ public virtual void Nullable_navigation_property_access_preserves_schema_for_sql Assert.Equal("Customer", result); } - [ConditionalFact] + [Fact] public virtual void Compare_function_without_null_propagation_to_null() { using var context = CreateContext(); @@ -996,7 +996,7 @@ public virtual void Compare_function_without_null_propagation_to_null() Assert.Equal(4, result.Count); } - [ConditionalFact] + [Fact] public virtual void Compare_function_with_null_propagation_to_null() { using var context = CreateContext(); @@ -1009,7 +1009,7 @@ public virtual void Compare_function_with_null_propagation_to_null() Assert.Equal(4, result.Count); } - [ConditionalFact] + [Fact] public virtual void Compare_non_nullable_function_to_null_gets_optimized() { using var context = CreateContext(); @@ -1023,7 +1023,7 @@ public virtual void Compare_non_nullable_function_to_null_gets_optimized() Assert.Equal(4, result.Count); } - [ConditionalFact] + [Fact] public virtual void Compare_functions_returning_int_that_take_nullable_param_which_propagates_null() { using var context = CreateContext(); @@ -1036,7 +1036,7 @@ public virtual void Compare_functions_returning_int_that_take_nullable_param_whi Assert.Equal(4, result.Count); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_SqlFragment_Static() { using var context = CreateContext(); @@ -1046,7 +1046,7 @@ public virtual void Scalar_Function_SqlFragment_Static() Assert.Equal(1, len); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_with_InExpression_translation() { using var context = CreateContext(); @@ -1055,7 +1055,7 @@ public virtual void Scalar_Function_with_InExpression_translation() Assert.Equal(4, query.Count); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_with_nested_InExpression_translation() { using var context = CreateContext(); @@ -1065,7 +1065,7 @@ public virtual void Scalar_Function_with_nested_InExpression_translation() } #if RELEASE - [ConditionalFact] + [Fact] public virtual void Scalar_Function_with_nullable_value_return_type_throws() { using var context = CreateContext(); @@ -1085,7 +1085,7 @@ public virtual void Scalar_Function_with_nullable_value_return_type_throws() #region Instance - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Non_Static() { using var context = CreateContext(); @@ -1098,7 +1098,7 @@ public virtual void Scalar_Function_Non_Static() Assert.Equal("$$One", custName.LastName); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Extension_Method_Instance() { using var context = CreateContext(); @@ -1108,7 +1108,7 @@ public virtual void Scalar_Function_Extension_Method_Instance() Assert.Equal(4, len); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_With_Translator_Translates_Instance() { using var context = CreateContext(); @@ -1120,7 +1120,7 @@ public virtual void Scalar_Function_With_Translator_Translates_Instance() Assert.Equal(5, len); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_ClientEval_Method_As_Translateable_Method_Parameter_Instance() { using var context = CreateContext(); @@ -1136,7 +1136,7 @@ public virtual void Scalar_Function_ClientEval_Method_As_Translateable_Method_Pa .Single()); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Constant_Parameter_Instance() { using var context = CreateContext(); @@ -1147,7 +1147,7 @@ public virtual void Scalar_Function_Constant_Parameter_Instance() Assert.Equal(4, custs.Count); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Anonymous_Type_Select_Correlated_Instance() { using var context = CreateContext(); @@ -1160,7 +1160,7 @@ public virtual void Scalar_Function_Anonymous_Type_Select_Correlated_Instance() Assert.Equal(3, cust.OrderCount); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Anonymous_Type_Select_Not_Correlated_Instance() { using var context = CreateContext(); @@ -1173,7 +1173,7 @@ public virtual void Scalar_Function_Anonymous_Type_Select_Not_Correlated_Instanc Assert.Equal(3, cust.OrderCount); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Anonymous_Type_Select_Parameter_Instance() { using var context = CreateContext(); @@ -1187,7 +1187,7 @@ public virtual void Scalar_Function_Anonymous_Type_Select_Parameter_Instance() Assert.Equal(3, cust.OrderCount); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Anonymous_Type_Select_Nested_Instance() { using var context = CreateContext(); @@ -1205,7 +1205,7 @@ public virtual void Scalar_Function_Anonymous_Type_Select_Nested_Instance() Assert.Equal("***1", cust.OrderCount); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Where_Correlated_Instance() { using var context = CreateContext(); @@ -1217,7 +1217,7 @@ where context.IsTopCustomerInstance(c.Id) Assert.Single(cust); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Where_Not_Correlated_Instance() { using var context = CreateContext(); @@ -1230,7 +1230,7 @@ where context.GetCustomerWithMostOrdersAfterDateInstance(startDate) == c.Id Assert.Equal(2, custId); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Where_Parameter_Instance() { using var context = CreateContext(); @@ -1245,7 +1245,7 @@ where c.Id Assert.Equal(1, custId); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Where_Nested_Instance() { using var context = CreateContext(); @@ -1260,7 +1260,7 @@ where c.Id Assert.Equal(1, custId); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Let_Correlated_Instance() { using var context = CreateContext(); @@ -1274,7 +1274,7 @@ public virtual void Scalar_Function_Let_Correlated_Instance() Assert.Equal(2, cust.OrderCount); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Let_Not_Correlated_Instance() { using var context = CreateContext(); @@ -1288,7 +1288,7 @@ public virtual void Scalar_Function_Let_Not_Correlated_Instance() Assert.Equal(2, cust.OrderCount); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Let_Not_Parameter_Instance() { using var context = CreateContext(); @@ -1303,7 +1303,7 @@ public virtual void Scalar_Function_Let_Not_Parameter_Instance() Assert.Equal(2, cust.OrderCount); } - [ConditionalFact] + [Fact] public virtual void Scalar_Function_Let_Nested_Instance() { using var context = CreateContext(); @@ -1319,7 +1319,7 @@ public virtual void Scalar_Function_Let_Nested_Instance() Assert.Equal("***3", cust.OrderCount); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_Unwind_Client_Eval_Where_Instance() { using var context = CreateContext(); @@ -1329,7 +1329,7 @@ public virtual void Scalar_Nested_Function_Unwind_Client_Eval_Where_Instance() select c.Id).Single()); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_Unwind_Client_Eval_OrderBy_Instance() { using var context = CreateContext(); @@ -1339,7 +1339,7 @@ orderby context.AddOneInstance(c.Id) select c.Id).ToList()); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_Unwind_Client_Eval_Select_Instance() { using var context = CreateContext(); @@ -1352,7 +1352,7 @@ orderby c.Id Assert.True(results.SequenceEqual(Enumerable.Range(2, 4))); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_Client_BCL_UDF_Instance() { using var context = CreateContext(); @@ -1362,7 +1362,7 @@ public virtual void Scalar_Nested_Function_Client_BCL_UDF_Instance() select c.Id).Single()); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_Client_UDF_BCL_Instance() { using var context = CreateContext(); @@ -1372,7 +1372,7 @@ public virtual void Scalar_Nested_Function_Client_UDF_BCL_Instance() select c.Id).Single()); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_BCL_Client_UDF_Instance() { using var context = CreateContext(); @@ -1382,7 +1382,7 @@ public virtual void Scalar_Nested_Function_BCL_Client_UDF_Instance() select c.Id).Single()); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_BCL_UDF_Client_Instance() { using var context = CreateContext(); @@ -1392,7 +1392,7 @@ public virtual void Scalar_Nested_Function_BCL_UDF_Client_Instance() select c.Id).Single()); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_UDF_BCL_Client_Instance() { using var context = CreateContext(); @@ -1402,7 +1402,7 @@ public virtual void Scalar_Nested_Function_UDF_BCL_Client_Instance() select c.Id).Single()); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_UDF_Client_BCL_Instance() { using var context = CreateContext(); @@ -1412,7 +1412,7 @@ public virtual void Scalar_Nested_Function_UDF_Client_BCL_Instance() select c.Id).Single()); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_Client_BCL_Instance() { using var context = CreateContext(); @@ -1422,7 +1422,7 @@ public virtual void Scalar_Nested_Function_Client_BCL_Instance() select c.Id).Single()); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_Client_UDF_Instance() { using var context = CreateContext(); @@ -1432,7 +1432,7 @@ public virtual void Scalar_Nested_Function_Client_UDF_Instance() select c.Id).Single()); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_BCL_Client_Instance() { using var context = CreateContext(); @@ -1450,7 +1450,7 @@ public static Exception AssertThrows(Func testCode) return new T(); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_BCL_UDF_Instance() { using var context = CreateContext(); @@ -1461,7 +1461,7 @@ public virtual void Scalar_Nested_Function_BCL_UDF_Instance() Assert.Equal(1, results); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_UDF_Client_Instance() { using var context = CreateContext(); @@ -1471,7 +1471,7 @@ public virtual void Scalar_Nested_Function_UDF_Client_Instance() select c.Id).Single()); } - [ConditionalFact] + [Fact] public virtual void Scalar_Nested_Function_UDF_BCL_Instance() { using var context = CreateContext(); @@ -1489,7 +1489,7 @@ public virtual void Scalar_Nested_Function_UDF_BCL_Instance() #region TableValuedFunction - [ConditionalFact] + [Fact] public virtual void QF_Anonymous_Collection_No_PK_Throws() { using (var context = CreateContext()) @@ -1508,7 +1508,7 @@ public virtual void QF_Anonymous_Collection_No_PK_Throws() } } - [ConditionalFact] + [Fact] public virtual void QF_Anonymous_Collection_No_IQueryable_In_Projection_Throws() { using (var context = CreateContext()) @@ -1522,7 +1522,7 @@ public virtual void QF_Anonymous_Collection_No_IQueryable_In_Projection_Throws() } } - [ConditionalFact] + [Fact] public virtual void QF_Stand_Alone() { using (var context = CreateContext()) @@ -1539,7 +1539,7 @@ orderby t.ProductId } } - [ConditionalFact] + [Fact] public virtual void QF_Stand_Alone_Parameter() { using (var context = CreateContext()) @@ -1556,7 +1556,7 @@ orderby c.Count descending } } - [ConditionalFact] + [Fact] public virtual void QF_CrossApply_Correlated_Select_QF_Type() { using (var context = CreateContext()) @@ -1579,7 +1579,7 @@ select r } } - [ConditionalFact] + [Fact] public virtual void QF_CrossApply_Correlated_Select_Anonymous() { using (var context = CreateContext()) @@ -1611,7 +1611,7 @@ from r in context.GetCustomerOrderCountByYear(c.Id) } } - [ConditionalFact] + [Fact] public virtual void QF_Select_Direct_In_Anonymous() { using (var context = CreateContext()) @@ -1626,7 +1626,7 @@ public virtual void QF_Select_Direct_In_Anonymous() } } - [ConditionalFact(Skip = "issue #26078")] + [Fact(Skip = "issue #26078")] public virtual void QF_Select_Direct_In_Anonymous_distinct() { using (var context = CreateContext()) @@ -1639,7 +1639,7 @@ public virtual void QF_Select_Direct_In_Anonymous_distinct() } } - [ConditionalFact] + [Fact] public virtual void QF_Select_Correlated_Direct_With_Function_Query_Parameter_Correlated_In_Anonymous() { using (var context = CreateContext()) @@ -1659,7 +1659,7 @@ public virtual void QF_Select_Correlated_Direct_With_Function_Query_Parameter_Co } } - [ConditionalFact] + [Fact] public virtual void QF_Select_Correlated_Subquery_In_Anonymous() { using (var context = CreateContext()) @@ -1684,7 +1684,7 @@ public virtual void QF_Select_Correlated_Subquery_In_Anonymous() } } - [ConditionalFact] + [Fact] public virtual void QF_Select_Correlated_Subquery_In_Anonymous_Nested_With_QF() { using (var context = CreateContext()) @@ -1712,7 +1712,7 @@ select a.OrderId } } - [ConditionalFact] + [Fact] public virtual void QF_Select_Correlated_Subquery_In_Anonymous_Nested() { using (var context = CreateContext()) @@ -1735,7 +1735,7 @@ public virtual void QF_Select_Correlated_Subquery_In_Anonymous_Nested() } } - [ConditionalFact] + [Fact] public virtual void QF_Select_Correlated_Subquery_In_Anonymous_MultipleCollections() { using (var context = CreateContext()) @@ -1755,7 +1755,7 @@ public virtual void QF_Select_Correlated_Subquery_In_Anonymous_MultipleCollectio } } - [ConditionalFact] + [Fact] public virtual void QF_Select_NonCorrelated_Subquery_In_Anonymous() { using (var context = CreateContext()) @@ -1772,7 +1772,7 @@ public virtual void QF_Select_NonCorrelated_Subquery_In_Anonymous() } } - [ConditionalFact] + [Fact] public virtual void QF_Select_NonCorrelated_Subquery_In_Anonymous_Parameter() { using (var context = CreateContext()) @@ -1792,7 +1792,7 @@ public virtual void QF_Select_NonCorrelated_Subquery_In_Anonymous_Parameter() } } - [ConditionalFact] + [Fact] public virtual void QF_Correlated_Select_In_Anonymous() { using (var context = CreateContext()) @@ -1830,7 +1830,7 @@ orderby c.Id } } - [ConditionalFact] + [Fact] public virtual void QF_CrossApply_Correlated_Select_Result() { using (var context = CreateContext()) @@ -1854,7 +1854,7 @@ from r in context.GetCustomerOrderCountByYear(c.Id) } } - [ConditionalFact] + [Fact] public virtual void QF_CrossJoin_Not_Correlated() { using (var context = CreateContext()) @@ -1878,7 +1878,7 @@ orderby r.Count } } - [ConditionalFact] + [Fact] public virtual void QF_CrossJoin_Parameter() { using (var context = CreateContext()) @@ -1904,7 +1904,7 @@ orderby r.Count } } - [ConditionalFact] + [Fact] public virtual void QF_Join() { using (var context = CreateContext()) @@ -1928,7 +1928,7 @@ join r in context.GetTopTwoSellingProducts() on p.Id equals r.ProductId } } - [ConditionalFact] + [Fact] public virtual void QF_LeftJoin_Select_Anonymous() { using (var context = CreateContext()) @@ -1967,7 +1967,7 @@ orderby p.Id descending } } - [ConditionalFact] + [Fact] public virtual void QF_LeftJoin_Select_Result() { using (var context = CreateContext()) @@ -1989,7 +1989,7 @@ orderby p.Id descending } } - [ConditionalFact] + [Fact] public virtual void QF_OuterApply_Correlated_Select_QF() { using (var context = CreateContext()) @@ -2019,7 +2019,7 @@ from r in context.GetCustomerOrderCountByYear(c.Id).DefaultIfEmpty() } } - [ConditionalFact] + [Fact] public virtual void QF_OuterApply_Correlated_Select_Entity() { using (var context = CreateContext()) @@ -2039,7 +2039,7 @@ from r in context.GetCustomerOrderCountByYear(c.Id).DefaultIfEmpty() } } - [ConditionalFact] + [Fact] public virtual void QF_OuterApply_Correlated_Select_Anonymous() { using (var context = CreateContext()) @@ -2079,7 +2079,7 @@ from r in context.GetCustomerOrderCountByYear(c.Id).DefaultIfEmpty() } } - [ConditionalFact] + [Fact] public virtual void QF_Nested() { using (var context = CreateContext()) @@ -2105,7 +2105,7 @@ orderby r.Year } } - [ConditionalFact] + [Fact] public virtual void QF_Correlated_Nested_Func_Call() { var custId = 2; @@ -2129,7 +2129,7 @@ from r in context.GetCustomerOrderCountByYear(context.AddValues(c.Id, 1)) } } - [ConditionalFact] + [Fact] public virtual void QF_Correlated_Func_Call_With_Navigation() { using (var context = CreateContext()) @@ -2155,7 +2155,7 @@ orderby c.Id } } - [ConditionalFact] + [Fact] public virtual void DbSet_mapped_to_function() { using (var context = CreateContext()) @@ -2172,7 +2172,7 @@ orderby t.ProductId } } - [ConditionalFact] + [Fact] public virtual void TVF_with_navigation_in_projection_groupby_aggregate() { using (var context = CreateContext()) @@ -2195,7 +2195,7 @@ public virtual void TVF_with_navigation_in_projection_groupby_aggregate() } } - [ConditionalFact] + [Fact] public virtual void TVF_with_argument_being_a_subquery_with_navigation_in_projection_groupby_aggregate() { using (var context = CreateContext()) @@ -2219,7 +2219,7 @@ public virtual void TVF_with_argument_being_a_subquery_with_navigation_in_projec } } - [ConditionalFact] + [Fact] public virtual void TVF_backing_entity_type_mapped_to_view() { using (var context = CreateContext()) @@ -2232,7 +2232,7 @@ orderby t.FirstName } } - [ConditionalFact] + [Fact] public virtual void TVF_backing_entity_type_with_complextype_mapped_to_view() { using (var context = CreateContext()) @@ -2245,7 +2245,7 @@ orderby t.Id } } - [ConditionalFact] + [Fact] public virtual void Udf_with_argument_being_comparison_to_null_parameter() { using (var context = CreateContext()) @@ -2270,7 +2270,7 @@ select r } } - [ConditionalFact] + [Fact] public virtual void Udf_with_argument_being_comparison_of_nullable_columns() { using (var context = CreateContext()) diff --git a/test/EFCore.Relational.Specification.Tests/Query/WarningsTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/WarningsTestBase.cs index ffb6cba13f7..d13d9d3e052 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/WarningsTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/WarningsTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.Northwind; @@ -24,7 +24,7 @@ protected WarningsTestBase(TFixture fixture) protected NorthwindContext CreateContext() => Fixture.CreateContext(); - [ConditionalFact] + [Fact] public virtual void Does_not_throw_for_top_level_single() { using var context = CreateContext(); @@ -33,7 +33,7 @@ public virtual void Does_not_throw_for_top_level_single() Assert.NotNull(query); } - [ConditionalFact] + [Fact] public virtual void Paging_operation_without_orderby_issues_warning() { using var context = CreateContext(); @@ -41,7 +41,7 @@ public virtual void Paging_operation_without_orderby_issues_warning() Assert.Equal(3, query.Count); } - [ConditionalFact] + [Fact] public virtual async Task Paging_operation_without_orderby_issues_warning_async() { using var context = CreateContext(); @@ -49,7 +49,7 @@ public virtual async Task Paging_operation_without_orderby_issues_warning_async( Assert.Equal(3, query.Count); } - [ConditionalFact] + [Fact] public virtual void FirstOrDefault_without_orderby_and_filter_issues_warning_subquery() { using var context = CreateContext(); @@ -57,7 +57,7 @@ public virtual void FirstOrDefault_without_orderby_and_filter_issues_warning_sub Assert.Single(query); } - [ConditionalFact] + [Fact] public virtual void FirstOrDefault_without_orderby_but_with_filter_doesnt_issue_warning() { using var context = CreateContext(); @@ -65,7 +65,7 @@ public virtual void FirstOrDefault_without_orderby_but_with_filter_doesnt_issue_ Assert.NotNull(query); } - [ConditionalFact] + [Fact] public virtual void Single_SingleOrDefault_without_orderby_doesnt_issue_warning() { using var context = CreateContext(); @@ -76,7 +76,7 @@ public virtual void Single_SingleOrDefault_without_orderby_doesnt_issue_warning( Assert.NotNull(query2); } - [ConditionalFact] + [Fact] public virtual void LastOrDefault_with_order_by_does_not_issue_client_eval_warning() { using var context = CreateContext(); @@ -88,7 +88,7 @@ public virtual void LastOrDefault_with_order_by_does_not_issue_client_eval_warni Assert.NotNull(query2); } - [ConditionalFact] + [Fact] public virtual void Last_with_order_by_does_not_issue_client_eval_warning_if_at_top_level() { using var context = CreateContext(); @@ -96,14 +96,14 @@ public virtual void Last_with_order_by_does_not_issue_client_eval_warning_if_at_ Assert.NotNull(query); } - [ConditionalFact] + [Fact] public virtual void Max_does_not_issue_client_eval_warning_when_at_top_level() { using var context = CreateContext(); var query = context.Orders.Select(o => o.OrderID).Max(); } - [ConditionalFact] + [Fact] public virtual void Comparing_collection_navigation_to_null_issues_possible_unintended_consequences_warning() { using var context = CreateContext(); @@ -111,7 +111,7 @@ public virtual void Comparing_collection_navigation_to_null_issues_possible_unin Assert.Equal(91, query.Count); } - [ConditionalFact] + [Fact] public virtual void Comparing_two_collections_together_issues_possible_unintended_reference_comparison_warning() { using var context = CreateContext(); diff --git a/test/EFCore.Relational.Specification.Tests/RelationalComplianceTestBase.cs b/test/EFCore.Relational.Specification.Tests/RelationalComplianceTestBase.cs index b3a8c398ba3..31b7bc1ded8 100644 --- a/test/EFCore.Relational.Specification.Tests/RelationalComplianceTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/RelationalComplianceTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore; @@ -11,7 +11,7 @@ protected override IEnumerable GetBaseTestClasses() => base.GetBaseTestClasses().Concat( typeof(RelationalComplianceTestBase).Assembly.ExportedTypes.Where(t => t.Name.Contains("TestBase"))); - [ConditionalFact] + [Fact] public virtual void All_query_test_fixtures_must_implement_ITestSqlLoggerFactory() { var queryFixturesWithoutTestSqlLogger = TargetAssembly diff --git a/test/EFCore.Relational.Specification.Tests/RuntimeMigrationTestBase.cs b/test/EFCore.Relational.Specification.Tests/RuntimeMigrationTestBase.cs index 2affe56112b..4be08f8957b 100644 --- a/test/EFCore.Relational.Specification.Tests/RuntimeMigrationTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/RuntimeMigrationTestBase.cs @@ -16,14 +16,14 @@ public abstract class RuntimeMigrationTestBase(TFixture fixture) : ICl { protected TFixture Fixture { get; } = fixture; - public virtual async Task InitializeAsync() + public virtual async ValueTask InitializeAsync() { using var context = CreateContext(); await Fixture.TestStore.CleanAsync(context, createTables: false); } - public virtual Task DisposeAsync() - => Task.CompletedTask; + public virtual ValueTask DisposeAsync() + => ValueTask.CompletedTask; protected abstract Assembly ProviderAssembly { get; } @@ -144,7 +144,7 @@ protected override bool UsePooling #region Tests - [ConditionalFact] + [Fact] public void Can_scaffold_migration() { using var context = CreateContext(); @@ -159,7 +159,7 @@ public void Can_scaffold_migration() } } - [ConditionalFact] + [Fact] public void Can_compile_migration() { using var context = CreateContext(); @@ -177,7 +177,7 @@ public void Can_compile_migration() } } - [ConditionalFact] + [Fact] public void Can_register_and_apply_compiled_migration() { using var context = CreateContext(); @@ -200,7 +200,7 @@ public void Can_register_and_apply_compiled_migration() } } - [ConditionalFact] + [Fact] public void Compiled_migration_generates_valid_sql() { using var context = CreateContext(); @@ -227,7 +227,7 @@ public void Compiled_migration_generates_valid_sql() } } - [ConditionalFact] + [Fact] public void HasPendingModelChanges_returns_true_for_new_model() { using var context = CreateContext(); @@ -238,7 +238,7 @@ public void HasPendingModelChanges_returns_true_for_new_model() Assert.True(migrator.HasPendingModelChanges()); } - [ConditionalFact] + [Fact] public void HasPendingModelChanges_returns_false_after_migration() { using var context = CreateContext(); @@ -259,7 +259,7 @@ public void HasPendingModelChanges_returns_false_after_migration() } } - [ConditionalFact] + [Fact] public void Compiled_migration_contains_correct_operations() { using var context = CreateContext(); @@ -281,7 +281,7 @@ public void Compiled_migration_contains_correct_operations() } } - [ConditionalFact] + [Fact] public void Can_scaffold_and_save_migration_to_disk() { var tempDirectory = Path.Combine(Path.GetTempPath(), "EFCoreMigrationTest_" + Guid.NewGuid().ToString("N")); @@ -320,7 +320,7 @@ public void Can_scaffold_and_save_migration_to_disk() } } - [ConditionalFact] + [Fact] public void Can_apply_multiple_migrations_sequentially() { using var context = CreateContext(); @@ -361,7 +361,7 @@ public void Can_apply_multiple_migrations_sequentially() Assert.Contains(migration2.MigrationId, appliedAfterSecond); } - [ConditionalFact] + [Fact] public void Migration_down_reverses_up() { using var context = CreateContext(); @@ -435,7 +435,7 @@ protected DatabaseModel GetDatabaseModel(IServiceScope services, RuntimeMigratio return (migration, compiledAssembly); } - [ConditionalFact] + [Fact] public void Can_revert_migration_using_down_operations() { using var context = CreateContext(); @@ -483,7 +483,7 @@ public void Can_revert_migration_using_down_operations() } } - [ConditionalFact] + [Fact] public void Applied_migration_is_recorded_in_history() { using var context = CreateContext(); @@ -512,7 +512,7 @@ public void Applied_migration_is_recorded_in_history() Assert.Contains(migration.MigrationId, afterApplied); } - [ConditionalFact] + [Fact] public void Compiled_migration_has_matching_up_and_down_table_operations() { using var context = CreateContext(); @@ -545,7 +545,7 @@ public void Compiled_migration_has_matching_up_and_down_table_operations() #region Rigorous Schema Verification Tests - [ConditionalFact] + [Fact] public void Migration_creates_correct_table_structure() { using var context = CreateContext(); @@ -571,7 +571,7 @@ public void Migration_creates_correct_table_structure() Assert.Single(postsTable.Columns, c => c.Name == "BlogId"); } - [ConditionalFact] + [Fact] public void Migration_creates_correct_primary_keys() { using var context = CreateContext(); @@ -598,7 +598,7 @@ public void Migration_creates_correct_primary_keys() Assert.False(postsId.IsNullable); } - [ConditionalFact] + [Fact] public void Migration_creates_correct_foreign_keys() { using var context = CreateContext(); @@ -623,7 +623,7 @@ public void Migration_creates_correct_foreign_keys() Assert.Equal(ReferentialAction.Cascade, fk.OnDelete); } - [ConditionalFact] + [Fact] public void Migration_creates_columns_with_correct_constraints() { using var context = CreateContext(); @@ -648,7 +648,7 @@ public void Migration_creates_columns_with_correct_constraints() Assert.False(blogIdColumn.IsNullable); } - [ConditionalFact] + [Fact] public void Migration_down_removes_schema_completely() { using var context = CreateContext(); @@ -674,7 +674,7 @@ public void Migration_down_removes_schema_completely() Assert.DoesNotContain(dbModelAfter.Tables, t => t.Name == "Posts"); } - [ConditionalFact] + [Fact] public void Migration_creates_foreign_key_index() { using var context = CreateContext(); @@ -694,7 +694,7 @@ public void Migration_creates_foreign_key_index() Assert.Equal("BlogId", fkIndex.Columns[0].Name); } - [ConditionalFact] + [Fact] public void Migration_with_no_changes_produces_empty_operations() { using var context = CreateContext(); @@ -735,7 +735,7 @@ public void Migration_with_no_changes_produces_empty_operations() Assert.Empty(migrationInstance.DownOperations); } - [ConditionalFact] + [Fact] public void Migration_preserves_existing_data() { using var context = CreateContext(); @@ -794,7 +794,7 @@ public void Migration_preserves_existing_data() Assert.Equal("Test Content", post.Content); } - [ConditionalFact] + [Fact] public void Applied_migration_snapshot_matches_model() { using var context = CreateContext(); @@ -820,7 +820,7 @@ public void Applied_migration_snapshot_matches_model() Assert.Equal(4, postsTable.Columns.Count); } - [ConditionalFact] + [Fact] public void RemoveMigration_removes_dynamically_created_migration() { var tempDirectory = Path.Combine(Path.GetTempPath(), "EFCoreRemoveMigrationTest_" + Guid.NewGuid().ToString("N")); diff --git a/test/EFCore.Relational.Specification.Tests/Scaffolding/CompiledModelRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Scaffolding/CompiledModelRelationalTestBase.cs index 4c8eb161906..cdb809e856b 100644 --- a/test/EFCore.Relational.Specification.Tests/Scaffolding/CompiledModelRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Scaffolding/CompiledModelRelationalTestBase.cs @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding; public abstract class CompiledModelRelationalTestBase(NonSharedFixture fixture) : CompiledModelTestBase(fixture) { - [ConditionalFact] + [Fact] public virtual Task BigModel_with_JSON_columns() => Test( modelBuilder => BuildBigModel(modelBuilder, jsonColumns: true), @@ -527,7 +527,7 @@ protected override void BuildComplexTypesModel(ModelBuilder modelBuilder) }); } - [ConditionalFact] + [Fact] public override Task ComplexTypes() => Test( BuildComplexTypesModel, @@ -666,7 +666,7 @@ protected override void AssertComplexTypes(IModel model) } } - [ConditionalFact] + [Fact] public virtual Task Tpc_Sprocs() => Test( BuildTpcSprocsModel, @@ -1052,7 +1052,7 @@ protected virtual void AssertTpcSprocs(IModel model) model.GetEntityTypes()); } - [ConditionalFact] + [Fact] public virtual Task Sequences() => Test( modelBuilder => @@ -1077,7 +1077,7 @@ public virtual Task Sequences() Assert.NotNull(longSequence.ToString()); }); - [ConditionalFact] + [Fact] public virtual Task CheckConstraints() => Test( modelBuilder => modelBuilder.Entity(eb => @@ -1097,7 +1097,7 @@ public virtual Task CheckConstraints() Assert.Throws(() => dataEntity.GetCheckConstraints()).Message); }); - [ConditionalFact] + [Fact] public virtual Task Triggers() => Test( modelBuilder => modelBuilder.Entity(eb => @@ -1118,7 +1118,7 @@ public virtual Task Triggers() Assert.Equal(2, dataEntity.GetDeclaredTriggers().Count()); }); - [ConditionalFact] + [Fact] public virtual Task DbFunctions() => Test( assertModel: model => @@ -1339,7 +1339,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual Task Custom_function_type_mapping() => Test( assertModel: model => @@ -1365,7 +1365,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual Task Custom_function_parameter_type_mapping() => Test( assertModel: model => @@ -1392,7 +1392,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual Task Throws_for_custom_function_translation() => Test( expectedExceptionMessage: RelationalStrings.CompiledModelFunctionTranslation("GetSqlFragmentStatic")); @@ -1411,7 +1411,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual Task Dynamic_schema() => Test( modelBuilder => modelBuilder.Entity(eb => diff --git a/test/EFCore.Relational.Specification.Tests/TableSplittingTestBase.cs b/test/EFCore.Relational.Specification.Tests/TableSplittingTestBase.cs index b4483d35986..835919616d6 100644 --- a/test/EFCore.Relational.Specification.Tests/TableSplittingTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/TableSplittingTestBase.cs @@ -17,7 +17,7 @@ protected TableSplittingTestBase(NonSharedFixture fixture, ITestOutputHelper tes // TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual async Task Can_query_shared() { await InitializeAsync(OnModelCreating); @@ -26,7 +26,7 @@ public virtual async Task Can_query_shared() Assert.Equal(5, context.Set().ToList().Count); } - [ConditionalFact] + [Fact] public virtual async Task Can_query_shared_nonhierarchy() { await InitializeAsync(modelBuilder => @@ -39,7 +39,7 @@ await InitializeAsync(modelBuilder => Assert.Equal(5, context.Set().ToList().Count); } - [ConditionalFact] + [Fact] public virtual async Task Can_query_shared_nonhierarchy_with_nonshared_dependent() { await InitializeAsync(modelBuilder => @@ -53,7 +53,7 @@ await InitializeAsync(modelBuilder => Assert.Equal(5, context.Set().ToList().Count); } - [ConditionalFact] + [Fact] public virtual async Task Can_query_shared_derived_hierarchy() { await InitializeAsync(OnModelCreating); @@ -62,7 +62,7 @@ public virtual async Task Can_query_shared_derived_hierarchy() Assert.Equal(2, context.Set().ToList().Count); } - [ConditionalFact] + [Fact] public virtual async Task Can_query_shared_derived_nonhierarchy() { await InitializeAsync(modelBuilder => @@ -75,7 +75,7 @@ await InitializeAsync(modelBuilder => Assert.Equal(2, context.Set().ToList().Count); } - [ConditionalFact] + [Fact] public virtual async Task Can_query_shared_derived_nonhierarchy_all_required() { await InitializeAsync(modelBuilder => @@ -93,11 +93,11 @@ await InitializeAsync(modelBuilder => Assert.Equal(2, context.Set().ToList().Count); } - [ConditionalFact] + [Fact] public virtual Task Can_use_with_redundant_relationships() => Test_roundtrip(OnModelCreating); - [ConditionalFact] + [Fact] public virtual Task Can_use_with_chained_relationships() => Test_roundtrip(modelBuilder => { @@ -105,7 +105,7 @@ public virtual Task Can_use_with_chained_relationships() modelBuilder.Entity(eb => { eb.Ignore(e => e.Vehicle); }); }); - [ConditionalFact] + [Fact] public virtual Task Can_use_with_fanned_relationships() => Test_roundtrip(modelBuilder => { @@ -114,7 +114,7 @@ public virtual Task Can_use_with_fanned_relationships() modelBuilder.Entity(eb => eb.Ignore(e => e.Engine)); }); - [ConditionalFact] + [Fact] public virtual async Task Can_share_required_columns() { await InitializeAsync( @@ -157,7 +157,7 @@ await InitializeAsync( } } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual async Task Can_share_required_columns_with_complex_types() { await InitializeAsync( @@ -208,7 +208,7 @@ await InitializeAsync( } } - [ConditionalFact] + [Fact] public virtual async Task Can_use_optional_dependents_with_shared_concurrency_tokens() { await InitializeAsync( @@ -278,7 +278,7 @@ await InitializeAsync( } } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual async Task Can_use_optional_dependents_with_shared_concurrency_tokens_with_complex_types() { await InitializeAsync( @@ -366,7 +366,7 @@ protected async Task Test_roundtrip(Action onModelCreating) context.AssertSeeded(); } - [ConditionalFact] + [Fact] public virtual async Task Can_manipulate_entities_sharing_row_independently() { await InitializeAsync(modelBuilder => @@ -448,7 +448,7 @@ await InitializeAsync(modelBuilder => } } - [ConditionalFact] + [Fact] public virtual async Task Can_update_just_dependents() { await InitializeAsync(OnModelCreating); @@ -474,7 +474,7 @@ public virtual async Task Can_update_just_dependents() } } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_dependent_with_just_one_parent() { await InitializeAsync(OnModelCreating); @@ -515,7 +515,7 @@ await context.AddAsync( } } - [ConditionalFact] + [Fact] public virtual async Task Can_change_dependent_instance_non_derived() { await InitializeAsync(modelBuilder => @@ -558,7 +558,7 @@ await InitializeAsync(modelBuilder => } } - [ConditionalFact] + [Fact] public virtual async Task Can_change_principal_instance_non_derived() { await InitializeAsync(modelBuilder => @@ -606,7 +606,7 @@ await InitializeAsync(modelBuilder => } } - [ConditionalFact] + [Fact] public virtual async Task Can_change_principal_and_dependent_instance_non_derived() { await InitializeAsync(modelBuilder => @@ -654,7 +654,7 @@ await InitializeAsync(modelBuilder => } } - [ConditionalFact] + [Fact] public virtual async Task Optional_dependent_materialized_when_no_properties() { await InitializeAsync(OnModelCreating); @@ -671,7 +671,7 @@ public virtual async Task Optional_dependent_materialized_when_no_properties() } } - [ConditionalFact] + [Fact] public virtual async Task Warn_when_save_optional_dependent_with_null_values_sensitive() { await InitializeSharedAsync(OnSharedModelCreating); @@ -692,7 +692,7 @@ public virtual async Task Warn_when_save_optional_dependent_with_null_values_sen Assert.Equal(expected, log.Message); } - [ConditionalFact] + [Fact] public virtual async Task Warn_when_save_optional_dependent_with_null_values() { await InitializeSharedAsync(OnSharedModelCreating, sensitiveLogEnabled: false); @@ -730,7 +730,7 @@ public virtual async Task Warn_when_save_optional_dependent_with_null_values() Assert.Equal(expected, log.Message); } - [ConditionalFact] + [Fact] public virtual async Task No_warn_when_save_optional_dependent_at_least_one_none_null() { await InitializeSharedAsync(OnSharedModelCreating, sensitiveLogEnabled: false); @@ -752,7 +752,7 @@ public virtual async Task No_warn_when_save_optional_dependent_at_least_one_none Assert.Empty(TestSqlLoggerFactory.Log.Where(l => l.Level == LogLevel.Warning)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task ExecuteDelete_throws_for_table_sharing(bool async) { await InitializeAsync(OnModelCreating); @@ -780,7 +780,7 @@ await TestHelpers.ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task ExecuteUpdate_works_for_table_sharing(bool async) { await InitializeAsync(OnModelCreating); @@ -807,7 +807,7 @@ await TestHelpers.ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Optional_dependent_without_required_property(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -993,7 +993,7 @@ protected virtual TransportationContext CreateContext() protected virtual SharedTableContext CreateSharedContext() => SharedContextFactory.CreateDbContext(); - public override async Task DisposeAsync() + public override async ValueTask DisposeAsync() { await base.DisposeAsync(); diff --git a/test/EFCore.Relational.Specification.Tests/TransactionInterceptionTestBase.cs b/test/EFCore.Relational.Specification.Tests/TransactionInterceptionTestBase.cs index 3315ddfe26a..b32f9e1a3f9 100644 --- a/test/EFCore.Relational.Specification.Tests/TransactionInterceptionTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/TransactionInterceptionTestBase.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract class TransactionInterceptionTestBase(InterceptionTestBase.InterceptionFixtureBase fixture) : InterceptionTestBase(fixture) { - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task BeginTransaction_without_interceptor(bool async) { using var context = await CreateContextAsync([]); @@ -24,7 +24,7 @@ public virtual async Task BeginTransaction_without_interceptor(bool async) AssertBeginTransactionEvents(listener); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task UseTransaction_without_interceptor(bool async) { using var context = await CreateContextAsync([]); @@ -42,7 +42,7 @@ public virtual async Task UseTransaction_without_interceptor(bool async) AssertUseTransactionEvents(listener); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_BeginTransaction(bool async) { var (context, interceptor) = await CreateContextAsync(); @@ -60,7 +60,7 @@ public virtual async Task Intercept_BeginTransaction(bool async) } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_BeginTransaction_with_isolation_level(bool async) { var (context, interceptor) = await CreateContextAsync(); @@ -78,7 +78,7 @@ public virtual async Task Intercept_BeginTransaction_with_isolation_level(bool a } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_BeginTransaction_to_suppress(bool async) { var (context, interceptor) = await CreateContextAsync(); @@ -123,7 +123,7 @@ public override async ValueTask> TransactionSt } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_BeginTransaction_to_wrap(bool async) { var (context, interceptor) = await CreateContextAsync(); @@ -186,7 +186,7 @@ public override async ValueTask TransactionUsedAsync( } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_UseTransaction(bool async) { var (context, interceptor) = await CreateContextAsync(); @@ -206,7 +206,7 @@ public virtual async Task Intercept_UseTransaction(bool async) } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_UseTransaction_to_wrap(bool async) { var (context, interceptor) = await CreateContextAsync(); @@ -226,7 +226,7 @@ public virtual async Task Intercept_UseTransaction_to_wrap(bool async) } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_Commit(bool async) { var (context, interceptor) = await CreateContextAsync(); @@ -253,7 +253,7 @@ public virtual async Task Intercept_Commit(bool async) } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_Commit_to_suppress(bool async) { var (context, interceptor) = await CreateContextAsync(); @@ -283,7 +283,7 @@ public virtual async Task Intercept_Commit_to_suppress(bool async) } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_Rollback(bool async) { var (context, interceptor) = await CreateContextAsync(); @@ -310,7 +310,7 @@ public virtual async Task Intercept_Rollback(bool async) } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_Rollback_to_suppress(bool async) { var (context, interceptor) = await CreateContextAsync(); @@ -340,7 +340,7 @@ public virtual async Task Intercept_Rollback_to_suppress(bool async) } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_CreateSavepoint(bool async) { var (context, interceptor) = await CreateContextAsync(); @@ -367,7 +367,7 @@ public virtual async Task Intercept_CreateSavepoint(bool async) } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_RollbackToSavepoint(bool async) { var (context, interceptor) = await CreateContextAsync(); @@ -403,7 +403,7 @@ public virtual async Task Intercept_RollbackToSavepoint(bool async) } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_ReleaseSavepoint(bool async) { var (context, interceptor) = await CreateContextAsync(); @@ -484,7 +484,7 @@ public override async ValueTask TransactionRollingBackAsync( } } - [ConditionalTheory, InlineData(false, true), InlineData(true, true), InlineData(false, false), InlineData(true, false)] + [Theory, InlineData(false, true), InlineData(true, true), InlineData(false, false), InlineData(true, false)] public virtual async Task Intercept_error_on_commit_or_rollback(bool async, bool commit) { var (context, interceptor) = await CreateContextAsync(); @@ -533,7 +533,7 @@ public virtual async Task Intercept_error_on_commit_or_rollback(bool async, bool } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Intercept_connection_with_multiple_interceptors(bool async) { var interceptor1 = new TransactionInterceptor(); diff --git a/test/EFCore.Relational.Specification.Tests/TransactionTestBase.cs b/test/EFCore.Relational.Specification.Tests/TransactionTestBase.cs index dcee48ef94c..184aa8c5f3e 100644 --- a/test/EFCore.Relational.Specification.Tests/TransactionTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/TransactionTestBase.cs @@ -17,7 +17,7 @@ public abstract class TransactionTestBase(TFixture fixture) : IClassFi { protected TFixture Fixture { get; set; } = fixture; - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task SaveChanges_can_be_used_with_AutoTransactionBehavior_Never(bool async) { using (var context = CreateContext()) @@ -52,7 +52,7 @@ await context.AddAsync( } } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task SaveChanges_can_be_used_with_AutoTransactionBehavior_Always(bool async) { using (var context = CreateContext()) @@ -86,7 +86,7 @@ await context.AddAsync( } } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task SaveChanges_implicitly_starts_transaction_when_needed(bool async) { using (var context = CreateContext()) @@ -111,7 +111,7 @@ await context.AddAsync( AssertStoreInitialState(); } - [ConditionalTheory, InlineData(true, AutoTransactionBehavior.WhenNeeded), InlineData(true, AutoTransactionBehavior.Never), + [Theory, InlineData(true, AutoTransactionBehavior.WhenNeeded), InlineData(true, AutoTransactionBehavior.Never), InlineData(true, AutoTransactionBehavior.Always), InlineData(false, AutoTransactionBehavior.WhenNeeded), InlineData(false, AutoTransactionBehavior.Never), InlineData(false, AutoTransactionBehavior.Always)] public virtual async Task SaveChanges_uses_enlisted_transaction(bool async, AutoTransactionBehavior autoTransactionBehavior) @@ -173,7 +173,7 @@ await context.AddAsync( AssertStoreInitialState(); } - [ConditionalTheory, InlineData(true, AutoTransactionBehavior.WhenNeeded), InlineData(true, AutoTransactionBehavior.Never), + [Theory, InlineData(true, AutoTransactionBehavior.WhenNeeded), InlineData(true, AutoTransactionBehavior.Never), InlineData(true, AutoTransactionBehavior.Always), InlineData(false, AutoTransactionBehavior.WhenNeeded), InlineData(false, AutoTransactionBehavior.Never), InlineData(false, AutoTransactionBehavior.Always)] public virtual async Task SaveChanges_uses_enlisted_transaction_after_connection_closed( @@ -220,7 +220,7 @@ await context.AddAsync( AssertStoreInitialState(); } - [ConditionalTheory, InlineData(true, AutoTransactionBehavior.WhenNeeded), InlineData(true, AutoTransactionBehavior.Never), + [Theory, InlineData(true, AutoTransactionBehavior.WhenNeeded), InlineData(true, AutoTransactionBehavior.Never), InlineData(true, AutoTransactionBehavior.Always), InlineData(false, AutoTransactionBehavior.WhenNeeded), InlineData(false, AutoTransactionBehavior.Never), InlineData(false, AutoTransactionBehavior.Always)] public virtual async Task SaveChanges_uses_enlisted_transaction_connectionString( @@ -261,7 +261,7 @@ await context.AddAsync( AssertStoreInitialState(); } - [ConditionalTheory, InlineData(true, AutoTransactionBehavior.WhenNeeded), InlineData(true, AutoTransactionBehavior.Never), + [Theory, InlineData(true, AutoTransactionBehavior.WhenNeeded), InlineData(true, AutoTransactionBehavior.Never), InlineData(true, AutoTransactionBehavior.Always), InlineData(false, AutoTransactionBehavior.WhenNeeded), InlineData(false, AutoTransactionBehavior.Never), InlineData(false, AutoTransactionBehavior.Always)] public virtual async Task SaveChanges_uses_ambient_transaction(bool async, AutoTransactionBehavior autoTransactionBehavior) @@ -324,7 +324,7 @@ await context.AddAsync( AssertStoreInitialState(); } - [ConditionalTheory, InlineData(true, AutoTransactionBehavior.WhenNeeded), InlineData(true, AutoTransactionBehavior.Never), + [Theory, InlineData(true, AutoTransactionBehavior.WhenNeeded), InlineData(true, AutoTransactionBehavior.Never), InlineData(true, AutoTransactionBehavior.Always), InlineData(false, AutoTransactionBehavior.WhenNeeded), InlineData(false, AutoTransactionBehavior.Never), InlineData(false, AutoTransactionBehavior.Always)] public virtual async Task SaveChanges_uses_ambient_transaction_with_connectionString( @@ -371,7 +371,7 @@ await context.AddAsync( AssertStoreInitialState(); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual void SaveChanges_throws_for_suppressed_ambient_transactions(bool connectionString) { if (!AmbientTransactionsSupported) @@ -400,7 +400,7 @@ public virtual void SaveChanges_throws_for_suppressed_ambient_transactions(bool AssertStoreInitialState(); } - [ConditionalFact] + [Fact] public virtual void SaveChanges_allows_nested_ambient_transactions() { if (!AmbientTransactionsSupported) @@ -439,7 +439,7 @@ public virtual void SaveChanges_allows_nested_ambient_transactions() } } - [ConditionalFact] + [Fact] public virtual void SaveChanges_allows_independent_ambient_transaction_commits() { if (!AmbientTransactionsSupported) @@ -477,7 +477,7 @@ public virtual void SaveChanges_allows_independent_ambient_transaction_commits() } } - [ConditionalFact] + [Fact] public virtual void SaveChanges_uses_enlisted_transaction_after_ambient_transaction() { if (!AmbientTransactionsSupported) @@ -509,7 +509,7 @@ public virtual void SaveChanges_uses_enlisted_transaction_after_ambient_transact AssertStoreInitialState(); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task SaveChanges_does_not_close_connection_opened_by_user(bool async) { using (var context = CreateContext()) @@ -544,7 +544,7 @@ await context.AddAsync( } } - [ConditionalTheory, InlineData(true, AutoTransactionBehavior.WhenNeeded), InlineData(true, AutoTransactionBehavior.Never), + [Theory, InlineData(true, AutoTransactionBehavior.WhenNeeded), InlineData(true, AutoTransactionBehavior.Never), InlineData(true, AutoTransactionBehavior.Always), InlineData(false, AutoTransactionBehavior.WhenNeeded), InlineData(false, AutoTransactionBehavior.Never), InlineData(false, AutoTransactionBehavior.Always)] public virtual async Task SaveChanges_uses_explicit_transaction_without_committing( @@ -581,7 +581,7 @@ public virtual async Task SaveChanges_uses_explicit_transaction_without_committi AssertStoreInitialState(); } - [ConditionalTheory, InlineData(true, AutoTransactionBehavior.WhenNeeded), InlineData(true, AutoTransactionBehavior.Never), + [Theory, InlineData(true, AutoTransactionBehavior.WhenNeeded), InlineData(true, AutoTransactionBehavior.Never), InlineData(true, AutoTransactionBehavior.Always), InlineData(false, AutoTransactionBehavior.WhenNeeded), InlineData(false, AutoTransactionBehavior.Never), InlineData(false, AutoTransactionBehavior.Always)] public virtual async Task SaveChanges_false_uses_explicit_transaction_without_committing_or_accepting_changes( @@ -622,7 +622,7 @@ public virtual async Task SaveChanges_false_uses_explicit_transaction_without_co AssertStoreInitialState(); } - [ConditionalTheory, InlineData(true, AutoTransactionBehavior.WhenNeeded), InlineData(true, AutoTransactionBehavior.Never), + [Theory, InlineData(true, AutoTransactionBehavior.WhenNeeded), InlineData(true, AutoTransactionBehavior.Never), InlineData(true, AutoTransactionBehavior.Always), InlineData(false, AutoTransactionBehavior.WhenNeeded), InlineData(false, AutoTransactionBehavior.Never), InlineData(false, AutoTransactionBehavior.Always)] public virtual async Task SaveChanges_uses_explicit_transaction_with_failure_behavior( @@ -690,7 +690,7 @@ public virtual async Task SaveChanges_uses_explicit_transaction_with_failure_beh } } - [ConditionalTheory, InlineData(AutoTransactionBehavior.WhenNeeded), InlineData(AutoTransactionBehavior.Never), + [Theory, InlineData(AutoTransactionBehavior.WhenNeeded), InlineData(AutoTransactionBehavior.Never), InlineData(AutoTransactionBehavior.Always)] public virtual async Task RelationalTransaction_can_be_committed(AutoTransactionBehavior autoTransactionBehavior) { @@ -714,7 +714,7 @@ public virtual async Task RelationalTransaction_can_be_committed(AutoTransaction } } - [ConditionalTheory, InlineData(AutoTransactionBehavior.WhenNeeded), InlineData(AutoTransactionBehavior.Never), + [Theory, InlineData(AutoTransactionBehavior.WhenNeeded), InlineData(AutoTransactionBehavior.Never), InlineData(AutoTransactionBehavior.Always)] public virtual async Task RelationalTransaction_can_be_committed_from_context(AutoTransactionBehavior autoTransactionBehavior) { @@ -738,7 +738,7 @@ public virtual async Task RelationalTransaction_can_be_committed_from_context(Au } } - [ConditionalTheory, InlineData(AutoTransactionBehavior.WhenNeeded), InlineData(AutoTransactionBehavior.Never), + [Theory, InlineData(AutoTransactionBehavior.WhenNeeded), InlineData(AutoTransactionBehavior.Never), InlineData(AutoTransactionBehavior.Always)] public virtual async Task RelationalTransaction_can_be_rolled_back(AutoTransactionBehavior autoTransactionBehavior) { @@ -757,7 +757,7 @@ public virtual async Task RelationalTransaction_can_be_rolled_back(AutoTransacti context.Database.AutoTransactionBehavior = AutoTransactionBehavior.WhenNeeded; } - [ConditionalTheory, InlineData(AutoTransactionBehavior.WhenNeeded), InlineData(AutoTransactionBehavior.Never), + [Theory, InlineData(AutoTransactionBehavior.WhenNeeded), InlineData(AutoTransactionBehavior.Never), InlineData(AutoTransactionBehavior.Always)] public virtual async Task RelationalTransaction_can_be_rolled_back_from_context(AutoTransactionBehavior autoTransactionBehavior) { @@ -776,7 +776,7 @@ public virtual async Task RelationalTransaction_can_be_rolled_back_from_context( context.Database.AutoTransactionBehavior = AutoTransactionBehavior.WhenNeeded; } - [ConditionalTheory, InlineData(AutoTransactionBehavior.WhenNeeded), InlineData(AutoTransactionBehavior.Never), + [Theory, InlineData(AutoTransactionBehavior.WhenNeeded), InlineData(AutoTransactionBehavior.Never), InlineData(AutoTransactionBehavior.Always)] public virtual void Query_uses_explicit_transaction(AutoTransactionBehavior autoTransactionBehavior) { @@ -825,7 +825,7 @@ public virtual void Query_uses_explicit_transaction(AutoTransactionBehavior auto context.Database.AutoTransactionBehavior = AutoTransactionBehavior.WhenNeeded; } - [ConditionalTheory, InlineData(AutoTransactionBehavior.WhenNeeded), InlineData(AutoTransactionBehavior.Never), + [Theory, InlineData(AutoTransactionBehavior.WhenNeeded), InlineData(AutoTransactionBehavior.Never), InlineData(AutoTransactionBehavior.Always)] public virtual async Task QueryAsync_uses_explicit_transaction(AutoTransactionBehavior autoTransactionBehavior) { @@ -874,7 +874,7 @@ public virtual async Task QueryAsync_uses_explicit_transaction(AutoTransactionBe context.Database.AutoTransactionBehavior = AutoTransactionBehavior.WhenNeeded; } - [ConditionalTheory, InlineData(AutoTransactionBehavior.WhenNeeded), InlineData(AutoTransactionBehavior.Never), + [Theory, InlineData(AutoTransactionBehavior.WhenNeeded), InlineData(AutoTransactionBehavior.Never), InlineData(AutoTransactionBehavior.Always)] public virtual async Task Can_use_open_connection_with_started_transaction(AutoTransactionBehavior autoTransactionBehavior) { @@ -894,7 +894,7 @@ public virtual async Task Can_use_open_connection_with_started_transaction(AutoT AssertStoreInitialState(); } - [ConditionalFact] + [Fact] public virtual void UseTransaction_throws_if_mismatched_connection() { using var transaction = TestStore.BeginTransaction(); @@ -904,7 +904,7 @@ public virtual void UseTransaction_throws_if_mismatched_connection() Assert.Equal(RelationalStrings.TransactionAssociatedWithDifferentConnection, ex.Message); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task UseTransaction_is_no_op_if_same_DbTransaction_is_used(bool async) { using (var transaction = TestStore.BeginTransaction()) @@ -939,7 +939,7 @@ public virtual async Task UseTransaction_is_no_op_if_same_DbTransaction_is_used( AssertStoreInitialState(); } - [ConditionalFact] + [Fact] public virtual void UseTransaction_will_not_dispose_external_transaction() { using var transaction = TestStore.BeginTransaction(); @@ -951,7 +951,7 @@ public virtual void UseTransaction_will_not_dispose_external_transaction() Assert.NotNull(transaction.Connection); } - [ConditionalFact] + [Fact] public virtual void UseTransaction_throws_if_ambient_transaction_started() { if (!AmbientTransactionsSupported) @@ -968,7 +968,7 @@ public virtual void UseTransaction_throws_if_ambient_transaction_started() } } - [ConditionalFact] + [Fact] public virtual void UseTransaction_throws_if_enlisted_in_transaction() { if (!AmbientTransactionsSupported) @@ -988,7 +988,7 @@ public virtual void UseTransaction_throws_if_enlisted_in_transaction() context.Database.CloseConnection(); } - [ConditionalFact] + [Fact] public virtual void BeginTransaction_throws_if_another_transaction_started() { using var context = CreateContextWithConnectionString(); @@ -999,7 +999,7 @@ public virtual void BeginTransaction_throws_if_another_transaction_started() } } - [ConditionalFact] + [Fact] public virtual void BeginTransaction_throws_if_ambient_transaction_started() { if (!AmbientTransactionsSupported) @@ -1015,7 +1015,7 @@ public virtual void BeginTransaction_throws_if_ambient_transaction_started() } } - [ConditionalFact] + [Fact] public virtual void BeginTransaction_throws_if_enlisted_in_transaction() { if (!AmbientTransactionsSupported) @@ -1037,7 +1037,7 @@ public virtual void BeginTransaction_throws_if_enlisted_in_transaction() context.Database.CloseConnection(); } - [ConditionalFact] + [Fact] public virtual void BeginTransaction_can_be_used_after_ambient_transaction_ended() { if (!AmbientTransactionsSupported) @@ -1058,7 +1058,7 @@ public virtual void BeginTransaction_can_be_used_after_ambient_transaction_ended context.Database.CloseConnection(); } - [ConditionalFact] + [Fact] public virtual void BeginTransaction_can_be_used_after_enlisted_transaction_ended() { if (!AmbientTransactionsSupported) @@ -1081,7 +1081,7 @@ public virtual void BeginTransaction_can_be_used_after_enlisted_transaction_ende context.Database.CloseConnection(); } - [ConditionalFact] + [Fact] public virtual void BeginTransaction_can_be_used_after_another_transaction_if_connection_closed() { using var context = CreateContextWithConnectionString(); @@ -1094,7 +1094,7 @@ public virtual void BeginTransaction_can_be_used_after_another_transaction_if_co } } - [ConditionalFact] + [Fact] public virtual void BeginTransaction_can_be_used_after_enlisted_transaction_if_connection_closed() { if (!AmbientTransactionsSupported) @@ -1115,7 +1115,7 @@ public virtual void BeginTransaction_can_be_used_after_enlisted_transaction_if_c } } - [ConditionalFact] + [Fact] public virtual void EnlistTransaction_throws_if_another_transaction_started() { if (!AmbientTransactionsSupported) @@ -1131,7 +1131,7 @@ public virtual void EnlistTransaction_throws_if_another_transaction_started() } } - [ConditionalFact] + [Fact] public virtual void EnlistTransaction_throws_if_ambient_transaction_started() { if (!AmbientTransactionsSupported) @@ -1151,7 +1151,7 @@ public virtual void EnlistTransaction_throws_if_ambient_transaction_started() } } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Externally_closed_connections_are_handled_correctly(bool async) { DbConnection connection; @@ -1188,7 +1188,7 @@ public virtual async Task Externally_closed_connections_are_handled_correctly(bo Assert.Equal(ConnectionState.Closed, connection.State); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task SaveChanges_implicitly_creates_savepoint(bool async) { using (var context = CreateContext()) @@ -1231,7 +1231,7 @@ public virtual async Task SaveChanges_implicitly_creates_savepoint(bool async) } } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task SaveChanges_can_be_used_with_no_savepoint(bool async) { using (var context = CreateContext()) @@ -1276,7 +1276,7 @@ public virtual async Task SaveChanges_can_be_used_with_no_savepoint(bool async) } } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Savepoint_can_be_rolled_back(bool async) { using (var context = CreateContext()) @@ -1316,7 +1316,7 @@ public virtual async Task Savepoint_can_be_rolled_back(bool async) } } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Savepoint_can_be_released(bool async) { using (var context = CreateContext()) @@ -1358,7 +1358,7 @@ public virtual async Task Savepoint_can_be_released(bool async) } } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Savepoint_name_is_quoted(bool async) { using (var context = CreateContext()) @@ -1483,7 +1483,7 @@ protected class TransactionCustomer : TransactionEntity; protected class TransactionOrder : TransactionEntity; - public async Task InitializeAsync() + public async ValueTask InitializeAsync() { await Fixture.ReseedAsync(); @@ -1495,6 +1495,6 @@ public async Task InitializeAsync() Fixture.ListLoggerFactory.Log.Clear(); } - public Task DisposeAsync() - => Task.CompletedTask; + public ValueTask DisposeAsync() + => ValueTask.CompletedTask; } diff --git a/test/EFCore.Relational.Specification.Tests/TwoDatabasesTestBase.cs b/test/EFCore.Relational.Specification.Tests/TwoDatabasesTestBase.cs index b42a48db99c..16f901f4b1b 100644 --- a/test/EFCore.Relational.Specification.Tests/TwoDatabasesTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/TwoDatabasesTestBase.cs @@ -11,7 +11,7 @@ public abstract class TwoDatabasesTestBase(FixtureBase fixture) { protected FixtureBase Fixture { get; } = fixture; - [ConditionalFact] + [Fact] public virtual void Can_query_from_one_connection_string_and_save_changes_to_another() { using var context1 = CreateBackingContext("TwoDatabasesOne"); @@ -42,7 +42,7 @@ public virtual void Can_query_from_one_connection_string_and_save_changes_to_ano Assert.Equal(new[] { "Modified One", "Modified Two" }, context2.Foos.Select(e => e.Bar).ToList()); } - [ConditionalFact] + [Fact] public virtual void Can_query_from_one_connection_and_save_changes_to_another() { using var context1 = CreateBackingContext("TwoDatabasesOneB"); @@ -70,7 +70,7 @@ public virtual void Can_query_from_one_connection_and_save_changes_to_another() Assert.Equal(new[] { "Modified One", "Modified Two" }, context2.Foos.Select(e => e.Bar).ToList()); } - [ConditionalTheory, InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(true, false), InlineData(true, true)] public virtual void Can_set_connection_string_in_interceptor(bool withConnectionString, bool withNullConnectionString) { using var context1 = CreateBackingContext("TwoDatabasesIntercept"); diff --git a/test/EFCore.Relational.Specification.Tests/Types/RelationalTypeTestBase.cs b/test/EFCore.Relational.Specification.Tests/Types/RelationalTypeTestBase.cs index 152c6b4fa59..465323fc201 100644 --- a/test/EFCore.Relational.Specification.Tests/Types/RelationalTypeTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Types/RelationalTypeTestBase.cs @@ -14,7 +14,7 @@ public RelationalTypeTestBase(TFixture fixture, ITestOutputHelper testOutputHelp Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public override async Task SaveChanges() { await using var context = Fixture.CreateContext(); @@ -39,7 +39,7 @@ public override async Task SaveChanges() #region JSON - [ConditionalFact] + [Fact] public virtual async Task Query_property_within_json() { await using var context = Fixture.CreateContext(); @@ -51,7 +51,7 @@ public virtual async Task Query_property_within_json() Assert.Equal(Fixture.Value, result.JsonContainer.Value, Fixture.Comparer); } - [ConditionalFact] + [Fact] public virtual async Task SaveChanges_within_json() => await TestHelpers.ExecuteWithStrategyInTransactionAsync( Fixture.CreateContext, @@ -74,7 +74,7 @@ public virtual async Task SaveChanges_within_json() } }); - [ConditionalFact] + [Fact] public virtual async Task ExecuteUpdate_within_json_to_parameter() => await TestHelpers.ExecuteWithStrategyInTransactionAsync( Fixture.CreateContext, @@ -92,7 +92,7 @@ public virtual async Task ExecuteUpdate_within_json_to_parameter() } }); - [ConditionalFact] + [Fact] public virtual async Task ExecuteUpdate_within_json_to_constant() => await TestHelpers.ExecuteWithStrategyInTransactionAsync( Fixture.CreateContext, @@ -116,7 +116,7 @@ public virtual async Task ExecuteUpdate_within_json_to_constant() } }); - [ConditionalFact] + [Fact] public virtual async Task ExecuteUpdate_within_json_to_another_json_property() => await TestHelpers.ExecuteWithStrategyInTransactionAsync( Fixture.CreateContext, @@ -134,7 +134,7 @@ public virtual async Task ExecuteUpdate_within_json_to_another_json_property() } }); - [ConditionalFact] + [Fact] public virtual async Task ExecuteUpdate_within_json_to_nonjson_column() => await TestHelpers.ExecuteWithStrategyInTransactionAsync( Fixture.CreateContext, diff --git a/test/EFCore.Relational.Specification.Tests/Update/ComplexCollectionJsonUpdateTestBase.cs b/test/EFCore.Relational.Specification.Tests/Update/ComplexCollectionJsonUpdateTestBase.cs index 8a1ac0049b8..9f2fe402946 100644 --- a/test/EFCore.Relational.Specification.Tests/Update/ComplexCollectionJsonUpdateTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Update/ComplexCollectionJsonUpdateTestBase.cs @@ -11,7 +11,7 @@ public abstract class ComplexCollectionJsonUpdateTestBase(TFixture fix protected ComplexCollectionJsonContext CreateContext() => (ComplexCollectionJsonContext)Fixture.CreateContext(); - [ConditionalFact] + [Fact] public virtual Task Add_element_to_complex_collection_mapped_to_json() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -46,7 +46,7 @@ public virtual Task Add_element_to_complex_collection_mapped_to_json() } }); - [ConditionalFact] + [Fact] public virtual Task Remove_element_from_complex_collection_mapped_to_json() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -70,7 +70,7 @@ public virtual Task Remove_element_from_complex_collection_mapped_to_json() } }); - [ConditionalFact] + [Fact] public virtual Task Delete_complex_collection_owner_entity_mapped_to_json() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -94,7 +94,7 @@ public virtual Task Delete_complex_collection_owner_entity_mapped_to_json() } }); - [ConditionalFact] + [Fact] public virtual Task Modify_element_in_complex_collection_mapped_to_json() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -117,7 +117,7 @@ public virtual Task Modify_element_in_complex_collection_mapped_to_json() } }); - [ConditionalFact] + [Fact] public virtual Task Move_elements_in_complex_collection_mapped_to_json() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -143,7 +143,7 @@ public virtual Task Move_elements_in_complex_collection_mapped_to_json() } }); - [ConditionalFact] + [Fact] public virtual Task Change_complex_collection_mapped_to_json_to_null_and_to_empty() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -177,7 +177,7 @@ public virtual Task Change_complex_collection_mapped_to_json_to_null_and_to_empt } }); - [ConditionalFact] + [Fact] public virtual Task Complex_collection_with_nested_complex_type_mapped_to_json() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -236,7 +236,7 @@ public virtual Task Complex_collection_with_nested_complex_type_mapped_to_json() } }); - [ConditionalFact] + [Fact] public virtual Task Modify_multiple_complex_properties_mapped_to_json() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -265,7 +265,7 @@ public virtual Task Modify_multiple_complex_properties_mapped_to_json() } }); - [ConditionalFact] + [Fact] public virtual Task Clear_complex_collection_mapped_to_json() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -288,7 +288,7 @@ public virtual Task Clear_complex_collection_mapped_to_json() } }); - [ConditionalFact] + [Fact] public virtual Task Replace_entire_complex_collection_mapped_to_json() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -317,7 +317,7 @@ public virtual Task Replace_entire_complex_collection_mapped_to_json() } }); - [ConditionalFact] + [Fact] public virtual Task Add_element_to_nested_complex_collection_mapped_to_json() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -343,7 +343,7 @@ public virtual Task Add_element_to_nested_complex_collection_mapped_to_json() } }); - [ConditionalFact] + [Fact] public virtual Task Modify_nested_complex_property_in_complex_collection_mapped_to_json() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -371,7 +371,7 @@ public virtual Task Modify_nested_complex_property_in_complex_collection_mapped_ } }); - [ConditionalFact] + [Fact] public virtual Task Set_complex_collection_to_null_mapped_to_json() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -399,7 +399,7 @@ public virtual Task Set_complex_collection_to_null_mapped_to_json() } }); - [ConditionalFact] + [Fact] public virtual Task Set_null_complex_collection_to_non_empty_mapped_to_json() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -440,7 +440,7 @@ public virtual Task Set_null_complex_collection_to_non_empty_mapped_to_json() } }); - [ConditionalFact] + [Fact] public virtual Task Replace_complex_collection_element_mapped_to_json() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -479,7 +479,7 @@ public virtual Task Replace_complex_collection_element_mapped_to_json() } }); - [ConditionalFact] + [Fact] public virtual Task Complex_collection_with_empty_nested_collections_mapped_to_json() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -518,7 +518,7 @@ public virtual Task Complex_collection_with_empty_nested_collections_mapped_to_j } }); - [ConditionalFact] + [Fact] public virtual Task Set_complex_property_mapped_to_json_to_null() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -540,7 +540,7 @@ public virtual Task Set_complex_property_mapped_to_json_to_null() } }); - [ConditionalFact] + [Fact] public virtual Task Set_null_complex_property_to_non_null_mapped_to_json() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -567,7 +567,7 @@ public virtual Task Set_null_complex_property_to_non_null_mapped_to_json() } }); - [ConditionalFact] + [Fact] public virtual Task Replace_complex_property_mapped_to_json() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, diff --git a/test/EFCore.Relational.Specification.Tests/Update/JsonUpdateTestBase.cs b/test/EFCore.Relational.Specification.Tests/Update/JsonUpdateTestBase.cs index 5a6c0cd8be3..3b95bafac67 100644 --- a/test/EFCore.Relational.Specification.Tests/Update/JsonUpdateTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Update/JsonUpdateTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Collections.ObjectModel; @@ -16,7 +16,7 @@ public abstract class JsonUpdateTestBase(TFixture fixture) : IClassFix public JsonQueryContext CreateContext() => Fixture.CreateContext(); - [ConditionalFact] + [Fact] public virtual Task Add_entity_with_json() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -77,7 +77,7 @@ public virtual Task Add_entity_with_json() Assert.Equal("ss2", collectionLeaf[1].SomethingSomething); }); - [ConditionalFact] + [Fact] public virtual Task Add_entity_with_json_null_navigations() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -138,7 +138,7 @@ public virtual Task Add_entity_with_json_null_navigations() Assert.Equal("ss2", collectionLeaf[1].SomethingSomething); }); - [ConditionalFact] + [Fact] public virtual Task Add_json_reference_root() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -195,7 +195,7 @@ public virtual Task Add_json_reference_root() Assert.Equal("ss2", collectionLeaf[1].SomethingSomething); }); - [ConditionalFact] + [Fact] public virtual Task Add_json_reference_leaf() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -226,7 +226,7 @@ public virtual Task Add_json_reference_leaf() Assert.Equal("ss3", updatedReference.SomethingSomething); }); - [ConditionalFact] + [Fact] public virtual Task Add_element_to_json_collection_root() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -278,7 +278,7 @@ public virtual Task Add_element_to_json_collection_root() Assert.Equal("ss2", collectionLeaf[1].SomethingSomething); }); - [ConditionalFact] + [Fact] public virtual Task Add_element_to_json_collection_root_null_navigations() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -323,7 +323,7 @@ public virtual Task Add_element_to_json_collection_root_null_navigations() Assert.Null(updatedCollection[2].OwnedReferenceBranch.OwnedCollectionLeaf); }); - [ConditionalFact] + [Fact] public virtual Task Add_element_to_json_collection_branch() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -365,7 +365,7 @@ public virtual Task Add_element_to_json_collection_branch() Assert.Equal("ss2", collectionLeaf[1].SomethingSomething); }); - [ConditionalFact] + [Fact] public virtual Task Add_element_to_json_collection_leaf() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -390,7 +390,7 @@ public virtual Task Add_element_to_json_collection_leaf() Assert.Equal("ss1", updatedCollection[2].SomethingSomething); }); - [ConditionalFact] + [Fact] public virtual Task Delete_entity_with_json() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -411,7 +411,7 @@ public virtual Task Delete_entity_with_json() Assert.Equal(0, result); }); - [ConditionalFact] + [Fact] public virtual Task Delete_json_reference_root() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -430,7 +430,7 @@ public virtual Task Delete_json_reference_root() Assert.Null(updatedEntity.OwnedReferenceRoot); }); - [ConditionalFact] + [Fact] public virtual Task Delete_json_reference_leaf() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -449,7 +449,7 @@ public virtual Task Delete_json_reference_leaf() Assert.Null(updatedEntity.OwnedReferenceRoot.OwnedReferenceBranch.OwnedReferenceLeaf); }); - [ConditionalFact] + [Fact] public virtual Task Delete_json_collection_root() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -468,7 +468,7 @@ public virtual Task Delete_json_collection_root() Assert.Null(result.OwnedCollectionRoot); }); - [ConditionalFact] + [Fact] public virtual Task Delete_json_collection_branch() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -487,7 +487,7 @@ public virtual Task Delete_json_collection_branch() Assert.Null(result.OwnedReferenceRoot.OwnedCollectionBranch); }); - [ConditionalFact] + [Fact] public virtual Task Edit_element_in_json_collection_root1() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -508,7 +508,7 @@ public virtual Task Edit_element_in_json_collection_root1() Assert.Equal("Modified", resultCollection[0].Name); }); - [ConditionalFact] + [Fact] public virtual Task Edit_element_in_json_collection_root2() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -529,7 +529,7 @@ public virtual Task Edit_element_in_json_collection_root2() Assert.Equal("Modified", resultCollection[1].Name); }); - [ConditionalFact] + [Fact] public virtual Task Edit_element_in_json_collection_branch() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -548,7 +548,7 @@ public virtual Task Edit_element_in_json_collection_branch() Assert.Equal(new DateTime(2111, 11, 11), result.OwnedCollectionRoot[0].OwnedCollectionBranch[0].Date); }); - [ConditionalFact] + [Fact] public virtual Task Add_element_to_json_collection_on_derived() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -591,7 +591,7 @@ public virtual Task Add_element_to_json_collection_on_derived() Assert.Equal("ss2", collectionLeaf[1].SomethingSomething); }); - [ConditionalFact] + [Fact] public virtual Task Edit_element_in_json_multiple_levels_partial_update() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -622,7 +622,7 @@ public virtual Task Edit_element_in_json_multiple_levels_partial_update() "...and another", result.OwnedCollectionRoot[0].OwnedCollectionBranch[0].OwnedCollectionLeaf[0].SomethingSomething); }); - [ConditionalFact] + [Fact] public virtual Task Edit_element_in_json_branch_collection_and_add_element_to_the_same_collection() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -657,7 +657,7 @@ public virtual Task Edit_element_in_json_branch_collection_and_add_element_to_th Assert.Equal("cc", result.OwnedReferenceRoot.OwnedCollectionBranch[2].OwnedReferenceLeaf.SomethingSomething); }); - [ConditionalFact] + [Fact] public virtual Task Edit_two_elements_in_the_same_json_collection() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -679,7 +679,7 @@ public virtual Task Edit_two_elements_in_the_same_json_collection() Assert.Equal("edit2", result.OwnedReferenceRoot.OwnedCollectionBranch[0].OwnedCollectionLeaf[1].SomethingSomething); }); - [ConditionalFact] + [Fact] public virtual Task Edit_two_elements_in_the_same_json_collection_at_the_root() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -701,7 +701,7 @@ public virtual Task Edit_two_elements_in_the_same_json_collection_at_the_root() Assert.Equal("edit2", result.OwnedCollectionRoot[1].Name); }); - [ConditionalFact] + [Fact] public virtual Task Edit_collection_element_and_reference_at_once() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -723,7 +723,7 @@ public virtual Task Edit_collection_element_and_reference_at_once() Assert.Equal("edit2", result.OwnedReferenceRoot.OwnedCollectionBranch[1].OwnedReferenceLeaf.SomethingSomething); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_enum_property() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -745,7 +745,7 @@ public virtual Task Edit_single_enum_property() Assert.Equal(JsonEnum.Two, result.OwnedCollectionRoot[1].OwnedCollectionBranch[1].Enum); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_numeric_property() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -767,7 +767,7 @@ public virtual Task Edit_single_numeric_property() Assert.Equal(1024, result.OwnedCollectionRoot[1].Number); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_bool() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -789,7 +789,7 @@ public virtual Task Edit_single_property_bool() Assert.True(result.Collection[0].TestBoolean); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_byte() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -811,7 +811,7 @@ public virtual Task Edit_single_property_byte() Assert.Equal(14, result.Collection[0].TestByte); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_char() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -833,7 +833,7 @@ public virtual Task Edit_single_property_char() Assert.Equal('h', result.Collection[0].TestCharacter); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_datetime() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -855,7 +855,7 @@ public virtual Task Edit_single_property_datetime() Assert.Equal(DateTime.Parse("01/01/3000 12:34:56"), result.Collection[0].TestDateTime); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_datetimeoffset() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -882,7 +882,7 @@ public virtual Task Edit_single_property_datetimeoffset() result.Collection[0].TestDateTimeOffset); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_decimal() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -904,7 +904,7 @@ public virtual Task Edit_single_property_decimal() Assert.Equal(-13579.01M, result.Collection[0].TestDecimal); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_double() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -926,7 +926,7 @@ public virtual Task Edit_single_property_double() Assert.Equal(-1.23579, result.Collection[0].TestDouble); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_guid() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -948,7 +948,7 @@ public virtual Task Edit_single_property_guid() Assert.Equal(new Guid("12345678-1234-4321-5555-987654321000"), result.Collection[0].TestGuid); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_int16() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -970,7 +970,7 @@ public virtual Task Edit_single_property_int16() Assert.Equal(-3234, result.Collection[0].TestInt16); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_int32() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -992,7 +992,7 @@ public virtual Task Edit_single_property_int32() Assert.Equal(-3234, result.Collection[0].TestInt32); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_int64() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1014,7 +1014,7 @@ public virtual Task Edit_single_property_int64() Assert.Equal(-3234, result.Collection[0].TestInt64); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_signed_byte() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1036,7 +1036,7 @@ public virtual Task Edit_single_property_signed_byte() Assert.Equal(-108, result.Collection[0].TestSignedByte); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_single() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1058,7 +1058,7 @@ public virtual Task Edit_single_property_single() Assert.Equal(-7.234F, result.Collection[0].TestSingle); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_timespan() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1080,7 +1080,7 @@ public virtual Task Edit_single_property_timespan() Assert.Equal(new TimeSpan(0, 10, 1, 1, 7), result.Collection[0].TestTimeSpan); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_dateonly() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1102,7 +1102,7 @@ public virtual Task Edit_single_property_dateonly() Assert.Equal(new DateOnly(2000, 2, 4), result.Collection[0].TestDateOnly); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_timeonly() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1124,7 +1124,7 @@ public virtual Task Edit_single_property_timeonly() Assert.Equal(new TimeOnly(1, 1, 7), result.Collection[0].TestTimeOnly); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_uint16() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1146,7 +1146,7 @@ public virtual Task Edit_single_property_uint16() Assert.Equal(1534, result.Collection[0].TestUnsignedInt16); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_uint32() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1168,7 +1168,7 @@ public virtual Task Edit_single_property_uint32() Assert.Equal(1237775789U, result.Collection[0].TestUnsignedInt32); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_uint64() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1190,7 +1190,7 @@ public virtual Task Edit_single_property_uint64() Assert.Equal(1234555555123456789UL, result.Collection[0].TestUnsignedInt64); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_nullable_int32() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1212,7 +1212,7 @@ public virtual Task Edit_single_property_nullable_int32() Assert.Equal(122354, result.Collection[0].TestNullableInt32); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_nullable_int32_set_to_null() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1234,7 +1234,7 @@ public virtual Task Edit_single_property_nullable_int32_set_to_null() Assert.Null(result.Collection[0].TestNullableInt32); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_enum() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1256,7 +1256,7 @@ public virtual Task Edit_single_property_enum() Assert.Equal(JsonEnum.Three, result.Collection[0].TestEnum); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_enum_with_int_converter() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1278,7 +1278,7 @@ public virtual Task Edit_single_property_enum_with_int_converter() Assert.Equal(JsonEnum.Three, result.Collection[0].TestEnumWithIntConverter); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_nullable_enum() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1300,7 +1300,7 @@ public virtual Task Edit_single_property_nullable_enum() Assert.Equal(JsonEnum.Three, result.Collection[0].TestEnum); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_nullable_enum_set_to_null() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1322,7 +1322,7 @@ public virtual Task Edit_single_property_nullable_enum_set_to_null() Assert.Null(result.Collection[0].TestNullableEnum); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_nullable_enum_with_int_converter() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1344,7 +1344,7 @@ public virtual Task Edit_single_property_nullable_enum_with_int_converter() Assert.Equal(JsonEnum.One, result.Collection[0].TestNullableEnumWithIntConverter); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_nullable_enum_with_int_converter_set_to_null() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1366,7 +1366,7 @@ public virtual Task Edit_single_property_nullable_enum_with_int_converter_set_to Assert.Null(result.Collection[0].TestNullableEnumWithIntConverter); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_nullable_enum_with_converter_that_handles_nulls() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1388,7 +1388,7 @@ public virtual Task Edit_single_property_nullable_enum_with_converter_that_handl Assert.Equal(JsonEnum.Three, result.Collection[0].TestNullableEnumWithConverterThatHandlesNulls); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_nullable_enum_with_converter_that_handles_nulls_set_to_null() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1410,7 +1410,7 @@ public virtual Task Edit_single_property_nullable_enum_with_converter_that_handl Assert.Null(result.Collection[0].TestNullableEnumWithConverterThatHandlesNulls); }); - [ConditionalFact] + [Fact] public virtual Task Edit_two_properties_on_same_entity_updates_the_entire_entity() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1436,7 +1436,7 @@ public virtual Task Edit_two_properties_on_same_entity_updates_the_entire_entity Assert.Equal(64, result.Collection[0].TestInt64); }); - [ConditionalFact] + [Fact] public virtual Task Edit_a_scalar_property_and_reference_navigation_on_the_same_entity() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1466,7 +1466,7 @@ public virtual Task Edit_a_scalar_property_and_reference_navigation_on_the_same_ Assert.Equal("edit", result.OwnedReferenceRoot.OwnedReferenceBranch.OwnedReferenceLeaf.SomethingSomething); }); - [ConditionalFact] + [Fact] public virtual Task Edit_a_scalar_property_and_collection_navigation_on_the_same_entity() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1496,7 +1496,7 @@ public virtual Task Edit_a_scalar_property_and_collection_navigation_on_the_same Assert.Equal("edit", result.OwnedReferenceRoot.OwnedReferenceBranch.OwnedCollectionLeaf[0].SomethingSomething); }); - [ConditionalFact] + [Fact] public virtual Task Edit_a_scalar_property_and_another_property_behind_reference_navigation_on_the_same_entity() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1518,7 +1518,7 @@ public virtual Task Edit_a_scalar_property_and_another_property_behind_reference Assert.Equal("edit", result.OwnedReferenceRoot.OwnedReferenceBranch.OwnedReferenceLeaf.SomethingSomething); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_with_converter_bool_to_int_zero_one() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1538,7 +1538,7 @@ public virtual Task Edit_single_property_with_converter_bool_to_int_zero_one() Assert.False(result.Reference.BoolConvertedToIntZeroOne); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_with_converter_bool_to_string_True_False() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1558,7 +1558,7 @@ public virtual Task Edit_single_property_with_converter_bool_to_string_True_Fals Assert.True(result.Reference.BoolConvertedToStringTrueFalse); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_with_converter_bool_to_string_Y_N() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1578,7 +1578,7 @@ public virtual Task Edit_single_property_with_converter_bool_to_string_Y_N() Assert.False(result.Reference.BoolConvertedToStringYN); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_with_converter_int_zero_one_to_bool() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1598,7 +1598,7 @@ public virtual Task Edit_single_property_with_converter_int_zero_one_to_bool() Assert.Equal(1, result.Reference.IntZeroOneConvertedToBool); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_with_converter_string_True_False_to_bool() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1618,7 +1618,7 @@ public virtual Task Edit_single_property_with_converter_string_True_False_to_boo Assert.Equal("False", result.Reference.StringTrueFalseConvertedToBool); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_with_converter_string_Y_N_to_bool() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1638,7 +1638,7 @@ public virtual Task Edit_single_property_with_converter_string_Y_N_to_bool() Assert.Equal("Y", result.Reference.StringYNConvertedToBool); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_numeric() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1660,7 +1660,7 @@ public virtual Task Edit_single_property_collection_of_numeric() Assert.Equal(new[] { 1024, 2048 }, result.OwnedCollectionRoot[1].Numbers); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_string() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1682,7 +1682,7 @@ public virtual Task Edit_single_property_collection_of_string() Assert.Equal(new[] { "1024", "2048" }, result.OwnedCollectionRoot[1].Names); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_bool() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1707,7 +1707,7 @@ public virtual Task Edit_single_property_collection_of_bool() Assert.False(result.Collection[0].NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_byte() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1732,7 +1732,7 @@ public virtual Task Edit_single_property_collection_of_byte() Assert.False(result.Collection[0].NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_char() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1767,7 +1767,7 @@ public virtual Task Edit_single_property_collection_of_char() Assert.False(result.Collection[0].NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_datetime() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1804,7 +1804,7 @@ public virtual Task Edit_single_property_collection_of_datetime() Assert.False(result.Collection[0].NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_datetimeoffset() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1839,7 +1839,7 @@ public virtual Task Edit_single_property_collection_of_datetimeoffset() Assert.False(result.Collection[0].NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_decimal() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1864,7 +1864,7 @@ public virtual Task Edit_single_property_collection_of_decimal() Assert.False(result.Collection[0].NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_double() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1889,7 +1889,7 @@ public virtual Task Edit_single_property_collection_of_double() Assert.False(result.Collection[0].NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_guid() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1914,7 +1914,7 @@ public virtual Task Edit_single_property_collection_of_guid() Assert.False(result.Collection[0].NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_int16() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1939,7 +1939,7 @@ public virtual Task Edit_single_property_collection_of_int16() Assert.False(result.Collection[0].NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_int32() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1964,7 +1964,7 @@ public virtual Task Edit_single_property_collection_of_int32() Assert.False(result.Collection[0].NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_int64() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -1989,7 +1989,7 @@ public virtual Task Edit_single_property_collection_of_int64() Assert.False(result.Collection[0].NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_signed_byte() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2014,7 +2014,7 @@ public virtual Task Edit_single_property_collection_of_signed_byte() Assert.False(result.Collection[0].NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_single() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2039,7 +2039,7 @@ public virtual Task Edit_single_property_collection_of_single() Assert.False(result.Collection[0].NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_timespan() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2066,7 +2066,7 @@ public virtual Task Edit_single_property_collection_of_timespan() Assert.False(result.Collection[0].NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_dateonly() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2093,7 +2093,7 @@ public virtual Task Edit_single_property_collection_of_dateonly() Assert.False(result.Collection[0].NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_timeonly() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2120,7 +2120,7 @@ public virtual Task Edit_single_property_collection_of_timeonly() Assert.False(result.Collection[0].NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_uint16() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2145,7 +2145,7 @@ public virtual Task Edit_single_property_collection_of_uint16() Assert.False(result.Collection[0].NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_uint32() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2170,7 +2170,7 @@ public virtual Task Edit_single_property_collection_of_uint32() Assert.False(result.Collection[0].NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_uint64() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2195,7 +2195,7 @@ public virtual Task Edit_single_property_collection_of_uint64() Assert.False(result.Collection[0].NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_nullable_int32() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2222,7 +2222,7 @@ public virtual Task Edit_single_property_collection_of_nullable_int32() Assert.False(result.Collection[0].NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_nullable_int32_set_to_null() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2247,7 +2247,7 @@ public virtual Task Edit_single_property_collection_of_nullable_int32_set_to_nul Assert.True(result.Collection[0].NewCollectionSet); // Set to null. }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_enum() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2272,7 +2272,7 @@ public virtual Task Edit_single_property_collection_of_enum() Assert.False(result.Collection[0].NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_enum_with_int_converter() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2297,7 +2297,7 @@ public virtual Task Edit_single_property_collection_of_enum_with_int_converter() Assert.False(result.Collection[0].NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_nullable_enum() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2322,7 +2322,7 @@ public virtual Task Edit_single_property_collection_of_nullable_enum() Assert.False(result.Collection[0].NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_nullable_enum_set_to_null() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2347,7 +2347,7 @@ public virtual Task Edit_single_property_collection_of_nullable_enum_set_to_null Assert.True(result.Collection[0].NewCollectionSet); // Set to null. }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_nullable_enum_with_int_converter() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2378,7 +2378,7 @@ public virtual Task Edit_single_property_collection_of_nullable_enum_with_int_co Assert.False(result.Collection[0].NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_nullable_enum_with_int_converter_set_to_null() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2403,7 +2403,7 @@ public virtual Task Edit_single_property_collection_of_nullable_enum_with_int_co Assert.True(result.Collection[0].NewCollectionSet); // Set to null. }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_nullable_enum_with_converter_that_handles_nulls() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2429,7 +2429,7 @@ public virtual Task Edit_single_property_collection_of_nullable_enum_with_conver Assert.False(result.Collection[0].NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_nullable_enum_with_converter_that_handles_nulls_set_to_null() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2454,7 +2454,7 @@ public virtual Task Edit_single_property_collection_of_nullable_enum_with_conver Assert.False(result.Collection[0].NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_relational_collection_of_bool() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2476,7 +2476,7 @@ public virtual Task Edit_single_property_relational_collection_of_bool() Assert.False(result.NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_relational_collection_of_byte() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2498,7 +2498,7 @@ public virtual Task Edit_single_property_relational_collection_of_byte() Assert.False(result.NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_relational_collection_of_char() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2530,7 +2530,7 @@ public virtual Task Edit_single_property_relational_collection_of_char() Assert.False(result.NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_relational_collection_of_datetime() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2558,7 +2558,7 @@ public virtual Task Edit_single_property_relational_collection_of_datetime() Assert.False(result.NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_relational_collection_of_datetimeoffset() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2585,7 +2585,7 @@ public virtual Task Edit_single_property_relational_collection_of_datetimeoffset Assert.False(result.NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_relational_collection_of_decimal() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2607,7 +2607,7 @@ public virtual Task Edit_single_property_relational_collection_of_decimal() Assert.False(result.NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_relational_collection_of_double() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2629,7 +2629,7 @@ public virtual Task Edit_single_property_relational_collection_of_double() Assert.False(result.NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_relational_collection_of_guid() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2651,7 +2651,7 @@ public virtual Task Edit_single_property_relational_collection_of_guid() Assert.False(result.NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_relational_collection_of_int16() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2673,7 +2673,7 @@ public virtual Task Edit_single_property_relational_collection_of_int16() Assert.False(result.NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_relational_collection_of_int32() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2695,7 +2695,7 @@ public virtual Task Edit_single_property_relational_collection_of_int32() Assert.False(result.NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_relational_collection_of_int64() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2717,7 +2717,7 @@ public virtual Task Edit_single_property_relational_collection_of_int64() Assert.False(result.NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_relational_collection_of_signed_byte() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2739,7 +2739,7 @@ public virtual Task Edit_single_property_relational_collection_of_signed_byte() Assert.False(result.NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_relational_collection_of_single() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2761,7 +2761,7 @@ public virtual Task Edit_single_property_relational_collection_of_single() Assert.False(result.NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_relational_collection_of_timespan() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2784,7 +2784,7 @@ public virtual Task Edit_single_property_relational_collection_of_timespan() Assert.False(result.NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_relational_collection_of_uint16() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2806,7 +2806,7 @@ public virtual Task Edit_single_property_relational_collection_of_uint16() Assert.False(result.NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_relational_collection_of_uint32() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2828,7 +2828,7 @@ public virtual Task Edit_single_property_relational_collection_of_uint32() Assert.False(result.NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_relational_collection_of_uint64() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2850,7 +2850,7 @@ public virtual Task Edit_single_property_relational_collection_of_uint64() Assert.False(result.NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_relational_collection_of_nullable_int32() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2874,7 +2874,7 @@ public virtual Task Edit_single_property_relational_collection_of_nullable_int32 Assert.False(result.NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_relational_collection_of_nullable_int32_set_to_null() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2896,7 +2896,7 @@ public virtual Task Edit_single_property_relational_collection_of_nullable_int32 Assert.True(result.NewCollectionSet); // Set to null. }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_relational_collection_of_enum() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2918,7 +2918,7 @@ public virtual Task Edit_single_property_relational_collection_of_enum() Assert.False(result.NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_relational_collection_of_enum_with_int_converter() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2940,7 +2940,7 @@ public virtual Task Edit_single_property_relational_collection_of_enum_with_int_ Assert.False(result.NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_relational_collection_of_nullable_enum() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2962,7 +2962,7 @@ public virtual Task Edit_single_property_relational_collection_of_nullable_enum( Assert.False(result.NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_relational_collection_of_nullable_enum_set_to_null() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -2984,7 +2984,7 @@ public virtual Task Edit_single_property_relational_collection_of_nullable_enum_ Assert.True(result.NewCollectionSet); // Set to null. }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_relational_collection_of_nullable_enum_with_int_converter() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -3009,7 +3009,7 @@ public virtual Task Edit_single_property_relational_collection_of_nullable_enum_ Assert.False(result.NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_relational_collection_of_nullable_enum_with_int_converter_set_to_null() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -3031,7 +3031,7 @@ public virtual Task Edit_single_property_relational_collection_of_nullable_enum_ Assert.True(result.NewCollectionSet); // Set to null. }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_relational_collection_of_nullable_enum_with_converter_that_handles_nulls() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -3053,7 +3053,7 @@ public virtual Task Edit_single_property_relational_collection_of_nullable_enum_ Assert.False(result.NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_relational_collection_of_nullable_enum_with_converter_that_handles_nulls_set_to_null() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -3075,7 +3075,7 @@ public virtual Task Edit_single_property_relational_collection_of_nullable_enum_ Assert.False(result.NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_collection_of_bool() { var expected1 = new[] { new[] { true, true, false }, null, Array.Empty(), new[] { true, true, false } }; @@ -3102,7 +3102,7 @@ public virtual Task Edit_single_property_collection_of_collection_of_bool() }); } - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_collection_of_char() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -3127,7 +3127,7 @@ public virtual Task Edit_single_property_collection_of_collection_of_char() Assert.Equal([['A', 'B', 'C'], null, ['D', 'E', 'F', '\0']], result.Collection[0].TestCharacterCollectionCollection); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_collection_of_double() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -3150,7 +3150,7 @@ public virtual Task Edit_single_property_collection_of_collection_of_double() Assert.Equal([[-1.23456789, -1.23456789], [-3.23579], [1.23456789]], result.Collection[0].TestDoubleCollectionCollection); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_collection_of_int16() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -3176,7 +3176,7 @@ public virtual Task Edit_single_property_collection_of_collection_of_int16() result.Collection[0].TestInt16CollectionCollection); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_collection_of_int32() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -3198,7 +3198,7 @@ public virtual Task Edit_single_property_collection_of_collection_of_int32() Assert.Equal([[int.MinValue, 0, int.MaxValue], null, [-3234]], result.Collection[0].TestInt32CollectionCollection); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_collection_of_int64() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -3220,7 +3220,7 @@ public virtual Task Edit_single_property_collection_of_collection_of_int64() Assert.Empty(result.Collection[0].TestInt64CollectionCollection); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_collection_of_single() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -3245,7 +3245,7 @@ public virtual Task Edit_single_property_collection_of_collection_of_single() Assert.False(result.Collection[0].NewCollectionSet); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_collection_of_nullable_int32() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -3272,7 +3272,7 @@ public virtual Task Edit_single_property_collection_of_collection_of_nullable_in result.Collection[0].TestNullableInt32CollectionCollection); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_collection_of_nullable_int32_set_to_null() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -3294,7 +3294,7 @@ public virtual Task Edit_single_property_collection_of_collection_of_nullable_in Assert.Null(result.Collection[0].TestNullableInt32CollectionCollection); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_collection_of_nullable_enum_set_to_null() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -3316,7 +3316,7 @@ public virtual Task Edit_single_property_collection_of_collection_of_nullable_en Assert.Null(result.Collection[0].TestNullableEnumCollectionCollection); }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_collection_of_collection_of_nullable_enum_with_int_converter() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -3341,7 +3341,7 @@ public virtual Task Edit_single_property_collection_of_collection_of_nullable_en Assert.Equal([[null, [null, null]], null], result.Collection[0].TestNullableEnumWithIntConverterCollectionCollection); }); - [ConditionalTheory, InlineData(false), InlineData(true), InlineData(null)] + [Theory, InlineData(false), InlineData(true), InlineData(null)] public virtual Task Add_and_update_top_level_optional_owned_collection_to_JSON(bool? value) => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -3415,7 +3415,7 @@ public virtual Task Add_and_update_top_level_optional_owned_collection_to_JSON(b } }); - [ConditionalTheory, InlineData(false), InlineData(true), InlineData(null)] + [Theory, InlineData(false), InlineData(true), InlineData(null)] public virtual Task Add_and_update_nested_optional_owned_collection_to_JSON(bool? value) => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -3490,7 +3490,7 @@ public virtual Task Add_and_update_nested_optional_owned_collection_to_JSON(bool } }); - [ConditionalTheory, InlineData(false), InlineData(true), InlineData(null)] + [Theory, InlineData(false), InlineData(true), InlineData(null)] public virtual Task Add_and_update_nested_optional_primitive_collection(bool? value) => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -3624,7 +3624,7 @@ public virtual Task Add_and_update_nested_optional_primitive_collection(bool? va } }); - [ConditionalFact] + [Fact] public virtual Task Edit_single_property_with_non_ascii_characters() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -3671,7 +3671,7 @@ public virtual Task Edit_single_property_with_non_ascii_characters() Assert.Equal("测试1", result.OwnedReferenceRoot.OwnedReferenceBranch.OwnedReferenceLeaf.SomethingSomething); }); - [ConditionalFact] + [Fact] public virtual Task Replace_json_reference_root_preserves_nested_owned_entities_in_memory() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, @@ -3732,7 +3732,7 @@ public virtual Task Replace_json_reference_root_preserves_nested_owned_entities_ Assert.NotNull(result.OwnedReferenceRoot.OwnedReferenceBranch.OwnedReferenceLeaf); }); - [ConditionalFact] + [Fact] public virtual Task Replace_derived_entity_with_json_to_base_entity_with_same_key() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, diff --git a/test/EFCore.Relational.Specification.Tests/Update/NonSharedModelUpdatesTestBase.cs b/test/EFCore.Relational.Specification.Tests/Update/NonSharedModelUpdatesTestBase.cs index aca5b7f2231..e4afcb9a4b0 100644 --- a/test/EFCore.Relational.Specification.Tests/Update/NonSharedModelUpdatesTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Update/NonSharedModelUpdatesTestBase.cs @@ -11,7 +11,7 @@ public abstract class NonSharedModelUpdatesTestBase(NonSharedFixture fixture) protected override string NonSharedStoreName => "NonSharedModelUpdatesTestBase"; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // Issue #29356 + [Theory, MemberData(nameof(IsAsyncData))] // Issue #29356 public virtual async Task Principal_and_dependent_roundtrips_with_cycle_breaking(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -84,7 +84,7 @@ private class Book public Author? Author { get; set; } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // Issue #29379 + [Theory, MemberData(nameof(IsAsyncData))] // Issue #29379 public virtual async Task DbUpdateException_Entries_is_correct_with_multiple_inserts(bool async) { var contextFactory = await InitializeNonSharedTest(onModelCreating: mb => mb.Entity().HasIndex(b => b.Name).IsUnique()); @@ -118,7 +118,7 @@ public class Blog public string? Name { get; set; } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Update_entity_with_not_loaded_property_excludes_column_from_SQL(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -167,7 +167,7 @@ await ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Save_and_query_with_partially_loaded_primitive_collection(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -212,7 +212,7 @@ await ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Query_with_not_auto_loaded_property_tracked(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -241,7 +241,7 @@ await ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Query_with_not_auto_loaded_property_no_tracking(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -266,7 +266,7 @@ await ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Explicit_select_of_not_auto_loaded_property(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -291,7 +291,7 @@ await ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_on_not_auto_loaded_property(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -319,7 +319,7 @@ await ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Query_with_not_auto_loaded_primitive_collection(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -362,7 +362,7 @@ private class BlogWithTags public List Tags { get; set; } = []; } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // Issue #36059 + [Theory, MemberData(nameof(IsAsyncData))] // Issue #36059 public virtual async Task Replacing_owned_entity_with_FK_to_another_entity(bool async) { var contextFactory = await InitializeNonSharedTest( diff --git a/test/EFCore.Relational.Specification.Tests/Update/StoreValueGenerationTestBase.cs b/test/EFCore.Relational.Specification.Tests/Update/StoreValueGenerationTestBase.cs index 9f4629041af..8e141e5c063 100644 --- a/test/EFCore.Relational.Specification.Tests/Update/StoreValueGenerationTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Update/StoreValueGenerationTestBase.cs @@ -12,27 +12,27 @@ public abstract class StoreValueGenerationTestBase(TFixture fixture) : { #region Single operation - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Add_with_generated_values(bool async) => Test(EntityState.Added, secondOperationType: null, GeneratedValues.Some, async); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Add_with_no_generated_values(bool async) => Test(EntityState.Added, secondOperationType: null, GeneratedValues.None, async); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Add_with_all_generated_values(bool async) => Test(EntityState.Added, secondOperationType: null, GeneratedValues.All, async); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Modify_with_generated_values(bool async) => Test(EntityState.Modified, secondOperationType: null, GeneratedValues.Some, async); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Modify_with_no_generated_values(bool async) => Test(EntityState.Modified, secondOperationType: null, GeneratedValues.None, async); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete(bool async) => Test(EntityState.Deleted, secondOperationType: null, GeneratedValues.Some, async); @@ -40,27 +40,27 @@ public virtual Task Delete(bool async) #region Same two operations with same entity type - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Add_Add_with_same_entity_type_and_generated_values(bool async) => Test(EntityState.Added, EntityState.Added, GeneratedValues.Some, async, withSameEntityType: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Add_Add_with_same_entity_type_and_no_generated_values(bool async) => Test(EntityState.Added, EntityState.Added, GeneratedValues.None, async, withSameEntityType: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Add_Add_with_same_entity_type_and_all_generated_values(bool async) => Test(EntityState.Added, EntityState.Added, GeneratedValues.All, async, withSameEntityType: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Modify_Modify_with_same_entity_type_and_generated_values(bool async) => Test(EntityState.Modified, EntityState.Modified, GeneratedValues.Some, async, withSameEntityType: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Modify_Modify_with_same_entity_type_and_no_generated_values(bool async) => Test(EntityState.Modified, EntityState.Modified, GeneratedValues.None, async, withSameEntityType: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_Delete_with_same_entity_type(bool async) => Test(EntityState.Deleted, EntityState.Deleted, GeneratedValues.Some, async, withSameEntityType: true); @@ -68,27 +68,27 @@ public virtual Task Delete_Delete_with_same_entity_type(bool async) #region Same two operations with different entity types - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Add_Add_with_different_entity_types_and_generated_values(bool async) => Test(EntityState.Added, EntityState.Added, GeneratedValues.Some, async, withSameEntityType: false); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Add_Add_with_different_entity_types_and_no_generated_values(bool async) => Test(EntityState.Added, EntityState.Added, GeneratedValues.None, async, withSameEntityType: false); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Add_Add_with_different_entity_types_and_all_generated_values(bool async) => Test(EntityState.Added, EntityState.Added, GeneratedValues.All, async, withSameEntityType: false); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Modify_Modify_with_different_entity_types_and_generated_values(bool async) => Test(EntityState.Modified, EntityState.Modified, GeneratedValues.Some, async, withSameEntityType: false); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Modify_Modify_with_different_entity_types_and_no_generated_values(bool async) => Test(EntityState.Modified, EntityState.Modified, GeneratedValues.None, async, withSameEntityType: false); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_Delete_with_different_entity_types(bool async) => Test(EntityState.Deleted, EntityState.Deleted, GeneratedValues.Some, async, withSameEntityType: false); @@ -96,7 +96,7 @@ public virtual Task Delete_Delete_with_different_entity_types(bool async) #region Different two operations - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_Add_with_same_entity_types(bool async) => Test(EntityState.Deleted, EntityState.Added, GeneratedValues.Some, async, withSameEntityType: true); @@ -359,7 +359,7 @@ protected enum GeneratedValues All } - public async Task InitializeAsync() + public async ValueTask InitializeAsync() { Fixture.CleanData(); await Fixture.SeedAsync(); @@ -367,6 +367,6 @@ public async Task InitializeAsync() ClearLog(); } - public Task DisposeAsync() - => Task.CompletedTask; + public ValueTask DisposeAsync() + => ValueTask.CompletedTask; } diff --git a/test/EFCore.Relational.Specification.Tests/Update/StoredProcedureUpdateTestBase.cs b/test/EFCore.Relational.Specification.Tests/Update/StoredProcedureUpdateTestBase.cs index bdbb51d4dd2..61476e190cc 100644 --- a/test/EFCore.Relational.Specification.Tests/Update/StoredProcedureUpdateTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Update/StoredProcedureUpdateTestBase.cs @@ -13,7 +13,7 @@ public abstract class StoredProcedureUpdateTestBase(NonSharedFixture fixture) protected override string NonSharedStoreName => "StoredProcedureUpdateTest"; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task Insert_with_output_parameter(bool async); protected async Task Insert_with_output_parameter(bool async, string createSprocSql) @@ -39,7 +39,7 @@ protected async Task Insert_with_output_parameter(bool async, string createSproc } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task Insert_twice_with_output_parameter(bool async); protected async Task Insert_twice_with_output_parameter(bool async, string createSprocSql) @@ -67,7 +67,7 @@ protected async Task Insert_twice_with_output_parameter(bool async, string creat } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task Insert_with_result_column(bool async); protected async Task Insert_with_result_column(bool async, string createSprocSql) @@ -91,7 +91,7 @@ protected async Task Insert_with_result_column(bool async, string createSprocSql } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task Insert_with_two_result_columns(bool async); protected async Task Insert_with_two_result_columns(bool async, string createSprocSql) @@ -124,7 +124,7 @@ protected async Task Insert_with_two_result_columns(bool async, string createSpr } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task Insert_with_output_parameter_and_result_column(bool async); protected async Task Insert_with_output_parameter_and_result_column(bool async, string createSprocSql) @@ -156,7 +156,7 @@ protected async Task Insert_with_output_parameter_and_result_column(bool async, } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task Update(bool async); protected async Task Update(bool async, string createSprocSql) @@ -186,7 +186,7 @@ protected async Task Update(bool async, string createSprocSql) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task Update_partial(bool async); protected async Task Update_partial(bool async, string createSprocSql) @@ -220,7 +220,7 @@ protected async Task Update_partial(bool async, string createSprocSql) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task Update_with_output_parameter_and_rows_affected_result_column(bool async); protected async Task Update_with_output_parameter_and_rows_affected_result_column(bool async, string createSprocSql) @@ -261,7 +261,7 @@ protected async Task Update_with_output_parameter_and_rows_affected_result_colum } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task Update_with_output_parameter_and_rows_affected_result_column_concurrency_failure(bool async); protected async Task Update_with_output_parameter_and_rows_affected_result_column_concurrency_failure(bool async, string createSprocSql) @@ -303,7 +303,7 @@ protected async Task Update_with_output_parameter_and_rows_affected_result_colum Assert.Same(entity1, entry.Entity); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task Delete(bool async); protected async Task Delete(bool async, string createSprocSql) @@ -332,7 +332,7 @@ protected async Task Delete(bool async, string createSprocSql) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task Delete_and_insert(bool async); protected async Task Delete_and_insert(bool async, string createSprocSql) @@ -368,7 +368,7 @@ protected async Task Delete_and_insert(bool async, string createSprocSql) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task Rows_affected_parameter(bool async); protected async Task Rows_affected_parameter(bool async, string createSprocSql) @@ -401,7 +401,7 @@ protected async Task Rows_affected_parameter(bool async, string createSprocSql) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task Rows_affected_parameter_and_concurrency_failure(bool async); protected async Task Rows_affected_parameter_and_concurrency_failure(bool async, string createSprocSql) @@ -438,7 +438,7 @@ protected async Task Rows_affected_parameter_and_concurrency_failure(bool async, Assert.Same(entity1, entry.Entity); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task Rows_affected_result_column(bool async); protected async Task Rows_affected_result_column(bool async, string createSprocSql) @@ -471,7 +471,7 @@ protected async Task Rows_affected_result_column(bool async, string createSprocS } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task Rows_affected_result_column_and_concurrency_failure(bool async); protected async Task Rows_affected_result_column_and_concurrency_failure(bool async, string createSprocSql) @@ -508,7 +508,7 @@ protected async Task Rows_affected_result_column_and_concurrency_failure(bool as Assert.Same(entity1, entry.Entity); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task Rows_affected_return_value(bool async); protected async Task Rows_affected_return_value(bool async, string createSprocSql) @@ -541,7 +541,7 @@ protected async Task Rows_affected_return_value(bool async, string createSprocSq } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task Rows_affected_return_value_and_concurrency_failure(bool async); protected async Task Rows_affected_return_value_and_concurrency_failure(bool async, string createSprocSql) @@ -578,7 +578,7 @@ protected async Task Rows_affected_return_value_and_concurrency_failure(bool asy Assert.Same(entity1, entry.Entity); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task Store_generated_concurrency_token_as_in_out_parameter(bool async); protected async Task Store_generated_concurrency_token_as_in_out_parameter(bool async, string createSprocSql) @@ -620,7 +620,7 @@ protected async Task Store_generated_concurrency_token_as_in_out_parameter(bool Assert.Same(entity1, entry.Entity); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task Store_generated_concurrency_token_as_two_parameters(bool async); protected async Task Store_generated_concurrency_token_as_two_parameters(bool async, string createSprocSql) @@ -666,7 +666,7 @@ protected async Task Store_generated_concurrency_token_as_two_parameters(bool as Assert.Same(entity1, entry.Entity); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task User_managed_concurrency_token(bool async); protected async Task User_managed_concurrency_token(bool async, string createSprocSql) @@ -714,7 +714,7 @@ protected async Task User_managed_concurrency_token(bool async, string createSpr Assert.Same(entity1, Assert.Single(exception.Entries).Entity); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task Original_and_current_value_on_non_concurrency_token(bool async); protected async Task Original_and_current_value_on_non_concurrency_token(bool async, string createSprocSql) @@ -750,7 +750,7 @@ protected async Task Original_and_current_value_on_non_concurrency_token(bool as } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task Input_or_output_parameter_with_input(bool async); protected async Task Input_or_output_parameter_with_input(bool async, string createSprocSql) @@ -783,7 +783,7 @@ protected async Task Input_or_output_parameter_with_input(bool async, string cre } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task Input_or_output_parameter_with_output(bool async); protected async Task Input_or_output_parameter_with_output(bool async, string createSprocSql) @@ -816,7 +816,7 @@ protected async Task Input_or_output_parameter_with_output(bool async, string cr } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task Tph(bool async); protected async Task Tph(bool async, string createSprocSql) @@ -867,7 +867,7 @@ protected async Task Tph(bool async, string createSprocSql) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task Tpt(bool async); protected async Task Tpt(bool async, string createSprocSql) @@ -912,7 +912,7 @@ protected async Task Tpt(bool async, string createSprocSql) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task Tpt_mixed_sproc_and_non_sproc(bool async); protected async Task Tpt_mixed_sproc_and_non_sproc(bool async, string createSprocSql) @@ -953,7 +953,7 @@ protected async Task Tpt_mixed_sproc_and_non_sproc(bool async, string createSpro } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task Tpc(bool async); protected async Task Tpc(bool async, string createSprocSql) @@ -991,7 +991,7 @@ protected async Task Tpc(bool async, string createSprocSql) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task Non_sproc_followed_by_sproc_commands_in_the_same_batch(bool async); protected async Task Non_sproc_followed_by_sproc_commands_in_the_same_batch(bool async, string createSprocSql) diff --git a/test/EFCore.Relational.Specification.Tests/Update/UpdateSqlGeneratorTestBase.cs b/test/EFCore.Relational.Specification.Tests/Update/UpdateSqlGeneratorTestBase.cs index 338a3136775..d0301b9fdff 100644 --- a/test/EFCore.Relational.Specification.Tests/Update/UpdateSqlGeneratorTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Update/UpdateSqlGeneratorTestBase.cs @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Update; public abstract class UpdateSqlGeneratorTestBase { - [ConditionalFact] + [Fact] public virtual void AppendDeleteOperation_creates_full_delete_command_text() { var stringBuilder = new StringBuilder(); @@ -24,7 +24,7 @@ public virtual void AppendDeleteOperation_creates_full_delete_command_text() protected abstract void AppendDeleteOperation_creates_full_delete_command_text_verification(StringBuilder stringBuilder); - [ConditionalFact] + [Fact] public virtual void AppendDeleteOperation_creates_full_delete_command_text_with_concurrency_check() { var stringBuilder = new StringBuilder(); @@ -38,7 +38,7 @@ public virtual void AppendDeleteOperation_creates_full_delete_command_text_with_ protected abstract void AppendDeleteOperation_creates_full_delete_command_text_with_concurrency_check_verification( StringBuilder stringBuilder); - [ConditionalFact] + [Fact] public virtual void AppendInsertOperation_insert_if_store_generated_columns_exist() { var stringBuilder = new StringBuilder(); @@ -51,7 +51,7 @@ public virtual void AppendInsertOperation_insert_if_store_generated_columns_exis protected abstract void AppendInsertOperation_insert_if_store_generated_columns_exist_verification(StringBuilder stringBuilder); - [ConditionalFact] + [Fact] public virtual void AppendInsertOperation_appends_insert_and_select_rowcount_if_no_store_generated_columns_exist_or_conditions_exist() { @@ -89,7 +89,7 @@ public virtual void stringBuilder.ToString()); } - [ConditionalFact] + [Fact] public virtual void AppendInsertOperation_for_store_generated_columns_but_no_identity() { var stringBuilder = new StringBuilder(); @@ -102,7 +102,7 @@ public virtual void AppendInsertOperation_for_store_generated_columns_but_no_ide protected abstract void AppendInsertOperation_for_store_generated_columns_but_no_identity_verification(StringBuilder stringBuilder); - [ConditionalFact] + [Fact] public virtual void AppendInsertOperation_for_only_identity() { var stringBuilder = new StringBuilder(); @@ -115,7 +115,7 @@ public virtual void AppendInsertOperation_for_only_identity() protected abstract void AppendInsertOperation_for_only_identity_verification(StringBuilder stringBuilder); - [ConditionalFact] + [Fact] public virtual void AppendInsertOperation_for_all_store_generated_columns() { var stringBuilder = new StringBuilder(); @@ -128,7 +128,7 @@ public virtual void AppendInsertOperation_for_all_store_generated_columns() protected abstract void AppendInsertOperation_for_all_store_generated_columns_verification(StringBuilder stringBuilder); - [ConditionalFact] + [Fact] public virtual void AppendInsertOperation_for_only_single_identity_columns() { var stringBuilder = new StringBuilder(); @@ -141,7 +141,7 @@ public virtual void AppendInsertOperation_for_only_single_identity_columns() protected abstract void AppendInsertOperation_for_only_single_identity_columns_verification(StringBuilder stringBuilder); - [ConditionalFact] + [Fact] public virtual void AppendUpdateOperation_if_store_generated_columns_exist() { var stringBuilder = new StringBuilder(); @@ -154,7 +154,7 @@ public virtual void AppendUpdateOperation_if_store_generated_columns_exist() protected abstract void AppendUpdateOperation_if_store_generated_columns_exist_verification(StringBuilder stringBuilder); - [ConditionalFact] + [Fact] public virtual void AppendUpdateOperation_if_store_generated_columns_dont_exist() { var stringBuilder = new StringBuilder(); @@ -167,7 +167,7 @@ public virtual void AppendUpdateOperation_if_store_generated_columns_dont_exist( protected abstract void AppendUpdateOperation_if_store_generated_columns_dont_exist_verification(StringBuilder stringBuilder); - [ConditionalFact] + [Fact] public virtual void AppendUpdateOperation_appends_where_for_concurrency_token() { var stringBuilder = new StringBuilder(); @@ -180,7 +180,7 @@ public virtual void AppendUpdateOperation_appends_where_for_concurrency_token() protected abstract void AppendUpdateOperation_appends_where_for_concurrency_token_verification(StringBuilder stringBuilder); - [ConditionalFact] + [Fact] public virtual void AppendUpdateOperation_for_computed_property() { var stringBuilder = new StringBuilder(); @@ -193,7 +193,7 @@ public virtual void AppendUpdateOperation_for_computed_property() protected abstract void AppendUpdateOperation_for_computed_property_verification(StringBuilder stringBuilder); - [ConditionalFact] + [Fact] public virtual void GenerateNextSequenceValueOperation_returns_statement_with_sanitized_sequence() { var statement = CreateSqlGenerator().GenerateNextSequenceValueOperation("sequence" + CloseDelimiter + "; --", null); @@ -203,7 +203,7 @@ public virtual void GenerateNextSequenceValueOperation_returns_statement_with_sa statement); } - [ConditionalFact] + [Fact] public virtual void GenerateNextSequenceValueOperation_correctly_handles_schemas() { var statement = CreateSqlGenerator().GenerateNextSequenceValueOperation("mysequence", "dbo"); diff --git a/test/EFCore.Relational.Specification.Tests/Update/UpdatesRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Update/UpdatesRelationalTestBase.cs index b6ddbbf7dbd..428cbfc0c7f 100644 --- a/test/EFCore.Relational.Specification.Tests/Update/UpdatesRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Update/UpdatesRelationalTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.UpdatesModel; @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Update; public abstract class UpdatesRelationalTestBase(TFixture fixture) : UpdatesTestBase(fixture) where TFixture : UpdatesRelationalTestBase.UpdatesRelationalFixture { - [ConditionalFact] + [Fact] public virtual Task SaveChanges_works_for_entities_also_mapped_to_view() => ExecuteWithStrategyInTransactionAsync( async context => @@ -45,7 +45,7 @@ public virtual Task SaveChanges_works_for_entities_also_mapped_to_view() Assert.Equal("Pear Cobler", viewProduct.Name); }); - [ConditionalFact] + [Fact] public virtual Task SaveChanges_throws_for_entities_only_mapped_to_view() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -64,7 +64,7 @@ public virtual Task SaveChanges_throws_for_entities_only_mapped_to_view() (await Assert.ThrowsAsync(() => context.SaveChangesAsync())).Message); }); - [ConditionalFact] + [Fact] public virtual Task Save_with_shared_foreign_key() { Guid productId = default; @@ -101,7 +101,7 @@ public virtual Task Save_with_shared_foreign_key() }); } - [ConditionalFact] + [Fact] public virtual Task Can_use_shared_columns_with_conversion() => ExecuteWithStrategyInTransactionAsync( context => @@ -137,7 +137,7 @@ public virtual Task Can_use_shared_columns_with_conversion() Assert.Equal("42100", person.ZipCode); }); - [ConditionalFact] + [Fact] public virtual Task Swap_filtered_unique_index_values() { var productId1 = new Guid("984ade3c-2f7b-4651-a351-642e92ab7146"); @@ -174,7 +174,7 @@ public virtual Task Swap_filtered_unique_index_values() }); } - [ConditionalFact] // Issue #33023 + [Fact] // Issue #33023 public virtual Task Swap_computed_unique_index_values() { var productId1 = new Guid("984ade3c-2f7b-4651-a351-642e92ab7146"); @@ -211,7 +211,7 @@ public virtual Task Swap_computed_unique_index_values() }); } - [ConditionalFact] + [Fact] public virtual Task Update_non_indexed_values() { var productId1 = new Guid("984ade3c-2f7b-4651-a351-642e92ab7146"); @@ -260,7 +260,7 @@ public virtual Task Update_non_indexed_values() }); } - [ConditionalTheory, InlineData(false), InlineData(true)] // Issue #37525 + [Theory, InlineData(false), InlineData(true)] // Issue #37525 public virtual async Task Can_save_owned_entity_with_default_values_in_TPH_with_shared_columns(bool async) => await ExecuteWithStrategyInTransactionAsync( async context => @@ -284,7 +284,7 @@ public virtual async Task Can_save_owned_entity_with_default_values_in_TPH_with_ Assert.False(entity.Filling.IsFresh); }); - [ConditionalFact] + [Fact] public abstract void Identifiers_are_generated_correctly(); protected override void UseTransaction(DatabaseFacade facade, IDbContextTransaction transaction) diff --git a/test/EFCore.Relational.Tests/DbSetAsTableNameTest.cs b/test/EFCore.Relational.Tests/DbSetAsTableNameTest.cs index ba4df9e5e61..18d20b83e8c 100644 --- a/test/EFCore.Relational.Tests/DbSetAsTableNameTest.cs +++ b/test/EFCore.Relational.Tests/DbSetAsTableNameTest.cs @@ -5,14 +5,14 @@ namespace Microsoft.EntityFrameworkCore; public abstract class DbSetAsTableNameTest { - [ConditionalFact] + [Fact] public virtual void DbSet_names_are_used_as_table_names() { using var context = CreateContext(); Assert.Equal("Cheeses", GetTableName(context)); } - [ConditionalFact] + [Fact] public virtual void DbSet_name_of_base_type_is_used_as_table_name_for_TPH() { using var context = CreateContext(); @@ -21,7 +21,7 @@ public virtual void DbSet_name_of_base_type_is_used_as_table_name_for_TPH() Assert.Equal("Chocolates", GetTableName(context)); } - [ConditionalFact] + [Fact] public virtual void Type_name_of_base_type_is_used_as_table_name_for_TPH_if_not_added_as_set() { using var context = CreateContext(); @@ -30,7 +30,7 @@ public virtual void Type_name_of_base_type_is_used_as_table_name_for_TPH_if_not_ Assert.Equal("Fruit", GetTableName(context)); } - [ConditionalFact] + [Fact] public virtual void DbSet_names_of_derived_types_are_used_as_table_names_when_base_type_not_mapped() { using var context = CreateContext(); @@ -38,21 +38,21 @@ public virtual void DbSet_names_of_derived_types_are_used_as_table_names_when_ba Assert.Equal("WheatThins", GetTableName(context)); } - [ConditionalFact] + [Fact] public virtual void Name_of_duplicate_DbSet_is_not_used_as_table_name() { using var context = CreateContext(); Assert.Equal("Marmite", GetTableName(context)); } - [ConditionalFact] + [Fact] public virtual void Explicit_names_can_be_used_as_table_names() { using var context = CreateNamedTablesContext(); Assert.Equal("YummyCheese", GetTableName(context)); } - [ConditionalFact] + [Fact] public virtual void DbSet_names_are_not_used_as_shared_entity_type_table_names() { using var context = CreateContext(); @@ -63,7 +63,7 @@ public virtual void DbSet_names_are_not_used_as_shared_entity_type_table_names() Assert.Equal("Veggies", GetTableName(context, "Veggies")); } - [ConditionalFact] + [Fact] public virtual void Explicit_names_can_be_used_for_shared_type_entity_types() { using var context = CreateNamedTablesContext(); @@ -74,7 +74,7 @@ public virtual void Explicit_names_can_be_used_for_shared_type_entity_types() Assert.Equal("MyVeggies", GetTableName(context, "Veggies")); } - [ConditionalFact] + [Fact] public virtual void Explicit_name_of_base_type_can_be_used_as_table_name_for_TPH() { using var context = CreateNamedTablesContext(); @@ -83,7 +83,7 @@ public virtual void Explicit_name_of_base_type_can_be_used_as_table_name_for_TPH Assert.Equal("YummyChocolate", GetTableName(context)); } - [ConditionalFact] + [Fact] public virtual void Explicit_name_of_base_type_can_be_used_as_table_name_for_TPH_if_not_added_as_set() { using var context = CreateNamedTablesContext(); @@ -92,7 +92,7 @@ public virtual void Explicit_name_of_base_type_can_be_used_as_table_name_for_TPH Assert.Equal("YummyFruit", GetTableName(context)); } - [ConditionalFact] + [Fact] public virtual void Explicit_names_of_derived_types_can_be_used_as_table_names_when_base_type_not_mapped() { using var context = CreateNamedTablesContext(); @@ -100,14 +100,14 @@ public virtual void Explicit_names_of_derived_types_can_be_used_as_table_names_w Assert.Equal("YummyWheatThins", GetTableName(context)); } - [ConditionalFact] + [Fact] public virtual void Explicit_name_can_be_used_for_type_with_duplicated_sets() { using var context = CreateNamedTablesContext(); Assert.Equal("YummyMarmite", GetTableName(context)); } - [ConditionalFact] + [Fact] public virtual void DbSet_long_name_properly_truncated() { using var context = CreateContext(); @@ -116,7 +116,7 @@ public virtual void DbSet_long_name_properly_truncated() Assert.True(realLength <= maxLength); } - [ConditionalFact] + [Fact] public virtual void DbSet_long_name_uniquely_truncated() { using var context = CreateContext(); diff --git a/test/EFCore.Relational.Tests/Design/AnnotationCodeGeneratorTest.cs b/test/EFCore.Relational.Tests/Design/AnnotationCodeGeneratorTest.cs index 9d9f78bb052..48a4a033006 100644 --- a/test/EFCore.Relational.Tests/Design/AnnotationCodeGeneratorTest.cs +++ b/test/EFCore.Relational.Tests/Design/AnnotationCodeGeneratorTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore.Design; public class AnnotationCodeGeneratorTest { - [ConditionalFact] + [Fact] public void IsTableExcludedFromMigrations_false_is_handled_by_convention() { var modelBuilder = CreateModelBuilder(); @@ -18,7 +18,7 @@ public void IsTableExcludedFromMigrations_false_is_handled_by_convention() Assert.DoesNotContain(RelationalAnnotationNames.IsTableExcludedFromMigrations, annotations.Keys); } - [ConditionalFact] + [Fact] public void GenerateFluentApi_IModel_works_with_collation() { var modelBuilder = CreateModelBuilder(); @@ -30,7 +30,7 @@ public void GenerateFluentApi_IModel_works_with_collation() Assert.Equal("foo", Assert.Single(result.Arguments)); } - [ConditionalFact] + [Fact] public void GenerateFluentApi_IProperty_works_with_collation() { var modelBuilder = CreateModelBuilder(); @@ -44,7 +44,7 @@ public void GenerateFluentApi_IProperty_works_with_collation() Assert.Equal("foo", Assert.Single(result.Arguments)); } - [ConditionalFact] + [Fact] public void IsForeignKeyExcludedFromMigrations_false_is_handled_by_convention() { var modelBuilder = CreateModelBuilder(); @@ -62,7 +62,7 @@ public void IsForeignKeyExcludedFromMigrations_false_is_handled_by_convention() Assert.DoesNotContain(RelationalAnnotationNames.IsForeignKeyExcludedFromMigrations, annotations.Keys); } - [ConditionalFact] + [Fact] public void GenerateFluentApi_IForeignKey_works_with_ExcludeForeignKeyFromMigrations() { var modelBuilder = CreateModelBuilder(); diff --git a/test/EFCore.Relational.Tests/Design/DesignTimeProviderServicesTest.cs b/test/EFCore.Relational.Tests/Design/DesignTimeProviderServicesTest.cs index a442634e336..8e81c7054b7 100644 --- a/test/EFCore.Relational.Tests/Design/DesignTimeProviderServicesTest.cs +++ b/test/EFCore.Relational.Tests/Design/DesignTimeProviderServicesTest.cs @@ -8,7 +8,7 @@ public abstract class DesignTimeProviderServicesTest protected abstract Assembly GetRuntimeAssembly(); protected abstract Type GetDesignTimeServicesType(); - [ConditionalFact] + [Fact] public void Ensure_assembly_identity_matches() { var runtimeAssembly = GetRuntimeAssembly(); diff --git a/test/EFCore.Relational.Tests/EFCore.Relational.Tests.csproj b/test/EFCore.Relational.Tests/EFCore.Relational.Tests.csproj index 2c14c5d40b9..a939fb08504 100644 --- a/test/EFCore.Relational.Tests/EFCore.Relational.Tests.csproj +++ b/test/EFCore.Relational.Tests/EFCore.Relational.Tests.csproj @@ -1,4 +1,4 @@ - + $(DefaultNetCoreTargetFramework) @@ -37,7 +37,6 @@ - diff --git a/test/EFCore.Relational.Tests/Extensions/DbParameterCollectionExtensionsTest.cs b/test/EFCore.Relational.Tests/Extensions/DbParameterCollectionExtensionsTest.cs index 37238c0813f..6ed59235712 100644 --- a/test/EFCore.Relational.Tests/Extensions/DbParameterCollectionExtensionsTest.cs +++ b/test/EFCore.Relational.Tests/Extensions/DbParameterCollectionExtensionsTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Data; @@ -8,343 +8,343 @@ namespace Microsoft.EntityFrameworkCore; public class DbParameterCollectionExtensionsTest { - [ConditionalFact] + [Fact] public void Formats_string_parameter() => Assert.Equal( "@param='Muffin'", DbParameterCollectionExtensions.FormatParameter( "@param", "Muffin", true, ParameterDirection.Input, DbType.String, true, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Format_parameter_with_direction() => Assert.Equal( "@param='Muffin' (Direction = Output)", DbParameterCollectionExtensions.FormatParameter( "@param", "Muffin", true, ParameterDirection.Output, DbType.String, true, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_non_nullable_string_parameter() => Assert.Equal( "@param='Muffin' (Nullable = false)", DbParameterCollectionExtensions.FormatParameter( "@param", "Muffin", true, ParameterDirection.Input, DbType.String, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_non_unicode_string_parameter() => Assert.Equal( "@param='Muffin' (DbType = AnsiString)", DbParameterCollectionExtensions.FormatParameter( "@param", "Muffin", true, ParameterDirection.Input, DbType.AnsiString, true, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_non_unicode_non_nullable_string_parameter() => Assert.Equal( "@param='Muffin' (Nullable = false) (DbType = AnsiString)", DbParameterCollectionExtensions.FormatParameter( "@param", "Muffin", true, ParameterDirection.Input, DbType.AnsiString, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_non_unicode_non_nullable_sized_string_parameter() => Assert.Equal( "@param='Muffin' (Nullable = false) (Size = 100) (DbType = AnsiString)", DbParameterCollectionExtensions.FormatParameter( "@param", "Muffin", true, ParameterDirection.Input, DbType.AnsiString, false, 100, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_null_string_parameter() => Assert.Equal( "@param=NULL", DbParameterCollectionExtensions.FormatParameter( "@param", null, true, ParameterDirection.Input, DbType.String, true, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_null_non_unicode_string_parameter() => Assert.Equal( "@param=NULL (DbType = AnsiString)", DbParameterCollectionExtensions.FormatParameter( "@param", null, true, ParameterDirection.Input, DbType.AnsiString, true, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_fixed_length_string_parameter() => Assert.Equal( "@param='Muffin' (DbType = StringFixedLength)", DbParameterCollectionExtensions.FormatParameter( "@param", "Muffin", true, ParameterDirection.Input, DbType.StringFixedLength, true, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_fixed_length_non_nullable_string_parameter() => Assert.Equal( "@param='Muffin' (Nullable = false) (DbType = StringFixedLength)", DbParameterCollectionExtensions.FormatParameter( "@param", "Muffin", true, ParameterDirection.Input, DbType.StringFixedLength, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_fixed_length_non_nullable_sized_string_parameter() => Assert.Equal( "@param='Muffin' (Nullable = false) (Size = 100) (DbType = StringFixedLength)", DbParameterCollectionExtensions.FormatParameter( "@param", "Muffin", true, ParameterDirection.Input, DbType.StringFixedLength, false, 100, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_null_fixed_length_string_parameter() => Assert.Equal( "@param=NULL (DbType = StringFixedLength)", DbParameterCollectionExtensions.FormatParameter( "@param", null, true, ParameterDirection.Input, DbType.StringFixedLength, true, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_sensitive_string_parameter() => Assert.Equal( "@param='?'", DbParameterCollectionExtensions.FormatParameter( "@param", "?", false, ParameterDirection.Input, DbType.String, true, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_sensitive_non_nullable_string_parameter() => Assert.Equal( "@param='?'", DbParameterCollectionExtensions.FormatParameter( "@param", "?", false, ParameterDirection.Input, DbType.String, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_int_parameter() => Assert.Equal( "@param='777'", DbParameterCollectionExtensions.FormatParameter( "@param", 777, true, ParameterDirection.Input, DbType.Int32, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_nullable_int_parameter() => Assert.Equal( "@param='777' (Nullable = true)", DbParameterCollectionExtensions.FormatParameter( "@param", 777, true, ParameterDirection.Input, DbType.Int32, true, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_int_parameter_with_unusual_type() => Assert.Equal( "@param='777' (DbType = VarNumeric)", DbParameterCollectionExtensions.FormatParameter( "@param", 777, true, ParameterDirection.Input, DbType.VarNumeric, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_int_parameter_with_no_type() => Assert.Equal( "@param='777' (DbType = AnsiString)", DbParameterCollectionExtensions.FormatParameter( "@param", 777, true, ParameterDirection.Input, 0, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_null_nullable_int_parameter() => Assert.Equal( "@param=NULL (DbType = Int32)", DbParameterCollectionExtensions.FormatParameter( "@param", null, true, ParameterDirection.Input, DbType.Int32, true, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_sensitive_int_parameter() => Assert.Equal( "@param='?' (DbType = Int32)", DbParameterCollectionExtensions.FormatParameter( "@param", "?", false, ParameterDirection.Input, DbType.Int32, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_sensitive_nullable_int_parameter() => Assert.Equal( "@param='?' (DbType = Int32)", DbParameterCollectionExtensions.FormatParameter( "@param", "?", false, ParameterDirection.Input, DbType.Int32, true, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_short_parameter() => Assert.Equal( "@param='777'", DbParameterCollectionExtensions.FormatParameter( "@param", (short)777, true, ParameterDirection.Input, DbType.Int16, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_short_parameter_with_unusual_type() => Assert.Equal( "@param='777' (DbType = VarNumeric)", DbParameterCollectionExtensions.FormatParameter( "@param", (short)777, true, ParameterDirection.Input, DbType.VarNumeric, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_long_parameter() => Assert.Equal( "@param='777'", DbParameterCollectionExtensions.FormatParameter( "@param", (long)777, true, ParameterDirection.Input, DbType.Int64, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_long_parameter_with_unusual_type() => Assert.Equal( "@param='777' (DbType = VarNumeric)", DbParameterCollectionExtensions.FormatParameter( "@param", (long)777, true, ParameterDirection.Input, DbType.VarNumeric, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_byte_parameter() => Assert.Equal( "@param='77'", DbParameterCollectionExtensions.FormatParameter( "@param", (byte)77, true, ParameterDirection.Input, DbType.Byte, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_byte_parameter_with_unusual_type() => Assert.Equal( "@param='77' (DbType = VarNumeric)", DbParameterCollectionExtensions.FormatParameter( "@param", (byte)77, true, ParameterDirection.Input, DbType.VarNumeric, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_uint_parameter() => Assert.Equal( "@param='777'", DbParameterCollectionExtensions.FormatParameter( "@param", (uint)777, true, ParameterDirection.Input, DbType.UInt32, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_uint_parameter_with_unusual_type() => Assert.Equal( "@param='777' (DbType = VarNumeric)", DbParameterCollectionExtensions.FormatParameter( "@param", (uint)777, true, ParameterDirection.Input, DbType.VarNumeric, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_ushort_parameter() => Assert.Equal( "@param='777'", DbParameterCollectionExtensions.FormatParameter( "@param", (ushort)777, true, ParameterDirection.Input, DbType.UInt16, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_ushort_parameter_with_unusual_type() => Assert.Equal( "@param='777' (DbType = VarNumeric)", DbParameterCollectionExtensions.FormatParameter( "@param", (ushort)777, true, ParameterDirection.Input, DbType.VarNumeric, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_ulong_parameter() => Assert.Equal( "@param='777'", DbParameterCollectionExtensions.FormatParameter( "@param", (ulong)777, true, ParameterDirection.Input, DbType.UInt64, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_ulong_parameter_with_unusual_type() => Assert.Equal( "@param='777' (DbType = VarNumeric)", DbParameterCollectionExtensions.FormatParameter( "@param", (ulong)777, true, ParameterDirection.Input, DbType.VarNumeric, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_sbyte_parameter() => Assert.Equal( "@param='77'", DbParameterCollectionExtensions.FormatParameter( "@param", (sbyte)77, true, ParameterDirection.Input, DbType.SByte, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_sbyte_parameter_with_unusual_type() => Assert.Equal( "@param='77' (DbType = VarNumeric)", DbParameterCollectionExtensions.FormatParameter( "@param", (sbyte)77, true, ParameterDirection.Input, DbType.VarNumeric, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_binary_parameter() => Assert.Equal( "@param='0x0102'", DbParameterCollectionExtensions.FormatParameter( "@param", new byte[] { 1, 2 }, true, ParameterDirection.Input, DbType.Binary, true, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_binary_parameter_with_unusual_type() => Assert.Equal( "@param='0x0102' (DbType = Object)", DbParameterCollectionExtensions.FormatParameter( "@param", new byte[] { 1, 2 }, true, ParameterDirection.Input, DbType.Object, true, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_bool_parameter() => Assert.Equal( "@param='True'", DbParameterCollectionExtensions.FormatParameter( "@param", true, true, ParameterDirection.Input, DbType.Boolean, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_bool_parameter_with_unusual_type() => Assert.Equal( "@param='True' (DbType = Int32)", DbParameterCollectionExtensions.FormatParameter( "@param", true, true, ParameterDirection.Input, DbType.Int32, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_decimal_parameter() => Assert.Equal( "@param='777'", DbParameterCollectionExtensions.FormatParameter( "@param", (decimal)777, true, ParameterDirection.Input, DbType.Decimal, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_decimal_parameter_with_unusual_type() => Assert.Equal( "@param='777' (DbType = VarNumeric)", DbParameterCollectionExtensions.FormatParameter( "@param", (decimal)777, true, ParameterDirection.Input, DbType.VarNumeric, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_decimal_parameter_with_precision() => Assert.Equal( "@param='77.7' (Precision = 18)", DbParameterCollectionExtensions.FormatParameter( "@param", (decimal)77.7, true, ParameterDirection.Input, DbType.Decimal, false, 0, 18, 0)); - [ConditionalFact] + [Fact] public void Formats_decimal_parameter_with_scale() => Assert.Equal( "@param='77.7' (Scale = 2)", DbParameterCollectionExtensions.FormatParameter( "@param", (decimal)77.7, true, ParameterDirection.Input, DbType.Decimal, false, 0, 0, 2)); - [ConditionalFact] + [Fact] public void Formats_decimal_parameter_with_precision_and_scale() => Assert.Equal( "@param='77.7' (Precision = 18) (Scale = 2)", DbParameterCollectionExtensions.FormatParameter( "@param", (decimal)77.7, true, ParameterDirection.Input, DbType.Decimal, false, 0, 18, 2)); - [ConditionalFact] + [Fact] public void Formats_double_parameter() => Assert.Equal( "@param='777'", DbParameterCollectionExtensions.FormatParameter( "@param", (double)777, true, ParameterDirection.Input, DbType.Double, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_double_parameter_with_unusual_type() => Assert.Equal( "@param='777' (DbType = VarNumeric)", DbParameterCollectionExtensions.FormatParameter( "@param", (double)777, true, ParameterDirection.Input, DbType.VarNumeric, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_float_parameter() => Assert.Equal( "@param='777'", DbParameterCollectionExtensions.FormatParameter( "@param", (float)777, true, ParameterDirection.Input, DbType.Single, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_float_parameter_with_unusual_type() => Assert.Equal( "@param='777' (DbType = VarNumeric)", DbParameterCollectionExtensions.FormatParameter( "@param", (float)777, true, ParameterDirection.Input, DbType.VarNumeric, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_Guid_parameter() => Assert.Equal( "@param='304afb2a-8b8c-49ac-996e-8561f7559a3f'", @@ -352,7 +352,7 @@ public void Formats_Guid_parameter() "@param", Guid.Parse("304afb2a-8b8c-49ac-996e-8561f7559a3f"), true, ParameterDirection.Input, DbType.Guid, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_Guid_parameter_with_unusual_type() => Assert.Equal( "@param='304afb2a-8b8c-49ac-996e-8561f7559a3f' (DbType = Binary)", @@ -360,35 +360,35 @@ public void Formats_Guid_parameter_with_unusual_type() "@param", Guid.Parse("304afb2a-8b8c-49ac-996e-8561f7559a3f"), true, ParameterDirection.Input, DbType.Binary, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_object_parameter() => Assert.Equal( "@param='System.Object'", DbParameterCollectionExtensions.FormatParameter( "@param", new object(), true, ParameterDirection.Input, DbType.Object, true, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_object_parameter_with_unusual_type() => Assert.Equal( "@param='System.Object' (DbType = VarNumeric)", DbParameterCollectionExtensions.FormatParameter( "@param", new object(), true, ParameterDirection.Input, DbType.VarNumeric, true, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_DateTime_parameter() => Assert.Equal( "@param='1973-09-03T00:00:00.0000000'", DbParameterCollectionExtensions.FormatParameter( "@param", new DateTime(1973, 9, 3), true, ParameterDirection.Input, DbType.DateTime2, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_DateTime_parameter_with_unusual_type() => Assert.Equal( "@param='1973-09-03T00:00:00.0000000' (DbType = DateTime)", DbParameterCollectionExtensions.FormatParameter( "@param", new DateTime(1973, 9, 3), true, ParameterDirection.Input, DbType.DateTime, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_DateTimeOffset_parameter() => Assert.Equal( "@param='1973-09-03T00:00:00.0000000-08:00'", @@ -396,7 +396,7 @@ public void Formats_DateTimeOffset_parameter() "@param", new DateTimeOffset(new DateTime(1973, 9, 3), new TimeSpan(-8, 0, 0)), true, ParameterDirection.Input, DbType.DateTimeOffset, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_DateTimeOffset_parameter_with_unusual_type() => Assert.Equal( "@param='1973-09-03T00:00:00.0000000-08:00' (DbType = Date)", @@ -404,21 +404,21 @@ public void Formats_DateTimeOffset_parameter_with_unusual_type() "@param", new DateTimeOffset(new DateTime(1973, 9, 3), new TimeSpan(-8, 0, 0)), true, ParameterDirection.Input, DbType.Date, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_TimeSpan_parameter() => Assert.Equal( "@param='-08:00:00'", DbParameterCollectionExtensions.FormatParameter( "@param", new TimeSpan(-8, 0, 0), true, ParameterDirection.Input, DbType.Time, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Formats_TimeSpan_parameter_with_unusual_type() => Assert.Equal( "@param='-08:00:00' (DbType = DateTime)", DbParameterCollectionExtensions.FormatParameter( "@param", new TimeSpan(-8, 0, 0), true, ParameterDirection.Input, DbType.DateTime, false, 0, 0, 0)); - [ConditionalFact] + [Fact] public void Short_byte_arrays_are_not_truncated() { var shortArray = new Guid("21EC2020-3AEA-4069-A2DD-08002B30309D").ToByteArray(); @@ -435,7 +435,7 @@ public void Short_byte_arrays_are_not_truncated() "@param", longerShortArray, true, ParameterDirection.Input, DbType.Binary, true, 0, 0, 0)); } - [ConditionalFact] + [Fact] public void Long_byte_arrays_are_truncated() { var shortArray = new Guid("21EC2020-3AEA-4069-A2DD-08002B30309D").ToByteArray(); @@ -447,7 +447,7 @@ public void Long_byte_arrays_are_truncated() "@param", longArray, true, ParameterDirection.Input, DbType.Binary, true, 0, 0, 0)); } - [ConditionalFact] + [Fact] public void Short_arrays_are_not_truncated() { var array = new[] { 1, 2, 3, 4, 5 }; @@ -458,7 +458,7 @@ public void Short_arrays_are_not_truncated() "@param", array, true, ParameterDirection.Input, DbType.Object, true, 0, 0, 0)); } - [ConditionalFact] + [Fact] public void Long_arrays_are_truncated() { var array = new[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; @@ -469,7 +469,7 @@ public void Long_arrays_are_truncated() "@param", array, true, ParameterDirection.Input, DbType.Object, true, 0, 0, 0)); } - [ConditionalFact] + [Fact] public void Short_generic_lists_are_not_truncated() { var array = new List @@ -487,7 +487,7 @@ public void Short_generic_lists_are_not_truncated() "@param", array, true, ParameterDirection.Input, DbType.Object, true, 0, 0, 0)); } - [ConditionalFact] + [Fact] public void Long_generic_lists_are_truncated() { var array = new List diff --git a/test/EFCore.Relational.Tests/Extensions/RelationalBuilderExtensionsTest.cs b/test/EFCore.Relational.Tests/Extensions/RelationalBuilderExtensionsTest.cs index b331c45608d..8ce3403ad5a 100644 --- a/test/EFCore.Relational.Tests/Extensions/RelationalBuilderExtensionsTest.cs +++ b/test/EFCore.Relational.Tests/Extensions/RelationalBuilderExtensionsTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore; public class RelationalBuilderExtensionsTest { - [ConditionalFact] + [Fact] public void Can_set_fixed_length() { var modelBuilder = CreateConventionModelBuilder(); @@ -31,7 +31,7 @@ public void Can_set_fixed_length() Assert.False(property.IsFixedLength()); } - [ConditionalFact] + [Fact] public void Can_set_column_name() { var modelBuilder = CreateConventionModelBuilder(); @@ -47,7 +47,7 @@ public void Can_set_column_name() Assert.Equal("Eman", property.GetColumnName()); } - [ConditionalFact] + [Fact] public void Can_set_column_type() { var modelBuilder = CreateConventionModelBuilder(); @@ -62,7 +62,7 @@ public void Can_set_column_type() Assert.Equal("nvarchar(42)", property.GetColumnType()); } - [ConditionalFact] + [Fact] public void Can_set_column_default_expression() { var modelBuilder = CreateConventionModelBuilder(); @@ -78,7 +78,7 @@ public void Can_set_column_default_expression() Assert.Equal(ValueGenerated.OnAdd, property.ValueGenerated); } - [ConditionalFact] + [Fact] public void Setting_column_default_expression_does_not_modify_explicitly_set_value_generated() { var modelBuilder = CreateConventionModelBuilder(); @@ -95,7 +95,7 @@ public void Setting_column_default_expression_does_not_modify_explicitly_set_val Assert.Equal(ValueGenerated.OnAddOrUpdate, property.ValueGenerated); } - [ConditionalFact] + [Fact] public void Can_set_column_computed_expression() { var modelBuilder = CreateConventionModelBuilder(); @@ -111,7 +111,7 @@ public void Can_set_column_computed_expression() Assert.Equal(ValueGenerated.OnAddOrUpdate, property.ValueGenerated); } - [ConditionalFact] + [Fact] public void Setting_column_computed_expression_does_not_modify_explicitly_set_value_generated() { var modelBuilder = CreateConventionModelBuilder(); @@ -128,7 +128,7 @@ public void Setting_column_computed_expression_does_not_modify_explicitly_set_va Assert.Equal(ValueGenerated.Never, property.ValueGenerated); } - [ConditionalFact] + [Fact] public void Can_set_column_default_value() { var modelBuilder = CreateConventionModelBuilder(); @@ -145,7 +145,7 @@ public void Can_set_column_default_value() Assert.Equal(ValueGenerated.OnAdd, property.ValueGenerated); } - [ConditionalFact] + [Fact] public void Can_set_column_default_value_implicit_conversion() { var modelBuilder = CreateConventionModelBuilder(); @@ -161,7 +161,7 @@ public void Can_set_column_default_value_implicit_conversion() Assert.Equal(ValueGenerated.OnAdd, property.ValueGenerated); } - [ConditionalFact] + [Fact] public void Setting_column_default_value_does_not_modify_explicitly_set_value_generated() { var modelBuilder = CreateConventionModelBuilder(); @@ -179,7 +179,7 @@ public void Setting_column_default_value_does_not_modify_explicitly_set_value_ge Assert.Equal(ValueGenerated.OnAddOrUpdate, property.ValueGenerated); } - [ConditionalFact] + [Fact] public void Can_set_column_default_value_of_enum_type() { var modelBuilder = CreateConventionModelBuilder(); @@ -196,7 +196,7 @@ public void Can_set_column_default_value_of_enum_type() Assert.Equal(ValueGenerated.OnAdd, property.ValueGenerated); } - [ConditionalFact] + [Fact] public void Default_alternate_key_name_is_based_on_key_column_names() { var modelBuilder = CreateConventionModelBuilder(); @@ -225,7 +225,7 @@ public void Default_alternate_key_name_is_based_on_key_column_names() Assert.Equal("KeyLimePie", key.GetName()); } - [ConditionalFact] + [Fact] public void Can_access_key() { var modelBuilder = CreateBuilder(); @@ -243,7 +243,7 @@ public void Can_access_key() Assert.Equal("Splow", keyBuilder.Metadata.GetName()); } - [ConditionalFact] + [Fact] public void Default_foreign_key_name_is_based_on_fk_column_names() { var modelBuilder = CreateConventionModelBuilder(); @@ -262,7 +262,7 @@ public void Default_foreign_key_name_is_based_on_fk_column_names() Assert.Equal("FK_Order_Customer_CID", foreignKey.GetConstraintName()); } - [ConditionalFact] + [Fact] public void Can_set_foreign_key_name_for_one_to_many() { var modelBuilder = CreateConventionModelBuilder(); @@ -283,7 +283,7 @@ public void Can_set_foreign_key_name_for_one_to_many() Assert.Equal("FK_Order_Customer_CustomerId", foreignKey.GetConstraintName()); } - [ConditionalFact] + [Fact] public void Can_set_foreign_key_name_for_one_to_many_with_FK_specified() { var modelBuilder = CreateConventionModelBuilder(); @@ -299,7 +299,7 @@ public void Can_set_foreign_key_name_for_one_to_many_with_FK_specified() Assert.Equal("LemonSupreme", foreignKey.GetConstraintName()); } - [ConditionalFact] + [Fact] public void Can_set_foreign_key_name_for_many_to_one() { var modelBuilder = CreateConventionModelBuilder(); @@ -320,7 +320,7 @@ public void Can_set_foreign_key_name_for_many_to_one() Assert.Equal("FK_Order_Customer_CustomerId", foreignKey.GetConstraintName()); } - [ConditionalFact] + [Fact] public void Can_set_foreign_key_name_for_many_to_one_with_FK_specified() { var modelBuilder = CreateConventionModelBuilder(); @@ -336,7 +336,7 @@ public void Can_set_foreign_key_name_for_many_to_one_with_FK_specified() Assert.Equal("LemonSupreme", foreignKey.GetConstraintName()); } - [ConditionalFact] + [Fact] public void Can_set_foreign_key_name_for_one_to_one() { var modelBuilder = CreateConventionModelBuilder(); @@ -357,7 +357,7 @@ public void Can_set_foreign_key_name_for_one_to_one() Assert.Equal("FK_OrderDetails_Order_OrderId", foreignKey.GetConstraintName()); } - [ConditionalFact] + [Fact] public void Can_set_foreign_key_name_for_one_to_one_with_FK_specified() { var modelBuilder = CreateConventionModelBuilder(); @@ -372,7 +372,7 @@ public void Can_set_foreign_key_name_for_one_to_one_with_FK_specified() Assert.Equal("LemonSupreme", foreignKey.GetConstraintName()); } - [ConditionalFact] + [Fact] public void Can_access_index() { var modelBuilder = CreateBuilder(); @@ -396,7 +396,7 @@ public void Can_access_index() Assert.Null(indexBuilder.Metadata.GetFilter()); } - [ConditionalFact] + [Fact] public void Default_index_database_name_is_based_on_index_column_names() { var modelBuilder = CreateConventionModelBuilder(); @@ -417,7 +417,7 @@ public void Default_index_database_name_is_based_on_index_column_names() Assert.Equal("IX_Customer_Eendax", index.GetDatabaseName()); } - [ConditionalFact] + [Fact] public void Can_set_index_database_name() { var modelBuilder = CreateConventionModelBuilder(); @@ -432,7 +432,7 @@ public void Can_set_index_database_name() Assert.Equal("Eeeendeeex", index.GetDatabaseName()); } - [ConditionalFact] + [Fact] public void Can_write_index_filter_with_where_clauses() { var builder = CreateConventionModelBuilder(); @@ -449,7 +449,7 @@ public void Can_write_index_filter_with_where_clauses() Assert.Equal("[Id] % 2 = 0", index.GetFilter()); } - [ConditionalFact] + [Fact] public void Can_set_table_name() { var typeBuilder = CreateBuilder().Entity(typeof(Splot), ConfigurationSource.Convention); @@ -464,7 +464,7 @@ public void Can_set_table_name() Assert.Equal("Splow", typeBuilder.Metadata.GetTableName()); } - [ConditionalFact] + [Fact] public void Can_set_table_name_and_schema() { var typeBuilder = CreateBuilder().Entity(typeof(Splot), ConfigurationSource.Convention); @@ -482,7 +482,7 @@ public void Can_set_table_name_and_schema() Assert.Equal("2", typeBuilder.Metadata.GetSchema()); } - [ConditionalFact] + [Fact] public void Can_override_existing_schema() { var typeBuilder = CreateBuilder().Entity(typeof(Splot), ConfigurationSource.Convention); @@ -502,7 +502,7 @@ public void Can_override_existing_schema() Assert.Equal("1", typeBuilder.Metadata.GetSchema()); } - [ConditionalFact] + [Fact] public void Can_create_check_constraint() { var modelBuilder = CreateConventionModelBuilder(); @@ -520,7 +520,7 @@ public void Can_create_check_constraint() Assert.Equal("AlternateId > Id", checkConstraint.Sql); } - [ConditionalFact] + [Fact] public void Can_create_check_constraint_with_duplicate_name_replaces_existing() { var modelBuilder = CreateConventionModelBuilder(); @@ -542,7 +542,7 @@ public void Can_create_check_constraint_with_duplicate_name_replaces_existing() Assert.Equal("AlternateId < Id", checkConstraint.Sql); } - [ConditionalFact] + [Fact] public void Can_access_check_constraint() { var typeBuilder = CreateBuilder().Entity(typeof(Splot), ConfigurationSource.Convention); @@ -561,7 +561,7 @@ public void Can_access_check_constraint() Assert.Equal("s < p", entityType.GetCheckConstraints().Single().Sql); } - [ConditionalFact] + [Fact] public void Base_check_constraint_overrides_derived_one() { var modelBuilder = CreateBuilder(); @@ -609,7 +609,7 @@ public void Base_check_constraint_overrides_derived_one() Assert.Same(baseEntityType.GetCheckConstraints().Single(), derivedEntityType.GetCheckConstraints().Single()); } - [ConditionalFact] + [Fact] public void Base_check_constraint_overrides_derived_one_after_base_is_set() { var modelBuilder = CreateBuilder(); @@ -648,7 +648,7 @@ public void Base_check_constraint_overrides_derived_one_after_base_is_set() Assert.Same(baseEntityType.GetCheckConstraints().Single(), derivedEntityType.GetCheckConstraints().Single()); } - [ConditionalFact] + [Fact] public void Can_create_trigger() { var modelBuilder = CreateConventionModelBuilder(); @@ -666,7 +666,7 @@ public void Can_create_trigger() Assert.Equal("Customer_Trigger", trigger.GetDatabaseName()); } - [ConditionalFact] + [Fact] public void Can_create_trigger_with_duplicate_name_replaces_existing() { var modelBuilder = CreateConventionModelBuilder(); @@ -688,7 +688,7 @@ public void Can_create_trigger_with_duplicate_name_replaces_existing() Assert.Equal("Table2", trigger.GetDatabaseName()); } - [ConditionalFact] + [Fact] public void Can_access_trigger() { var typeBuilder = CreateBuilder().Entity(typeof(Splot), ConfigurationSource.Convention); @@ -714,7 +714,7 @@ public void Can_access_trigger() Assert.Equal("Table2", entityType.GetDeclaredTriggers().Single().GetTableName()); } - [ConditionalFact] + [Fact] public void Can_set_discriminator_value_using_property_expression() { var modelBuilder = CreateConventionModelBuilder(); @@ -732,7 +732,7 @@ public void Can_set_discriminator_value_using_property_expression() Assert.Equal("2", modelBuilder.Model.FindEntityType(typeof(SpecialCustomer)).GetDiscriminatorValue()); } - [ConditionalFact] + [Fact] public void Can_set_discriminator_value_using_property_expression_separately() { var modelBuilder = CreateConventionModelBuilder(); @@ -755,7 +755,7 @@ public void Can_set_discriminator_value_using_property_expression_separately() Assert.Equal("2", modelBuilder.Model.FindEntityType(typeof(SpecialCustomer)).GetDiscriminatorValue()); } - [ConditionalFact] + [Fact] public void Can_set_discriminator_value_using_property_name() { var modelBuilder = CreateConventionModelBuilder(); @@ -773,7 +773,7 @@ public void Can_set_discriminator_value_using_property_name() Assert.Equal("2", modelBuilder.Model.FindEntityType(typeof(SpecialCustomer)).GetDiscriminatorValue()); } - [ConditionalFact] + [Fact] public void Can_set_discriminator_value_using_property_name_separately() { var modelBuilder = CreateConventionModelBuilder(); @@ -796,7 +796,7 @@ public void Can_set_discriminator_value_using_property_name_separately() Assert.Equal("2", modelBuilder.Model.FindEntityType(typeof(SpecialCustomer)).GetDiscriminatorValue()); } - [ConditionalFact] + [Fact] public void Can_set_discriminator_value_non_generic() { var modelBuilder = CreateConventionModelBuilder(); @@ -814,7 +814,7 @@ public void Can_set_discriminator_value_non_generic() Assert.Equal("2", modelBuilder.Model.FindEntityType(typeof(SpecialCustomer)).GetDiscriminatorValue()); } - [ConditionalFact] + [Fact] public void Can_set_discriminator_value_non_generic_separately() { var modelBuilder = CreateConventionModelBuilder(); @@ -837,7 +837,7 @@ public void Can_set_discriminator_value_non_generic_separately() Assert.Equal("2", modelBuilder.Model.FindEntityType(typeof(SpecialCustomer)).GetDiscriminatorValue()); } - [ConditionalFact] + [Fact] public void Can_set_discriminator_value_shadow_entity() { var modelBuilder = CreateConventionModelBuilder(); @@ -855,7 +855,7 @@ public void Can_set_discriminator_value_shadow_entity() Assert.Equal("2", modelBuilder.Model.FindEntityType(typeof(SpecialCustomer)).GetDiscriminatorValue()); } - [ConditionalFact] + [Fact] public void Can_set_default_discriminator_value() { var modelBuilder = CreateConventionModelBuilder(); @@ -873,7 +873,7 @@ public void Can_set_default_discriminator_value() Assert.Equal("2", modelBuilder.Model.FindEntityType(typeof(SpecialCustomer)).GetDiscriminatorValue()); } - [ConditionalFact] + [Fact] public void Can_set_default_discriminator_value_separately() { var modelBuilder = CreateConventionModelBuilder(); @@ -895,7 +895,7 @@ public void Can_set_default_discriminator_value_separately() Assert.Equal("2", modelBuilder.Model.FindEntityType(typeof(SpecialCustomer)).GetDiscriminatorValue()); } - [ConditionalFact] + [Fact] public void Can_set_schema_on_model() { var modelBuilder = CreateConventionModelBuilder(); @@ -907,7 +907,7 @@ public void Can_set_schema_on_model() Assert.Equal("db0", modelBuilder.Model.GetDefaultSchema()); } - [ConditionalFact] + [Fact] public void Model_schema_is_used_if_table_schema_not_set() { var modelBuilder = CreateConventionModelBuilder(); @@ -929,7 +929,7 @@ public void Model_schema_is_used_if_table_schema_not_set() Assert.Equal("db0", entityType.GetSchema()); } - [ConditionalFact] + [Fact] public void Model_schema_is_not_used_if_table_schema_is_set() { var modelBuilder = CreateConventionModelBuilder(); @@ -948,7 +948,7 @@ public void Model_schema_is_not_used_if_table_schema_is_set() Assert.Equal("db1", entityType.GetSchema()); } - [ConditionalFact] + [Fact] public void Sequence_is_in_model_schema_if_not_specified_explicitly() { var modelBuilder = CreateConventionModelBuilder(); @@ -962,7 +962,7 @@ public void Sequence_is_in_model_schema_if_not_specified_explicitly() ValidateSchemaNamedSequence(sequence); } - [ConditionalFact] + [Fact] public void Sequence_is_not_in_model_schema_if_specified_explicitly() { var modelBuilder = CreateConventionModelBuilder(); @@ -976,7 +976,7 @@ public void Sequence_is_not_in_model_schema_if_specified_explicitly() ValidateSchemaNamedSequence(sequence); } - [ConditionalFact] + [Fact] public void Can_create_named_sequence() { var modelBuilder = CreateConventionModelBuilder(); @@ -999,7 +999,7 @@ private static void ValidateNamedSequence(IReadOnlySequence sequence) Assert.Same(typeof(long), sequence.Type); } - [ConditionalFact] + [Fact] public void Can_create_schema_named_sequence() { var modelBuilder = CreateConventionModelBuilder(); @@ -1022,7 +1022,7 @@ private static void ValidateSchemaNamedSequence(IReadOnlySequence sequence) Assert.Same(typeof(long), sequence.Type); } - [ConditionalFact] + [Fact] public void Can_create_named_sequence_with_specific_facets() { var modelBuilder = CreateConventionModelBuilder(); @@ -1039,7 +1039,7 @@ public void Can_create_named_sequence_with_specific_facets() ValidateNamedSpecificSequence(sequence); } - [ConditionalFact] + [Fact] public void Can_create_named_sequence_with_specific_facets_non_generic() { var modelBuilder = CreateConventionModelBuilder(); @@ -1056,7 +1056,7 @@ public void Can_create_named_sequence_with_specific_facets_non_generic() ValidateNamedSpecificSequence(sequence); } - [ConditionalFact] + [Fact] public void Can_create_named_sequence_with_specific_facets_using_nested_closure() { var modelBuilder = CreateConventionModelBuilder(); @@ -1076,7 +1076,7 @@ public void Can_create_named_sequence_with_specific_facets_using_nested_closure( ValidateNamedSpecificSequence(sequence); } - [ConditionalFact] + [Fact] public void Can_create_named_sequence_with_specific_facets_using_nested_closure_non_generic() { var modelBuilder = CreateConventionModelBuilder(); @@ -1107,7 +1107,7 @@ private static void ValidateNamedSpecificSequence(IReadOnlySequence sequence) Assert.Same(typeof(int), sequence.Type); } - [ConditionalFact] + [Fact] public void Can_create_schema_named_sequence_with_specific_facets() { var modelBuilder = CreateConventionModelBuilder(); @@ -1124,7 +1124,7 @@ public void Can_create_schema_named_sequence_with_specific_facets() ValidateSchemaNamedSpecificSequence(sequence); } - [ConditionalFact] + [Fact] public void Can_create_schema_named_sequence_with_specific_facets_non_generic() { var modelBuilder = CreateConventionModelBuilder(); @@ -1141,7 +1141,7 @@ public void Can_create_schema_named_sequence_with_specific_facets_non_generic() ValidateSchemaNamedSpecificSequence(sequence); } - [ConditionalFact] + [Fact] public void Can_create_schema_named_sequence_with_specific_facets_using_nested_closure() { var modelBuilder = CreateConventionModelBuilder(); @@ -1155,7 +1155,7 @@ public void Can_create_schema_named_sequence_with_specific_facets_using_nested_c ValidateSchemaNamedSpecificSequence(sequence); } - [ConditionalFact] + [Fact] public void Can_create_schema_named_sequence_with_specific_facets_using_nested_closure_non_generic() { var modelBuilder = CreateConventionModelBuilder(); @@ -1170,7 +1170,7 @@ public void Can_create_schema_named_sequence_with_specific_facets_using_nested_c ValidateSchemaNamedSpecificSequence(sequence); } - [ConditionalFact] + [Fact] public void Can_access_comment() { var typeBuilder = CreateBuilder().Entity(typeof(Splot), ConfigurationSource.Convention); @@ -1186,7 +1186,7 @@ public void Can_access_comment() Assert.Equal("My Comment 2", entityType.GetComment()); } - [ConditionalFact] + [Fact] public void Can_create_dbFunction() { var modelBuilder = CreateConventionModelBuilder(); @@ -1203,7 +1203,7 @@ public void Can_create_dbFunction() public static int MethodA(string a, int b) => throw new NotImplementedException(); - [ConditionalFact] + [Fact] public void Relational_entity_methods_dont_break_out_of_the_generics() { var modelBuilder = CreateConventionModelBuilder(); @@ -1219,7 +1219,7 @@ public void Relational_entity_methods_dont_break_out_of_the_generics() .ToTable("Jay", "Simon")); } - [ConditionalFact] + [Fact] public void Relational_entity_methods_have_non_generic_overloads() { var modelBuilder = CreateConventionModelBuilder(); @@ -1233,7 +1233,7 @@ public void Relational_entity_methods_have_non_generic_overloads() .ToTable("Jay", "Simon"); } - [ConditionalFact] + [Fact] public void Relational_property_methods_dont_break_out_of_the_generics() { var modelBuilder = CreateConventionModelBuilder(); @@ -1269,7 +1269,7 @@ public void Relational_property_methods_dont_break_out_of_the_generics() .HasDefaultValue("Neil")); } - [ConditionalFact] + [Fact] public void Relational_property_methods_have_non_generic_overloads() { var modelBuilder = CreateConventionModelBuilder(); @@ -1325,7 +1325,7 @@ public void Relational_property_methods_have_non_generic_overloads() .HasDefaultValue("Neil"); } - [ConditionalFact] + [Fact] public void Can_access_property() { var propertyBuilder = CreateBuilder() @@ -1367,7 +1367,7 @@ public void Can_access_property() Assert.Equal("runthis()", propertyBuilder.Metadata.GetComputedColumnSql()); } - [ConditionalFact] + [Fact] public void Relational_relationship_methods_dont_break_out_of_the_generics() { var modelBuilder = CreateConventionModelBuilder(); @@ -1393,7 +1393,7 @@ public void Relational_relationship_methods_dont_break_out_of_the_generics() .HasConstraintName("Simon")); } - [ConditionalFact] + [Fact] public void Relational_relationship_methods_have_non_generic_overloads() { var modelBuilder = CreateConventionModelBuilder(); @@ -1416,7 +1416,7 @@ public void Relational_relationship_methods_have_non_generic_overloads() .HasConstraintName("Simon"); } - [ConditionalFact] + [Fact] public void Can_access_relationship() { var modelBuilder = CreateBuilder(); @@ -1434,7 +1434,7 @@ public void Can_access_relationship() Assert.Equal("Splow", relationshipBuilder.Metadata.GetConstraintName()); } - [ConditionalFact] + [Fact] public void Can_access_relationship_ExcludeForeignKeyFromMigrations() { var modelBuilder = CreateBuilder(); diff --git a/test/EFCore.Relational.Tests/Extensions/RelationalDatabaseFacadeExtensionsTest.cs b/test/EFCore.Relational.Tests/Extensions/RelationalDatabaseFacadeExtensionsTest.cs index bc27c47b385..8e01b85e08c 100644 --- a/test/EFCore.Relational.Tests/Extensions/RelationalDatabaseFacadeExtensionsTest.cs +++ b/test/EFCore.Relational.Tests/Extensions/RelationalDatabaseFacadeExtensionsTest.cs @@ -10,21 +10,21 @@ namespace Microsoft.EntityFrameworkCore; public class RelationalDatabaseFacadeExtensionsTest { - [ConditionalFact] + [Fact] public void Return_true_if_relational() { using var context = FakeRelationalTestHelpers.Instance.CreateContext(); Assert.True(context.Database.IsRelational()); } - [ConditionalFact] + [Fact] public void Return_false_if_inMemory() { using var context = InMemoryTestHelpers.Instance.CreateContext(); Assert.False(context.Database.IsRelational()); } - [ConditionalFact] + [Fact] public void GetDbConnection_returns_the_current_connection() { var dbConnection = new FakeDbConnection("A=B"); @@ -35,7 +35,7 @@ public void GetDbConnection_returns_the_current_connection() Assert.Same(dbConnection, context.Database.GetDbConnection()); } - [ConditionalFact] + [Fact] public void Relational_specific_methods_throws_when_non_relational_provider_is_in_use() { var optionsBuilder = new DbContextOptionsBuilder() @@ -49,7 +49,7 @@ public void Relational_specific_methods_throws_when_non_relational_provider_is_i Assert.Throws(() => context.Database.GetDbConnection()).Message); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Can_open_the_underlying_connection(bool async) { var dbConnection = new FakeDbConnection("A=B"); @@ -69,7 +69,7 @@ public async Task Can_open_the_underlying_connection(bool async) } } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Can_close_the_underlying_connection(bool async) { var dbConnection = new FakeDbConnection("A=B"); @@ -91,7 +91,7 @@ public async Task Can_close_the_underlying_connection(bool async) Assert.Equal(1, dbConnection.CloseCount); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Can_begin_transaction_with_isolation_level(bool async) { var dbConnection = new FakeDbConnection("A=B"); @@ -106,7 +106,7 @@ public async Task Can_begin_transaction_with_isolation_level(bool async) Assert.Equal(IsolationLevel.Chaos, transaction.GetDbTransaction().IsolationLevel); } - [ConditionalFact] + [Fact] public void Can_use_transaction() { var dbConnection = new FakeDbConnection("A=B"); @@ -117,7 +117,7 @@ public void Can_use_transaction() Assert.Same(transaction, context.Database.UseTransaction(transaction).GetDbTransaction()); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Begin_transaction_ignores_isolation_level_on_non_relational_provider(bool async) { var context = InMemoryTestHelpers.Instance.CreateContext( @@ -184,7 +184,7 @@ public void EnlistTransaction(Transaction transaction) } } - [ConditionalFact] + [Fact] public void use_transaction_throws_on_non_relational_provider() { var transaction = new FakeDbTransaction(new FakeDbConnection("A=B")); @@ -195,7 +195,7 @@ public void use_transaction_throws_on_non_relational_provider() Assert.Throws(() => context.Database.UseTransaction(transaction)).Message); } - [ConditionalFact] + [Fact] public void GetMigrations_works() { var migrations = new[] { "00000000000001_One", "00000000000002_Two", "00000000000003_Three" }; @@ -225,7 +225,7 @@ public void AddMigrations(Assembly additionalMigrationsAssembly) } } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task GetAppliedMigrations_works(bool async) { var migrations = new[] { "00000000000001_One", "00000000000002_Two" }; @@ -242,7 +242,7 @@ public async Task GetAppliedMigrations_works(bool async) : context.Database.GetAppliedMigrations()); } - [ConditionalFact] + [Fact] public void HasPendingModelChanges_has_no_migrations_has_dbcontext_changes_returns_true() { // This project has NO existing migrations right now but does have information in the DbContext @@ -261,7 +261,7 @@ public void HasPendingModelChanges_has_no_migrations_has_dbcontext_changes_retur Assert.True(testContext.Database.HasPendingModelChanges()); } - [ConditionalFact] + [Fact] public void HasPendingModelChanges_has_migrations_and_no_new_context_changes_returns_false() { var fakeModelSnapshot = new FakeModelSnapshot(builder => @@ -364,7 +364,7 @@ public Task AcquireDatabaseLockAsync(CancellationToken => throw new NotImplementedException(); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task GetPendingMigrations_works(bool async) { var migrations = new[] { "00000000000001_One", "00000000000002_Two", "00000000000003_Three" }; @@ -390,7 +390,7 @@ public async Task GetPendingMigrations_works(bool async) : context.Database.GetPendingMigrations()); } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(true, true)] public async Task Can_pass_no_params(bool async, bool cancellation) { using var context = new ThudContext(); @@ -417,7 +417,7 @@ public async Task Can_pass_no_params(bool async, bool cancellation) Assert.Equal([], commandBuilder.Parameters); } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(true, true)] public async Task Can_pass_array_of_int_params_as_object(bool async, bool cancellation) { using var context = new ThudContext(); @@ -444,7 +444,7 @@ public async Task Can_pass_array_of_int_params_as_object(bool async, bool cancel Assert.Equal([1, 2], commandBuilder.Parameters); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Can_pass_ints_as_params(bool async) { using var context = new ThudContext(); @@ -463,7 +463,7 @@ public async Task Can_pass_ints_as_params(bool async) Assert.Equal([1, 2], commandBuilder.Parameters); } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(true, true)] public async Task Can_pass_mixed_array_of_params(bool async, bool cancellation) { using var context = new ThudContext(); @@ -490,7 +490,7 @@ public async Task Can_pass_mixed_array_of_params(bool async, bool cancellation) Assert.Equal([1, "Cheese"], commandBuilder.Parameters); } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(true, true)] public async Task Can_pass_list_of_int_params_as_object(bool async, bool cancellation) { using var context = new ThudContext(); @@ -520,7 +520,7 @@ await context.Database.ExecuteSqlRawAsync( Assert.Equal([1, 2], commandBuilder.Parameters); } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(true, true)] public async Task Can_pass_mixed_list_of_params(bool async, bool cancellation) { using var context = new ThudContext(); @@ -550,7 +550,7 @@ await context.Database.ExecuteSqlRawAsync( Assert.Equal([1, "Pickle"], commandBuilder.Parameters); } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(true, true)] public async Task Can_pass_single_int_as_object(bool async, bool cancellation) { using var context = new ThudContext(); @@ -577,7 +577,7 @@ public async Task Can_pass_single_int_as_object(bool async, bool cancellation) Assert.Equal([1], commandBuilder.Parameters); } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(true, true)] public async Task Can_pass_single_string(bool async, bool cancellation) { using var context = new ThudContext(); diff --git a/test/EFCore.Relational.Tests/Extensions/RelationalIndexExtensionsTest.cs b/test/EFCore.Relational.Tests/Extensions/RelationalIndexExtensionsTest.cs index 2b08e6aa440..fdbcb809387 100644 --- a/test/EFCore.Relational.Tests/Extensions/RelationalIndexExtensionsTest.cs +++ b/test/EFCore.Relational.Tests/Extensions/RelationalIndexExtensionsTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore; public class RelationalIndexExtensionsTest { - [ConditionalFact] + [Fact] public void IndexAttribute_database_name_can_be_overriden_using_fluent_api() { var modelBuilder = CreateConventionModelBuilder(); diff --git a/test/EFCore.Relational.Tests/Extensions/RelationalMetadataExtensionsTest.cs b/test/EFCore.Relational.Tests/Extensions/RelationalMetadataExtensionsTest.cs index 08b1c3f4358..36efb837885 100644 --- a/test/EFCore.Relational.Tests/Extensions/RelationalMetadataExtensionsTest.cs +++ b/test/EFCore.Relational.Tests/Extensions/RelationalMetadataExtensionsTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore; public class RelationalMetadataExtensionsTest { - [ConditionalFact] + [Fact] public void Can_get_and_set_fixed_length() { var modelBuilder = new ModelBuilder(); @@ -30,7 +30,7 @@ public void Can_get_and_set_fixed_length() Assert.Null(property.IsFixedLength()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_index_filter() { var modelBuilder = new ModelBuilder(); @@ -48,7 +48,7 @@ public void Can_get_and_set_index_filter() Assert.Equal("[Id] % 3 = 0", index.GetFilter()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_column_name() { var modelBuilder = new ModelBuilder(); @@ -70,7 +70,7 @@ public void Can_get_and_set_column_name() Assert.Equal("Name", property.GetColumnName()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_table_name() { var modelBuilder = new ModelBuilder(); @@ -91,7 +91,7 @@ public void Can_get_and_set_table_name() Assert.Null(entityType.GetTableName()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_schema_name_on_entity_type() { var modelBuilder = new ModelBuilder(); @@ -111,7 +111,7 @@ public void Can_get_and_set_schema_name_on_entity_type() Assert.Null(entityType.GetSchema()); } - [ConditionalFact] + [Fact] public void Gets_model_schema_if_schema_on_entity_type_not_set() { var modelBuilder = new ModelBuilder(); @@ -131,7 +131,7 @@ public void Gets_model_schema_if_schema_on_entity_type_not_set() Assert.Null(entityType.GetSchema()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_view_schema_name_on_entity_type() { var modelBuilder = new ModelBuilder(); @@ -171,7 +171,7 @@ public void Can_get_and_set_view_schema_name_on_entity_type() Assert.Null(entityType.GetViewSchema()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_column_type() { var modelBuilder = new ModelBuilder(); @@ -192,7 +192,7 @@ public void Can_get_and_set_column_type() Assert.Null(property.GetColumnType()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_column_default_expression() { var modelBuilder = new ModelBuilder(); @@ -213,7 +213,7 @@ public void Can_get_and_set_column_default_expression() Assert.Null(property.GetDefaultValueSql()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_column_computed_expression() { var modelBuilder = new ModelBuilder(); @@ -234,7 +234,7 @@ public void Can_get_and_set_column_computed_expression() Assert.Null(property.GetComputedColumnSql()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_column_default_value() { var modelBuilder = new ModelBuilder(); @@ -257,7 +257,7 @@ public void Can_get_and_set_column_default_value() Assert.Equal(Guid.Empty, property.GetDefaultValue()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_column_default_value_of_enum_type() { var modelBuilder = new ModelBuilder(); @@ -279,7 +279,7 @@ public void Can_get_and_set_column_default_value_of_enum_type() Assert.Null(property.GetDefaultValue()); } - [ConditionalFact] + [Fact] public void Throws_when_setting_column_default_value_of_wrong_type() { var modelBuilder = new ModelBuilder(); @@ -299,7 +299,7 @@ public void Throws_when_setting_column_default_value_of_wrong_type() Assert.Throws(() => property.SetDefaultValue(guid)).Message); } - [ConditionalFact] + [Fact] public void Can_get_and_set_column_key_name() { var modelBuilder = new ModelBuilder(); @@ -320,7 +320,7 @@ public void Can_get_and_set_column_key_name() Assert.Equal("PK_Customer", key.GetName()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_column_foreign_key_name() { var modelBuilder = new ModelBuilder(); @@ -347,7 +347,7 @@ public void Can_get_and_set_column_foreign_key_name() Assert.Equal("FK_Order_Customer_CustomerId", foreignKey.GetConstraintName()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_foreign_key_excluded_from_migrations() { var modelBuilder = new ModelBuilder(); @@ -378,7 +378,7 @@ public void Can_get_and_set_foreign_key_excluded_from_migrations() Assert.False(foreignKey.IsExcludedFromMigrations()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_index_name() { var modelBuilder = new ModelBuilder(); @@ -399,7 +399,7 @@ public void Can_get_and_set_index_name() Assert.Equal("IX_Customer_Id", index.GetDatabaseName()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_discriminator() { var modelBuilder = new ModelBuilder(); @@ -421,7 +421,7 @@ public void Can_get_and_set_discriminator() Assert.Null(entityType.FindDiscriminatorProperty()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_schema_name_on_model() { var modelBuilder = new ModelBuilder(); @@ -438,7 +438,7 @@ public void Can_get_and_set_schema_name_on_model() Assert.Null(model.GetDefaultSchema()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_dbfunction() { var testMethod = typeof(RelationalMetadataExtensionsTest).GetTypeInfo().GetDeclaredMethod(nameof(MethodA)); @@ -463,7 +463,7 @@ public void Can_get_and_set_dbfunction() public static int MethodA(string a, int b) => throw new NotImplementedException(); - [ConditionalFact] + [Fact] public void Can_get_and_set_sequence() { var modelBuilder = new ModelBuilder(); @@ -506,7 +506,7 @@ public void Can_get_and_set_sequence() Assert.False(((IConventionSequence)sequence).IsInModel); } - [ConditionalFact] + [Fact] public void Can_get_and_set_sequence_with_schema_name() { var modelBuilder = new ModelBuilder(); @@ -544,7 +544,7 @@ public void Can_get_and_set_sequence_with_schema_name() Assert.Same(typeof(int), sequence.Type); } - [ConditionalFact] + [Fact] public void Sequence_is_in_model_schema_if_schema_not_specified() { var modelBuilder = new ModelBuilder(); @@ -566,7 +566,7 @@ public void Sequence_is_in_model_schema_if_schema_not_specified() Assert.Same(typeof(long), sequence.Type); } - [ConditionalFact] + [Fact] public void Returns_same_sequence_if_schema_not_specified_explicitly() { var modelBuilder = new ModelBuilder(); @@ -605,7 +605,7 @@ public void Returns_same_sequence_if_schema_not_specified_explicitly() Assert.Same(typeof(int), sequence.Type); } - [ConditionalFact] + [Fact] public void Can_get_multiple_sequences() { var modelBuilder = new ModelBuilder(); @@ -621,7 +621,7 @@ public void Can_get_multiple_sequences() Assert.Contains(sequences, s => s.Name == "Golomb"); } - [ConditionalFact] + [Fact] public void AddCheckConstraint_with_duplicate_names_throws_exception() { var entityTypeBuilder = CreateConventionModelBuilder().Entity(); @@ -635,7 +635,7 @@ public void AddCheckConstraint_with_duplicate_names_throws_exception() .Message); } - [ConditionalFact] + [Fact] public void RemoveCheckConstraint_returns_constraint_when_constraint_exists() { var entityTypeBuilder = CreateConventionModelBuilder().Entity(); @@ -646,7 +646,7 @@ public void RemoveCheckConstraint_returns_constraint_when_constraint_exists() Assert.Same(constraint, entityType.RemoveCheckConstraint("CK_Customer_AlternateId")); } - [ConditionalFact] + [Fact] public void RemoveCheckConstraint_returns_null_when_constraint_is_missing() { var entityTypeBuilder = CreateConventionModelBuilder().Entity(); diff --git a/test/EFCore.Relational.Tests/Extensions/RelationalTransactionExtensionsTest.cs b/test/EFCore.Relational.Tests/Extensions/RelationalTransactionExtensionsTest.cs index 64b80ad753b..163cf04b1c1 100644 --- a/test/EFCore.Relational.Tests/Extensions/RelationalTransactionExtensionsTest.cs +++ b/test/EFCore.Relational.Tests/Extensions/RelationalTransactionExtensionsTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore; public class RelationalTransactionExtensionsTest { - [ConditionalFact] + [Fact] public void GetDbTransaction_returns_the_DbTransaction() { var dbConnection = new FakeDbConnection(ConnectionString); @@ -37,7 +37,7 @@ public void GetDbTransaction_returns_the_DbTransaction() Assert.Equal(dbTransaction, transaction.GetDbTransaction()); } - [ConditionalFact] + [Fact] public void GetDbTransaction_throws_on_non_relational_provider() { var transaction = new NonRelationalTransaction(); diff --git a/test/EFCore.Relational.Tests/Infrastructure/RelationalEventIdTest.cs b/test/EFCore.Relational.Tests/Infrastructure/RelationalEventIdTest.cs index 2af61570665..9aa7469ceba 100644 --- a/test/EFCore.Relational.Tests/Infrastructure/RelationalEventIdTest.cs +++ b/test/EFCore.Relational.Tests/Infrastructure/RelationalEventIdTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Collections; @@ -16,7 +16,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure; public class RelationalEventIdTest : EventIdTestBase { - [ConditionalFact] + [Fact] public void Every_eventId_has_a_logger_method_and_logs_when_level_enabled() { var constantExpression = Expression.Constant("A"); diff --git a/test/EFCore.Relational.Tests/Infrastructure/RelationalModelValidatorTest.Json.cs b/test/EFCore.Relational.Tests/Infrastructure/RelationalModelValidatorTest.Json.cs index 19fd593d64c..fbea89831f3 100644 --- a/test/EFCore.Relational.Tests/Infrastructure/RelationalModelValidatorTest.Json.cs +++ b/test/EFCore.Relational.Tests/Infrastructure/RelationalModelValidatorTest.Json.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. #pragma warning disable EF8001 // Owned JSON entities are obsolete @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure; public partial class RelationalModelValidatorTest { - [ConditionalFact] + [Fact] public void Throw_when_non_json_entity_has_column_type_set() { var modelBuilder = CreateConventionModelBuilder(); @@ -28,7 +28,7 @@ public void Throw_when_non_json_entity_has_column_type_set() modelBuilder); } - [ConditionalFact] + [Fact] public void Throw_when_non_root_json_entity_has_column_type_set() { var modelBuilder = CreateConventionModelBuilder(); @@ -49,7 +49,7 @@ public void Throw_when_non_root_json_entity_has_column_type_set() modelBuilder); } - [ConditionalFact] + [Fact] public void Throw_when_non_json_entity_is_the_owner_of_json_entity_ref_ref() { var modelBuilder = CreateConventionModelBuilder(); @@ -70,7 +70,7 @@ public void Throw_when_non_json_entity_is_the_owner_of_json_entity_ref_ref() modelBuilder); } - [ConditionalFact] + [Fact] public void Throw_when_non_json_entity_is_the_owner_of_json_entity_ref_col() { var modelBuilder = CreateConventionModelBuilder(); @@ -91,7 +91,7 @@ public void Throw_when_non_json_entity_is_the_owner_of_json_entity_ref_col() modelBuilder); } - [ConditionalFact] + [Fact] public void Throw_when_non_json_entity_is_the_owner_of_json_entity_col_ref() { var modelBuilder = CreateConventionModelBuilder(); @@ -112,7 +112,7 @@ public void Throw_when_non_json_entity_is_the_owner_of_json_entity_col_ref() modelBuilder); } - [ConditionalFact] + [Fact] public void Throw_when_non_json_entity_is_the_owner_of_json_entity_col_col() { var modelBuilder = CreateConventionModelBuilder(); @@ -133,7 +133,7 @@ public void Throw_when_non_json_entity_is_the_owner_of_json_entity_col_col() modelBuilder); } - [ConditionalFact] + [Fact] public void Throw_when_json_entity_references_another_non_json_entity_via_reference() { var modelBuilder = CreateConventionModelBuilder(); @@ -153,7 +153,7 @@ public void Throw_when_json_entity_references_another_non_json_entity_via_refere modelBuilder); } - [ConditionalFact] + [Fact] public void Throw_when_json_entity_is_the_owner_of_json_entity_with_different_column_name() { var modelBuilder = CreateConventionModelBuilder(); @@ -176,7 +176,7 @@ public void Throw_when_json_entity_is_the_owner_of_json_entity_with_different_co modelBuilder); } - [ConditionalFact] + [Fact] public void Tpt_not_supported_for_owner_of_json_entity_on_base() { var modelBuilder = CreateConventionModelBuilder(); @@ -203,7 +203,7 @@ public void Tpt_not_supported_for_owner_of_json_entity_on_base() modelBuilder); } - [ConditionalFact] + [Fact] public void Tpt_not_supported_for_owner_of_json_entity_on_derived() { var modelBuilder = CreateConventionModelBuilder(); @@ -225,7 +225,7 @@ public void Tpt_not_supported_for_owner_of_json_entity_on_derived() modelBuilder); } - [ConditionalFact] + [Fact] public void Tpt_not_supported_for_owner_of_json_entity_mapping_strategy_explicitly_defined() { var modelBuilder = CreateConventionModelBuilder(); @@ -251,7 +251,7 @@ public void Tpt_not_supported_for_owner_of_json_entity_mapping_strategy_explicit modelBuilder); } - [ConditionalFact] + [Fact] public void Tpt_not_supported_for_owner_of_json_entity_same_table_names_different_schemas() { var modelBuilder = CreateConventionModelBuilder(); @@ -273,7 +273,7 @@ public void Tpt_not_supported_for_owner_of_json_entity_same_table_names_differen modelBuilder); } - [ConditionalFact] + [Fact] public void Tpc_not_supported_for_owner_of_json_entity() { var modelBuilder = CreateConventionModelBuilder(); @@ -292,7 +292,7 @@ public void Tpc_not_supported_for_owner_of_json_entity() modelBuilder); } - [ConditionalFact] + [Fact] public void Json_entity_not_mapped_to_table_or_a_view_is_not_supported() { var modelBuilder = CreateConventionModelBuilder(); @@ -314,7 +314,7 @@ public void Json_entity_not_mapped_to_table_or_a_view_is_not_supported() modelBuilder); } - [ConditionalFact] + [Fact] public void Json_multiple_json_entities_mapped_to_the_same_column() { var modelBuilder = CreateConventionModelBuilder(); @@ -332,7 +332,7 @@ public void Json_multiple_json_entities_mapped_to_the_same_column() modelBuilder); } - [ConditionalFact] + [Fact] public void Json_entity_with_default_value_on_a_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -352,7 +352,7 @@ public void Json_entity_with_default_value_on_a_property() VerifyError(RelationalStrings.JsonEntityWithDefaultValueSetOnItsProperty("ValidatorJsonOwnedRoot", "Name"), modelBuilder); } - [ConditionalFact] + [Fact] public void Json_entity_with_table_splitting_throws() { var modelBuilder = CreateConventionModelBuilder(); @@ -380,7 +380,7 @@ public void Json_entity_with_table_splitting_throws() modelBuilder); } - [ConditionalFact] + [Fact] public void Json_entity_with_explicit_ordinal_key_on_collection_throws() { var modelBuilder = CreateConventionModelBuilder(); @@ -397,7 +397,7 @@ public void Json_entity_with_explicit_ordinal_key_on_collection_throws() VerifyError(RelationalStrings.JsonEntityWithExplicitlyConfiguredKey("ValidatorJsonOwnedExplicitOrdinal", "Ordinal"), modelBuilder); } - [ConditionalFact] + [Fact] public void Json_entity_with_key_having_json_property_name_configured_explicitly_throws() { var modelBuilder = CreateConventionModelBuilder(); @@ -418,7 +418,7 @@ public void Json_entity_with_key_having_json_property_name_configured_explicitly modelBuilder); } - [ConditionalFact] + [Fact] public void Json_entity_with_multiple_properties_mapped_to_same_json_name() { var modelBuilder = CreateConventionModelBuilder(); @@ -445,7 +445,7 @@ public void Json_entity_with_multiple_properties_mapped_to_same_json_name() modelBuilder); } - [ConditionalFact] + [Fact] public void Json_entity_with_property_and_navigation_mapped_to_same_json_name() { var modelBuilder = CreateConventionModelBuilder(); @@ -472,7 +472,7 @@ public void Json_entity_with_property_and_navigation_mapped_to_same_json_name() modelBuilder); } - [ConditionalFact] + [Fact] public void Json_on_base_and_derived_mapped_to_same_column_throws() { var modelBuilder = CreateConventionModelBuilder(); @@ -490,7 +490,7 @@ public void Json_on_base_and_derived_mapped_to_same_column_throws() modelBuilder); } - [ConditionalFact] + [Fact] public void Json_entity_mapped_to_different_view_than_its_root_aggregate() { var modelBuilder = CreateConventionModelBuilder(); @@ -514,7 +514,7 @@ public void Json_entity_mapped_to_different_view_than_its_root_aggregate() modelBuilder); } - [ConditionalFact] + [Fact] public void Json_entity_mapped_to_different_view_than_its_parent() { var modelBuilder = CreateConventionModelBuilder(); @@ -538,7 +538,7 @@ public void Json_entity_mapped_to_different_view_than_its_parent() modelBuilder); } - [ConditionalFact] + [Fact] public void Json_entity_mapped_to_different_table_than_its_parent() { var modelBuilder = CreateConventionModelBuilder(); @@ -562,7 +562,7 @@ public void Json_entity_mapped_to_different_table_than_its_parent() modelBuilder); } - [ConditionalFact] + [Fact] public void Json_entity_mapped_to_a_view_but_its_parent_is_mapped_to_a_table() { var modelBuilder = CreateConventionModelBuilder(); @@ -586,7 +586,7 @@ public void Json_entity_mapped_to_a_view_but_its_parent_is_mapped_to_a_table() modelBuilder); } - [ConditionalFact] + [Fact] public void Json_entity_mapped_to_a_table_but_its_parent_is_mapped_to_a_view() { var modelBuilder = CreateConventionModelBuilder(); @@ -610,7 +610,7 @@ public void Json_entity_mapped_to_a_table_but_its_parent_is_mapped_to_a_view() modelBuilder); } - [ConditionalFact] + [Fact] public void SeedData_on_json_entity_throws_meaningful_exception() { var modelBuilder = CreateConventionModelBuilder(); @@ -632,7 +632,7 @@ public void SeedData_on_json_entity_throws_meaningful_exception() modelBuilder); } - [ConditionalFact] + [Fact] public void SeedData_on_entity_with_json_navigation_throws_meaningful_exception() { var modelBuilder = CreateConventionModelBuilder(); @@ -657,7 +657,7 @@ public void SeedData_on_entity_with_json_navigation_throws_meaningful_exception( modelBuilder); } - [ConditionalFact] + [Fact] public void Throws_when_complex_property_has_both_json_column_and_json_property_name() { var modelBuilder = CreateConventionModelBuilder(); @@ -675,7 +675,7 @@ public void Throws_when_complex_property_has_both_json_column_and_json_property_ modelBuilder); } - [ConditionalFact] + [Fact] public void Throws_when_has_json_property_name_on_non_json_mapped_complex_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -692,7 +692,7 @@ public void Throws_when_has_json_property_name_on_non_json_mapped_complex_proper modelBuilder); } - [ConditionalFact] + [Fact] public void Throws_when_nested_complex_property_mapped_to_json_with_table_sharing() { var modelBuilder = CreateConventionModelBuilder(); @@ -714,7 +714,7 @@ public void Throws_when_nested_complex_property_mapped_to_json_with_table_sharin modelBuilder); } - [ConditionalFact] + [Fact] public void Throws_when_properties_in_complex_type_have_same_json_property_name() { var modelBuilder = CreateConventionModelBuilder(); @@ -736,7 +736,7 @@ public void Throws_when_properties_in_complex_type_have_same_json_property_name( modelBuilder); } - [ConditionalFact] + [Fact] public void Throws_when_nested_json_entities_have_same_json_property_name() { var modelBuilder = CreateConventionModelBuilder(); @@ -761,7 +761,7 @@ public void Throws_when_nested_json_entities_have_same_json_property_name() modelBuilder); } - [ConditionalFact] + [Fact] public void Throws_when_owned_entity_and_complex_property_mapped_to_same_json_column() { var modelBuilder = CreateConventionModelBuilder(); @@ -789,7 +789,7 @@ public void Throws_when_owned_entity_and_complex_property_mapped_to_same_json_co modelBuilder); } - [ConditionalFact] + [Fact] public void Throws_when_owned_entity_property_has_both_column_name_and_json_property_name() { var modelBuilder = CreateConventionModelBuilder(); @@ -814,7 +814,7 @@ public void Throws_when_owned_entity_property_has_both_column_name_and_json_prop modelBuilder); } - [ConditionalFact] + [Fact] public void Throws_when_complex_property_scalar_has_both_column_name_and_json_property_name() { var modelBuilder = CreateConventionModelBuilder(); @@ -946,7 +946,7 @@ protected class ValidatorJsonEntityTableSplitting public ValidatorJsonEntityBasic Link { get; set; } } - [ConditionalFact] + [Fact] public void Throw_when_concurrency_token_configured_on_json_mapped_owned_entity() { var modelBuilder = CreateConventionModelBuilder(); @@ -968,7 +968,7 @@ public void Throw_when_concurrency_token_configured_on_json_mapped_owned_entity( modelBuilder); } - [ConditionalFact] + [Fact] public void Throw_when_concurrency_token_configured_on_json_mapped_complex_property() { var modelBuilder = CreateConventionModelBuilder(); diff --git a/test/EFCore.Relational.Tests/Infrastructure/RelationalModelValidatorTest.PropertyMapping.cs b/test/EFCore.Relational.Tests/Infrastructure/RelationalModelValidatorTest.PropertyMapping.cs index 9081cb49db9..a4f03a5dbff 100644 --- a/test/EFCore.Relational.Tests/Infrastructure/RelationalModelValidatorTest.PropertyMapping.cs +++ b/test/EFCore.Relational.Tests/Infrastructure/RelationalModelValidatorTest.PropertyMapping.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure; public partial class RelationalModelValidatorTest { - [ConditionalFact] + [Fact] public void Throws_when_added_property_is_not_mapped_to_store() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -25,7 +25,7 @@ public void Throws_when_added_property_is_not_mapped_to_store() Assert.Throws(() => Validate(modelBuilder)).Message); } - [ConditionalFact] + [Fact] public void Throws_spatial_message_when_geometry_property_is_not_mapped() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -41,7 +41,7 @@ public void Throws_spatial_message_when_geometry_property_is_not_mapped() Assert.Throws(() => Validate(modelBuilder)).Message); } - [ConditionalFact] + [Fact] public void Throws_spatial_message_when_declaring_type_is_geometry() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -56,7 +56,7 @@ public void Throws_spatial_message_when_declaring_type_is_geometry() Assert.Throws(() => Validate(modelBuilder)).Message); } - [ConditionalFact] + [Fact] public void Throws_when_added_property_is_not_mapped_to_store_even_if_configured_to_use_column_type() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -73,7 +73,7 @@ public void Throws_when_added_property_is_not_mapped_to_store_even_if_configured Assert.Throws(() => Validate(modelBuilder)).Message); } - [ConditionalFact] + [Fact] public override void Detects_non_list_complex_collection() { var modelBuilder = CreateConventionModelBuilder(); @@ -97,7 +97,7 @@ public override void Detects_non_list_complex_collection() modelBuilder); } - [ConditionalFact] + [Fact] public void Throws_when_complex_collection_is_not_mapped_to_json() { var modelBuilder = CreateConventionlessModelBuilder(); diff --git a/test/EFCore.Relational.Tests/Infrastructure/RelationalModelValidatorTest.cs b/test/EFCore.Relational.Tests/Infrastructure/RelationalModelValidatorTest.cs index fb4a5afcc45..0455a86b589 100644 --- a/test/EFCore.Relational.Tests/Infrastructure/RelationalModelValidatorTest.cs +++ b/test/EFCore.Relational.Tests/Infrastructure/RelationalModelValidatorTest.cs @@ -126,7 +126,7 @@ public override void Detects_discriminator_property_on_complex_collection() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Ignores_bool_with_default_value_false() { var modelBuilder = CreateConventionModelBuilder(); @@ -145,7 +145,7 @@ public virtual void Ignores_bool_with_default_value_false() Assert.DoesNotContain(LoggerFactory.Log, l => l.Level == LogLevel.Warning); } - [ConditionalFact] + [Fact] public virtual void Bool_with_true_default_value_okay_because_sentinel_set_to_true() { var modelBuilder = CreateConventionModelBuilder(); @@ -164,7 +164,7 @@ public virtual void Bool_with_true_default_value_okay_because_sentinel_set_to_tr Assert.DoesNotContain(LoggerFactory.Log, l => l.Level == LogLevel.Warning); } - [ConditionalFact] // Issue #28509 + [Fact] // Issue #28509 public virtual void Bool_with_default_value_and_nullable_backing_field_is_fine() { var modelBuilder = CreateConventionModelBuilder(); @@ -179,7 +179,7 @@ public virtual void Bool_with_default_value_and_nullable_backing_field_is_fine() Assert.DoesNotContain(LoggerFactory.Log, l => l.Level == LogLevel.Warning); } - [ConditionalFact] + [Fact] public virtual void Detects_bool_with_default_expression() { var modelBuilder = CreateConventionModelBuilder(); @@ -196,7 +196,7 @@ public virtual void Detects_bool_with_default_expression() .GenerateMessage("bool", "ImBool", "E", "False", "bool"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Ignores_enum_with_default_value_matching_CLR_default() { var modelBuilder = CreateConventionModelBuilder(); @@ -215,7 +215,7 @@ public virtual void Ignores_enum_with_default_value_matching_CLR_default() Assert.DoesNotContain(LoggerFactory.Log, l => l.Level == LogLevel.Warning); } - [ConditionalFact] + [Fact] public virtual void Detects_enum_with_database_default_not_set_to_CLR_default() { var modelBuilder = CreateConventionModelBuilder(); @@ -232,7 +232,7 @@ public virtual void Detects_enum_with_database_default_not_set_to_CLR_default() .GenerateMessage("X", "EnumWithDefaultConstraint", "WithEnum", "0", "X"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Enum_with_database_default_not_set_to_CLR_default_okay_if_sentinel_set() { var modelBuilder = CreateConventionModelBuilder(); @@ -249,7 +249,7 @@ public virtual void Enum_with_database_default_not_set_to_CLR_default_okay_if_se Assert.DoesNotContain(LoggerFactory.Log, l => l.Level == LogLevel.Warning); } - [ConditionalFact] + [Fact] public virtual void Enum_with_database_default_not_set_to_CLR_default_and_nullable_backing_field_is_fine() { var modelBuilder = CreateConventionModelBuilder(); @@ -263,7 +263,7 @@ public virtual void Enum_with_database_default_not_set_to_CLR_default_and_nullab Assert.DoesNotContain(LoggerFactory.Log, l => l.Level == LogLevel.Warning); } - [ConditionalFact] + [Fact] public virtual void Detects_enum_with_default_expression() { var modelBuilder = CreateConventionModelBuilder(); @@ -280,7 +280,7 @@ public virtual void Detects_enum_with_default_expression() .GenerateMessage("X", "EnumWithDefaultConstraint", "WithEnum", "0", "X"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_primary_key_with_default_value() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -298,7 +298,7 @@ public virtual void Detects_primary_key_with_default_value() new TestLogger()).GenerateMessage("Id", "A"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_alternate_key_with_default_value() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -320,7 +320,7 @@ public virtual void Detects_alternate_key_with_default_value() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_table_names_without_identifying_relationship() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -348,7 +348,7 @@ public virtual void Detects_duplicate_table_names_without_identifying_relationsh modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_table_names_when_no_key() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -376,7 +376,7 @@ public virtual void Detects_duplicate_table_names_when_no_key() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_view_names_without_identifying_relationship() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -404,7 +404,7 @@ public virtual void Detects_duplicate_view_names_without_identifying_relationshi modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_view_names_when_no_key() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -432,7 +432,7 @@ public virtual void Detects_duplicate_view_names_when_no_key() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_duplicate_table_names_in_different_schema() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -456,7 +456,7 @@ public virtual void Passes_for_duplicate_table_names_in_different_schema() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_duplicate_table_names_for_inherited_entities() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -472,7 +472,7 @@ public virtual void Passes_for_duplicate_table_names_for_inherited_entities() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_incompatible_primary_keys_with_shared_table() { var modelBuilder = CreateConventionModelBuilder(); @@ -488,7 +488,7 @@ public virtual void Detects_incompatible_primary_keys_with_shared_table() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_incompatible_comments_with_shared_table() { var modelBuilder = CreateConventionModelBuilder(); @@ -503,7 +503,7 @@ public virtual void Detects_incompatible_comments_with_shared_table() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_on_null_comments() { var modelBuilder = CreateConventionModelBuilder(); @@ -515,7 +515,7 @@ public virtual void Passes_on_null_comments() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_incompatible_primary_key_columns_with_shared_table() { var modelBuilder = CreateConventionModelBuilder(); @@ -531,7 +531,7 @@ public virtual void Detects_incompatible_primary_key_columns_with_shared_table() "{'Id'}", nameof(B), "{'Id'}", nameof(A), "Table", "PK_Table", "{'Id'}", "{'Key'}"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_on_shared_columns_with_shared_table() { var modelBuilder = CreateConventionModelBuilder(); @@ -550,7 +550,7 @@ public virtual void Passes_on_shared_columns_with_shared_table() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Throws_on_nullable_shared_columns_with_shared_table_with_dependents() { var modelBuilder = CreateConventionModelBuilder(); @@ -564,7 +564,7 @@ public virtual void Throws_on_nullable_shared_columns_with_shared_table_with_dep VerifyError(RelationalStrings.OptionalDependentWithDependentWithoutIdentifyingProperty(nameof(A)), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Warns_on_no_required_columns_with_shared_table() { var modelBuilder = CreateConventionModelBuilder(); @@ -576,7 +576,7 @@ public virtual void Warns_on_no_required_columns_with_shared_table() VerifyWarning(definition.GenerateMessage(nameof(OwnedEntity)), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_incompatible_shared_columns_in_shared_table_with_different_data_types() { var modelBuilder = CreateConventionModelBuilder(); @@ -593,7 +593,7 @@ public virtual void Detects_incompatible_shared_columns_in_shared_table_with_dif modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_properties_mapped_to_the_same_column_within_hierarchy() { var modelBuilder = CreateConventionModelBuilder(); @@ -607,7 +607,7 @@ public virtual void Detects_properties_mapped_to_the_same_column_within_hierarch modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_properties_mapped_to_the_same_column_on_complex_type() { var modelBuilder = CreateConventionModelBuilder(); @@ -624,7 +624,7 @@ public virtual void Detects_properties_mapped_to_the_same_column_on_complex_type modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_incompatible_shared_columns_in_shared_table_with_different_provider_types() { var modelBuilder = CreateConventionModelBuilder(); @@ -638,7 +638,7 @@ public virtual void Passes_for_incompatible_shared_columns_in_shared_table_with_ Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_incompatible_shared_columns_in_shared_table_with_different_provider_types_for_unique_indexes() { var modelBuilder = CreateConventionModelBuilder(); @@ -656,7 +656,7 @@ public virtual void Detects_incompatible_shared_columns_in_shared_table_with_dif modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_incompatible_shared_columns_in_shared_table_with_different_provider_types_for_keys() { var modelBuilder = CreateConventionModelBuilder(); @@ -674,7 +674,7 @@ public virtual void Detects_incompatible_shared_columns_in_shared_table_with_dif modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_incompatible_shared_columns_in_shared_table_with_different_provider_types_for_foreign_keys() { var modelBuilder = CreateConventionModelBuilder(); @@ -692,7 +692,7 @@ public virtual void Detects_incompatible_shared_columns_in_shared_table_with_dif modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_incompatible_shared_check_constraints_with_shared_table() { var modelBuilder = CreateConventionModelBuilder(); @@ -707,7 +707,7 @@ public virtual void Detects_incompatible_shared_check_constraints_with_shared_ta modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_incompatible_uniquified_check_constraints_with_shared_table() { var modelBuilder = CreateConventionModelBuilder(); @@ -722,7 +722,7 @@ public virtual void Passes_for_incompatible_uniquified_check_constraints_with_sh Assert.Equal("CK_Table_SomeCK", model.FindEntityType(typeof(B)).GetCheckConstraints().Single().Name); } - [ConditionalFact] + [Fact] public virtual void Passes_for_compatible_shared_check_constraints_with_shared_table() { var modelBuilder = CreateConventionModelBuilder(); @@ -737,7 +737,7 @@ public virtual void Passes_for_compatible_shared_check_constraints_with_shared_t Assert.Equal("CK_Table_SomeCK", model.FindEntityType(typeof(B)).GetCheckConstraints().Single().Name); } - [ConditionalFact] + [Fact] public virtual void Detects_multiple_shared_table_roots() { var modelBuilder = CreateConventionModelBuilder(); @@ -753,7 +753,7 @@ public virtual void Detects_multiple_shared_table_roots() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_shared_table_root_cycle() { var modelBuilder = CreateConventionModelBuilder(); @@ -766,7 +766,7 @@ public virtual void Detects_shared_table_root_cycle() VerifyError(CoreStrings.IdentifyingRelationshipCycle("A -> B"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_compatible_shared_table() { var modelBuilder = CreateConventionModelBuilder(); @@ -789,7 +789,7 @@ public virtual void Passes_for_compatible_shared_table() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_compatible_excluded_shared_table_inverted() { var modelBuilder = CreateConventionModelBuilder(); @@ -801,7 +801,7 @@ public virtual void Passes_for_compatible_excluded_shared_table_inverted() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_compatible_excluded_shared_table_owned() { var modelBuilder = CreateConventionModelBuilder(); @@ -816,7 +816,7 @@ public virtual void Passes_for_compatible_excluded_shared_table_owned() Assert.True(b.IsTableExcludedFromMigrations()); } - [ConditionalFact] + [Fact] public virtual void Passes_for_compatible_excluded_table_derived() { var modelBuilder = CreateConventionModelBuilder(); @@ -831,7 +831,7 @@ public virtual void Passes_for_compatible_excluded_table_derived() Assert.True(c.IsTableExcludedFromMigrations()); } - [ConditionalFact] + [Fact] public virtual void Detect_partially_excluded_shared_table() { var modelBuilder = CreateConventionModelBuilder(); @@ -846,7 +846,7 @@ public virtual void Detect_partially_excluded_shared_table() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_entity_splitting_on_base_type() { var modelBuilder = CreateConventionModelBuilder(); @@ -858,7 +858,7 @@ public virtual void Detects_entity_splitting_on_base_type() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_entity_splitting_on_derived_type() { var modelBuilder = CreateConventionModelBuilder(); @@ -870,7 +870,7 @@ public virtual void Detects_entity_splitting_on_derived_type() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_entity_splitting_with_unmapped_main() { var modelBuilder = CreateConventionModelBuilder(); @@ -881,7 +881,7 @@ public virtual void Detects_entity_splitting_with_unmapped_main() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_entity_splitting_to_with_conflicting_main() { var modelBuilder = CreateConventionModelBuilder(); @@ -892,7 +892,7 @@ public virtual void Detects_entity_splitting_to_with_conflicting_main() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_entity_splitting_with_unmapped_PK() { var modelBuilder = CreateConventionModelBuilder(); @@ -903,7 +903,7 @@ public virtual void Detects_entity_splitting_with_unmapped_PK() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_entity_splitting_without_properties() { var modelBuilder = CreateConventionModelBuilder(); @@ -914,7 +914,7 @@ public virtual void Detects_entity_splitting_without_properties() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_entity_splitting_to_table_with_all_properties() { var modelBuilder = CreateConventionModelBuilder(); @@ -930,7 +930,7 @@ public virtual void Detects_entity_splitting_to_table_with_all_properties() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_entity_splitting_to_view_with_all_properties() { var modelBuilder = CreateConventionModelBuilder(); @@ -946,7 +946,7 @@ public virtual void Detects_entity_splitting_to_view_with_all_properties() modelBuilder); } - [ConditionalFact] + [Fact] public void Detects_entity_splitting_with_optional_table_splitting_without_required_properties() { var modelBuilder = CreateConventionModelBuilder(); @@ -983,7 +983,7 @@ public void Detects_entity_splitting_with_optional_table_splitting_without_requi modelBuilder); } - [ConditionalFact] + [Fact] public void Detects_entity_splitting_with_partial_table_splitting() { var modelBuilder = CreateConventionModelBuilder(); @@ -1020,7 +1020,7 @@ public void Detects_entity_splitting_with_partial_table_splitting() modelBuilder); } - [ConditionalFact] + [Fact] public void Detects_entity_splitting_with_reverse_table_splitting() { var modelBuilder = CreateConventionModelBuilder(); @@ -1057,7 +1057,7 @@ public void Detects_entity_splitting_with_reverse_table_splitting() modelBuilder); } - [ConditionalFact] + [Fact] public void Detects_unnamed_index_properties_mapped_to_different_fragments_in_entity_splitting() { var modelBuilder = CreateConventionModelBuilder(); @@ -1082,7 +1082,7 @@ public void Detects_unnamed_index_properties_mapped_to_different_fragments_in_en LogLevel.Error); } - [ConditionalFact] + [Fact] public void Detects_unnamed_key_properties_mapped_to_different_fragments_in_entity_splitting() { var modelBuilder = CreateConventionModelBuilder(); @@ -1103,7 +1103,7 @@ public void Detects_unnamed_key_properties_mapped_to_different_fragments_in_enti LogLevel.Error); } - [ConditionalFact] + [Fact] public virtual void Detects_unmapped_foreign_keys_in_entity_splitting() { var modelBuilder = CreateConventionModelBuilder(); @@ -1136,7 +1136,7 @@ public virtual void Detects_unmapped_foreign_keys_in_entity_splitting() LogLevel.Error); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_columns_in_derived_types_with_different_types() { var modelBuilder = CreateConventionModelBuilder(); @@ -1151,7 +1151,7 @@ public virtual void Detects_duplicate_columns_in_derived_types_with_different_ty "default_int_mapping"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_column_names_within_hierarchy_with_different_MaxLength() { var modelBuilder = CreateConventionModelBuilder(); @@ -1166,7 +1166,7 @@ public virtual void Detects_duplicate_column_names_within_hierarchy_with_differe "15"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_column_names_within_hierarchy_with_different_IsUnicode() { var modelBuilder = CreateConventionModelBuilder(); @@ -1180,7 +1180,7 @@ public virtual void Detects_duplicate_column_names_within_hierarchy_with_differe nameof(Cat), nameof(Cat.Breed), nameof(Dog), nameof(Dog.Breed), nameof(Cat.Breed), nameof(Animal)), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_column_names_within_hierarchy_with_different_IsFixedLength() { var modelBuilder = CreateConventionModelBuilder(); @@ -1194,7 +1194,7 @@ public virtual void Detects_duplicate_column_names_within_hierarchy_with_differe nameof(Cat), nameof(Cat.Breed), nameof(Dog), nameof(Dog.Breed), nameof(Cat.Breed), nameof(Animal)), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_column_names_within_hierarchy_with_different_IsConcurrencyToken() { var modelBuilder = CreateConventionModelBuilder(); @@ -1211,7 +1211,7 @@ public virtual void Detects_duplicate_column_names_within_hierarchy_with_differe modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_column_names_within_hierarchy_with_different_ComputedColumnSql() { var modelBuilder = CreateConventionModelBuilder(); @@ -1225,7 +1225,7 @@ public virtual void Detects_duplicate_column_names_within_hierarchy_with_differe modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_column_names_within_hierarchy_with_different_stored_setting() { var modelBuilder = CreateConventionModelBuilder(); @@ -1239,7 +1239,7 @@ public virtual void Detects_duplicate_column_names_within_hierarchy_with_differe modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_column_names_within_hierarchy_with_different_DefaultValue() { var modelBuilder = CreateConventionModelBuilder(); @@ -1253,7 +1253,7 @@ public virtual void Detects_duplicate_column_names_within_hierarchy_with_differe modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_column_names_within_hierarchy_with_different_DefaultValueSql() { var modelBuilder = CreateConventionModelBuilder(); @@ -1267,7 +1267,7 @@ public virtual void Detects_duplicate_column_names_within_hierarchy_with_differe modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_on_duplicate_column_names_with_different_column_nullability() { var modelBuilder = CreateConventionModelBuilder(); @@ -1287,7 +1287,7 @@ public virtual void Passes_on_duplicate_column_names_with_different_column_nulla Assert.False(column.IsNullable); } - [ConditionalFact] + [Fact] public virtual void Passes_on_duplicate_column_names_within_hierarchy_with_same_column_nullability() { var modelBuilder = CreateConventionModelBuilder(); @@ -1304,7 +1304,7 @@ public virtual void Passes_on_duplicate_column_names_within_hierarchy_with_same_ Assert.Null(column.DefaultValue); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_column_names_within_hierarchy_with_different_comments() { var modelBuilder = CreateConventionModelBuilder(); @@ -1318,7 +1318,7 @@ public virtual void Detects_duplicate_column_names_within_hierarchy_with_differe modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_column_names_within_hierarchy_with_different_collations() { var modelBuilder = CreateConventionModelBuilder(); @@ -1332,7 +1332,7 @@ public virtual void Detects_duplicate_column_names_within_hierarchy_with_differe modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_column_names_within_hierarchy_with_different_orders() { var modelBuilder = CreateConventionModelBuilder(); @@ -1346,7 +1346,7 @@ public virtual void Detects_duplicate_column_names_within_hierarchy_with_differe modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_column_names_within_hierarchy_with_different_precision() { var modelBuilder = CreateConventionModelBuilder(); @@ -1360,7 +1360,7 @@ public virtual void Detects_duplicate_column_names_within_hierarchy_with_differe modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_column_names_within_hierarchy_with_different_scale() { var modelBuilder = CreateConventionModelBuilder(); @@ -1374,7 +1374,7 @@ public virtual void Detects_duplicate_column_names_within_hierarchy_with_differe modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_compatible_duplicate_column_names_within_hierarchy() { var modelBuilder = CreateConventionModelBuilder(); @@ -1399,7 +1399,7 @@ public virtual void Passes_for_compatible_duplicate_column_names_within_hierarch Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_shared_columns() { var modelBuilder = CreateConventionModelBuilder(); @@ -1410,7 +1410,7 @@ public virtual void Passes_for_shared_columns() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_foreignKey_names_within_hierarchy_on_different_tables() { var modelBuilder = CreateConventionModelBuilder(); @@ -1434,7 +1434,7 @@ public virtual void Detects_duplicate_foreignKey_names_within_hierarchy_on_diffe modelBuilder)).Message); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_foreignKey_names_within_hierarchy_with_different_principal_tables() { var modelBuilder = CreateConventionModelBuilder(); @@ -1452,7 +1452,7 @@ public virtual void Detects_duplicate_foreignKey_names_within_hierarchy_with_dif modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_foreignKey_names_within_hierarchy_with_different_column_count() { var modelBuilder = CreateConventionModelBuilder(); @@ -1473,7 +1473,7 @@ public virtual void Detects_duplicate_foreignKey_names_within_hierarchy_with_dif modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_foreignKey_names_within_hierarchy_with_different_column_order() { var modelBuilder = CreateConventionModelBuilder(); @@ -1506,7 +1506,7 @@ public virtual void Detects_duplicate_foreignKey_names_within_hierarchy_with_dif modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_foreignKey_names_within_hierarchy_mapped_to_different_columns() { var modelBuilder = CreateConventionModelBuilder(); @@ -1527,7 +1527,7 @@ public virtual void Detects_duplicate_foreignKey_names_within_hierarchy_mapped_t modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_foreignKey_names_within_hierarchy_referencing_different_columns() { var modelBuilder = CreateConventionModelBuilder(); @@ -1550,7 +1550,7 @@ public virtual void Detects_duplicate_foreignKey_names_within_hierarchy_referenc modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_foreignKey_names_within_hierarchy_with_different_uniqueness() { var modelBuilder = CreateConventionModelBuilder(); @@ -1574,7 +1574,7 @@ public virtual void Detects_duplicate_foreignKey_names_within_hierarchy_with_dif Assert.NotEqual(index1.GetDatabaseName(), index2.GetDatabaseName()); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_foreignKey_names_within_hierarchy_with_different_delete_behavior() { var modelBuilder = CreateConventionModelBuilder(); @@ -1593,7 +1593,7 @@ public virtual void Detects_duplicate_foreignKey_names_within_hierarchy_with_dif modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_foreignKey_names_within_hierarchy_with_different_excluded_from_migrations() { var modelBuilder = CreateConventionModelBuilder(); @@ -1611,7 +1611,7 @@ public virtual void Detects_duplicate_foreignKey_names_within_hierarchy_with_dif modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_incompatible_foreignKeys_within_hierarchy() { var modelBuilder = CreateConventionModelBuilder(); @@ -1632,7 +1632,7 @@ public virtual void Passes_for_incompatible_foreignKeys_within_hierarchy() Assert.Equal(index1.GetDatabaseName(), index2.GetDatabaseName()); } - [ConditionalFact] + [Fact] public virtual void Passes_for_incompatible_foreignKeys_within_hierarchy_when_one_name_configured_explicitly() { var modelBuilder = CreateConventionModelBuilder(); @@ -1653,7 +1653,7 @@ public virtual void Passes_for_incompatible_foreignKeys_within_hierarchy_when_on Assert.Equal(index1.GetDatabaseName(), index2.GetDatabaseName()); } - [ConditionalFact] + [Fact] public virtual void Passes_for_compatible_duplicate_foreignKey_names_within_hierarchy() { var modelBuilder = CreateConventionModelBuilder(); @@ -1693,7 +1693,7 @@ public virtual void Passes_for_compatible_duplicate_foreignKey_names_within_hier Assert.Equal(index1.GetDatabaseName(), index2.GetDatabaseName()); } - [ConditionalFact] + [Fact] public virtual void Passes_for_compatible_duplicate_foreignKey_names_within_hierarchy_name_configured_explicitly() { var modelBuilder = CreateConventionModelBuilder(); @@ -1735,7 +1735,7 @@ public virtual void Passes_for_compatible_duplicate_foreignKey_names_within_hier Assert.Equal(index1.GetDatabaseName(), index2.GetDatabaseName()); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_index_names_within_hierarchy_with_different_column_count() { var modelBuilder = CreateConventionModelBuilder(); @@ -1753,7 +1753,7 @@ public virtual void Detects_duplicate_index_names_within_hierarchy_with_differen modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_index_names_within_hierarchy_with_different_column_order() { var modelBuilder = CreateConventionModelBuilder(); @@ -1780,7 +1780,7 @@ public virtual void Detects_duplicate_index_names_within_hierarchy_with_differen modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_index_names_within_hierarchy_mapped_to_different_columns() { var modelBuilder = CreateConventionModelBuilder(); @@ -1799,7 +1799,7 @@ public virtual void Detects_duplicate_index_names_within_hierarchy_mapped_to_dif modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_index_names_within_hierarchy_with_different_uniqueness() { var modelBuilder = CreateConventionModelBuilder(); @@ -1815,7 +1815,7 @@ public virtual void Detects_duplicate_index_names_within_hierarchy_with_differen modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_index_names_within_hierarchy_with_different_sort_orders() { var modelBuilder = CreateConventionModelBuilder(); @@ -1833,7 +1833,7 @@ public virtual void Detects_duplicate_index_names_within_hierarchy_with_differen modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_index_names_within_hierarchy_with_different_filters() { var modelBuilder = CreateConventionModelBuilder(); @@ -1850,7 +1850,7 @@ public virtual void Detects_duplicate_index_names_within_hierarchy_with_differen modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_incompatible_indexes_within_hierarchy_when_one_name_configured_explicitly() { var modelBuilder = CreateConventionModelBuilder(); @@ -1864,7 +1864,7 @@ public virtual void Passes_for_incompatible_indexes_within_hierarchy_when_one_na Assert.Equal("IX_Animal_Name1", index2.GetDatabaseName()); } - [ConditionalFact] + [Fact] public virtual void Passes_for_compatible_duplicate_index_names_within_hierarchy() { var modelBuilder = CreateConventionModelBuilder(); @@ -1888,7 +1888,7 @@ public virtual void Passes_for_compatible_duplicate_index_names_within_hierarchy Assert.Equal(index1.GetDatabaseName(), index2.GetDatabaseName()); } - [ConditionalFact] + [Fact] public virtual void Passes_for_indexes_on_related_types_mapped_to_different_tables() { var modelBuilder = CreateConventionModelBuilder(); @@ -1928,7 +1928,7 @@ private class Address public int Id { get; set; } } - [ConditionalFact] + [Fact] public virtual void Passes_with_missing_concurrency_token_on_the_base_type_without_convention() { var modelBuilder = CreateModelBuilderWithoutConvention(); @@ -1944,7 +1944,7 @@ public virtual void Passes_with_missing_concurrency_token_on_the_base_type_witho Assert.Null(animalType.GetDeclaredProperties().SingleOrDefault(p => p.IsConcurrencyToken)); } - [ConditionalFact] + [Fact] public virtual void Detects_missing_concurrency_token_on_the_sharing_type_without_convention() { var modelBuilder = CreateModelBuilderWithoutConvention(); @@ -1957,7 +1957,7 @@ public virtual void Detects_missing_concurrency_token_on_the_sharing_type_withou modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_missing_concurrency_token_property_on_the_base_type() { var modelBuilder = CreateConventionModelBuilder(); @@ -1973,7 +1973,7 @@ public virtual void Passes_for_missing_concurrency_token_property_on_the_base_ty Assert.Null(animalType.GetDeclaredProperties().SingleOrDefault(p => p.IsConcurrencyToken)); } - [ConditionalFact] + [Fact] public virtual void Passes_for_missing_concurrency_token_property_on_the_base_type_when_derived_is_sharing() { var modelBuilder = CreateConventionModelBuilder(); @@ -1990,7 +1990,7 @@ public virtual void Passes_for_missing_concurrency_token_property_on_the_base_ty Assert.DoesNotContain(animalType.GetProperties(), p => p.IsConcurrencyToken); } - [ConditionalFact] + [Fact] public virtual void Passes_for_missing_concurrency_token_property_on_the_sharing_type() { var modelBuilder = CreateConventionModelBuilder(); @@ -2007,7 +2007,7 @@ public virtual void Passes_for_missing_concurrency_token_property_on_the_sharing Assert.Equal(typeof(ulong), concurrencyProperty.ClrType); } - [ConditionalFact] + [Fact] public virtual void Passes_for_explicitly_mapped_concurrency_tokens_with_table_sharing() { var modelBuilder = CreateConventionModelBuilder(); @@ -2023,7 +2023,7 @@ public virtual void Passes_for_explicitly_mapped_concurrency_tokens_with_table_s Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_missing_concurrency_token_on_owner() { var modelBuilder = CreateConventionModelBuilder(); @@ -2042,7 +2042,7 @@ public virtual void Passes_for_missing_concurrency_token_on_owner() Assert.Null(dogType.GetDeclaredProperties().SingleOrDefault(p => p.IsConcurrencyToken)); } - [ConditionalFact] + [Fact] public virtual void Passes_for_explicitly_mapped_concurrency_tokens_with_owned() { var modelBuilder = CreateConventionModelBuilder(); @@ -2058,7 +2058,7 @@ public virtual void Passes_for_explicitly_mapped_concurrency_tokens_with_owned() Assert.Null(dogType.GetDeclaredProperties().SingleOrDefault(p => p.IsConcurrencyToken)); } - [ConditionalFact] + [Fact] public virtual void Passes_for_non_hierarchical_model() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -2071,7 +2071,7 @@ public virtual void Passes_for_non_hierarchical_model() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_missing_discriminator_value_for_abstract_class() { var modelBuilder = CreateConventionModelBuilder(); @@ -2085,7 +2085,7 @@ public virtual void Passes_for_missing_discriminator_value_for_abstract_class() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_derived_entity_type_mapped_to_a_different_SQL_query() { var modelBuilder = CreateConventionModelBuilder(); @@ -2097,7 +2097,7 @@ public virtual void Detects_derived_entity_type_mapped_to_a_different_SQL_query( modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_TPT() { var modelBuilder = CreateConventionModelBuilder(); @@ -2107,7 +2107,7 @@ public virtual void Passes_for_TPT() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_unconfigured_entity_type_in_TPT() { var modelBuilder = CreateConventionModelBuilder(); @@ -2118,7 +2118,7 @@ public virtual void Passes_for_unconfigured_entity_type_in_TPT() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_clashing_entity_types_in_view_TPT() { var modelBuilder = CreateConventionModelBuilder(); @@ -2131,7 +2131,7 @@ public virtual void Detects_clashing_entity_types_in_view_TPT() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_table_and_view_TPT_mismatch() { var modelBuilder = CreateConventionModelBuilder(); @@ -2143,7 +2143,7 @@ public virtual void Detects_table_and_view_TPT_mismatch() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_TPT_with_discriminator() { var modelBuilder = CreateConventionModelBuilder(); @@ -2155,7 +2155,7 @@ public virtual void Detects_TPT_with_discriminator() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_view_TPT_with_discriminator() { var modelBuilder = CreateConventionModelBuilder(); @@ -2167,7 +2167,7 @@ public virtual void Detects_view_TPT_with_discriminator() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_TPT_with_keyless_entity_type() { var modelBuilder = CreateConventionModelBuilder(); @@ -2179,7 +2179,7 @@ public virtual void Detects_TPT_with_keyless_entity_type() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_on_valid_table_sharing_with_TPT() { var modelBuilder = CreateConventionModelBuilder(); @@ -2198,7 +2198,7 @@ public virtual void Passes_on_valid_table_sharing_with_TPT() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_linking_relationship_on_derived_type_in_TPT() { var modelBuilder = CreateConventionModelBuilder(); @@ -2220,7 +2220,7 @@ public virtual void Detects_linking_relationship_on_derived_type_in_TPT() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_linking_relationship_on_derived_type_in_TPT_views() { var modelBuilder = CreateConventionModelBuilder(); @@ -2243,7 +2243,7 @@ public virtual void Detects_linking_relationship_on_derived_type_in_TPT_views() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_unmapped_foreign_keys_in_TPT() { var modelBuilder = CreateConventionModelBuilder(); @@ -2267,7 +2267,7 @@ public virtual void Detects_unmapped_foreign_keys_in_TPT() LogLevel.Error); } - [ConditionalFact] + [Fact] public virtual void Passes_for_ToTable_for_abstract_class() { var modelBuilder = CreateConventionModelBuilder(); @@ -2278,7 +2278,7 @@ public virtual void Passes_for_ToTable_for_abstract_class() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_abstract_class_TPC() { var modelBuilder = CreateConventionModelBuilder(); @@ -2289,7 +2289,7 @@ public virtual void Passes_for_abstract_class_TPC() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_view_TPC() { var modelBuilder = CreateConventionModelBuilder(); @@ -2299,7 +2299,7 @@ public virtual void Passes_for_view_TPC() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_invalid_MappingStrategy() { var modelBuilder = CreateConventionModelBuilder(); @@ -2311,7 +2311,7 @@ public virtual void Detects_invalid_MappingStrategy() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_MappingStrategy_on_derived_types() { var modelBuilder = CreateConventionModelBuilder(); @@ -2324,7 +2324,7 @@ public virtual void Detects_MappingStrategy_on_derived_types() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_ToTable_for_abstract_class_TPC() { var modelBuilder = CreateConventionModelBuilder(); @@ -2336,7 +2336,7 @@ public virtual void Detects_ToTable_for_abstract_class_TPC() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_ToView_for_abstract_class_TPC() { var modelBuilder = CreateConventionModelBuilder(); @@ -2348,7 +2348,7 @@ public virtual void Detects_ToView_for_abstract_class_TPC() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_ToFunction_for_abstract_class_TPC() { var modelBuilder = CreateConventionModelBuilder(); @@ -2360,7 +2360,7 @@ public virtual void Detects_ToFunction_for_abstract_class_TPC() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_UsingStoredProcedure_for_abstract_class_TPC() { var modelBuilder = CreateConventionModelBuilder(); @@ -2373,7 +2373,7 @@ public virtual void Detects_UsingStoredProcedure_for_abstract_class_TPC() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_clashing_entity_types_in_views_TPC() { var modelBuilder = CreateConventionModelBuilder(); @@ -2386,7 +2386,7 @@ public virtual void Detects_clashing_entity_types_in_views_TPC() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_table_and_view_TPC_mismatch() { var modelBuilder = CreateConventionModelBuilder(); @@ -2398,7 +2398,7 @@ public virtual void Detects_table_and_view_TPC_mismatch() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_on_TPC_with_keyless_entity_type() { var modelBuilder = CreateConventionModelBuilder(); @@ -2408,7 +2408,7 @@ public virtual void Passes_on_TPC_with_keyless_entity_type() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_view_TPC_with_discriminator() { var modelBuilder = CreateConventionModelBuilder(); @@ -2420,7 +2420,7 @@ public virtual void Detects_view_TPC_with_discriminator() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_store_generated_PK_in_TPC() { var modelBuilder = CreateConventionModelBuilder(); @@ -2440,7 +2440,7 @@ public virtual void Detects_store_generated_PK_in_TPC() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_table_sharing_with_TPC_on_dependent() { var modelBuilder = CreateConventionModelBuilder(); @@ -2457,7 +2457,7 @@ public virtual void Detects_table_sharing_with_TPC_on_dependent() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_on_valid_view_sharing_with_TPC() { var modelBuilder = CreateConventionModelBuilder(); @@ -2478,7 +2478,7 @@ public virtual void Passes_on_valid_view_sharing_with_TPC() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_view_sharing_on_base_with_TPC() { var modelBuilder = CreateConventionModelBuilder(); @@ -2497,7 +2497,7 @@ public virtual void Detects_view_sharing_on_base_with_TPC() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_owned_table_sharing_on_abstract_class_with_TPC() { var modelBuilder = CreateConventionModelBuilder(); @@ -2513,7 +2513,7 @@ public virtual void Detects_owned_table_sharing_on_abstract_class_with_TPC() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_owned_view_sharing_on_abstract_class_with_TPT() { var modelBuilder = CreateConventionModelBuilder(); @@ -2534,7 +2534,7 @@ public virtual void Detects_owned_view_sharing_on_abstract_class_with_TPT() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_linking_relationship_on_derived_type_in_TPC() { var modelBuilder = CreateConventionModelBuilder(); @@ -2557,7 +2557,7 @@ public virtual void Detects_linking_relationship_on_derived_type_in_TPC() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_linking_relationship_on_derived_type_in_TPC_views() { var modelBuilder = CreateConventionModelBuilder(); @@ -2581,7 +2581,7 @@ public virtual void Detects_linking_relationship_on_derived_type_in_TPC_views() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_unmapped_foreign_keys_in_TPC() { var modelBuilder = CreateConventionModelBuilder(); @@ -2605,7 +2605,7 @@ public virtual void Detects_unmapped_foreign_keys_in_TPC() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_valid_table_overrides() { var modelBuilder = CreateConventionModelBuilder(); @@ -2617,7 +2617,7 @@ public virtual void Passes_for_valid_table_overrides() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_invalid_table_overrides() { var modelBuilder = CreateConventionModelBuilder(); @@ -2630,7 +2630,7 @@ public virtual void Detects_invalid_table_overrides() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_column_override_on_an_inherited_property_with_TPT() { var modelBuilder = CreateConventionModelBuilder(); @@ -2645,7 +2645,7 @@ public virtual void Detects_column_override_on_an_inherited_property_with_TPT() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_valid_view_overrides() { var modelBuilder = CreateConventionModelBuilder(); @@ -2657,7 +2657,7 @@ public virtual void Passes_for_valid_view_overrides() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_invalid_view_overrides() { var modelBuilder = CreateConventionModelBuilder(); @@ -2670,7 +2670,7 @@ public virtual void Detects_invalid_view_overrides() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_invalid_sql_query_overrides() { var modelBuilder = CreateConventionModelBuilder(); @@ -2682,7 +2682,7 @@ public virtual void Detects_invalid_sql_query_overrides() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_invalid_stored_procedure_overrides() { var modelBuilder = CreateConventionModelBuilder(); @@ -2694,7 +2694,7 @@ public virtual void Detects_invalid_stored_procedure_overrides() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_invalid_function_overrides() { var modelBuilder = CreateConventionModelBuilder(); @@ -2706,7 +2706,7 @@ public virtual void Detects_invalid_function_overrides() modelBuilder); } - [ConditionalFact] + [Fact] public void Detects_function_with_invalid_return_type() { var modelBuilder = CreateConventionModelBuilder(); @@ -2720,7 +2720,7 @@ public void Detects_function_with_invalid_return_type() modelBuilder); } - [ConditionalFact] + [Fact] public void Detects_function_with_unmapped_return_type() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -2739,7 +2739,7 @@ var methodInfo modelBuilder); } - [ConditionalFact] + [Fact] public void Detects_function_with_invalid_parameter_type() { var modelBuilder = CreateConventionModelBuilder(); @@ -2754,7 +2754,7 @@ public void Detects_function_with_invalid_parameter_type() modelBuilder); } - [ConditionalFact] + [Fact] public void Passes_for_valid_entity_type_mapped_to_function() { var modelBuilder = CreateConventionModelBuilder(); @@ -2773,7 +2773,7 @@ var methodInfo Assert.Single(model.GetDbFunctions()); } - [ConditionalFact] + [Fact] public void Detects_entity_type_mapped_to_non_existent_function() { var modelBuilder = CreateConventionModelBuilder(); @@ -2787,7 +2787,7 @@ public void Detects_entity_type_mapped_to_non_existent_function() modelBuilder); } - [ConditionalFact] + [Fact] public void Detects_entity_type_mapped_to_a_scalar_function() { var modelBuilder = CreateConventionModelBuilder(); @@ -2805,7 +2805,7 @@ public void Detects_entity_type_mapped_to_a_scalar_function() modelBuilder); } - [ConditionalFact] + [Fact] public void Detects_entity_type_mapped_to_a_different_type() { var modelBuilder = CreateConventionModelBuilder(); @@ -2822,7 +2822,7 @@ public void Detects_entity_type_mapped_to_a_different_type() modelBuilder); } - [ConditionalFact] + [Fact] public void Detects_entity_type_mapped_to_a_function_with_parameters() { var modelBuilder = CreateConventionModelBuilder(); @@ -2838,7 +2838,7 @@ public void Detects_entity_type_mapped_to_a_function_with_parameters() modelBuilder); } - [ConditionalFact] + [Fact] public void Detects_multiple_entity_types_mapped_to_the_same_function() { var modelBuilder = CreateConventionModelBuilder(); @@ -2859,7 +2859,7 @@ public void Detects_multiple_entity_types_mapped_to_the_same_function() modelBuilder); } - [ConditionalFact] + [Fact] public void Detects_derived_entity_type_mapped_to_a_function() { var modelBuilder = CreateConventionModelBuilder(); @@ -2877,7 +2877,7 @@ public void Detects_derived_entity_type_mapped_to_a_function() modelBuilder); } - [ConditionalFact] + [Fact] public void Detects_derived_entity_type_mapped_to_a_different_function() { var modelBuilder = CreateConventionModelBuilder(); @@ -2897,7 +2897,7 @@ public void Detects_derived_entity_type_mapped_to_a_different_function() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_multiple_entity_types_mapped_to_the_same_stored_procedure() { var modelBuilder = CreateConventionModelBuilder(); @@ -2921,7 +2921,7 @@ public virtual void Detects_multiple_entity_types_mapped_to_the_same_stored_proc modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_keyless_entity_type_mapped_to_a_stored_procedure() { var modelBuilder = CreateConventionModelBuilder(); @@ -2937,7 +2937,7 @@ public virtual void Detects_keyless_entity_type_mapped_to_a_stored_procedure() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_tableless_entity_type_mapped_to_some_stored_procedures() { var modelBuilder = CreateConventionModelBuilder(); @@ -2953,7 +2953,7 @@ public virtual void Detects_tableless_entity_type_mapped_to_some_stored_procedur modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_derived_entity_type_mapped_to_a_stored_procedure_in_TPH() { var modelBuilder = CreateConventionModelBuilder(); @@ -2965,7 +2965,7 @@ public virtual void Detects_derived_entity_type_mapped_to_a_stored_procedure_in_ modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_derived_entity_type_mapped_to_a_different_stored_procedure_in_TPH() { var modelBuilder = CreateConventionModelBuilder(); @@ -2978,7 +2978,7 @@ public virtual void Detects_derived_entity_type_mapped_to_a_different_stored_pro modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_derived_entity_type_mapped_to_a_different_stored_procedure_instance_in_TPH() { var modelBuilder = CreateConventionModelBuilder(); @@ -2990,7 +2990,7 @@ public virtual void Detects_derived_entity_type_mapped_to_a_different_stored_pro modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_missing_generated_stored_procedure_parameters_in_TPH() { var modelBuilder = CreateConventionModelBuilder(); @@ -3009,7 +3009,7 @@ public virtual void Detects_missing_generated_stored_procedure_parameters_in_TPH modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_unmatched_stored_procedure_parameters_in_TPH() { var modelBuilder = CreateConventionModelBuilder(); @@ -3022,7 +3022,7 @@ public virtual void Detects_unmatched_stored_procedure_parameters_in_TPH() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_non_key_delete_stored_procedure_params_in_TPH() { var modelBuilder = CreateConventionModelBuilder(); @@ -3037,7 +3037,7 @@ public virtual void Detects_non_key_delete_stored_procedure_params_in_TPH() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_unmatched_stored_procedure_result_columns_in_TPH() { var modelBuilder = CreateConventionModelBuilder(); @@ -3049,7 +3049,7 @@ public virtual void Detects_unmatched_stored_procedure_result_columns_in_TPH() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_parameter() { var modelBuilder = CreateConventionModelBuilder(); @@ -3064,7 +3064,7 @@ public virtual void Detects_duplicate_parameter() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_result_column() { var modelBuilder = CreateConventionModelBuilder(); @@ -3079,7 +3079,7 @@ public virtual void Detects_duplicate_result_column() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_non_generated_insert_stored_procedure_result_columns_in_TPH() { var modelBuilder = CreateConventionModelBuilder(); @@ -3092,7 +3092,7 @@ public virtual void Detects_non_generated_insert_stored_procedure_result_columns modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_non_generated_update_stored_procedure_result_columns_in_TPT() { var modelBuilder = CreateConventionModelBuilder(); @@ -3110,7 +3110,7 @@ public virtual void Detects_non_generated_update_stored_procedure_result_columns modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_non_generated_insert_stored_procedure_output_parameter_in_TPC() { var modelBuilder = CreateConventionModelBuilder(); @@ -3124,7 +3124,7 @@ public virtual void Detects_non_generated_insert_stored_procedure_output_paramet modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_non_generated_update_stored_procedure_input_output_parameter() { var modelBuilder = CreateConventionModelBuilder(); @@ -3139,7 +3139,7 @@ public virtual void Detects_non_generated_update_stored_procedure_input_output_p modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_delete_stored_procedure_result_columns_in_TPH() { var modelBuilder = CreateConventionModelBuilder(); @@ -3152,7 +3152,7 @@ public virtual void Detects_delete_stored_procedure_result_columns_in_TPH() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_generated_properties_mapped_to_result_and_parameter() { var modelBuilder = CreateConventionModelBuilder(); @@ -3168,7 +3168,7 @@ public virtual void Detects_generated_properties_mapped_to_result_and_parameter( modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_generated_properties_mapped_to_original_and_current_parameter() { var modelBuilder = CreateConventionModelBuilder(); @@ -3184,7 +3184,7 @@ public virtual void Detects_generated_properties_mapped_to_original_and_current_ modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_original_value_parameter_on_insert_stored_procedure() { var modelBuilder = CreateConventionModelBuilder(); @@ -3198,7 +3198,7 @@ public virtual void Detects_original_value_parameter_on_insert_stored_procedure( modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_current_value_parameter_on_delete_stored_procedure() { var modelBuilder = CreateConventionModelBuilder(); @@ -3210,7 +3210,7 @@ public virtual void Detects_current_value_parameter_on_delete_stored_procedure() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_unmapped_concurrency_token() { var modelBuilder = CreateConventionModelBuilder(); @@ -3227,7 +3227,7 @@ public virtual void Detects_unmapped_concurrency_token() .GenerateMessage(nameof(Animal), "Animal_Update", nameof(Animal.Name)), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_rows_affected_with_result_columns() { var modelBuilder = CreateConventionModelBuilder(); @@ -3244,7 +3244,7 @@ public virtual void Detects_rows_affected_with_result_columns() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_rows_affected_on_insert_stored_procedure() { var modelBuilder = CreateConventionModelBuilder(); @@ -3260,7 +3260,7 @@ public virtual void Detects_rows_affected_on_insert_stored_procedure() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_stored_procedure_input_parameter_for_insert_non_save_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -3279,7 +3279,7 @@ public virtual void Detects_stored_procedure_input_parameter_for_insert_non_save modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_stored_procedure_input_parameter_for_update_non_save_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -3298,7 +3298,7 @@ public virtual void Detects_stored_procedure_input_parameter_for_update_non_save modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_stored_procedure_without_parameter_for_insert_non_save_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -3313,7 +3313,7 @@ public virtual void Passes_for_stored_procedure_without_parameter_for_insert_non Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_stored_procedure_without_parameter_for_update_non_save_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -3328,7 +3328,7 @@ public virtual void Passes_for_stored_procedure_without_parameter_for_update_non Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_on_valid_UsingDeleteStoredProcedure_in_TPT() { var modelBuilder = CreateConventionModelBuilder(); @@ -3342,7 +3342,7 @@ public virtual void Passes_on_valid_UsingDeleteStoredProcedure_in_TPT() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_on_derived_entity_type_mapped_to_a_stored_procedure_in_TPT() { var modelBuilder = CreateConventionModelBuilder(); @@ -3356,7 +3356,7 @@ public virtual void Passes_on_derived_entity_type_mapped_to_a_stored_procedure_i Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_on_derived_entity_type_not_mapped_to_a_stored_procedure_in_TPT() { var modelBuilder = CreateConventionModelBuilder(); @@ -3374,7 +3374,7 @@ public virtual void Passes_on_derived_entity_type_not_mapped_to_a_stored_procedu Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_missing_generated_stored_procedure_parameters_in_TPT() { var modelBuilder = CreateConventionModelBuilder(); @@ -3395,7 +3395,7 @@ public virtual void Detects_missing_generated_stored_procedure_parameters_in_TPT modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_missing_stored_procedure_parameters_for_abstract_properties_in_TPT() { var modelBuilder = CreateConventionModelBuilder(); @@ -3411,7 +3411,7 @@ public virtual void Detects_missing_stored_procedure_parameters_for_abstract_pro modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_unmatched_stored_procedure_parameters_in_TPT() { var modelBuilder = CreateConventionModelBuilder(); @@ -3425,7 +3425,7 @@ public virtual void Detects_unmatched_stored_procedure_parameters_in_TPT() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_unmatched_stored_procedure_result_columns_in_TPT() { var modelBuilder = CreateConventionModelBuilder(); @@ -3439,7 +3439,7 @@ public virtual void Detects_unmatched_stored_procedure_result_columns_in_TPT() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_InsertUsingStoredProcedure_without_a_name() { var modelBuilder = CreateConventionModelBuilder(); @@ -3452,7 +3452,7 @@ public virtual void Detects_InsertUsingStoredProcedure_without_a_name() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_missing_generated_stored_procedure_parameters() { var modelBuilder = CreateConventionModelBuilder(); @@ -3472,7 +3472,7 @@ public virtual void Detects_missing_generated_stored_procedure_parameters() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_missing_generated_stored_procedure_parameters_in_TPC() { var modelBuilder = CreateConventionModelBuilder(); @@ -3496,7 +3496,7 @@ public virtual void Detects_missing_generated_stored_procedure_parameters_in_TPC modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_unmatched_stored_procedure_parameters_in_TPC() { var modelBuilder = CreateConventionModelBuilder(); @@ -3510,7 +3510,7 @@ public virtual void Detects_unmatched_stored_procedure_parameters_in_TPC() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_unmatched_stored_procedure_result_columns_in_TPC() { var modelBuilder = CreateConventionModelBuilder(); @@ -3524,7 +3524,7 @@ public virtual void Detects_unmatched_stored_procedure_result_columns_in_TPC() modelBuilder); } - [ConditionalFact] + [Fact] public void Passes_for_unnamed_index_with_all_properties_not_mapped_to_any_table() { var modelBuilder = CreateConventionModelBuilder(); @@ -3542,7 +3542,7 @@ public void Passes_for_unnamed_index_with_all_properties_not_mapped_to_any_table modelBuilder); } - [ConditionalFact] + [Fact] public void Passes_for_named_index_with_all_properties_not_mapped_to_any_table() { var modelBuilder = CreateConventionModelBuilder(); @@ -3564,7 +3564,7 @@ public void Passes_for_named_index_with_all_properties_not_mapped_to_any_table() modelBuilder); } - [ConditionalFact] + [Fact] public void Passes_for_mix_of_index_properties_declared_and_inherited_TPT() { var modelBuilder = CreateConventionModelBuilder(); @@ -3578,7 +3578,7 @@ public void Passes_for_mix_of_index_properties_declared_and_inherited_TPT() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public void Detects_mix_of_index_property_mapped_and_not_mapped_to_any_table_mapped_first() { var modelBuilder = CreateConventionModelBuilder(); @@ -3599,7 +3599,7 @@ public void Detects_mix_of_index_property_mapped_and_not_mapped_to_any_table_map LogLevel.Error); } - [ConditionalFact] + [Fact] public void Detects_mix_of_index_property_mapped_and_not_mapped_to_any_table_unmapped_first() { var modelBuilder = CreateConventionModelBuilder(); @@ -3623,7 +3623,7 @@ public void Detects_mix_of_index_property_mapped_and_not_mapped_to_any_table_unm LogLevel.Error); } - [ConditionalFact] + [Fact] public void Passes_for_index_properties_mapped_to_same_table_in_TPT_hierarchy() { var modelBuilder = CreateConventionModelBuilder(); @@ -3639,7 +3639,7 @@ public void Passes_for_index_properties_mapped_to_same_table_in_TPT_hierarchy() l => l.Level != LogLevel.Trace && l.Level != LogLevel.Debug); } - [ConditionalFact] + [Fact] public void Detects_unnamed_index_properties_mapped_to_different_tables_in_TPT_hierarchy() { var modelBuilder = CreateConventionModelBuilder(); @@ -3663,7 +3663,7 @@ public void Detects_unnamed_index_properties_mapped_to_different_tables_in_TPT_h LogLevel.Error); } - [ConditionalFact] + [Fact] public void Detects_named_index_properties_mapped_to_different_tables_in_TPT_hierarchy() { var modelBuilder = CreateConventionModelBuilder(); @@ -3694,7 +3694,7 @@ public void Detects_named_index_properties_mapped_to_different_tables_in_TPT_hie LogLevel.Error); } - [ConditionalFact] + [Fact] public virtual void Non_TPH_as_a_result_of_DbFunction_throws() { var modelBuilder = CreateConventionModelBuilder(); @@ -3708,7 +3708,7 @@ public virtual void Non_TPH_as_a_result_of_DbFunction_throws() TestMethods.MethodFMi.DeclaringType.FullName + "." + TestMethods.MethodFMi.Name + "()", "C"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_relational_override_without_inheritance() { var modelBuilder = CreateConventionModelBuilder(); @@ -3723,7 +3723,7 @@ public virtual void Passes_for_relational_override_without_inheritance() Assert.DoesNotContain(LoggerFactory.Log, l => l.Level == LogLevel.Warning); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_column_orders() { var modelBuilder = CreateConventionModelBuilder(); @@ -3737,7 +3737,7 @@ public virtual void Detects_duplicate_column_orders() VerifyWarning(definition.GenerateMessage("Animal", "'Id', 'Name'"), modelBuilder, LogLevel.Error); } - [ConditionalFact] + [Fact] public virtual void Throws_when_non_tph_entity_type_short_names_are_not_unique() { var modelBuilder = CreateConventionModelBuilder(); @@ -3753,7 +3753,7 @@ public virtual void Throws_when_non_tph_entity_type_short_names_are_not_unique() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Throws_when_non_tph_entity_type_discriminator_set_to_non_string() { var modelBuilder = CreateConventionModelBuilder(); @@ -3766,7 +3766,7 @@ public virtual void Throws_when_non_tph_entity_type_discriminator_set_to_non_str VerifyError(RelationalStrings.NonTphDiscriminatorValueNotString(1, "TpcDerived"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Store_generated_in_composite_key() { var modelBuilder = CreateConventionModelBuilder(); @@ -3787,7 +3787,7 @@ public virtual void Store_generated_in_composite_key() Assert.Equal(ValueGenerated.OnAdd, keyProperties[1].ValueGenerated); } - [ConditionalFact] + [Fact] public void Detects_trigger_on_TPH_non_root() { var modelBuilder = CreateConventionModelBuilder(); @@ -3886,7 +3886,7 @@ public static IQueryable MethodF() => throw new NotImplementedException(); } - [ConditionalFact] + [Fact] public virtual void Detects_json_mapped_property_not_auto_loaded() { var modelBuilder = CreateConventionModelBuilder(); diff --git a/test/EFCore.Relational.Tests/Infrastructure/RelationalOptionsExtensionTest.cs b/test/EFCore.Relational.Tests/Infrastructure/RelationalOptionsExtensionTest.cs index 8ea666d360f..f85b01367aa 100644 --- a/test/EFCore.Relational.Tests/Infrastructure/RelationalOptionsExtensionTest.cs +++ b/test/EFCore.Relational.Tests/Infrastructure/RelationalOptionsExtensionTest.cs @@ -10,7 +10,7 @@ public class RelationalOptionsExtensionTest { private const string ConnectionString = "Fraggle=Rock"; - [ConditionalFact] + [Fact] public void Can_set_Connection() { var optionsExtension = new FakeRelationalOptionsExtension(); @@ -24,7 +24,7 @@ public void Can_set_Connection() Assert.False(optionsExtension.IsConnectionOwned); } - [ConditionalFact] + [Fact] public void Can_set_owned_Connection() { var optionsExtension = new FakeRelationalOptionsExtension(); @@ -38,7 +38,7 @@ public void Can_set_owned_Connection() Assert.True(optionsExtension.IsConnectionOwned); } - [ConditionalFact] + [Fact] public void Can_set_ConnectionString() { var optionsExtension = new FakeRelationalOptionsExtension(); @@ -50,7 +50,7 @@ public void Can_set_ConnectionString() Assert.Equal(ConnectionString, optionsExtension.ConnectionString); } - [ConditionalFact] + [Fact] public void Can_set_CommandTimeout() { var optionsExtension = new FakeRelationalOptionsExtension(); @@ -62,13 +62,13 @@ public void Can_set_CommandTimeout() Assert.Equal(1, optionsExtension.CommandTimeout); } - [ConditionalFact] + [Fact] public void Throws_if_CommandTimeout_out_of_range() => Assert.Equal( RelationalStrings.InvalidCommandTimeout(-1), Assert.Throws(() => new FakeRelationalOptionsExtension().WithCommandTimeout(-1)).Message); - [ConditionalFact] + [Fact] public void Can_set_MaxBatchSize() { var optionsExtension = new FakeRelationalOptionsExtension(); @@ -80,19 +80,19 @@ public void Can_set_MaxBatchSize() Assert.Equal(1, optionsExtension.MaxBatchSize); } - [ConditionalFact] + [Fact] public void Throws_if_MaxBatchSize_out_of_range() => Assert.Equal( RelationalStrings.InvalidMaxBatchSize(-1), Assert.Throws(() => new FakeRelationalOptionsExtension().WithMaxBatchSize(-1)).Message); - [ConditionalFact] + [Fact] public void Throws_if_MinBatchSize_out_of_range() => Assert.Equal( RelationalStrings.InvalidMinBatchSize(-1), Assert.Throws(() => new FakeRelationalOptionsExtension().WithMinBatchSize(-1)).Message); - [ConditionalFact] + [Fact] public void MigrationsAssemblyObject_is_preserved_after_cloning() { var optionsExtension = new FakeRelationalOptionsExtension(); diff --git a/test/EFCore.Relational.Tests/Metadata/Conventions/Internal/TableValuedDbFunctionConventionTest.cs b/test/EFCore.Relational.Tests/Metadata/Conventions/Internal/TableValuedDbFunctionConventionTest.cs index 66bd0ea6c1f..1435ef94da2 100644 --- a/test/EFCore.Relational.Tests/Metadata/Conventions/Internal/TableValuedDbFunctionConventionTest.cs +++ b/test/EFCore.Relational.Tests/Metadata/Conventions/Internal/TableValuedDbFunctionConventionTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.ComponentModel.DataAnnotations.Schema; @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal; public class TableValuedDbFunctionConventionTest { - [ConditionalFact] + [Fact] public void Does_not_configure_return_entity_as_not_mapped() { var modelBuilder = CreateModelBuilder(); @@ -26,7 +26,7 @@ public void Does_not_configure_return_entity_as_not_mapped() Assert.Equal("KeylessEntity", entityType.GetViewOrTableMappings().Single().Table.Name); } - [ConditionalFact] + [Fact] public void Finds_existing_entity_type() { var modelBuilder = CreateModelBuilder(); @@ -44,7 +44,7 @@ public void Finds_existing_entity_type() Assert.Equal("TestTable", entityType.GetViewOrTableMappings().Single().Table.Name); } - [ConditionalFact] + [Fact] public void Throws_when_adding_a_function_returning_an_owned_type() { var modelBuilder = CreateModelBuilder(); @@ -61,7 +61,7 @@ public void Throws_when_adding_a_function_returning_an_owned_type() Assert.Throws(() => Finalize(modelBuilder)).Message); } - [ConditionalFact] + [Fact] public void Throws_when_adding_a_function_returning_an_existing_owned_type() { var modelBuilder = CreateModelBuilder(); @@ -78,7 +78,7 @@ public void Throws_when_adding_a_function_returning_an_existing_owned_type() Assert.Throws(() => Finalize(modelBuilder)).Message); } - [ConditionalFact] + [Fact] public void Throws_when_adding_a_function_returning_a_scalar() { var modelBuilder = CreateModelBuilder(); diff --git a/test/EFCore.Relational.Tests/Metadata/Conventions/SequenceUniquificationConventionTest.cs b/test/EFCore.Relational.Tests/Metadata/Conventions/SequenceUniquificationConventionTest.cs index 14b97a8fad0..50ed062849c 100644 --- a/test/EFCore.Relational.Tests/Metadata/Conventions/SequenceUniquificationConventionTest.cs +++ b/test/EFCore.Relational.Tests/Metadata/Conventions/SequenceUniquificationConventionTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class SequenceUniquificationConventionTest { - [ConditionalFact] + [Fact] public virtual void Sequence_names_are_truncated_and_uniquified() { var modelBuilder = GetModelBuilder(); diff --git a/test/EFCore.Relational.Tests/Metadata/Conventions/SharedTableConventionTest.cs b/test/EFCore.Relational.Tests/Metadata/Conventions/SharedTableConventionTest.cs index 77444652465..6e5f76505fe 100644 --- a/test/EFCore.Relational.Tests/Metadata/Conventions/SharedTableConventionTest.cs +++ b/test/EFCore.Relational.Tests/Metadata/Conventions/SharedTableConventionTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class SharedTableConventionTest { - [ConditionalFact] + [Fact] public virtual void Keys_are_not_uniquified_across_schemas_when_KeysUniqueAcrossSchemas_is_false() { var (modelBuilder, context) = GetModelBuilder(keysUniqueAcrossSchemas: false); @@ -32,7 +32,7 @@ public virtual void Keys_are_not_uniquified_across_schemas_when_KeysUniqueAcross } } - [ConditionalFact] + [Fact] public virtual void Keys_are_uniquified_across_schemas_when_KeysUniqueAcrossSchemas_is_true() { var (modelBuilder, context) = GetModelBuilder(keysUniqueAcrossSchemas: true); diff --git a/test/EFCore.Relational.Tests/Metadata/Conventions/TableSharingConcurrencyTokenConventionTest.cs b/test/EFCore.Relational.Tests/Metadata/Conventions/TableSharingConcurrencyTokenConventionTest.cs index d761baec81d..c40d81656fd 100644 --- a/test/EFCore.Relational.Tests/Metadata/Conventions/TableSharingConcurrencyTokenConventionTest.cs +++ b/test/EFCore.Relational.Tests/Metadata/Conventions/TableSharingConcurrencyTokenConventionTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class TableSharingConcurrencyTokenConventionTest { - [ConditionalFact] + [Fact] public virtual void Missing_concurrency_token_property_is_created_on_the_base_type() { var modelBuilder = GetModelBuilder(); @@ -33,7 +33,7 @@ public virtual void Missing_concurrency_token_property_is_created_on_the_base_ty Assert.Equal(ValueGenerated.OnAddOrUpdate, concurrencyProperty.ValueGenerated); } - [ConditionalFact] + [Fact] public virtual void Missing_concurrency_token_property_is_not_created_for_TPT() { var modelBuilder = GetModelBuilder(); @@ -53,7 +53,7 @@ public virtual void Missing_concurrency_token_property_is_not_created_for_TPT() Assert.DoesNotContain(person.GetProperties(), p => p.IsConcurrencyToken); } - [ConditionalFact] + [Fact] public virtual void Missing_concurrency_token_property_is_created_for_TPT_same_table() { var modelBuilder = GetModelBuilder(); @@ -73,7 +73,7 @@ public virtual void Missing_concurrency_token_property_is_created_for_TPT_same_t Assert.Contains(person.GetProperties(), p => p.IsConcurrencyToken); } - [ConditionalFact] + [Fact] public virtual void Missing_concurrency_token_property_is_not_created_for_TPH() { var modelBuilder = GetModelBuilder(); @@ -90,7 +90,7 @@ public virtual void Missing_concurrency_token_property_is_not_created_for_TPH() Assert.DoesNotContain(person.GetProperties(), p => p.IsConcurrencyToken); } - [ConditionalFact] + [Fact] public virtual void Missing_concurrency_token_properties_are_created_on_the_base() { var modelBuilder = GetModelBuilder(); @@ -131,7 +131,7 @@ public virtual void Missing_concurrency_token_properties_are_created_on_the_base Assert.DoesNotContain(theMovie.GetDeclaredProperties(), p => p.Name == "_TableSharingConcurrencyTokenConvention_Version"); } - [ConditionalFact] + [Fact] public virtual void Missing_concurrency_token_property_is_created_on_the_sharing_type() { var modelBuilder = GetModelBuilder(); @@ -152,7 +152,7 @@ public virtual void Missing_concurrency_token_property_is_created_on_the_sharing Assert.Equal(ValueGenerated.OnAddOrUpdate, concurrencyProperty.ValueGenerated); } - [ConditionalFact] + [Fact] public virtual void Missing_concurrency_token_property_is_created_on_the_sharing_type_with_complex_property() { var modelBuilder = GetModelBuilder(); @@ -180,7 +180,7 @@ public virtual void Missing_concurrency_token_property_is_created_on_the_sharing Assert.All(animalEntityType.GetProperties(), p => Assert.NotEqual(typeof(byte[]), p.ClrType)); } - [ConditionalFact] + [Fact] public virtual void Concurrency_token_property_is_not_created_on_the_sharing_when_on_complex_property() { var modelBuilder = GetModelBuilder(); @@ -203,7 +203,7 @@ public virtual void Concurrency_token_property_is_not_created_on_the_sharing_whe } #pragma warning disable EF8001 // Owned JSON entities are obsolete - [ConditionalFact] + [Fact] public virtual void Missing_concurrency_token_property_is_not_created_for_json_mapped_entity() { var modelBuilder = GetModelBuilder(); diff --git a/test/EFCore.Relational.Tests/Metadata/DbFunctionTest.cs b/test/EFCore.Relational.Tests/Metadata/DbFunctionTest.cs index b696dc755ed..5cdf44a834b 100644 --- a/test/EFCore.Relational.Tests/Metadata/DbFunctionTest.cs +++ b/test/EFCore.Relational.Tests/Metadata/DbFunctionTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Internal; @@ -269,7 +269,7 @@ public static class Inner } } - [ConditionalFact] + [Fact] public virtual void DbFunctions_with_duplicate_names_and_parameters_on_different_types_dont_collide() { var modelBuilder = GetModelBuilder(); @@ -291,7 +291,7 @@ var dup2methodInfo Assert.Equal("Dup2", dbFunc2.Name); } - [ConditionalFact] + [Fact] public virtual void Finds_DbFunctions_on_DbContext() { var model = new MyDerivedContext().Model; @@ -313,7 +313,7 @@ public virtual void Finds_DbFunctions_on_DbContext() } } - [ConditionalFact] + [Fact] public virtual void Non_static_function_on_dbcontext_does_not_throw() { var modelBuilder = GetModelBuilder(); @@ -331,7 +331,7 @@ var methodInfo Assert.Equal(typeof(int), dbFunc.ReturnType); } - [ConditionalFact] + [Fact] public virtual void Non_static_function_on_non_dbcontext_throws() { var modelBuilder = GetModelBuilder(); @@ -345,7 +345,7 @@ var methodInfo Assert.Throws(() => modelBuilder.HasDbFunction(methodInfo)).Message); } - [ConditionalFact] + [Fact] public void Detects_void_return_throws() { var modelBuilder = GetModelBuilder(); @@ -357,7 +357,7 @@ public void Detects_void_return_throws() Assert.Throws(() => modelBuilder.HasDbFunction(methodInfo)).Message); } - [ConditionalFact] + [Fact] public void Adding_method_fluent_only_convention_defaults() { var modelBuilder = GetModelBuilder(); @@ -372,7 +372,7 @@ public void Adding_method_fluent_only_convention_defaults() Assert.Equal(typeof(int), dbFunc.MethodInfo.ReturnType); } - [ConditionalFact] + [Fact] public void Adding_method_fluent_only_convention_defaults_fluent_method_info() { var modelBuilder = GetModelBuilder(); @@ -387,7 +387,7 @@ public void Adding_method_fluent_only_convention_defaults_fluent_method_info() Assert.Equal(typeof(int), dbFunc.MethodInfo.ReturnType); } - [ConditionalFact] + [Fact] public void Adding_method_fluent_only_convention_defaults_non_method_call_throws() { var modelBuilder = GetModelBuilder(); @@ -399,7 +399,7 @@ public void Adding_method_fluent_only_convention_defaults_non_method_call_throws Assert.Throws(() => modelBuilder.HasDbFunction(expression)).Message); } - [ConditionalFact] + [Fact] public void Adding_method_fluent_only_convention_defaults_property_call_throws() { var modelBuilder = GetModelBuilder(); @@ -411,7 +411,7 @@ public void Adding_method_fluent_only_convention_defaults_property_call_throws() Assert.Throws(() => modelBuilder.HasDbFunction(expression)).Message); } - [ConditionalFact] + [Fact] public void Adding_method_fluent_only_with_name_schema() { var modelBuilder = GetModelBuilder(); @@ -429,7 +429,7 @@ public void Adding_method_fluent_only_with_name_schema() Assert.Equal(typeof(int), dbFunc.MethodInfo.ReturnType); } - [ConditionalFact] + [Fact] public void Adding_method_fluent_only_with_builder() { var modelBuilder = GetModelBuilder(); @@ -445,7 +445,7 @@ public void Adding_method_fluent_only_with_builder() Assert.Equal(typeof(int), dbFunc.MethodInfo.ReturnType); } - [ConditionalFact] + [Fact] public void Adding_method_with_attribute_only() { var modelBuilder = GetModelBuilder(); @@ -460,7 +460,7 @@ public void Adding_method_with_attribute_only() Assert.Equal(typeof(int), dbFunc.MethodInfo.ReturnType); } - [ConditionalFact] + [Fact] public void Adding_method_with_attribute_and_fluent_api_configuration_source() { var modelBuilder = GetModelBuilder(); @@ -484,7 +484,7 @@ public void Adding_method_with_attribute_and_fluent_api_configuration_source() Assert.Equal(typeof(int), dbFunc.MethodInfo.ReturnType); } - [ConditionalFact] + [Fact] public void Adding_method_with_attribute_and_fluent_configuration_source() { var modelBuilder = GetModelBuilder(); @@ -507,7 +507,7 @@ public void Adding_method_with_attribute_and_fluent_configuration_source() Assert.Equal(typeof(int), dbFunc.MethodInfo.ReturnType); } - [ConditionalFact] + [Fact] public void Adding_method_with_relational_schema() { var modelBuilder = GetModelBuilder(); @@ -521,7 +521,7 @@ public void Adding_method_with_relational_schema() Assert.Equal("dbo", dbFuncBuilder.Metadata.Schema); } - [ConditionalFact] + [Fact] public void Adding_method_with_store_type() { var modelBuilder = GetModelBuilder(); @@ -533,7 +533,7 @@ public void Adding_method_with_store_type() Assert.Equal("int(8)", dbFuncBuilder.Metadata.StoreType); } - [ConditionalFact] + [Fact] public void Adding_method_with_relational_schema_fluent_overrides() { var modelBuilder = GetModelBuilder(); @@ -547,7 +547,7 @@ public void Adding_method_with_relational_schema_fluent_overrides() Assert.Equal("bar", dbFuncBuilder.Metadata.Schema); } - [ConditionalFact] + [Fact] public void Adding_method_with_relational_schema_attribute_overrides() { var modelBuilder = GetModelBuilder(); @@ -561,7 +561,7 @@ public void Adding_method_with_relational_schema_attribute_overrides() Assert.Equal("bar", dbFuncBuilder.Metadata.Schema); } - [ConditionalFact] + [Fact] public void Changing_default_schema_is_detected_by_dbfunction() { var modelBuilder = GetModelBuilder(); @@ -579,7 +579,7 @@ public void Changing_default_schema_is_detected_by_dbfunction() Assert.Equal("xyz", dbFuncBuilder.Metadata.Schema); } - [ConditionalFact] + [Fact] public void Add_method_generic_not_supported_throws() { var modelBuilder = GetModelBuilder(); @@ -589,7 +589,7 @@ public void Add_method_generic_not_supported_throws() Assert.Throws(() => modelBuilder.HasDbFunction(MethodHmi)).Message); } - [ConditionalFact] + [Fact] public void DbFunction_HasName() { var modelBuilder = GetModelBuilder(); @@ -609,7 +609,7 @@ public void DbFunction_HasName() Assert.NotEqual(funcA.Metadata.Name, funcB.Metadata.Name); } - [ConditionalFact] + [Fact] public void DbFunction_IsBuiltIn() { var modelBuilder = GetModelBuilder(); @@ -625,7 +625,7 @@ public void DbFunction_IsBuiltIn() Assert.True(funcA.Metadata.IsBuiltIn); } - [ConditionalFact] + [Fact] public virtual void Set_empty_function_name_throws() { var modelBuilder = GetModelBuilder(); @@ -635,7 +635,7 @@ public virtual void Set_empty_function_name_throws() Assert.Throws(() => modelBuilder.HasDbFunction(MethodAmi).HasName("")).Message); } - [ConditionalFact] + [Fact] public void DbParameters_load_no_parameters() { var modelBuilder = GetModelBuilder(); @@ -648,7 +648,7 @@ public void DbParameters_load_no_parameters() Assert.Equal(0, dbFunc.Parameters.Count); } - [ConditionalFact] + [Fact] public void DbFunction_IsQueryable() { var modelBuilder = GetModelBuilder(); @@ -671,7 +671,7 @@ var queryableNoParams Assert.Same(entityType, mapping.TypeBase); } - [ConditionalFact] + [Fact] public void IsNullable_throws_for_nonScalar() { var modelBuilder = GetModelBuilder(); @@ -685,7 +685,7 @@ var queryableNoParams Assert.Throws(() => modelBuilder.HasDbFunction(queryableNoParams).IsNullable()).Message); } - [ConditionalFact] + [Fact] public void PropagatesNullability_throws_for_nonScalar() { var modelBuilder = GetModelBuilder(); @@ -701,7 +701,7 @@ public void PropagatesNullability_throws_for_nonScalar() Assert.Throws(() => parameter.PropagatesNullability()).Message); } - [ConditionalFact] + [Fact] public void DbParameters_invalid_parameter_name_throws() { var modelBuilder = GetModelBuilder(); @@ -713,7 +713,7 @@ public void DbParameters_invalid_parameter_name_throws() Assert.Throws(() => dbFuncBuilder.HasParameter("q")).Message); } - [ConditionalFact] + [Fact] public void DbParameters_load_with_parameters() { var modelBuilder = GetModelBuilder(); @@ -732,7 +732,7 @@ public void DbParameters_load_with_parameters() Assert.Equal(typeof(int), dbFunc.Parameters[1].ClrType); } - [ConditionalFact] + [Fact] public void DbParameters_dbfunctionType() { var modelBuilder = GetModelBuilder(); @@ -753,7 +753,7 @@ public void DbParameters_dbfunctionType() Assert.Equal(typeof(int), dbFunc.Parameters[1].ClrType); } - [ConditionalFact] + [Fact] public void DbParameters_name() { var modelBuilder = GetModelBuilder(); @@ -774,7 +774,7 @@ public void DbParameters_name() Assert.Equal(typeof(int), dbFunc.Parameters[1].ClrType); } - [ConditionalFact] + [Fact] public void DbParameters_StoreType() { var modelBuilder = GetModelBuilder(); @@ -796,7 +796,7 @@ public void DbParameters_StoreType() Assert.Equal(typeof(int), dbFunc.Parameters[1].ClrType); } - [ConditionalFact] + [Fact] public void DbFunction_Queryable_custom_translation() { var modelBuilder = GetModelBuilder(); diff --git a/test/EFCore.Relational.Tests/Metadata/RelationalEntityTypeAttributeConventionTest.cs b/test/EFCore.Relational.Tests/Metadata/RelationalEntityTypeAttributeConventionTest.cs index b80fff60894..196339f1faf 100644 --- a/test/EFCore.Relational.Tests/Metadata/RelationalEntityTypeAttributeConventionTest.cs +++ b/test/EFCore.Relational.Tests/Metadata/RelationalEntityTypeAttributeConventionTest.cs @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata; public class RelationalEntityTypeAttributeConventionTest { - [ConditionalFact] + [Fact] public void TableAttribute_sets_table_name_and_schema_with_conventional_builder() { var modelBuilder = CreateConventionalModelBuilder(); @@ -21,7 +21,7 @@ public void TableAttribute_sets_table_name_and_schema_with_conventional_builder( Assert.Equal("MySchema", entityBuilder.Metadata.GetSchema()); } - [ConditionalFact] + [Fact] public void CommentAttribute_sets_table_comment_with_conventional_builder() { var modelBuilder = CreateConventionalModelBuilder(); @@ -31,7 +31,7 @@ public void CommentAttribute_sets_table_comment_with_conventional_builder() Assert.Equal("Test table comment", entityBuilder.Metadata.GetComment()); } - [ConditionalFact] + [Fact] public void TableAttribute_overrides_configuration_from_convention_source() { var entityBuilder = CreateInternalEntityTypeBuilder(); @@ -45,7 +45,7 @@ public void TableAttribute_overrides_configuration_from_convention_source() Assert.Equal("MySchema", entityBuilder.Metadata.GetSchema()); } - [ConditionalFact] + [Fact] public void TableAttribute_does_not_override_configuration_from_explicit_source() { var entityBuilder = CreateInternalEntityTypeBuilder(); @@ -59,7 +59,7 @@ public void TableAttribute_does_not_override_configuration_from_explicit_source( Assert.Equal("ExplicitName", entityBuilder.Metadata.GetSchema()); } - [ConditionalFact] + [Fact] public void CommentAttribute_overrides_configuration_from_convention_source() { var entityBuilder = CreateInternalEntityTypeBuilder(); @@ -71,7 +71,7 @@ public void CommentAttribute_overrides_configuration_from_convention_source() Assert.Equal("Test table comment", entityBuilder.Metadata.GetComment()); } - [ConditionalFact] + [Fact] public void CommentAttribute_does_not_override_configuration_from_explicit_source() { var entityBuilder = CreateInternalEntityTypeBuilder(); diff --git a/test/EFCore.Relational.Tests/Metadata/RelationalModelTest.cs b/test/EFCore.Relational.Tests/Metadata/RelationalModelTest.cs index 0cf21afecd7..c1e33a19c95 100644 --- a/test/EFCore.Relational.Tests/Metadata/RelationalModelTest.cs +++ b/test/EFCore.Relational.Tests/Metadata/RelationalModelTest.cs @@ -12,7 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata { public class RelationalModelTest { - [ConditionalFact] + [Fact] public void GetRelationalModel_throws_if_convention_has_not_run() { var modelBuilder = CreateConventionModelBuilder(); @@ -22,7 +22,7 @@ public void GetRelationalModel_throws_if_convention_has_not_run() Assert.Throws(() => ((IModel)modelBuilder.Model).GetRelationalModel()).Message); } - [ConditionalTheory] + [Theory] [InlineData(DeleteBehavior.Cascade, ReferentialAction.Cascade)] [InlineData(DeleteBehavior.SetNull, ReferentialAction.SetNull)] [InlineData(DeleteBehavior.SetDefault, ReferentialAction.SetDefault)] @@ -37,7 +37,7 @@ public void ToReferentialAction_maps_DeleteBehavior_correctly(DeleteBehavior del Assert.Equal(expected, RelationalModel.ToReferentialAction(deleteBehavior)); } - [ConditionalFact] + [Fact] public void Both_design_and_runtime_RelationalModels_are_built_for_external_model() { var modelBuilder = CreateConventionModelBuilder(); @@ -64,7 +64,7 @@ public void Both_design_and_runtime_RelationalModels_are_built_for_external_mode Assert.Empty(((Table)runtimeRelationalModel.Tables.Single()).CheckConstraints); } - [ConditionalTheory, InlineData(true, Mapping.TPH), InlineData(true, Mapping.TPT), InlineData(true, Mapping.TPC), + [Theory, InlineData(true, Mapping.TPH), InlineData(true, Mapping.TPT), InlineData(true, Mapping.TPC), InlineData(false, Mapping.TPH), InlineData(false, Mapping.TPT), InlineData(false, Mapping.TPC)] public void Can_use_relational_model_with_tables(bool useExplicitMapping, Mapping mapping) { @@ -85,7 +85,7 @@ public void Can_use_relational_model_with_tables(bool useExplicitMapping, Mappin AssertTables(model, mapping); } - [ConditionalTheory, InlineData(Mapping.TPH), InlineData(Mapping.TPT), InlineData(Mapping.TPC)] + [Theory, InlineData(Mapping.TPH), InlineData(Mapping.TPT), InlineData(Mapping.TPC)] public void Can_use_relational_model_with_views(Mapping mapping) { var model = CreateTestModel(mapToTables: false, mapToViews: true, mapping: mapping); @@ -105,7 +105,7 @@ public void Can_use_relational_model_with_views(Mapping mapping) AssertViews(model, mapping); } - [ConditionalTheory, InlineData(true, Mapping.TPH), InlineData(true, Mapping.TPT), InlineData(true, Mapping.TPC), + [Theory, InlineData(true, Mapping.TPH), InlineData(true, Mapping.TPT), InlineData(true, Mapping.TPC), InlineData(false, Mapping.TPH), InlineData(false, Mapping.TPT), InlineData(false, Mapping.TPC)] public void Can_use_relational_model_with_sprocs(bool mapToTables, Mapping mapping) { @@ -136,7 +136,7 @@ public void Can_use_relational_model_with_sprocs(bool mapToTables, Mapping mappi AssertSprocs(model, mapping, mappedToTables: true); } - [ConditionalTheory(Skip = "#28703"), InlineData(Mapping.TPH), InlineData(Mapping.TPT), InlineData(Mapping.TPC)] + [Theory(Skip = "#28703"), InlineData(Mapping.TPH), InlineData(Mapping.TPT), InlineData(Mapping.TPC)] public void Can_use_relational_model_with_sprocs_and_views(Mapping mapping) { var model = CreateTestModel(mapToViews: true, mapToSprocs: true, mapping: mapping); @@ -164,7 +164,7 @@ public void Can_use_relational_model_with_sprocs_and_views(Mapping mapping) AssertSprocs(model, mapping); } - [ConditionalTheory, InlineData(Mapping.TPH), InlineData(Mapping.TPT), InlineData(Mapping.TPC)] + [Theory, InlineData(Mapping.TPH), InlineData(Mapping.TPT), InlineData(Mapping.TPC)] public void Can_use_relational_model_with_tables_and_views(Mapping mapping) { var model = CreateTestModel(mapToTables: true, mapToViews: true, mapping: mapping); @@ -2414,7 +2414,7 @@ private IRelationalModel CreateTestModel( return Finalize(modelBuilder); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void Can_use_relational_model_with_entity_splitting_and_table_splitting_on_both_fragments(bool mapToViews) { var modelBuilder = CreateConventionModelBuilder(); @@ -2603,7 +2603,7 @@ public void Can_use_relational_model_with_entity_splitting_and_table_splitting_o } } - [ConditionalFact] + [Fact] public void Can_use_relational_model_with_entity_splitting_and_table_splitting_on_main_fragments() { var modelBuilder = CreateConventionModelBuilder(); @@ -2723,7 +2723,7 @@ public void Can_use_relational_model_with_entity_splitting_and_table_splitting_o Assert.True(specialtyFk.IsRequiredDependent); } - [ConditionalFact] + [Fact] public void Can_use_relational_model_with_entity_splitting_and_table_splitting_on_leaf_and_main_fragments() { var modelBuilder = CreateConventionModelBuilder(); @@ -2856,7 +2856,7 @@ public void Can_use_relational_model_with_entity_splitting_and_table_splitting_o Assert.Same(detailsType, detailsFk.DeclaringEntityType); } - [ConditionalFact] + [Fact] public void Can_use_relational_model_with_keyless_TPH() { var modelBuilder = CreateConventionModelBuilder(); @@ -2902,7 +2902,7 @@ public void Can_use_relational_model_with_keyless_TPH() Assert.True(specialtyColumn.IsNullable); } - [ConditionalFact] + [Fact] public void Can_use_relational_model_with_tables_in_different_schemas() { var modelBuilder = CreateConventionModelBuilder(); @@ -2926,7 +2926,7 @@ public void Can_use_relational_model_with_tables_in_different_schemas() Assert.Equal(3, orderDetailsTable.ReferencingForeignKeyConstraints.Count()); } - [ConditionalFact] + [Fact] public void Can_use_relational_model_with_SQL_queries() { var modelBuilder = CreateConventionModelBuilder(); @@ -3000,7 +3000,7 @@ private static IQueryable GetOrdersForCustomer(int id) private static IQueryable GetOrdersForCustomer(string name) => throw new NotImplementedException(); - [ConditionalFact] + [Fact] public void Complex_property_container_column_type_is_used_in_relational_model() { var modelBuilder = CreateConventionModelBuilder(); @@ -3028,7 +3028,7 @@ public void Complex_property_container_column_type_is_used_in_relational_model() Assert.Equal("some_json_mapping", column.StoreType); } - [ConditionalFact] + [Fact] public void Complex_collection_container_column_type_is_used_in_relational_model() { var modelBuilder = CreateConventionModelBuilder(); @@ -3056,7 +3056,7 @@ public void Complex_collection_container_column_type_is_used_in_relational_model Assert.Equal("some_json_mapping", column.StoreType); } - [ConditionalFact] + [Fact] public void Complex_property_gets_default_container_column_type_when_not_set_explicitly() { var modelBuilder = CreateConventionModelBuilder(); @@ -3083,7 +3083,7 @@ public void Complex_property_gets_default_container_column_type_when_not_set_exp Assert.Equal("some_json_mapping", column.StoreType); } - [ConditionalFact] + [Fact] public void Complex_collection_gets_default_container_column_type_when_not_set_explicitly() { var modelBuilder = CreateConventionModelBuilder(); @@ -3110,7 +3110,7 @@ public void Complex_collection_gets_default_container_column_type_when_not_set_e Assert.Equal("some_json_mapping", column.StoreType); } - [ConditionalFact] + [Fact] public void Can_use_relational_model_with_functions() { var modelBuilder = CreateConventionModelBuilder(); @@ -3229,7 +3229,7 @@ public void Can_use_relational_model_with_functions() Assert.Equal(tvfDbFunction2.Parameters.Single().Name, tvfFunction2.Parameters.Single().DbFunctionParameters.Single().Name); } - [ConditionalFact] + [Fact] public void Default_mappings_does_not_share_tableBase() { var modelBuilder = CreateConventionModelBuilder(); @@ -3256,7 +3256,7 @@ public void Default_mappings_does_not_share_tableBase() Assert.False(defaultMapping2.Table.Columns.Single().IsNullable); } - [ConditionalFact] + [Fact] public void Container_column_type_is_used_for_complex_property_json_column() { var modelBuilder = CreateConventionModelBuilder(); @@ -3279,7 +3279,7 @@ public void Container_column_type_is_used_for_complex_property_json_column() Assert.IsType(jsonColumn); } - [ConditionalFact] + [Fact] public void Container_column_type_is_used_for_complex_collection_json_column() { var modelBuilder = CreateConventionModelBuilder(); @@ -3302,7 +3302,7 @@ public void Container_column_type_is_used_for_complex_collection_json_column() Assert.IsType(jsonColumn); } - [ConditionalFact] + [Fact] public void Complex_property_json_column_is_nullable_in_TPH_hierarchy() { var modelBuilder = CreateConventionModelBuilder(); @@ -3322,7 +3322,7 @@ public void Complex_property_json_column_is_nullable_in_TPH_hierarchy() Assert.IsType(jsonColumn); } - [ConditionalFact] + [Fact] public void Json_element_tree_is_built_for_owned_entity_json_columns() { var modelBuilder = CreateConventionModelBuilder(); @@ -3430,7 +3430,7 @@ public void Json_element_tree_is_built_for_owned_entity_json_columns() Assert.All(datePropertyMappings, m => Assert.Equal("Date", m.Element.PropertyName)); } - [ConditionalFact] + [Fact] public void Json_element_tree_is_merged_for_existing_json_columns() { var modelBuilder = CreateConventionModelBuilder(); @@ -3461,7 +3461,7 @@ public void Json_element_tree_is_merged_for_existing_json_columns() Assert.All(numberMappings, m => Assert.Equal("Number", m.Element.PropertyName)); } - [ConditionalFact] + [Fact] public void Json_element_tree_is_built_for_complex_property_json_columns() { var modelBuilder = CreateConventionModelBuilder(); @@ -3525,7 +3525,7 @@ public void Json_element_tree_is_built_for_complex_property_json_columns() Assert.Same((RelationalTypeMapping)valueProperty.GetTypeMapping(), valueMappings[0].Element.StoreTypeMapping); } - [ConditionalFact] + [Fact] public void Json_element_tree_is_built_for_primitive_collection_columns() { var modelBuilder = CreateConventionModelBuilder(); @@ -3603,7 +3603,7 @@ static void AssertPrimitiveCollectionJsonMapping( } } - [ConditionalFact] + [Fact] public void Can_use_relational_model_with_functions_and_json_owned_types() { var modelBuilder = CreateConventionModelBuilder(); diff --git a/test/EFCore.Relational.Tests/Metadata/RelationalPropertyAttributeConventionTest.cs b/test/EFCore.Relational.Tests/Metadata/RelationalPropertyAttributeConventionTest.cs index dabb2140634..54c2a875e00 100644 --- a/test/EFCore.Relational.Tests/Metadata/RelationalPropertyAttributeConventionTest.cs +++ b/test/EFCore.Relational.Tests/Metadata/RelationalPropertyAttributeConventionTest.cs @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata; public class RelationalPropertyAttributeConventionTest { - [ConditionalFact] + [Fact] public void ColumnAttribute_sets_column_name_and_type_with_conventional_builder() { var modelBuilder = CreateConventionalModelBuilder(); @@ -22,7 +22,7 @@ public void ColumnAttribute_sets_column_name_and_type_with_conventional_builder( Assert.Equal(1, entityBuilder.Property(e => e.Name).Metadata.GetColumnOrder()); } - [ConditionalFact] + [Fact] public void CommentAttribute_on_property_sets_column_comment_with_conventional_builder() { var modelBuilder = CreateConventionalModelBuilder(); @@ -32,7 +32,7 @@ public void CommentAttribute_on_property_sets_column_comment_with_conventional_b Assert.Equal("Test column comment", entityBuilder.Property(e => e.Name).Metadata.GetComment()); } - [ConditionalFact] + [Fact] public void ColumnAttribute_on_field_sets_column_name_and_type_with_conventional_builder() { var modelBuilder = CreateConventionalModelBuilder(); @@ -44,7 +44,7 @@ public void ColumnAttribute_on_field_sets_column_name_and_type_with_conventional Assert.Equal(1, entityBuilder.Property(nameof(F.Name)).Metadata.GetColumnOrder()); } - [ConditionalFact] + [Fact] public void CommentAttribute_on_field_sets_column_comment_with_conventional_builder() { var modelBuilder = CreateConventionalModelBuilder(); @@ -54,7 +54,7 @@ public void CommentAttribute_on_field_sets_column_comment_with_conventional_buil Assert.Equal("Test column comment", entityBuilder.Property(nameof(F.Name)).Metadata.GetComment()); } - [ConditionalFact] + [Fact] public void ColumnAttribute_overrides_configuration_from_convention_source() { var entityBuilder = CreateInternalEntityTypeBuilder(); @@ -74,7 +74,7 @@ public void ColumnAttribute_overrides_configuration_from_convention_source() Assert.Equal("Test column comment", propertyBuilder.Metadata.GetComment()); } - [ConditionalFact] + [Fact] public void CommentAttribute_overrides_configuration_from_convention_source() { var entityBuilder = CreateInternalEntityTypeBuilder(); @@ -88,7 +88,7 @@ public void CommentAttribute_overrides_configuration_from_convention_source() Assert.Equal("Test column comment", propertyBuilder.Metadata.GetComment()); } - [ConditionalFact] + [Fact] public void ColumnAttribute_does_not_override_configuration_from_explicit_source() { var entityBuilder = CreateInternalEntityTypeBuilder(); @@ -108,7 +108,7 @@ public void ColumnAttribute_does_not_override_configuration_from_explicit_source Assert.Equal("ExplicitComment", propertyBuilder.Metadata.GetComment()); } - [ConditionalFact] + [Fact] public void CommentAttribute_does_not_override_configuration_from_explicit_source() { var entityBuilder = CreateInternalEntityTypeBuilder(); diff --git a/test/EFCore.Relational.Tests/Metadata/SequenceTest.cs b/test/EFCore.Relational.Tests/Metadata/SequenceTest.cs index e78d75c0a56..74a9f66c44a 100644 --- a/test/EFCore.Relational.Tests/Metadata/SequenceTest.cs +++ b/test/EFCore.Relational.Tests/Metadata/SequenceTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata; public class SequenceTest { - [ConditionalFact] + [Fact] public void Can_be_created_with_default_values() { IMutableModel model = new Model(); @@ -38,7 +38,7 @@ public void Can_be_created_with_default_values() Assert.Null(conventionSequence.GetIsCyclicConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_be_created_with_specified_values() { IMutableModel model = new Model(); @@ -72,7 +72,7 @@ public void Can_be_created_with_specified_values() Assert.Equal(ConfigurationSource.Explicit, conventionSequence.GetIsCyclicConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_only_be_created_for_byte_short_int_and_long_decimal() { var sequence = ((IMutableModel)new Model()).AddSequence("Foo"); diff --git a/test/EFCore.Relational.Tests/Metadata/TriggerTest.cs b/test/EFCore.Relational.Tests/Metadata/TriggerTest.cs index d66c23596b6..19bd8eaf61b 100644 --- a/test/EFCore.Relational.Tests/Metadata/TriggerTest.cs +++ b/test/EFCore.Relational.Tests/Metadata/TriggerTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata; public class TriggerTest { - [ConditionalFact] + [Fact] public void Can_create_trigger_for_default_table() { var modelBuilder = CreateConventionModelBuilder(); @@ -25,7 +25,7 @@ public void Can_create_trigger_for_default_table() Assert.Equal(ConfigurationSource.Explicit, ((IConventionTrigger)trigger).GetConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_create_trigger_for_specific_table() { var modelBuilder = CreateConventionModelBuilder(); @@ -45,7 +45,7 @@ public void Can_create_trigger_for_specific_table() Assert.Equal(ConfigurationSource.Explicit, ((IConventionTrigger)trigger).GetConfigurationSource()); } - [ConditionalFact] + [Fact] public void AddTrigger_with_duplicate_names_throws_exception() { var entityTypeBuilder = CreateConventionModelBuilder().Entity(); @@ -58,7 +58,7 @@ public void AddTrigger_with_duplicate_names_throws_exception() Assert.Throws(() => entityType.AddTrigger("SomeTrigger")).Message); } - [ConditionalFact] + [Fact] public void RemoveTrigger_returns_trigger_when_trigger_exists() { var entityTypeBuilder = CreateConventionModelBuilder().Entity(); @@ -70,7 +70,7 @@ public void RemoveTrigger_returns_trigger_when_trigger_exists() Assert.Same(trigger, entityType.RemoveTrigger("SomeTrigger")); } - [ConditionalFact] + [Fact] public void RemoveTrigger_returns_null_when_trigger_is_missing() { var entityTypeBuilder = CreateConventionModelBuilder().Entity(); diff --git a/test/EFCore.Relational.Tests/Migrations/Internal/MigrationsAssemblyTest.cs b/test/EFCore.Relational.Tests/Migrations/Internal/MigrationsAssemblyTest.cs index ad7c5b1ee91..da5f98e9f9c 100644 --- a/test/EFCore.Relational.Tests/Migrations/Internal/MigrationsAssemblyTest.cs +++ b/test/EFCore.Relational.Tests/Migrations/Internal/MigrationsAssemblyTest.cs @@ -9,30 +9,30 @@ namespace Microsoft.EntityFrameworkCore.Migrations.Internal; public class MigrationsAssemblyTest { - [ConditionalFact] + [Fact] public void FindMigrationId_returns_first_candidate_when_id() => Assert.Equal( "20150302103100_Flutter", CreateMigrationsAssembly().FindMigrationId("20150302103100_FLUTTER")); - [ConditionalFact] + [Fact] public void FindMigrationId_returns_first_candidate_when_name() => Assert.Equal( "20150302103100_Flutter", CreateMigrationsAssembly().FindMigrationId("FLUTTER")); - [ConditionalFact] + [Fact] public void FindMigrationId_returns_null_when_no_match() => Assert.Null(CreateMigrationsAssembly().FindMigrationId("Spike")); - [ConditionalFact] + [Fact] public void GetMigrationId_throws_when_no_match() => Assert.Equal( RelationalStrings.MigrationNotFound("Spike"), Assert.Throws(() => CreateMigrationsAssembly().GetMigrationId("Spike")) .Message); - [ConditionalFact] + [Fact] public void Migrations_ignores_the_unattributed() { var logger = new TestLogger { EnabledFor = LogLevel.Warning }; @@ -85,7 +85,7 @@ protected override void Up(MigrationBuilder migrationBuilder) } } - [ConditionalFact] + [Fact] public void Migrations_handles_inherited_DbContextAttribute() { var assembly = CreateInheritedMigrationsAssembly(); @@ -97,7 +97,7 @@ public void Migrations_handles_inherited_DbContextAttribute() Assert.Contains(result, t => t.Key == "20150302103200_InheritedMigration"); } - [ConditionalFact] + [Fact] public void Migrations_finds_attribute_on_base_class_only() { var assembly = CreateMigrationsAssemblyWithAttributeOnBaseOnly(); diff --git a/test/EFCore.Relational.Tests/Migrations/Internal/MigrationsIdGeneratorTest.cs b/test/EFCore.Relational.Tests/Migrations/Internal/MigrationsIdGeneratorTest.cs index 38b48db9c3d..e30e367ed72 100644 --- a/test/EFCore.Relational.Tests/Migrations/Internal/MigrationsIdGeneratorTest.cs +++ b/test/EFCore.Relational.Tests/Migrations/Internal/MigrationsIdGeneratorTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Migrations.Internal; public class MigrationsIdGeneratorTest { - [ConditionalFact] + [Fact] public void CreateId_works() { var id = new MigrationsIdGenerator().GenerateId("Twilight"); @@ -16,7 +16,7 @@ public void CreateId_works() Assert.Matches("[0-9]{14}_Twilight", id); } - [ConditionalFact] + [Fact] public void CreateId_always_increments_timestamp() { var generator = new MigrationsIdGenerator(); @@ -27,7 +27,7 @@ public void CreateId_always_increments_timestamp() Assert.NotEqual(id1, id2); } - [ConditionalFact, UseCulture("fa")] + [Fact, UseCulture("fa")] public void CreateId_uses_invariant_calendar() { var invariantYear = CultureInfo.InvariantCulture.Calendar.GetYear(DateTime.Today).ToString(); @@ -37,7 +37,7 @@ public void CreateId_uses_invariant_calendar() Assert.StartsWith(invariantYear, id); } - [ConditionalFact] + [Fact] public void GetName_works() { var name = new MigrationsIdGenerator().GetName("20150302100620_Apple"); @@ -45,7 +45,7 @@ public void GetName_works() Assert.Equal("Apple", name); } - [ConditionalFact] + [Fact] public void IsValidId_returns_true_when_valid() { var valid = new MigrationsIdGenerator().IsValidId("20150302100930_Rarity"); @@ -53,7 +53,7 @@ public void IsValidId_returns_true_when_valid() Assert.True(valid); } - [ConditionalFact] + [Fact] public void IsValidId_returns_false_when_invalid() { var valid = new MigrationsIdGenerator().IsValidId("Rarity"); @@ -61,7 +61,7 @@ public void IsValidId_returns_false_when_invalid() Assert.False(valid); } - [ConditionalFact] + [Fact] public void IsValidId_returns_false_when_supplied_format_is_too_long() { var valid = new MigrationsIdGenerator().IsValidId("123456789012345_InitialCreate"); @@ -69,7 +69,7 @@ public void IsValidId_returns_false_when_supplied_format_is_too_long() Assert.False(valid); } - [ConditionalFact] + [Fact] public void IsValidId_returns_false_when_supplied_format_is_too_short() { var valid = new MigrationsIdGenerator().IsValidId("1234567890123_InitialCreate"); diff --git a/test/EFCore.Relational.Tests/Migrations/Internal/MigrationsModelDifferTest.cs b/test/EFCore.Relational.Tests/Migrations/Internal/MigrationsModelDifferTest.cs index 758128b0789..f3fd9369195 100644 --- a/test/EFCore.Relational.Tests/Migrations/Internal/MigrationsModelDifferTest.cs +++ b/test/EFCore.Relational.Tests/Migrations/Internal/MigrationsModelDifferTest.cs @@ -11,14 +11,14 @@ namespace Microsoft.EntityFrameworkCore.Migrations.Internal; public class MigrationsModelDifferTest : MigrationsModelDifferTestBase { - [ConditionalFact] + [Fact] public void Model_differ_does_not_detect_views() => Execute( _ => { }, modelBuilder => modelBuilder.Entity().HasNoKey().ToView("Vista", "dbo"), result => Assert.Equal(0, result.Count)); - [ConditionalFact] + [Fact] public void Model_differ_does_not_detect_views_with_owned_types() => Execute( _ => { }, @@ -29,7 +29,7 @@ public void Model_differ_does_not_detect_views_with_owned_types() }), upOperations => Assert.Equal(0, upOperations.Count)); - [ConditionalFact] + [Fact] public void Model_differ_does_not_detect_views_with_weak_types() => Execute( _ => { }, @@ -41,14 +41,14 @@ public void Model_differ_does_not_detect_views_with_weak_types() }), upOperations => Assert.Equal(0, upOperations.Count)); - [ConditionalFact] + [Fact] public void Model_differ_does_not_detect_queries() => Execute( _ => { }, modelBuilder => modelBuilder.Entity().HasNoKey().ToSqlQuery("SELECT * FROM Vista"), result => Assert.Empty(result)); - [ConditionalFact] + [Fact] public void Model_differ_detects_adding_store_type() => Execute( _ => { }, @@ -83,7 +83,7 @@ public void Model_differ_detects_adding_store_type() Assert.Same(typeof(short), m.ClrType); })); - [ConditionalFact] + [Fact] public void Model_differ_detects_adding_value_converter() => Execute( _ => { }, @@ -118,7 +118,7 @@ public void Model_differ_detects_adding_value_converter() Assert.Same(typeof(short), m.ClrType); })); - [ConditionalFact] + [Fact] public void Model_differ_detects_changing_store_type_with_conversions() => Execute( _ => { }, @@ -153,7 +153,7 @@ public void Model_differ_detects_changing_store_type_with_conversions() Assert.Same(typeof(int), m.ClrType); })); - [ConditionalFact] + [Fact] public void Model_differ_breaks_foreign_key_cycles_in_create_table_operations() => Execute( _ => { }, @@ -193,7 +193,7 @@ public void Model_differ_breaks_foreign_key_cycles_in_create_table_operations() Assert.Equal(createFirstTableOperation.Name, addFkOperation.Table); }); - [ConditionalFact] + [Fact] public void Model_differ_breaks_foreign_key_cycles_in_drop_table_operations() => Execute( modelBuilder => @@ -226,7 +226,7 @@ public void Model_differ_breaks_foreign_key_cycles_in_drop_table_operations() o => Assert.IsType(o)); }); - [ConditionalFact] + [Fact] public void Model_differ_breaks_double_foreign_key_cycles_in_create_table_operations() => Execute( _ => { }, @@ -295,7 +295,7 @@ public void Model_differ_breaks_double_foreign_key_cycles_in_create_table_operat + result.OfType().Count()); }); - [ConditionalFact] + [Fact] public void Model_differ_breaks_multiple_foreign_key_cycles_in_create_table_operations() => Execute( _ => { }, @@ -379,7 +379,7 @@ private class Group public ICollection UserReaderGroups { get; set; } } - [ConditionalFact] + [Fact] public void Create_table() => Execute( _ => { }, @@ -447,7 +447,7 @@ private class CreateTableEntity2B public int C { get; set; } } - [ConditionalFact] + [Fact] public void Create_table_columns_use_property_order() => Execute( _ => { }, @@ -463,7 +463,7 @@ public void Create_table_columns_use_property_order() x => Assert.Equal("A", x.Name)); }); - [ConditionalFact] + [Fact] public void Create_table_columns_use_dependent_to_principal_and_key_order_when_shadow_fk() => Execute( _ => { }, @@ -491,7 +491,7 @@ public void Create_table_columns_use_dependent_to_principal_and_key_order_when_s Assert.IsType(operations[2]); }); - [ConditionalFact] + [Fact] public void Create_table_columns_uses_defining_navigation_order() => Execute( _ => { }, @@ -508,7 +508,7 @@ public void Create_table_columns_uses_defining_navigation_order() x => Assert.Equal("A", x.Name)); }); - [ConditionalFact] + [Fact] public void Create_table_columns_uses_principal_to_dependent_order_when_splitting() => Execute( _ => { }, @@ -526,7 +526,7 @@ public void Create_table_columns_uses_principal_to_dependent_order_when_splittin x => Assert.Equal("A", x.Name)); }); - [ConditionalFact] + [Fact] public void Create_table_columns_groups_and_sorts_type_hierarchy() => Execute( _ => { }, @@ -549,7 +549,7 @@ public void Create_table_columns_groups_and_sorts_type_hierarchy() x => Assert.Equal("C", x.Name)); }); - [ConditionalFact] + [Fact] public void Create_table_columns_handles_aliased_columns() => Execute( _ => { }, @@ -568,7 +568,7 @@ public void Create_table_columns_handles_aliased_columns() x => Assert.Equal("B", x.Name)); }); - [ConditionalFact] + [Fact] public void Create_table_columns_handles_shadow_defining_navigation() => Execute( _ => { }, @@ -588,7 +588,7 @@ public void Create_table_columns_handles_shadow_defining_navigation() x => Assert.Equal("Y_A", x.Name)); }); - [ConditionalFact] + [Fact] public void Create_table_columns_handles_shadow_principal_to_dependent_when_splitting() => Execute( _ => { }, @@ -613,7 +613,7 @@ public void Create_table_columns_handles_shadow_principal_to_dependent_when_spli x => Assert.Equal("A", x.Name)); }); - [ConditionalFact] + [Fact] public void Create_table_columns_handles_no_principal_to_dependent_when_splitting() => Execute( _ => { }, @@ -638,7 +638,7 @@ public void Create_table_columns_handles_no_principal_to_dependent_when_splittin x => Assert.Equal("A", x.Name)); }); - [ConditionalFact] + [Fact] public void Create_table_columns_handles_shadow_dependent_to_principal() => Execute( _ => { }, @@ -666,7 +666,7 @@ public void Create_table_columns_handles_shadow_dependent_to_principal() Assert.IsType(operations[2]); }); - [ConditionalFact] + [Fact] public void Create_table_columns_handles_no_dependent_to_principal() => Execute( _ => { }, @@ -694,7 +694,7 @@ public void Create_table_columns_handles_no_dependent_to_principal() Assert.IsType(operations[2]); }); - [ConditionalFact] + [Fact] public void Create_table_columns_handles_self_referencing_one_to_many() => Execute( _ => { }, @@ -719,7 +719,7 @@ public void Create_table_columns_handles_self_referencing_one_to_many() Assert.IsType(operations[1]); }); - [ConditionalFact] + [Fact] public void Create_table_columns_handles_self_referencing_one_to_one() => Execute( _ => { }, @@ -744,7 +744,7 @@ public void Create_table_columns_handles_self_referencing_one_to_one() Assert.IsType(operations[1]); }); - [ConditionalFact] + [Fact] public void Create_table_columns_use_explicit_order() => Execute( _ => { }, @@ -769,7 +769,7 @@ public void Create_table_columns_use_explicit_order() x => Assert.Equal("Id", x.Name)); }); - [ConditionalFact] + [Fact] public void Create_FK_to_excluded_principal() => Execute( common => common @@ -834,7 +834,7 @@ public void Create_FK_to_excluded_principal() Assert.Equal("XId", operation.Name); })); - [ConditionalFact] + [Fact] public void Create_table_no_key() => Execute( _ => { }, @@ -856,7 +856,7 @@ public void Create_table_no_key() Assert.Equal("Anonymous", operation.Name); }); - [ConditionalFact] + [Fact] public void Create_table_from_view() => Execute( _ => { }, @@ -877,7 +877,7 @@ public void Create_table_from_view() Assert.Equal("Material", operation.Name); }); - [ConditionalFact] + [Fact] public void Alter_table_comment() => Execute( source => source.Entity( @@ -905,7 +905,7 @@ public void Alter_table_comment() Assert.Equal("Old comment", operation.OldTable.Comment); }); - [ConditionalFact] + [Fact] public void Rename_table() => Execute( source => source.Entity("Cat").ToTable("Cat", "dbo").Property("Id"), @@ -928,7 +928,7 @@ public void Rename_table() Assert.Equal("dbo", operation.NewSchema); }); - [ConditionalFact] + [Fact] public void Rename_table_with_foreign_keys() => Execute( modelBuilder => @@ -1066,7 +1066,7 @@ public void Rename_table_with_foreign_keys() v => Assert.Equal("Entity3Id", v)); }), skipSourceConventions: true); - [ConditionalFact] + [Fact] public void Move_table() => Execute( source => source.Entity("Person").ToTable("People", "dbo").Property("Id"), @@ -1085,7 +1085,7 @@ public void Move_table() Assert.Equal("public", renameTableOperation.NewSchema); }); - [ConditionalFact] + [Fact] public void Rename_entity_type() => Execute( source => source.Entity( @@ -1105,7 +1105,7 @@ public void Rename_entity_type() }), Assert.Empty); - [ConditionalFact] + [Fact] public void Create_shared_table_with_two_types() => Execute( _ => { }, @@ -1150,7 +1150,7 @@ public void Create_shared_table_with_two_types() Assert.Equal("Animal", dropTableOperation.Name); }); - [ConditionalFact] + [Fact] public void Add_type_to_shared_table() => Execute( modelBuilder => @@ -1192,7 +1192,7 @@ public void Add_type_to_shared_table() Assert.Equal("BoneId", alterTableOperation.Name); }); - [ConditionalFact] + [Fact] public void Move_type_from_one_shared_table_to_another_with_seed_data() => Execute( modelBuilder => @@ -1302,7 +1302,7 @@ public void Move_type_from_one_shared_table_to_another_with_seed_data() v => Assert.Equal("HandlerId", v)); })); - [ConditionalFact] + [Fact] public void Can_split_entity_in_two_using_shared_table_with_seed_data() => Execute( _ => { }, @@ -1351,7 +1351,7 @@ public void Can_split_entity_in_two_using_shared_table_with_seed_data() upOps => Assert.Equal(0, upOps.Count), downOps => Assert.Equal(0, downOps.Count)); - [ConditionalFact] + [Fact] public void Can_add_tables_with_entity_splitting_with_seed_data() => Execute( _ => { }, @@ -1437,7 +1437,7 @@ public void Can_add_tables_with_entity_splitting_with_seed_data() Assert.Equal("Animal", m.Name); })); - [ConditionalFact] + [Fact] public void Add_owned_types() => Execute( _ => { }, @@ -1468,7 +1468,7 @@ public void Add_owned_types() Assert.Equal("Order", m.Name); })); - [ConditionalFact] + [Fact] public void Add_owned_type_with_seed_data() => Execute( modelBuilder => @@ -1589,7 +1589,7 @@ public void Add_owned_type_with_seed_data() Assert.Equal("Order", m.Table); })); - [ConditionalFact] + [Fact] public void Rename_entity_type_with_seed_data() => Execute( _ => { }, @@ -1617,7 +1617,7 @@ public void Rename_entity_type_with_seed_data() Assert.Empty, Assert.Empty); - [ConditionalFact] + [Fact] public void Add_column_with_computed_value() => Execute( source => source.Entity("Dragon").ToTable("Dragon", "dbo").Property("Id"), @@ -1647,7 +1647,7 @@ public void Add_column_with_computed_value() Assert.Equal("CreateDragonName()", operation.ComputedColumnSql); }); - [ConditionalFact] // Issue #4501 + [Fact] // Issue #4501 public void Add_column_ValueGeneratedOnAddOrUpdate_with_default_value_sql() => Execute( source => source.Entity("Dragon").ToTable("Dragon", "dbo").Property("Id"), @@ -1674,7 +1674,7 @@ public void Add_column_ValueGeneratedOnAddOrUpdate_with_default_value_sql() Assert.Equal("GETDATE()", operation.DefaultValueSql); }); - [ConditionalFact] + [Fact] public void Add_column_ValueGeneratedOnUpdate_with_default_value_sql() => Execute( source => source.Entity("Dragon").ToTable("Dragon", "dbo").Property("Id"), @@ -1701,7 +1701,7 @@ public void Add_column_ValueGeneratedOnUpdate_with_default_value_sql() Assert.Equal("GETDATE()", operation.DefaultValueSql); }); - [ConditionalTheory, InlineData(typeof(int), 0), InlineData(typeof(int?), 0), InlineData(typeof(string), ""), + [Theory, InlineData(typeof(int), 0), InlineData(typeof(int?), 0), InlineData(typeof(string), ""), InlineData(typeof(byte[]), new byte[0]), InlineData(typeof(SomeEnum), 0), InlineData(typeof(SomeEnum?), 0)] public void Add_column_not_null(Type type, object expectedDefault) => Execute( @@ -1723,7 +1723,7 @@ public void Add_column_not_null(Type type, object expectedDefault) Assert.Equal(expectedDefault, operation.DefaultValue); }); - [ConditionalFact] + [Fact] public void Add_property_converted_to_nullable() => Execute( source => source.Entity("Capybara").Property("Id"), @@ -1741,7 +1741,7 @@ public void Add_property_converted_to_nullable() Assert.Equal(typeof(int), operation.ClrType); }); - [ConditionalFact] + [Fact] public void Add_column_with_seed_data() => Execute( _ => { }, @@ -1810,7 +1810,7 @@ public void Add_column_with_seed_data() Assert.Equal("Name", operation.Name); })); - [ConditionalFact] + [Fact] public void Throws_on_null_keys_in_seed_data() => Assert.Equal( RelationalStrings.NullKeyValue( @@ -1831,7 +1831,7 @@ public void Throws_on_null_keys_in_seed_data() upOps => { }, downOps => { })).Message); - [ConditionalFact] + [Fact] public void Throws_on_composite_null_keys_in_seed_data() => Assert.Equal( RelationalStrings.NullKeyValue( @@ -1854,7 +1854,7 @@ public void Throws_on_composite_null_keys_in_seed_data() upOps => { }, downOps => { })).Message); - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void Throws_on_duplicate_seed_data(bool enableSensitiveLogging) => Assert.Equal( enableSensitiveLogging @@ -1883,7 +1883,7 @@ public void Throws_on_duplicate_seed_data(bool enableSensitiveLogging) _ => { }, enableSensitiveLogging: enableSensitiveLogging)).Message); - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void Throws_on_conflicting_seed_data(bool enableSensitiveLogging) => Assert.Equal( enableSensitiveLogging @@ -1931,7 +1931,7 @@ public void Throws_on_conflicting_seed_data(bool enableSensitiveLogging) _ => { }, enableSensitiveLogging: enableSensitiveLogging)).Message); - [ConditionalFact] + [Fact] public void Add_column_with_order() => Execute( source => source.Entity("Peacock").Property("Id"), @@ -1954,7 +1954,7 @@ public void Add_column_with_order() Assert.Equal(1, operation[RelationalAnnotationNames.ColumnOrder]); }); - [ConditionalFact] + [Fact] public void Add_seed_data_with_non_writable_column_insert_operations_with_batching() => Execute( _ => { }, @@ -2048,7 +2048,7 @@ private enum SomeEnum NonDefault } - [ConditionalFact] + [Fact] public void Rename_column() => Execute( source => source.Entity( @@ -2078,7 +2078,7 @@ public void Rename_column() Assert.Equal("ZebraName", operation.NewName); }); - [ConditionalFact] + [Fact] public void Rename_column_with_seed_data() => Execute( _ => { }, @@ -2188,7 +2188,7 @@ public void Rename_column_with_seed_data() v => Assert.Equal(32, v)); })); - [ConditionalFact] + [Fact] public void Rename_property() => Execute( source => source.Entity( @@ -2209,7 +2209,7 @@ public void Rename_property() }), Assert.Empty); - [ConditionalFact] + [Fact] public void Rename_property_with_same_seed_data() => Execute( _ => { }, @@ -2236,7 +2236,7 @@ public void Rename_property_with_same_seed_data() Assert.Empty, Assert.Empty); - [ConditionalFact] + [Fact] public void Rename_property_and_column() => Execute( source => source.Entity("Buffalo").Property("BuffaloId"), @@ -2251,7 +2251,7 @@ public void Rename_property_and_column() Assert.Equal("Id", operation.NewName); }); - [ConditionalFact] + [Fact] public void Rename_property_and_column_when_snapshot() => Execute( source => source.Entity( @@ -2276,7 +2276,7 @@ public void Rename_property_and_column_when_snapshot() }, skipSourceConventions: true); - [ConditionalFact] + [Fact] public void Add_table_sharing_to_TPT() => Execute( common => @@ -2321,7 +2321,7 @@ public void Add_table_sharing_to_TPT() Assert.Equal("OrderDate", operation.Name); }); - [ConditionalFact] + [Fact] public void Add_table_sharing_to_TPC() => Execute( common => @@ -2367,7 +2367,7 @@ public void Add_table_sharing_to_TPC() Assert.Equal("OrderDate", operation.Name); }); - [ConditionalFact] + [Fact] public void Rename_column_in_TPT_with_table_sharing_and_seed_data() => Execute( common => @@ -2438,7 +2438,7 @@ private class Crab public string Id { get; set; } } - [ConditionalFact] + [Fact] public void Add_custom_value_generator() => Execute( source => source.Entity( @@ -2458,7 +2458,7 @@ public void Add_custom_value_generator() }), operations => Assert.Equal(0, operations.Count)); - [ConditionalFact] + [Fact] public void Remove_custom_value_generator() => Execute( source => source.Entity( @@ -2487,7 +2487,7 @@ public override bool GeneratesTemporaryValues => false; } - [ConditionalFact] + [Fact] public void Alter_column_nullability() => Execute( source => source.Entity( @@ -2527,7 +2527,7 @@ public void Alter_column_nullability() Assert.Equal("CreateBisonName()", operation.DefaultValueSql); }); - [ConditionalFact] + [Fact] public void Alter_column_nullability_to_required() => Execute( source => source.Entity( @@ -2567,7 +2567,7 @@ public void Alter_column_nullability_to_required() Assert.Equal("CreateBisonName()", operation.DefaultValueSql); }); - [ConditionalFact] + [Fact] public void Alter_column_type() => Execute( common => common.Entity( @@ -2609,7 +2609,7 @@ public void Alter_column_type() Assert.Equal("CreatePumaName()", operation.DefaultValueSql); }); - [ConditionalFact] + [Fact] public void Alter_column_type_with_seed_data() => Execute( common => common.Entity( @@ -2653,7 +2653,7 @@ public void Alter_column_type_with_seed_data() v => Assert.Equal(20, v)); }); - [ConditionalFact] + [Fact] public void Alter_key_column_type_with_seed_data() => Execute( _ => { }, @@ -2737,7 +2737,7 @@ public void Alter_key_column_type_with_seed_data() v => Assert.Equal(43, v)); })); - [ConditionalFact] + [Fact] public void Alter_column_max_length() => Execute( source => source.Entity( @@ -2766,7 +2766,7 @@ public void Alter_column_max_length() Assert.True(operation.IsDestructiveChange); }); - [ConditionalFact] + [Fact] public void Alter_column_precision() => Execute( source => source.Entity( @@ -2796,7 +2796,7 @@ public void Alter_column_precision() Assert.True(operation.IsDestructiveChange); }); - [ConditionalFact] + [Fact] public void Alter_column_precision_and_scale() => Execute( source => source.Entity( @@ -2826,7 +2826,7 @@ public void Alter_column_precision_and_scale() Assert.True(operation.IsDestructiveChange); }); - [ConditionalFact] + [Fact] public void Alter_column_unicode() => Execute( source => source.Entity( @@ -2855,7 +2855,7 @@ public void Alter_column_unicode() Assert.True(operation.IsDestructiveChange); }); - [ConditionalFact] + [Fact] public void Alter_column_fixed_length() => Execute( source => source.Entity( @@ -2884,7 +2884,7 @@ public void Alter_column_fixed_length() Assert.True(operation.IsDestructiveChange); }); - [ConditionalFact] + [Fact] public void Alter_column_default() => Execute( source => source.Entity( @@ -2924,7 +2924,7 @@ public void Alter_column_default() Assert.Null(operation.DefaultValueSql); }); - [ConditionalFact] + [Fact] public void No_alter_column_default_when_references_not_equal() => Execute( source => source.Entity( @@ -2945,7 +2945,7 @@ public void No_alter_column_default_when_references_not_equal() }), Assert.Empty); - [ConditionalFact] + [Fact] public void Alter_column_default_expression() => Execute( source => source.Entity( @@ -2985,7 +2985,7 @@ public void Alter_column_default_expression() Assert.Equal("CreateCatamountName()", operation.DefaultValueSql); }); - [ConditionalFact] + [Fact] public void Alter_column_computed_expression() => Execute( source => source.Entity( @@ -3025,7 +3025,7 @@ public void Alter_column_computed_expression() Assert.Equal("CreateCatamountName()", operation.ComputedColumnSql); }); - [ConditionalFact] + [Fact] public void Alter_column_comment() => Execute( source => source.Entity( @@ -3062,7 +3062,7 @@ public void Alter_column_comment() Assert.Equal("Old comment", operation.OldColumn.Comment); }); - [ConditionalFact] + [Fact] public void Alter_column_order() => Execute( source => source.Entity( @@ -3092,7 +3092,7 @@ public void Alter_column_order() Assert.Equal(1, operation.OldColumn[RelationalAnnotationNames.ColumnOrder]); }); - [ConditionalFact] + [Fact] public void Alter_column_but_not_order() => Execute( source => source.Entity( @@ -3123,7 +3123,7 @@ public void Alter_column_but_not_order() Assert.Null(operation.OldColumn.FindAnnotation(RelationalAnnotationNames.ColumnOrder)); }); - [ConditionalFact] + [Fact] public void Add_unique_constraint() => Execute( source => source.Entity( @@ -3154,7 +3154,7 @@ public void Add_unique_constraint() Assert.Equal(new[] { "AlternateId" }, operation.Columns); }); - [ConditionalFact] + [Fact] public void Drop_unique_constraint() => Execute( source => source.Entity( @@ -3184,7 +3184,7 @@ public void Drop_unique_constraint() Assert.Equal("AK_Penguin_AlternateId", operation.Name); }); - [ConditionalFact] + [Fact] public void Rename_unique_constraint() => Execute( source => source.Entity( @@ -3221,7 +3221,7 @@ public void Rename_unique_constraint() Assert.Equal(new[] { "AlternateId" }, addOperation.Columns); }); - [ConditionalFact] + [Fact] public void Alter_unique_constraint_columns() => Execute( source => source.Entity( @@ -3260,7 +3260,7 @@ public void Alter_unique_constraint_columns() Assert.Equal(new[] { "AlternateRookId" }, addOperation.Columns); }); - [ConditionalFact] + [Fact] public void Add_check_constraint() => Execute( source => source.Entity( @@ -3290,7 +3290,7 @@ public void Add_check_constraint() Assert.Equal("AlternateId > Id", operation.Sql); }); - [ConditionalFact] + [Fact] public void Drop_check_constraint() => Execute( source => source.Entity( @@ -3319,7 +3319,7 @@ public void Drop_check_constraint() Assert.Equal("CK_Penguin_AlternateId", operation.Name); }); - [ConditionalFact] + [Fact] public void Rename_check_constraint() => Execute( source => source.Entity( @@ -3355,7 +3355,7 @@ public void Rename_check_constraint() Assert.Equal("AlternateId > Id", createOperation.Sql); }); - [ConditionalFact] + [Fact] public void Alter_check_constraint_expression() => Execute( source => source.Entity( @@ -3390,7 +3390,7 @@ public void Alter_check_constraint_expression() Assert.Equal("AlternateId < Id", createOperation.Sql); }); - [ConditionalFact] + [Fact] public void Add_primary_key() => Execute( _ => { }, @@ -3417,7 +3417,7 @@ public void Add_primary_key() }, skipSourceConventions: true); - [ConditionalFact] + [Fact] public void Rename_primary_key() => Execute( source => source.Entity("Puffin").ToTable("Puffin", "dbo").Property("Id"), @@ -3445,7 +3445,7 @@ public void Rename_primary_key() Assert.Equal(new[] { "Id" }, addOperation.Columns); }); - [ConditionalFact] + [Fact] public void Alter_primary_key_columns() => Execute( source => source.Entity( @@ -3483,7 +3483,7 @@ public void Alter_primary_key_columns() }, skipSourceConventions: true); - [ConditionalFact] + [Fact] public void Alter_primary_key_column_order_with_seed_data() => Execute( common => common.Entity( @@ -3535,7 +3535,7 @@ public void Alter_primary_key_column_order_with_seed_data() }, skipSourceConventions: true); - [ConditionalFact] + [Fact] public void Add_foreign_key() => Execute( common => common.Entity( @@ -3573,7 +3573,7 @@ public void Add_foreign_key() Assert.Equal(ReferentialAction.NoAction, addFkOperation.OnUpdate); }); - [ConditionalFact] + [Fact] public void Add_foreign_key_excluded_from_migrations() => Execute( common => common.Entity( @@ -3598,7 +3598,7 @@ public void Add_foreign_key_excluded_from_migrations() Assert.Equal(new[] { "ParentId" }, createIndexOperation.Columns); }); - [ConditionalFact] + [Fact] public void Remove_foreign_key_excluded_from_migrations() => Execute( common => common.Entity( @@ -3622,7 +3622,7 @@ public void Remove_foreign_key_excluded_from_migrations() Assert.Equal("IX_Amoeba_ParentId", dropIndexOperation.Name); }); - [ConditionalFact] + [Fact] public void Exclude_existing_foreign_key_from_migrations() => Execute( common => common.Entity( @@ -3656,7 +3656,7 @@ public void Exclude_existing_foreign_key_from_migrations() Assert.Equal("FK_Amoeba_Amoeba_ParentId", addFkOperation.Name); }); - [ConditionalFact] + [Fact] public void Exclude_existing_foreign_key_from_migrations_and_change_delete_behavior() => Execute( common => common.Entity( @@ -3693,7 +3693,7 @@ public void Exclude_existing_foreign_key_from_migrations_and_change_delete_behav Assert.Equal(ReferentialAction.Restrict, addFkOperation.OnDelete); }); - [ConditionalFact] + [Fact] public void Add_optional_foreign_key() => Execute( source => source.Entity( @@ -3735,7 +3735,7 @@ public void Add_optional_foreign_key() Assert.Equal(ReferentialAction.NoAction, addFkOperation.OnUpdate); }); - [ConditionalFact] + [Fact] public void Add_optional_foreign_key_with_cascade_delete() => Execute( source => source.Entity( @@ -3777,7 +3777,7 @@ public void Add_optional_foreign_key_with_cascade_delete() Assert.Equal(ReferentialAction.NoAction, addFkOperation.OnUpdate); }); - [ConditionalFact] + [Fact] public void Add_required_foreign_key_with_restrict() => Execute( source => source.Entity( @@ -3819,7 +3819,7 @@ public void Add_required_foreign_key_with_restrict() Assert.Equal(ReferentialAction.NoAction, addFkOperation.OnUpdate); }); - [ConditionalFact] + [Fact] public void Add_required_foreign_key_with_default() => Execute( source => source.Entity( @@ -3861,7 +3861,7 @@ public void Add_required_foreign_key_with_default() Assert.Equal(ReferentialAction.NoAction, addFkOperation.OnUpdate); }); - [ConditionalFact] + [Fact] public void Add_optional_foreign_key_with_set_null() => Execute( source => source.Entity( @@ -3903,7 +3903,7 @@ public void Add_optional_foreign_key_with_set_null() Assert.Equal(ReferentialAction.NoAction, addFkOperation.OnUpdate); }); - [ConditionalFact] + [Fact] public void Add_optional_foreign_key_with_restrict() => Execute( source => source.Entity( @@ -3945,7 +3945,7 @@ public void Add_optional_foreign_key_with_restrict() Assert.Equal(ReferentialAction.NoAction, addFkOperation.OnUpdate); }); - [ConditionalFact] + [Fact] public void Remove_foreign_key() => Execute( source => source.Entity( @@ -3980,7 +3980,7 @@ public void Remove_foreign_key() Assert.Equal("IX_Anemone_ParentId", dropIndexOperation.Name); }); - [ConditionalFact] + [Fact] public void Rename_foreign_key() => Execute( source => source.Entity( @@ -4020,7 +4020,7 @@ public void Rename_foreign_key() Assert.Equal(new[] { "Id" }, addOperation.PrincipalColumns); }); - [ConditionalFact] + [Fact] public void Alter_foreign_key_columns() => Execute( source => source.Entity( @@ -4073,7 +4073,7 @@ public void Alter_foreign_key_columns() Assert.Equal(new[] { "Id" }, addFkOperation.PrincipalColumns); }); - [ConditionalFact] + [Fact] public void Alter_foreign_key_cascade_delete() => Execute( source => source.Entity( @@ -4117,7 +4117,7 @@ public void Alter_foreign_key_cascade_delete() Assert.Equal(ReferentialAction.NoAction, addOperation.OnUpdate); }); - [ConditionalFact] + [Fact] public void Alter_foreign_key_on_delete_from_ClientSetNull_to_NoAction() => Execute( source => source.Entity( @@ -4142,7 +4142,7 @@ public void Alter_foreign_key_on_delete_from_ClientSetNull_to_NoAction() }), operations => Assert.Equal(0, operations.Count)); - [ConditionalFact] + [Fact] public void Alter_foreign_key_target() => Execute( source => @@ -4192,7 +4192,7 @@ public void Alter_foreign_key_target() Assert.Equal(new[] { "TigerId" }, addOperation.PrincipalColumns); }); - [ConditionalFact] + [Fact] public void Create_index() => Execute( source => source.Entity( @@ -4224,7 +4224,7 @@ public void Create_index() Assert.True(operation.IsUnique); }); - [ConditionalFact] + [Fact] public void Drop_index() => Execute( source => source.Entity( @@ -4254,7 +4254,7 @@ public void Drop_index() Assert.Equal("IX_Horse_Value", operation.Name); }); - [ConditionalFact] + [Fact] public void Rename_index() => Execute( source => source.Entity( @@ -4286,7 +4286,7 @@ public void Rename_index() Assert.Equal("IX_dbo.Donkey_Value", operation.NewName); }); - [ConditionalFact] + [Fact] public void Alter_index_columns() => Execute( source => source.Entity( @@ -4325,7 +4325,7 @@ public void Alter_index_columns() Assert.Equal(new[] { "MuleValue" }, createOperation.Columns); }); - [ConditionalFact] + [Fact] public void Alter_index_uniqueness() => Execute( source => source.Entity( @@ -4362,7 +4362,7 @@ public void Alter_index_uniqueness() Assert.True(createOperation.IsUnique); }); - [ConditionalFact] + [Fact] public void Create_sequence() => Execute( _ => { }, @@ -4389,7 +4389,7 @@ public void Create_sequence() Assert.True(operation.IsCyclic); }); - [ConditionalFact] + [Fact] public void Drop_sequence() => Execute( modelBuilder => modelBuilder.HasSequence("Bravo", "dbo"), @@ -4403,7 +4403,7 @@ public void Drop_sequence() Assert.Equal("dbo", operation.Schema); }); - [ConditionalFact] + [Fact] public void Rename_sequence() => Execute( source => source.HasSequence("Bravo", "dbo"), @@ -4419,7 +4419,7 @@ public void Rename_sequence() Assert.Equal("dbo", operation.NewSchema); }); - [ConditionalFact] + [Fact] public void Move_sequence() => Execute( source => source.HasSequence("Charlie", "dbo"), @@ -4437,7 +4437,7 @@ public void Move_sequence() Assert.Equal("odb", operation.NewSchema); }); - [ConditionalFact] + [Fact] public void Alter_sequence_increment_by() => Execute( source => source.HasSequence("Alpha", "dbo") @@ -4466,7 +4466,7 @@ public void Alter_sequence_increment_by() }, skipSourceConventions: true); - [ConditionalFact] + [Fact] public void Alter_sequence_max_value() => Execute( source => source.HasSequence("Echo", "dbo") @@ -4495,7 +4495,7 @@ public void Alter_sequence_max_value() }, skipSourceConventions: true); - [ConditionalFact] + [Fact] public void Alter_sequence_min_value() => Execute( source => source.HasSequence("Delta", "dbo") @@ -4523,7 +4523,7 @@ public void Alter_sequence_min_value() Assert.True(operation.IsCyclic); }); - [ConditionalFact] + [Fact] public void Alter_sequence_cycle() => Execute( source => source.HasSequence("Foxtrot", "dbo") @@ -4552,7 +4552,7 @@ public void Alter_sequence_cycle() }, skipSourceConventions: true); - [ConditionalFact] + [Fact] public void Alter_sequence_type() => Execute( source => source.HasSequence("Hotel", "dbo") @@ -4587,7 +4587,7 @@ public void Alter_sequence_type() }, skipSourceConventions: true); - [ConditionalFact] + [Fact] public void Alter_sequence_start() => Execute( source => source.HasSequence("Golf", "dbo") @@ -4614,7 +4614,7 @@ public void Alter_sequence_start() }, skipSourceConventions: true); - [ConditionalFact] + [Fact] public void Restart_altered_sequence() => Execute( source => source.HasSequence("Golf", "dbo") @@ -4635,7 +4635,7 @@ public void Restart_altered_sequence() o => Assert.IsType(o)), skipSourceConventions: true); - [ConditionalFact] + [Fact] public void Diff_IProperty_destructive_when_null_to_not_null() => Execute( source => source.Entity( @@ -4660,7 +4660,7 @@ public void Diff_IProperty_destructive_when_null_to_not_null() Assert.True(operation.IsDestructiveChange); }); - [ConditionalFact] + [Fact] public void Diff_IProperty_not_destructive_when_not_null_to_null() => Execute( source => source.Entity( @@ -4685,7 +4685,7 @@ public void Diff_IProperty_not_destructive_when_not_null_to_null() Assert.False(operation.IsDestructiveChange); }); - [ConditionalFact] + [Fact] public void Diff_IProperty_destructive_when_type_changed() => Execute( source => source.Entity( @@ -4710,7 +4710,7 @@ public void Diff_IProperty_destructive_when_type_changed() Assert.True(operation.IsDestructiveChange); }); - [ConditionalFact] + [Fact] public void Sort_works_with_primary_keys_and_columns() => Execute( source => source.Entity("Jaguar").Property("Id"), @@ -4728,7 +4728,7 @@ public void Sort_works_with_primary_keys_and_columns() o => Assert.IsType(o), o => Assert.IsType(o))); - [ConditionalFact] + [Fact] public void Sort_adds_unique_constraint_after_column() => Execute( source => source.Entity("Panther").Property("Id"), @@ -4745,7 +4745,7 @@ public void Sort_adds_unique_constraint_after_column() o => Assert.IsType(o), o => Assert.IsType(o))); - [ConditionalFact] + [Fact] public void Sort_drops_unique_constraint_before_column() => Execute( source => source.Entity( @@ -4762,7 +4762,7 @@ public void Sort_drops_unique_constraint_before_column() o => Assert.IsType(o), o => Assert.IsType(o))); - [ConditionalFact] + [Fact] public void Sort_creates_index_after_column() => Execute( source => source.Entity("Coyote").Property("Id"), @@ -4779,7 +4779,7 @@ public void Sort_creates_index_after_column() o => Assert.IsType(o), o => Assert.IsType(o))); - [ConditionalFact] + [Fact] public void Sort_drops_index_before_column() => Execute( source => source.Entity( @@ -4796,7 +4796,7 @@ public void Sort_drops_index_before_column() o => Assert.IsType(o), o => Assert.IsType(o))); - [ConditionalFact] + [Fact] public void Sort_adds_foreign_key_after_column() => Execute( source => source.Entity("Algae").Property("Id"), @@ -4814,7 +4814,7 @@ public void Sort_adds_foreign_key_after_column() o => Assert.IsType(o), o => Assert.IsType(o))); - [ConditionalFact] + [Fact] public void Sort_drops_foreign_key_before_column() => Execute( source => source.Entity( @@ -4832,7 +4832,7 @@ public void Sort_drops_foreign_key_before_column() o => Assert.IsType(o), o => Assert.IsType(o))); - [ConditionalFact] + [Fact] public void Sort_adds_foreign_key_after_target_table() => Execute( source => source.Entity( @@ -4860,7 +4860,7 @@ public void Sort_adds_foreign_key_after_target_table() o => Assert.IsType(o), o => Assert.IsType(o))); - [ConditionalFact] + [Fact] public void Sort_drops_foreign_key_before_target_table() => Execute( source => @@ -4888,7 +4888,7 @@ public void Sort_drops_foreign_key_before_target_table() o => Assert.IsType(o), o => Assert.IsType(o))); - [ConditionalFact] + [Fact] public void Sort_adds_foreign_key_after_target_column_and_unique_constraint() => Execute( source => @@ -4927,7 +4927,7 @@ public void Sort_adds_foreign_key_after_target_column_and_unique_constraint() o => Assert.IsType(o), o => Assert.IsType(o))); - [ConditionalFact] + [Fact] public void Sort_drops_foreign_key_before_target_column_and_unique_constraint() => Execute( source => @@ -4966,7 +4966,7 @@ public void Sort_drops_foreign_key_before_target_column_and_unique_constraint() o => Assert.IsType(o), o => Assert.IsType(o))); - [ConditionalFact] + [Fact] public void Sort_creates_tables_in_topologic_order() => Execute( _ => { }, @@ -4996,7 +4996,7 @@ public void Sort_creates_tables_in_topologic_order() Assert.Equal("IX_Helicopter_MakerId", operation3.Name); }); - [ConditionalFact] + [Fact] public void Sort_drops_tables_in_topologic_order() => Execute( modelBuilder => @@ -5023,7 +5023,7 @@ public void Sort_drops_tables_in_topologic_order() Assert.Equal("Maker", operation2.Name); }); - [ConditionalFact] + [Fact] public void Rename_column_with_primary_key() => Execute( source => source.Entity("Hornet").Property("Id"), @@ -5035,7 +5035,7 @@ public void Rename_column_with_primary_key() Assert.IsType(operations[0]); }); - [ConditionalFact] + [Fact] public void Rename_column_with_unique_constraint() => Execute( source => source.Entity( @@ -5063,7 +5063,7 @@ public void Rename_column_with_unique_constraint() Assert.IsType(operations[2]); }); - [ConditionalFact] + [Fact] public void Rename_column_with_index() => Execute( source => source.Entity( @@ -5090,7 +5090,7 @@ public void Rename_column_with_index() Assert.IsType(operations[1]); }); - [ConditionalFact] + [Fact] public void Rename_table_with_unique_constraint() => Execute( source => source.Entity( @@ -5118,7 +5118,7 @@ public void Rename_table_with_unique_constraint() Assert.IsType(operations[0]); }); - [ConditionalFact] + [Fact] public void Rename_table_with_index() => Execute( source => source.Entity( @@ -5146,7 +5146,7 @@ public void Rename_table_with_index() Assert.IsType(operations[0]); }); - [ConditionalFact] + [Fact] public void Rename_entity_type_with_primary_key_and_unique_constraint() => Execute( source => source.Entity( @@ -5173,7 +5173,7 @@ public void Rename_entity_type_with_primary_key_and_unique_constraint() Assert.IsType(operations[0]); }); - [ConditionalFact] + [Fact] public void Rename_entity_type_with_index() => Execute( source => source.Entity( @@ -5200,7 +5200,7 @@ public void Rename_entity_type_with_index() Assert.IsType(operations[0]); }); - [ConditionalFact] + [Fact] public void Rename_column_with_foreign_key() => Execute( source => source.Entity( @@ -5229,7 +5229,7 @@ public void Rename_column_with_foreign_key() Assert.IsType(operations[3]); }); - [ConditionalFact] + [Fact] public void Rename_column_with_referencing_foreign_key() => Execute( source => source.Entity( @@ -5254,7 +5254,7 @@ public void Rename_column_with_referencing_foreign_key() Assert.IsType(operations[0]); }); - [ConditionalFact] + [Fact] public void Add_column_with_foreign_key() => Execute( source => source.Entity( @@ -5288,7 +5288,7 @@ public void Add_column_with_foreign_key() } )); - [ConditionalFact] + [Fact] public void Change_principal_column_facets() => Execute( source => source.Entity( @@ -5321,7 +5321,7 @@ public void Change_principal_column_facets() } )); - [ConditionalFact] + [Fact] public void Rename_table_with_foreign_key() => Execute( source => @@ -5357,7 +5357,7 @@ public void Rename_table_with_foreign_key() Assert.IsType(operations[0]); }); - [ConditionalFact] + [Fact] public void Rename_table_with_referencing_foreign_key() => Execute( source => @@ -5398,7 +5398,7 @@ public void Rename_table_with_referencing_foreign_key() Assert.IsType(operations[0]); }); - [ConditionalFact] + [Fact] public void Create_table_with_property_on_subtype() => Execute( _ => { }, @@ -5418,7 +5418,7 @@ public void Create_table_with_property_on_subtype() Assert.Contains(operation.Columns, c => c.Name == "Name"); }); - [ConditionalFact] + [Fact] public void Create_table_with_required_property_on_subtype() => Execute( _ => { }, @@ -5438,7 +5438,7 @@ public void Create_table_with_required_property_on_subtype() Assert.True(operation.Columns.First(c => c.Name == "Value").IsNullable); }); - [ConditionalFact] + [Fact] public void Add_property_on_subtype() => Execute( source => @@ -5461,7 +5461,7 @@ public void Add_property_on_subtype() Assert.Equal("Name", operation.Name); }); - [ConditionalFact] + [Fact] public void Add_required_property_on_subtype() => Execute( source => @@ -5484,7 +5484,7 @@ public void Add_required_property_on_subtype() Assert.True(operation.IsNullable); }); - [ConditionalFact] + [Fact] public void Remove_property_on_subtype() => Execute( source => @@ -5507,7 +5507,7 @@ public void Remove_property_on_subtype() Assert.Equal("Name", operation.Name); }); - [ConditionalFact] + [Fact] public void Alter_property_on_subtype() => Execute( source => @@ -5532,7 +5532,7 @@ public void Alter_property_on_subtype() Assert.Equal("varchar(30)", operation.ColumnType); }); - [ConditionalFact] + [Fact] public void Create_index_on_subtype() => Execute( source => @@ -5564,7 +5564,7 @@ public void Create_index_on_subtype() Assert.Equal(new[] { "Name" }, operation.Columns); }); - [ConditionalFact] + [Fact] public void Alter_index_on_subtype() => Execute( source => @@ -5602,7 +5602,7 @@ public void Alter_index_on_subtype() Assert.Equal("IX_Animal_Pike_Name", operation.NewName); }); - [ConditionalFact] + [Fact] public void Drop_index_on_subtype() => Execute( source => @@ -5633,7 +5633,7 @@ public void Drop_index_on_subtype() Assert.Equal("IX_Animal_Name", operation.Name); }); - [ConditionalFact] + [Fact] public void Create_table_with_foreign_key_on_base_type() => Execute( _ => { }, @@ -5671,7 +5671,7 @@ public void Create_table_with_foreign_key_on_base_type() Assert.Equal(new[] { "HandlerId" }, createIndexOperation.Columns); }); - [ConditionalFact] + [Fact] public void Create_table_with_foreign_key_on_subtype() => Execute( _ => { }, @@ -5710,7 +5710,7 @@ public void Create_table_with_foreign_key_on_subtype() Assert.Equal(new[] { "HandlerId" }, createIndexOperation.Columns); }); - [ConditionalFact] + [Fact] public void Create_table_with_foreign_key_to_subtype() => Execute( _ => { }, @@ -5749,7 +5749,7 @@ public void Create_table_with_foreign_key_to_subtype() Assert.Equal(new[] { "PetId" }, createIndexOperation.Columns); }); - [ConditionalFact] + [Fact] public void Create_table_with_selfReferencing_foreign_key_in_hierarchy() => Execute( _ => { }, @@ -5784,7 +5784,7 @@ public void Create_table_with_selfReferencing_foreign_key_in_hierarchy() Assert.Equal(new[] { "PreyId" }, createIndexOperation.Columns); }); - [ConditionalFact] + [Fact] public void Create_table_with_seed_data() => Execute( _ => { }, @@ -5825,7 +5825,7 @@ public void Create_table_with_seed_data() Assert.Equal("Zebra", operation.Name); })); - [ConditionalFact] + [Fact] public void Add_subtype_with_shared_column_with_seed_data() => Execute( modelBuilder => @@ -5872,7 +5872,7 @@ public void Add_subtype_with_shared_column_with_seed_data() v => Assert.Equal(43, v)); })); - [ConditionalFact] + [Fact] public void Change_TPH_to_TPT_with_FKs_and_seed_data() => Execute( modelBuilder => @@ -6529,7 +6529,7 @@ public void Change_TPH_to_TPT_with_FKs_and_seed_data() Assert.Equal(ReferentialAction.NoAction, operation.OnDelete); })); - [ConditionalFact] + [Fact] public void Change_TPH_to_TPT_with_FKs_and_seed_data_readonly_discriminator() => Execute( modelBuilder => @@ -7177,7 +7177,7 @@ public void Change_TPH_to_TPT_with_FKs_and_seed_data_readonly_discriminator() Assert.Equal(ReferentialAction.NoAction, operation.OnDelete); })); - [ConditionalFact] + [Fact] public void Change_TPH_to_TPC_with_FKs_and_seed_data() => Execute( modelBuilder => @@ -7772,7 +7772,7 @@ public void Change_TPH_to_TPC_with_FKs_and_seed_data() Assert.Equal(ReferentialAction.NoAction, operation.OnDelete); })); - [ConditionalFact] + [Fact] public void Change_TPT_to_TPC_with_FKs_and_seed_data() => Execute( modelBuilder => @@ -8369,7 +8369,7 @@ public void Change_TPT_to_TPC_with_FKs_and_seed_data() Assert.Equal(ReferentialAction.Cascade, operation.OnDelete); })); - [ConditionalFact] + [Fact] public void Change_TPT_to_TPC_with_excluded_base() => Execute( common => @@ -8425,7 +8425,7 @@ public void Change_TPT_to_TPC_with_excluded_base() Assert.Equal("FK_DetailedOrder_Order_Id", addForeignKeyOperation.Name); }); - [ConditionalFact] + [Fact] public void Add_foreign_key_on_base_type() => Execute( modelBuilder => @@ -8470,7 +8470,7 @@ public void Add_foreign_key_on_base_type() Assert.Equal(new[] { "Id" }, addFkOperation.PrincipalColumns); }); - [ConditionalFact] + [Fact] public void Add_shared_foreign_key_on_subtypes() => Execute( common => @@ -8515,7 +8515,7 @@ public void Add_shared_foreign_key_on_subtypes() Assert.Equal(new[] { "Id" }, addFkOperation.PrincipalColumns); }); - [ConditionalFact] + [Fact] public void Add_shared_property_with_foreign_key_on_subtypes() => Execute( common => @@ -8555,7 +8555,7 @@ public void Add_shared_property_with_foreign_key_on_subtypes() Assert.Equal(21, operation.MaxLength); }); - [ConditionalFact] + [Fact] public void Add_foreign_key_to_subtype() => Execute( source => @@ -8600,7 +8600,7 @@ public void Add_foreign_key_to_subtype() Assert.Equal(new[] { "Id" }, addFkOperation.PrincipalColumns); }); - [ConditionalFact] + [Fact] public void Drop_foreign_key_on_subtype() => Execute( source => @@ -8635,7 +8635,7 @@ public void Drop_foreign_key_on_subtype() Assert.Equal("IX_Animal_RiderId", dropIndexOperation.Name); }); - [ConditionalFact] + [Fact] public void Create_shared_table_with_two_entity_types() => Execute( _ => { }, @@ -8662,7 +8662,7 @@ public void Create_shared_table_with_two_entity_types() Assert.True(timeColumn.IsNullable); }); - [ConditionalFact] + [Fact] public void Create_shared_table_with_required_dependent() => Execute( _ => { }, @@ -8690,7 +8690,7 @@ public void Create_shared_table_with_required_dependent() Assert.False(timeColumn.IsNullable); }); - [ConditionalFact] + [Fact] public void Create_shared_table_with_inheritance_and_three_entity_types() => Execute( _ => { }, @@ -8719,7 +8719,7 @@ public void Create_shared_table_with_inheritance_and_three_entity_types() Assert.True(timeColumn.IsNullable); }); - [ConditionalFact] + [Fact] public void Split_out_subtype_with_seed_data() => Execute( common => @@ -8829,7 +8829,7 @@ private class Eagle : Animal; private class Shark : Animal; - [ConditionalFact] + [Fact] public void Add_column_to_renamed_table() => Execute( source => source.Entity("Table").ToTable("Table", "old").Property("Id"), @@ -8857,7 +8857,7 @@ public void Add_column_to_renamed_table() Assert.Equal("Value", addColumnOperation.Name); }); - [ConditionalFact] + [Fact] public void Add_foreign_key_to_renamed_table() => Execute( source => source @@ -8898,7 +8898,7 @@ public void Add_foreign_key_to_renamed_table() Assert.Equal("FK_RenamedTable_ReferencedTable_ForeignId", addForeignKeyOperation.Name); }); - [ConditionalFact] + [Fact] public void Add_foreign_key_to_renamed_column() => Execute( source => source @@ -8934,7 +8934,7 @@ public void Add_foreign_key_to_renamed_column() Assert.Equal(new[] { "RenamedForeignId" }, addForeignKeyOperation.Columns); }); - [ConditionalFact] + [Fact] public void Add_foreign_key_referencing_renamed_table() => Execute( source => source @@ -8978,7 +8978,7 @@ public void Add_foreign_key_referencing_renamed_table() Assert.Equal("FK_Table_RenamedReferencedTable_ForeignId", addForeignKeyOperation.Name); }); - [ConditionalFact] + [Fact] public void Add_foreign_key_referencing_renamed_column_with_seed_data() => Execute( common => common @@ -9088,7 +9088,7 @@ public void Add_foreign_key_referencing_renamed_column_with_seed_data() v => Assert.Equal(0, v)); })); - [ConditionalFact] + [Fact] public void Create_table_with_foreign_key_referencing_renamed_table() => Execute( source => source.Entity("ReferencedTable").ToTable("ReferencedTable", "old").Property("Id"), @@ -9128,7 +9128,7 @@ public void Create_table_with_foreign_key_referencing_renamed_table() Assert.IsType(operations[3]); }); - [ConditionalFact] + [Fact] public void Create_table_with_foreign_key_referencing_renamed_column() => Execute( source => source.Entity("ReferencedTable").Property("Id"), @@ -9158,7 +9158,7 @@ public void Create_table_with_foreign_key_referencing_renamed_column() Assert.IsType(operations[2]); }); - [ConditionalFact] + [Fact] public void Rename_primary_key_on_renamed_table() => Execute( source => source.Entity("Table").ToTable("Table", "old").Property("Id"), @@ -9182,7 +9182,7 @@ public void Rename_primary_key_on_renamed_table() Assert.Equal("PK_RenamedTable", addPrimaryKeyOperation.Name); }); - [ConditionalFact] + [Fact] public void Rename_primary_key_on_renamed_column() => Execute( source => source.Entity("Table").Property("Id"), @@ -9206,7 +9206,7 @@ public void Rename_primary_key_on_renamed_column() Assert.Equal("PK_Table_Renamed", addPrimaryKeyOperation.Name); }); - [ConditionalFact] + [Fact] public void Add_alternate_key_to_renamed_table() => Execute( source => source.Entity( @@ -9241,7 +9241,7 @@ public void Add_alternate_key_to_renamed_table() Assert.Equal("AK_RenamedTable_AlternateId", addUniqueConstraintOperation.Name); }); - [ConditionalFact] + [Fact] public void Add_alternate_key_to_renamed_column() => Execute( source => source.Entity( @@ -9270,7 +9270,7 @@ public void Add_alternate_key_to_renamed_column() Assert.Equal("AK_Table_RenamedAlternateId", addUniqueConstraintOperation.Name); }); - [ConditionalFact] + [Fact] public void Alter_column_on_renamed_table() => Execute( source => source.Entity( @@ -9304,7 +9304,7 @@ public void Alter_column_on_renamed_table() Assert.Equal("Value", alterColumnOperation.Name); }); - [ConditionalFact] + [Fact] public void Alter_renamed_column() => Execute( source => source.Entity( @@ -9332,7 +9332,7 @@ public void Alter_renamed_column() Assert.Equal("RenamedValue", alterColumnOperation.Name); }); - [ConditionalFact] + [Fact] public void Alter_renamed_sequence() => Execute( source => source.HasSequence("Sequence", "old"), @@ -9351,7 +9351,7 @@ public void Alter_renamed_sequence() }, skipSourceConventions: true); - [ConditionalFact] + [Fact] public void Create_index_on_renamed_table() => Execute( source => source.Entity( @@ -9386,7 +9386,7 @@ public void Create_index_on_renamed_table() Assert.Equal("IX_RenamedTable_Value", createIndexOperation.Name); }); - [ConditionalFact] + [Fact] public void Create_index_on_renamed_column() => Execute( source => source.Entity( @@ -9415,7 +9415,7 @@ public void Create_index_on_renamed_column() Assert.Equal("IX_Table_RenamedValue", createIndexOperation.Name); }); - [ConditionalFact] + [Fact] public void Drop_column_on_renamed_table() => Execute( source => source @@ -9450,7 +9450,7 @@ public void Drop_column_on_renamed_table() Assert.IsType(operations[2]); }); - [ConditionalFact] + [Fact] public void Drop_foreign_key_on_renamed_table() => Execute( source => source @@ -9491,7 +9491,7 @@ public void Drop_foreign_key_on_renamed_table() Assert.IsType(operations[2]); }); - [ConditionalFact] + [Fact] public void Drop_alternate_key_on_renamed_table() => Execute( source => source.Entity( @@ -9526,7 +9526,7 @@ public void Drop_alternate_key_on_renamed_table() Assert.IsType(operations[2]); }); - [ConditionalFact] + [Fact] public void Drop_index_on_renamed_table() => Execute( source => source.Entity( @@ -9561,7 +9561,7 @@ public void Drop_index_on_renamed_table() Assert.IsType(operations[2]); }); - [ConditionalFact] + [Fact] public void Restart_renamed_sequence() => Execute( source => source.HasSequence("Sequence", "old"), @@ -9579,7 +9579,7 @@ public void Restart_renamed_sequence() Assert.Equal("Sequence", alterSequenceOperation.Name); }); - [ConditionalFact] + [Fact] public void Rename_column_on_renamed_table() => Execute( source => source @@ -9615,7 +9615,7 @@ public void Rename_column_on_renamed_table() Assert.Equal("RenamedValue", renameColumnOperation.NewName); }); - [ConditionalFact] + [Fact] public void Rename_index_on_renamed_table() => Execute( source => source.Entity( @@ -9651,7 +9651,7 @@ public void Rename_index_on_renamed_table() Assert.Equal("IX_RenamedTable_Value", renameIndexOperation.NewName); }); - [ConditionalFact] + [Fact] public void Add_alternate_key_on_added_column() => Execute( source => source.Entity("Table").Property("Id"), @@ -9672,7 +9672,7 @@ public void Add_alternate_key_on_added_column() Assert.IsType(operations[1]); }); - [ConditionalFact] + [Fact] public void Add_foreign_key_referencing_added_alternate_key_with_seed_data() => Execute( common => common @@ -9765,7 +9765,7 @@ public void Add_foreign_key_referencing_added_alternate_key_with_seed_data() v => Assert.Equal(42, v)); })); - [ConditionalFact] + [Fact] public void Update_AK_seed_value_with_a_referencing_foreign_key() => Execute( common => common @@ -9843,7 +9843,7 @@ public void Update_AK_seed_value_with_a_referencing_foreign_key() v => Assert.Equal(4242, v)); })); - [ConditionalFact] + [Fact] public void Owned_collection_with_explicit_id() => Execute( modelBuilder => @@ -9904,7 +9904,7 @@ public class AccountHolder } #pragma warning disable EF8001 // Owned JSON entities are obsolete - [ConditionalFact] + [Fact] public virtual void Convert_table_from_owned_to_complex_properties_mapped_to_json() => Execute( builder => @@ -10007,7 +10007,7 @@ public virtual void Convert_table_from_owned_to_complex_properties_mapped_to_jso Assert.Empty); #pragma warning restore EF8001 // Owned JSON entities are obsolete - [ConditionalFact] + [Fact] public virtual void Add_complex_collection_mapped_to_json_uses_empty_array_as_default_value() => Execute( _ => { }, @@ -10053,7 +10053,7 @@ public virtual void Add_complex_collection_mapped_to_json_uses_empty_array_as_de Assert.IsType(downOps[0]); }); - [ConditionalFact] + [Fact] public virtual void Add_complex_reference_with_nested_collection_mapped_to_json_uses_empty_object_as_default_value() => Execute( _ => { }, @@ -10102,7 +10102,7 @@ public virtual void Add_complex_reference_with_nested_collection_mapped_to_json_ }); #pragma warning disable EF8001 // Owned JSON entities are obsolete - [ConditionalFact] + [Fact] public virtual void Add_owned_collection_mapped_to_json_has_nullable_column() => Execute( _ => { }, @@ -10151,7 +10151,7 @@ public virtual void Add_owned_collection_mapped_to_json_has_nullable_column() #pragma warning restore EF8001 // Owned JSON entities are obsolete #pragma warning disable EF8001 // Owned JSON entities are obsolete - [ConditionalFact] + [Fact] public virtual void Add_owned_reference_with_nested_collection_mapped_to_json_uses_empty_object_as_default_value() => Execute( _ => { }, @@ -10203,7 +10203,7 @@ public virtual void Add_owned_reference_with_nested_collection_mapped_to_json_us }); #pragma warning restore EF8001 // Owned JSON entities are obsolete - [ConditionalFact] + [Fact] public virtual void Noop_on_complex_properties() => Execute( builder => @@ -10240,7 +10240,7 @@ public virtual void Noop_on_complex_properties() target => { }, Assert.Empty); - [ConditionalFact] + [Fact] public void Noop_on_complex_collection_property_annotations_not_in_snapshot() => Execute( builder => @@ -10287,7 +10287,7 @@ protected class MyNestedComplex public DateTime Bar { get; set; } } - [ConditionalFact] + [Fact] public void SeedData_with_guid_AK_and_multiple_owned_types() => Execute( target => @@ -10345,7 +10345,7 @@ public virtual SomeOwnedEntity OwnedEntity protected class SomeOwnedEntity; - [ConditionalFact] + [Fact] public void SeedData_and_PK_rename() => Execute( _ => { }, @@ -10407,7 +10407,7 @@ public void SeedData_and_PK_rename() Assert.Equal("Key", operation.NewName); })); - [ConditionalFact] + [Fact] public void SeedData_and_change_PK_type() => Execute( _ => { }, @@ -10503,7 +10503,7 @@ public void SeedData_and_change_PK_type() Assert.Equal(new[] { "Key" }, operation.Columns); })); - [ConditionalFact] + [Fact] public void SeedData_binary_change() => Execute( _ => { }, @@ -10550,7 +10550,7 @@ public void SeedData_binary_change() v => Assert.Equal(new byte[] { 2, 1 }, v)); })); - [ConditionalFact] + [Fact] public void SeedData_binary_change_custom_comparer() => Execute( source => source.Entity( @@ -10583,7 +10583,7 @@ public override bool Equals(byte[] left, byte[] right) => object.Equals(left[^1], right[^1]); } - [ConditionalFact] + [Fact] public void SeedData_binary_no_change() => Execute( _ => { }, @@ -10608,7 +10608,7 @@ public void SeedData_binary_no_change() upOps => Assert.Empty(upOps), downOps => Assert.Empty(downOps)); - [ConditionalFact] + [Fact] public void SeedData_update_with_table_rename() => Execute( _ => { }, @@ -10729,7 +10729,7 @@ public void SeedData_update_with_table_rename() v => Assert.Equal(32, v)); })); - [ConditionalFact] + [Fact] public void SeedData_nonkey_refactoring_value_conversion() => Execute( common => common.Entity( @@ -10755,7 +10755,7 @@ public void SeedData_nonkey_refactoring_value_conversion() Assert.Empty, Assert.Empty); - [ConditionalFact] + [Fact] public void SeedData_nonkey_refactoring_value_conversion_to_value_type() => Execute( common => common.Entity( @@ -10782,7 +10782,7 @@ public void SeedData_nonkey_refactoring_value_conversion_to_value_type() Assert.Empty, Assert.Empty); - [ConditionalFact] + [Fact] public void SeedData_nonkey_refactoring_value_conversion_to_value_type_store_generated() => Execute( common => common.Entity( @@ -10813,7 +10813,7 @@ public void SeedData_nonkey_refactoring_value_conversion_to_value_type_store_gen Assert.Empty, Assert.Empty); - [ConditionalFact] + [Fact] public void SeedData_nonkey_refactoring_value_conversion_with_structural_provider_type() => Execute( common => common.Entity( @@ -10842,7 +10842,7 @@ public void SeedData_nonkey_refactoring_value_conversion_with_structural_provide Assert.Empty, Assert.Empty); - [ConditionalFact] + [Fact] public void SeedData_key_refactoring_value_conversion() => Execute( common => common.Entity( @@ -10868,7 +10868,7 @@ public void SeedData_key_refactoring_value_conversion() Assert.Empty, Assert.Empty); - [ConditionalFact] // Issue #29985 + [Fact] // Issue #29985 public void SeedData_value_conversion_nullable_datetime() => Execute( common => common.Entity( @@ -10898,7 +10898,7 @@ public void SeedData_value_conversion_nullable_datetime() Assert.Empty, Assert.Empty); - [ConditionalFact] + [Fact] public void SeedData_change_enum_conversion() => Execute( common => common.Entity( @@ -10967,7 +10967,7 @@ public void SeedData_change_enum_conversion() v => Assert.Equal((int)SomeEnum.NonDefault, v)); })); - [ConditionalFact] + [Fact] public void SeedData_change_with_default() => Execute( common => common.Entity( @@ -11022,7 +11022,7 @@ public void SeedData_change_with_default() v => Assert.Equal((int)SomeEnum.NonDefault, v)); })); - [ConditionalFact] + [Fact] public void SeedData_no_change_enum_key() => Execute( _ => { }, @@ -11049,7 +11049,7 @@ public void SeedData_no_change_enum_key() Assert.Empty, Assert.Empty); - [ConditionalFact] + [Fact] public void SeedData_all_operations() => Execute( _ => { }, @@ -11225,7 +11225,7 @@ public void SeedData_all_operations() v => Assert.Equal("", v)); })); - [ConditionalFact] + [Fact] public void SeedData_with_timestamp_column() => Execute( _ => { }, @@ -11384,7 +11384,7 @@ public void SeedData_with_timestamp_column() v => Assert.Equal("Deleted", v)); })); - [ConditionalFact] + [Fact] public void SeedData_with_shadow_navigation_properties() => SeedData_with_navigation_properties(target => { @@ -11431,7 +11431,7 @@ public void SeedData_with_shadow_navigation_properties() }); }); - [ConditionalFact] + [Fact] public void SeedData_with_CLR_navigation_properties() => SeedData_with_navigation_properties(target => { @@ -11682,7 +11682,7 @@ private class Address public string AddressLine2 { get; set; } } - [ConditionalFact] + [Fact] public void Add_property_on_owned_type() => Execute( common => common.Entity(x => @@ -11705,7 +11705,7 @@ public void Add_property_on_owned_type() Assert.Equal("Shipping_AddressLine2", operation.Name); }); - [ConditionalFact] + [Fact] public void Add_ownership() => Execute( common => { }, @@ -11741,7 +11741,7 @@ public void Add_ownership() Assert.Equal("Shipping_AddressLine2", operation2.Name); }); - [ConditionalFact] + [Fact] public void Add_type_with_additional_ownership() => Execute( source => source @@ -11763,7 +11763,7 @@ public void Add_type_with_additional_ownership() Assert.Equal("Order", operation.Name); }); - [ConditionalFact] + [Fact] public void Add_type_with_ownership_SeedData() => Execute( common => common.Ignore(), @@ -11808,7 +11808,7 @@ public void Add_type_with_ownership_SeedData() }), skipSourceConventions: true); - [ConditionalFact] + [Fact] public void SeedData_type_with_ownership_no_changes() => Execute( common => @@ -11830,7 +11830,7 @@ public void SeedData_type_with_ownership_no_changes() Assert.Empty, Assert.Empty); - [ConditionalFact] + [Fact] public void SeedData_type_with_owned_collection_no_changes() => Execute( common => @@ -11862,7 +11862,7 @@ public void SeedData_type_with_owned_collection_no_changes() Assert.Empty, skipSourceConventions: true); - [ConditionalFact] + [Fact] public void SeedData_type_with_excluded_owned_collection() => Execute( common => @@ -11919,7 +11919,7 @@ public class Child public string ChildName { get; set; } } - [ConditionalFact] + [Fact] public void Old_style_ownership_to_new_style() => Execute( common => @@ -12041,7 +12041,7 @@ public void Old_style_ownership_to_new_style() Assert.Empty, Assert.Empty); - [ConditionalFact] + [Fact] public void Change_default_schema_with_owned_entities() => Execute( common => @@ -12102,7 +12102,7 @@ public void Change_default_schema_with_owned_entities() Assert.Empty, Assert.Empty); - [ConditionalFact] + [Fact] public void Move_properties_to_owned_type() => Execute( source => source.Ignore
().Entity(), @@ -12123,7 +12123,7 @@ public void Move_properties_to_owned_type() Assert.Equal("Billing_AddressLine1", operation2.NewName); }); - [ConditionalFact] + [Fact] public void Move_properties_to_owned_type_with_existing_ownership() => Execute( source => source.Entity().ToTable("Order").OwnsOne(o => o.Billing), @@ -12147,7 +12147,7 @@ public void Move_properties_to_owned_type_with_existing_ownership() Assert.Equal("Shipping_AddressLine1", operation2.NewName); }); - [ConditionalFact] + [Fact] public void Rename_property_on_owned_type_and_add_similar_to_owner() => Execute( source => source.Entity(x => @@ -12175,7 +12175,7 @@ public void Rename_property_on_owned_type_and_add_similar_to_owner() Assert.Equal("NotZip", operation2.Name); }); - [ConditionalFact] + [Fact] public void Rename_property_on_owning_type_and_add_similar_to_owned() => Execute( source => source.Entity(x => @@ -12204,7 +12204,7 @@ public void Rename_property_on_owning_type_and_add_similar_to_owned() Assert.Equal("Billing_AnotherDate", operation2.Name); }); - [ConditionalFact] + [Fact] public void Rename_property_on_dependent_and_add_similar_to_principal_with_shared_table() => Execute( common => common @@ -12230,7 +12230,7 @@ public void Rename_property_on_dependent_and_add_similar_to_principal_with_share Assert.Equal("NotZip", operation2.Name); }); - [ConditionalFact] + [Fact] public void Rename_property_on_subtype_and_add_similar_to_base() => Execute( source => source @@ -12259,7 +12259,7 @@ public void Rename_property_on_subtype_and_add_similar_to_base() Assert.Equal("NotZip", operation2.Name); }); - [ConditionalFact] + [Fact] public void Owner_pk_properties_appear_before_owned_pk_which_preserves_annotations() => Execute( _ => { }, @@ -12300,7 +12300,7 @@ public void Owner_pk_properties_appear_before_owned_pk_which_preserves_annotatio ); }); - [ConditionalFact] + [Fact] public void Alter_database_collation() => Execute( source => source.UseCollation("Some collation"), @@ -12335,7 +12335,7 @@ public class ReferencePoint13300 public string Reason { get; set; } } - [ConditionalFact] + [Fact] public void Primary_key_properties_are_sorted_first() => Execute( _ => { }, @@ -12431,7 +12431,7 @@ public Blog Blog } } - [ConditionalFact] + [Fact] public void Create_table_handles_same_name_but_different_schemas_and_identifying_relationship() => Execute( _ => { }, @@ -12479,7 +12479,7 @@ public void Create_table_handles_same_name_but_different_schemas_and_identifying x => Assert.Equal("Property2", x.Name)); }); - [ConditionalFact] + [Fact] public void Construction_of_shadow_values_buffer_account_for_shadow_navigations_1() => Execute( modelBuilder => modelBuilder @@ -12560,7 +12560,7 @@ public void Construction_of_shadow_values_buffer_account_for_shadow_navigations_ .HasForeignKey("UserId"), ops => { }); - [ConditionalFact] + [Fact] public void Construction_of_shadow_values_buffer_account_for_shadow_navigations_2() => Execute( modelBuilder => modelBuilder @@ -12653,7 +12653,7 @@ private class TestKeylessType private static IQueryable GetCountByYear(int id) => throw new NotImplementedException(); - [ConditionalFact] + [Fact] public void Model_differ_does_not_detect_entity_type_mapped_to_TVF() => Execute( _ => { }, @@ -12669,21 +12669,21 @@ public void Model_differ_does_not_detect_entity_type_mapped_to_TVF() result => Assert.Equal(0, result.Count), skipSourceConventions: true); - [ConditionalFact] + [Fact] public void Model_differ_ignores_newline_differences_in_DefaultValueSql() => Execute( source => source.Entity("Cat", x => x.Property("Meow").HasDefaultValueSql("SELECT\r\n'test'")), target => target.Entity("Cat", x => x.Property("Meow").HasDefaultValueSql("SELECT\n'test'")), result => Assert.Empty(result)); - [ConditionalFact] + [Fact] public void Model_differ_ignores_newline_differences_in_ComputedColumnSql() => Execute( source => source.Entity("Cat", x => x.Property("Meow").HasComputedColumnSql("UPPER(\r\nName)")), target => target.Entity("Cat", x => x.Property("Meow").HasComputedColumnSql("UPPER(\nName)")), result => Assert.Empty(result)); - [ConditionalFact] + [Fact] public void Model_differ_ignores_newline_differences_in_index_filter() => Execute( source => source.Entity("Cat", x => @@ -12698,7 +12698,7 @@ public void Model_differ_ignores_newline_differences_in_index_filter() }), result => Assert.Empty(result)); - [ConditionalFact] + [Fact] public void Model_differ_ignores_newline_differences_in_check_constraint() => Execute( source => source.Entity("Cat", x => @@ -12713,77 +12713,77 @@ public void Model_differ_ignores_newline_differences_in_check_constraint() }), result => Assert.Empty(result)); - [ConditionalFact] + [Fact] public void Model_differ_ignores_carriage_return_differences_in_DefaultValueSql() => Execute( source => source.Entity("Cat", x => x.Property("Meow").HasDefaultValueSql("SELECT\r'test'")), target => target.Entity("Cat", x => x.Property("Meow").HasDefaultValueSql("SELECT\n'test'")), result => Assert.Empty(result)); - [ConditionalFact] + [Fact] public void Model_differ_ignores_complex_newline_differences_in_ComputedColumnSql() => Execute( source => source.Entity("Cat", x => x.Property("Meow").HasComputedColumnSql("CASE\r\nWHEN Age > 5\r\nTHEN 'Old'\r\nELSE 'Young'\r\nEND")), target => target.Entity("Cat", x => x.Property("Meow").HasComputedColumnSql("CASE\nWHEN Age > 5\nTHEN 'Old'\nELSE 'Young'\nEND")), result => Assert.Empty(result)); - [ConditionalFact] + [Fact] public void Model_differ_ignores_newline_differences_in_table_comments() => Execute( source => source.Entity("Cat", x => x.ToTable(t => t.HasComment("Table for storing\r\ncat information"))), target => target.Entity("Cat", x => x.ToTable(t => t.HasComment("Table for storing\ncat information"))), result => Assert.Empty(result)); - [ConditionalFact] + [Fact] public void Model_differ_ignores_newline_differences_in_column_comments() => Execute( source => source.Entity("Cat", x => x.Property("Name").HasComment("Cat name\r\nfield")), target => target.Entity("Cat", x => x.Property("Name").HasComment("Cat name\nfield")), result => Assert.Empty(result)); - [ConditionalFact] + [Fact] public void Model_differ_ignores_newline_differences_in_DefaultValueSql_annotations() => Execute( source => source.Entity("Cat", x => x.Property("Name").HasAnnotation("Relational:DefaultValueSql", "SELECT\r\n'test'")), target => target.Entity("Cat", x => x.Property("Name").HasAnnotation("Relational:DefaultValueSql", "SELECT\n'test'")), result => Assert.Empty(result)); - [ConditionalFact] + [Fact] public void Model_differ_ignores_newline_differences_in_ComputedColumnSql_annotations() => Execute( source => source.Entity("Cat", x => x.Property("Name").HasAnnotation("Relational:ComputedColumnSql", "UPPER(\r\nName)")), target => target.Entity("Cat", x => x.Property("Name").HasAnnotation("Relational:ComputedColumnSql", "UPPER(\nName)")), result => Assert.Empty(result)); - [ConditionalFact] + [Fact] public void Model_differ_ignores_newline_differences_in_Comment_annotations() => Execute( source => source.Entity("Cat", x => x.Property("Name").HasAnnotation("Relational:Comment", "Multi-line\r\ncomment")), target => target.Entity("Cat", x => x.Property("Name").HasAnnotation("Relational:Comment", "Multi-line\ncomment")), result => Assert.Empty(result)); - [ConditionalFact] + [Fact] public void Model_differ_ignores_newline_differences_in_ViewDefinitionSql_annotations() => Execute( source => source.Entity("Cat", x => x.HasAnnotation("Relational:ViewDefinitionSql", "SELECT Id,\r\nName FROM Cats")), target => target.Entity("Cat", x => x.HasAnnotation("Relational:ViewDefinitionSql", "SELECT Id,\nName FROM Cats")), result => Assert.Empty(result)); - [ConditionalFact] + [Fact] public void Model_differ_ignores_newline_differences_in_Filter_annotations() => Execute( source => source.Entity("Cat", x => x.Property("Name").HasAnnotation("Relational:Filter", "Name IS NOT\r\nNULL")), target => target.Entity("Cat", x => x.Property("Name").HasAnnotation("Relational:Filter", "Name IS NOT\nNULL")), result => Assert.Empty(result)); - [ConditionalFact] + [Fact] public void Model_differ_detects_actual_annotation_sql_changes() => Execute( source => source.Entity("Cat", x => x.Property("Name").HasAnnotation("Relational:DefaultValueSql", "SELECT 'old'")), target => target.Entity("Cat", x => x.Property("Name").HasAnnotation("Relational:DefaultValueSql", "SELECT 'new'")), result => Assert.Single(result)); - [ConditionalFact] + [Fact] public void Model_differ_ignores_newline_differences_in_non_relational_annotations() => Execute( source => source.Entity("Cat", x => x.Property("Name").HasAnnotation("CustomAnnotation", "Value with\r\nnewlines")), diff --git a/test/EFCore.Relational.Tests/Migrations/MigrationCommandExecutorTest.cs b/test/EFCore.Relational.Tests/Migrations/MigrationCommandExecutorTest.cs index 2b3edf9efd1..1906ceb2f41 100644 --- a/test/EFCore.Relational.Tests/Migrations/MigrationCommandExecutorTest.cs +++ b/test/EFCore.Relational.Tests/Migrations/MigrationCommandExecutorTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Diagnostics.Internal; @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Migrations; public class MigrationCommandExecutorTest { - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Executes_migration_commands_in_same_transaction(bool async) { var fakeConnection = CreateConnection(); @@ -48,7 +48,7 @@ public async Task Executes_migration_commands_in_same_transaction(bool async) fakeConnection.DbConnections[0].DbCommands[1].Transaction); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Executes_migration_commands_in_user_transaction(bool async) { var fakeConnection = CreateConnection(); @@ -96,7 +96,7 @@ public async Task Executes_migration_commands_in_user_transaction(bool async) fakeConnection.DbConnections[0].DbTransactions[0]); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Executes_transaction_suppressed_migration_commands_in_user_transaction(bool async) { var fakeConnection = CreateConnection(); @@ -144,7 +144,7 @@ public async Task Executes_transaction_suppressed_migration_commands_in_user_tra fakeConnection.DbConnections[0].DbTransactions[0]); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Executes_migration_commands_with_transaction_suppressed_outside_of_transaction(bool async) { var fakeConnection = CreateConnection(); @@ -178,7 +178,7 @@ public async Task Executes_migration_commands_with_transaction_suppressed_outsid Assert.Null(fakeConnection.DbConnections[0].DbCommands[1].Transaction); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Ends_transaction_when_transaction_is_suppressed(bool async) { var fakeConnection = CreateConnection(); @@ -216,7 +216,7 @@ public async Task Ends_transaction_when_transaction_is_suppressed(bool async) fakeConnection.DbConnections[0].DbCommands[1].Transaction); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Begins_new_transaction_when_transaction_nolonger_suppressed(bool async) { var fakeConnection = CreateConnection(); @@ -254,7 +254,7 @@ public async Task Begins_new_transaction_when_transaction_nolonger_suppressed(bo fakeConnection.DbConnections[0].DbCommands[1].Transaction); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Executes_commands_in_order_regardless_of_transaction_suppression(bool async) { var fakeConnection = CreateConnection(); @@ -316,7 +316,7 @@ public async Task Executes_commands_in_order_regardless_of_transaction_suppressi command.CommandText); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Disposes_transaction_on_exception(bool async) { var fakeDbConnection = diff --git a/test/EFCore.Relational.Tests/Migrations/MigrationCommandListBuilderTest.cs b/test/EFCore.Relational.Tests/Migrations/MigrationCommandListBuilderTest.cs index f0cc9de14f0..4a4ba76fc65 100644 --- a/test/EFCore.Relational.Tests/Migrations/MigrationCommandListBuilderTest.cs +++ b/test/EFCore.Relational.Tests/Migrations/MigrationCommandListBuilderTest.cs @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Migrations; public class MigrationCommandListBuilderTest { - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void MigrationCommandListBuilder_groups_multiple_statements_into_one_batch(bool suppressTransaction) { var commandListBuilder = CreateBuilder(); @@ -35,7 +35,7 @@ public void MigrationCommandListBuilder_groups_multiple_statements_into_one_batc ignoreLineEndingDifferences: true); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void MigrationCommandListBuilder_correctly_produces_multiple_batches(bool suppressTransaction) { var commandListBuilder = CreateBuilder(); @@ -81,7 +81,7 @@ public void MigrationCommandListBuilder_correctly_produces_multiple_batches(bool ignoreLineEndingDifferences: true); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void MigrationCommandListBuilder_ignores_empty_batches(bool suppressTransaction) { var commandListBuilder = CreateBuilder(); diff --git a/test/EFCore.Relational.Tests/Migrations/Operations/CreateIndexOperationTest.cs b/test/EFCore.Relational.Tests/Migrations/Operations/CreateIndexOperationTest.cs index 3c0826287fb..4916b754274 100644 --- a/test/EFCore.Relational.Tests/Migrations/Operations/CreateIndexOperationTest.cs +++ b/test/EFCore.Relational.Tests/Migrations/Operations/CreateIndexOperationTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore.Migrations.Operations; public class CreateIndexOperationTest { - [ConditionalFact] + [Fact] public void IsDescending_count_matches_column_count() { var operation = new CreateIndexOperation(); @@ -19,7 +19,7 @@ public void IsDescending_count_matches_column_count() Assert.Throws(() => operation.IsDescending = [true]); } - [ConditionalFact] + [Fact] public void IsDescending_accepts_empty_array() { var operation = new CreateIndexOperation(); diff --git a/test/EFCore.Relational.Tests/Query/Internal/BufferedDataReaderTest.cs b/test/EFCore.Relational.Tests/Query/Internal/BufferedDataReaderTest.cs index 5342b4bb7d0..91fdbdec12f 100644 --- a/test/EFCore.Relational.Tests/Query/Internal/BufferedDataReaderTest.cs +++ b/test/EFCore.Relational.Tests/Query/Internal/BufferedDataReaderTest.cs @@ -10,7 +10,7 @@ public class BufferedDataReaderTest { public static readonly IEnumerable IsAsyncData = [[false], [true]]; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public async Task Metadata_methods_return_expected_results(bool async) { var reader = new FakeDbDataReader(["columnName"], [[new object()], [new object()]]); @@ -35,7 +35,7 @@ public async Task Metadata_methods_return_expected_results(bool async) Assert.Equal(2, bufferedDataReader.RecordsAffected); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public async Task Manipulation_methods_perform_expected_actions(bool async) { var reader = new FakeDbDataReader( @@ -105,7 +105,7 @@ public async Task Manipulation_methods_perform_expected_actions(bool async) Assert.True(bufferedDataReader.IsClosed); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public async Task Initialize_is_idempotent(bool async) { var reader = new FakeDbDataReader(["name"], [[new object()]]); @@ -136,7 +136,7 @@ public async Task Initialize_is_idempotent(bool async) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public async Task Data_methods_return_expected_results(bool async) { await Verify_get_method_returns_supplied_value(true, async); diff --git a/test/EFCore.Relational.Tests/Query/Internal/QuerySqlGeneratorTest.cs b/test/EFCore.Relational.Tests/Query/Internal/QuerySqlGeneratorTest.cs index a29173e81fa..51e5d0b3a82 100644 --- a/test/EFCore.Relational.Tests/Query/Internal/QuerySqlGeneratorTest.cs +++ b/test/EFCore.Relational.Tests/Query/Internal/QuerySqlGeneratorTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; public class QuerySqlGeneratorTest { - [ConditionalTheory, + [Theory, InlineData("INSERT something"), InlineData("SELECTANDSOMEOTHERSTUFF"), InlineData("SELECT"), @@ -29,7 +29,7 @@ public void CheckComposableSql_throws(string sql) .Message); } - [ConditionalTheory, + [Theory, InlineData("SELECT something"), InlineData(" SELECT something"), InlineData("-- comment\n SELECT something"), diff --git a/test/EFCore.Relational.Tests/RelationalApiConsistencyTest.cs b/test/EFCore.Relational.Tests/RelationalApiConsistencyTest.cs index 4a182602a6b..d2f481fa11c 100644 --- a/test/EFCore.Relational.Tests/RelationalApiConsistencyTest.cs +++ b/test/EFCore.Relational.Tests/RelationalApiConsistencyTest.cs @@ -16,7 +16,7 @@ protected override void AddServices(ServiceCollection serviceCollection) protected override Assembly TargetAssembly => typeof(RelationalDatabase).Assembly; - [ConditionalFact] + [Fact] public void Readonly_relational_metadata_methods_have_expected_name() { var errors = diff --git a/test/EFCore.Relational.Tests/RelationalConnectionTest.cs b/test/EFCore.Relational.Tests/RelationalConnectionTest.cs index 6cf0be56cdb..9ad4b1cb52f 100644 --- a/test/EFCore.Relational.Tests/RelationalConnectionTest.cs +++ b/test/EFCore.Relational.Tests/RelationalConnectionTest.cs @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore; public class RelationalConnectionTest { - [ConditionalFact] + [Fact] public void Throws_with_new_when_no_EF_services_use_Database() { var options = new DbContextOptionsBuilder() @@ -22,7 +22,7 @@ public void Throws_with_new_when_no_EF_services_use_Database() Assert.Throws(() => new ConstructorTestContext1A(options)).Message); } - [ConditionalFact] + [Fact] public void Throws_with_add_when_no_EF_services_use_Database() { var appServiceProvider = new ServiceCollection() @@ -37,7 +37,7 @@ public void Throws_with_add_when_no_EF_services_use_Database() Assert.Throws(() => serviceScope.ServiceProvider.GetService()).Message); } - [ConditionalFact] + [Fact] public void Throws_with_new_when_no_provider_use_Database() { var serviceCollection = new ServiceCollection(); @@ -54,7 +54,7 @@ public void Throws_with_new_when_no_provider_use_Database() Assert.Throws(() => context.Database.GetDbConnection()).Message); } - [ConditionalFact] + [Fact] public void Throws_with_add_when_no_provider_use_Database() { var serviceCollection = new ServiceCollection(); @@ -74,7 +74,7 @@ public void Throws_with_add_when_no_provider_use_Database() Assert.Throws(() => context.Database.GetDbConnection()).Message); } - [ConditionalFact] + [Fact] public void Throws_with_new_when_no_EF_services_because_parameterless_constructor_use_Database() { using var context = new ConstructorTestContextNoConfiguration(); @@ -83,7 +83,7 @@ public void Throws_with_new_when_no_EF_services_because_parameterless_constructo Assert.Throws(() => context.Database.GetDbConnection()).Message); } - [ConditionalFact] + [Fact] public void Throws_with_add_when_no_EF_services_because_parameterless_constructor_use_Database() { var appServiceProvider = new ServiceCollection() @@ -109,7 +109,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) new ServiceCollection().AddEntityFrameworkInMemoryDatabase().BuildServiceProvider(validateScopes: true)); } - [ConditionalFact] + [Fact] public void Can_create_new_connection_lazily_using_given_connection_string() { using var connection = new FakeRelationalConnection( @@ -122,7 +122,7 @@ public void Can_create_new_connection_lazily_using_given_connection_string() Assert.Equal("Database=FrodoLives", dbConnection.ConnectionString); } - [ConditionalFact] + [Fact] public void Can_change_or_reset_connection_string() { using var connection = new FakeRelationalConnection( @@ -157,7 +157,7 @@ public void Can_change_or_reset_connection_string() Assert.Equal("Database=MerryLives", dbConnection.ConnectionString); } - [ConditionalFact] + [Fact] public void Lazy_connection_is_opened_and_closed_when_necessary() { using var connection = new FakeRelationalConnection( @@ -197,7 +197,7 @@ public void Lazy_connection_is_opened_and_closed_when_necessary() Assert.Equal(2, dbConnection.CloseCount); } - [ConditionalFact] + [Fact] public async Task Lazy_connection_is_async_opened_and_closed_when_necessary() { using var connection = new FakeRelationalConnection( @@ -238,7 +238,7 @@ public async Task Lazy_connection_is_async_opened_and_closed_when_necessary() Assert.Equal(2, dbConnection.CloseCount); } - [ConditionalFact] + [Fact] public void Lazy_connection_is_recreated_if_used_again_after_being_disposed() { var connection = new FakeRelationalConnection( @@ -271,7 +271,7 @@ public void Lazy_connection_is_recreated_if_used_again_after_being_disposed() Assert.Equal(1, dbConnection.DisposeCount); } - [ConditionalFact] + [Fact] public void Lazy_connection_is_not_created_just_so_it_can_be_disposed() { var connection = new FakeRelationalConnection( @@ -282,7 +282,7 @@ public void Lazy_connection_is_not_created_just_so_it_can_be_disposed() Assert.Equal(0, connection.DbConnections.Count); } - [ConditionalFact] + [Fact] public void Can_create_new_connection_from_existing_DbConnection() { var dbConnection = new FakeDbConnection("Database=FrodoLives"); @@ -296,7 +296,7 @@ public void Can_create_new_connection_from_existing_DbConnection() Assert.Equal(0, connection.DbConnections.Count); } - [ConditionalFact] + [Fact] public void Existing_connection_is_opened_and_closed_when_necessary() { var dbConnection = new FakeDbConnection("Database=FrodoLives"); @@ -337,7 +337,7 @@ public void Existing_connection_is_opened_and_closed_when_necessary() Assert.Equal(2, dbConnection.CloseCount); } - [ConditionalFact] + [Fact] public void Existing_connection_can_start_in_opened_state() { var dbConnection = new FakeDbConnection( @@ -380,7 +380,7 @@ public void Existing_connection_can_start_in_opened_state() Assert.Equal(0, dbConnection.CloseCount); } - [ConditionalFact] + [Fact] public void Existing_connection_can_be_opened_and_closed_externally() { var dbConnection = new FakeDbConnection( @@ -459,7 +459,7 @@ public void Existing_connection_can_be_opened_and_closed_externally() Assert.Equal(2, dbConnection.CloseCount); } - [ConditionalFact] + [Fact] public void Existing_connection_can_be_changed_and_reset() { var dbConnection = new FakeDbConnection("Database=FrodoLives"); @@ -498,7 +498,7 @@ public void Existing_connection_can_be_changed_and_reset() Assert.Equal("Database=MerryLives", connection.ConnectionString); } - [ConditionalFact] + [Fact] public async Task Existing_connection_can_be_opened_and_closed_externally_async() { var dbConnection = new FakeDbConnection( @@ -577,7 +577,7 @@ public async Task Existing_connection_can_be_opened_and_closed_externally_async( Assert.Equal(2, dbConnection.CloseCount); } - [ConditionalFact] + [Fact] public void Existing_connection_is_not_disposed_even_after_being_opened_and_closed() { var dbConnection = new FakeDbConnection("Database=FrodoLives"); @@ -607,7 +607,7 @@ public void Existing_connection_is_not_disposed_even_after_being_opened_and_clos Assert.Equal(0, dbConnection.DisposeCount); } - [ConditionalFact] + [Fact] public void Existing_connection_is_disposed_after_being_opened_and_closed_if_owned() { var dbConnection = new FakeDbConnection("Database=FrodoLives"); @@ -628,7 +628,7 @@ public void Existing_connection_is_disposed_after_being_opened_and_closed_if_own Assert.Equal(0, connection.DbConnections.Count); } - [ConditionalFact] + [Fact] public void Existing_connection_is_disposed_if_owned_and_replaced() { var dbConnection1 = new FakeDbConnection("Database=FrodoLives"); @@ -670,7 +670,7 @@ public void Existing_connection_is_disposed_if_owned_and_replaced() Assert.Equal(0, connection.DbConnections.Count); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Connection_is_opened_and_closed_by_using_transaction(bool async) { using var connection = new FakeRelationalConnection( @@ -703,7 +703,7 @@ public async Task Connection_is_opened_and_closed_by_using_transaction(bool asyn Assert.Equal(1, dbConnection.CloseCount); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Transaction_can_begin_with_isolation_level(bool async) { using var connection = new FakeRelationalConnection( @@ -732,7 +732,7 @@ public async Task Transaction_can_begin_with_isolation_level(bool async) Assert.Null(connection.CurrentTransaction); } - [ConditionalFact] + [Fact] public void Current_transaction_is_disposed_when_connection_is_disposed() { var connection = new FakeRelationalConnection( @@ -759,7 +759,7 @@ public void Current_transaction_is_disposed_when_connection_is_disposed() Assert.Null(connection.CurrentTransaction); } - [ConditionalFact] + [Fact] public void Can_use_existing_transaction() { var dbConnection = new FakeDbConnection("Database=FrodoLives"); @@ -778,7 +778,7 @@ public void Can_use_existing_transaction() Assert.Null(connection.CurrentTransaction); } - [ConditionalFact] + [Fact] public void Can_use_existing_transaction_identifier() { var dbConnection = new FakeDbConnection("Database=FrodoLives"); @@ -800,7 +800,7 @@ public void Can_use_existing_transaction_identifier() Assert.Null(connection.CurrentTransaction); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Commit_calls_Commit_on_DbTransaction(bool async) { using var connection = new FakeRelationalConnection( @@ -834,7 +834,7 @@ public async Task Commit_calls_Commit_on_DbTransaction(bool async) Assert.Null(connection.CurrentTransaction); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Rollback_calls_Rollback_on_DbTransaction(bool async) { using var connection = new FakeRelationalConnection( @@ -868,7 +868,7 @@ public async Task Rollback_calls_Rollback_on_DbTransaction(bool async) Assert.Null(connection.CurrentTransaction); } - [ConditionalFact] + [Fact] public void Can_create_new_connection_with_CommandTimeout() { using var connection = new FakeRelationalConnection( @@ -879,7 +879,7 @@ public void Can_create_new_connection_with_CommandTimeout() Assert.Equal(99, connection.CommandTimeout); } - [ConditionalFact] + [Fact] public void Can_create_new_connection_with_CommandTimeout_set_to_zero() { using var connection = new FakeRelationalConnection( @@ -890,13 +890,13 @@ public void Can_create_new_connection_with_CommandTimeout_set_to_zero() Assert.Equal(0, connection.CommandTimeout); } - [ConditionalFact] + [Fact] public void Throws_if_create_new_connection_with_CommandTimeout_negative() => Assert.Throws(() => new FakeRelationalOptionsExtension() .WithConnectionString("Database=FrodoLives") .WithCommandTimeout(-1)); - [ConditionalFact] + [Fact] public void Can_set_CommandTimeout() { using var connection = new FakeRelationalConnection( @@ -906,7 +906,7 @@ public void Can_set_CommandTimeout() Assert.Equal(88, connection.CommandTimeout); } - [ConditionalFact] + [Fact] public void Can_set_CommandTimeout_to_zero() { using var connection = new FakeRelationalConnection( @@ -916,7 +916,7 @@ public void Can_set_CommandTimeout_to_zero() Assert.Equal(0, connection.CommandTimeout); } - [ConditionalFact] + [Fact] public void Throws_if_CommandTimeout_out_of_range() { using var connection = new FakeRelationalConnection( @@ -924,13 +924,13 @@ public void Throws_if_CommandTimeout_out_of_range() Assert.Throws(() => connection.CommandTimeout = -1); } - [ConditionalFact] + [Fact] public void Throws_if_no_relational_store_configured() => Assert.Equal( RelationalStrings.NoProviderConfigured, Assert.Throws(() => new FakeRelationalConnection(CreateOptions())).Message); - [ConditionalFact] + [Fact] public void Throws_if_multiple_relational_stores_configured() => Assert.Equal( RelationalStrings.MultipleProvidersConfigured, @@ -978,7 +978,7 @@ public override void PopulateDebugInfo(IDictionary debugInfo) } } - [ConditionalFact] + [Fact] public void Puts_connection_string_on_connection_if_both_are_specified() { var connection = new FakeRelationalConnection( @@ -990,7 +990,7 @@ public void Puts_connection_string_on_connection_if_both_are_specified() Assert.Equal("Database=SamLives", connection.DbConnection.ConnectionString); } - [ConditionalFact] + [Fact] public void Throws_when_commit_is_called_without_active_transaction() { using var connection = new FakeRelationalConnection( @@ -1002,7 +1002,7 @@ public void Throws_when_commit_is_called_without_active_transaction() Assert.Throws(() => connection.CommitTransaction()).Message); } - [ConditionalFact] + [Fact] public void Throws_when_rollback_is_called_without_active_transaction() { using var connection = new FakeRelationalConnection( @@ -1014,7 +1014,7 @@ public void Throws_when_rollback_is_called_without_active_transaction() Assert.Throws(() => connection.RollbackTransaction()).Message); } - [ConditionalFact] + [Fact] public void Throws_when_changing_DbConnection_if_current_is_open_and_owned() { using var connection = new FakeRelationalConnection( @@ -1028,7 +1028,7 @@ public void Throws_when_changing_DbConnection_if_current_is_open_and_owned() Assert.Throws(() => connection.DbConnection = new FakeDbConnection("Fake")).Message); } - [ConditionalFact] + [Fact] public void Disposes_when_changing_DbConnection_if_current_is_owned_and_not_open() { using var connection = new FakeRelationalConnection( @@ -1043,7 +1043,7 @@ public void Disposes_when_changing_DbConnection_if_current_is_owned_and_not_open () => connection.DbConnection = new FakeDbConnection("Fake")); } - [ConditionalFact] + [Fact] public void Does_not_dispose_when_changing_DbConnection_if_current_is_open_and_not_owned() { using var connection = new FakeRelationalConnection(); @@ -1058,7 +1058,7 @@ public void Does_not_dispose_when_changing_DbConnection_if_current_is_open_and_n Assert.Equal(ConnectionState.Open, dbConnection.State); } - [ConditionalFact] + [Fact] public async Task Reports_command_diagnostic_on_cancellation() { var exception = new OperationCanceledException(); @@ -1084,7 +1084,7 @@ public async Task Reports_command_diagnostic_on_cancellation() }); } - [ConditionalFact] + [Fact] public async Task HandleTransactionCompleted_with_concurrent_ClearTransactions_is_thread_safe() { // This test verifies the fix for the race condition where HandleTransactionCompleted diff --git a/test/EFCore.Relational.Tests/Storage/NamedConnectionStringResolverTest.cs b/test/EFCore.Relational.Tests/Storage/NamedConnectionStringResolverTest.cs index 0f743af0409..f5acd031d10 100644 --- a/test/EFCore.Relational.Tests/Storage/NamedConnectionStringResolverTest.cs +++ b/test/EFCore.Relational.Tests/Storage/NamedConnectionStringResolverTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Storage; public class NamedConnectionStringResolverTest { - [ConditionalFact] + [Fact] public void Throws_if_no_app_service_provider() { var resolver = new NamedConnectionStringResolver(new FakeOptions(null, false)); @@ -18,7 +18,7 @@ public void Throws_if_no_app_service_provider() Assert.Throws(() => resolver.ResolveConnectionString("name=foo")).Message); } - [ConditionalFact] + [Fact] public void Throws_if_no_IConfiguration() { var resolver = new NamedConnectionStringResolver(new FakeOptions(null)); @@ -28,7 +28,7 @@ public void Throws_if_no_IConfiguration() Assert.Throws(() => resolver.ResolveConnectionString("name=foo")).Message); } - [ConditionalFact] + [Fact] public void Throws_if_IConfiguration_does_not_contain_key() { var resolver = new NamedConnectionStringResolver(new FakeOptions(new ConfigurationBuilder().Build())); @@ -38,7 +38,7 @@ public void Throws_if_IConfiguration_does_not_contain_key() Assert.Throws(() => resolver.ResolveConnectionString("name=foo")).Message); } - [ConditionalFact] + [Fact] public void Returns_resolved_string_if_IConfiguration_contains_key() { var resolver = new NamedConnectionStringResolver( @@ -61,7 +61,7 @@ public void Returns_resolved_string_if_IConfiguration_contains_key() Assert.Equal("Conn1", resolver.ResolveConnectionString(" NamE = MyConnectionString ")); } - [ConditionalFact] + [Fact] public void Returns_given_string_named_connection_string_doesnt_match_pattern() { var resolver = new NamedConnectionStringResolver( diff --git a/test/EFCore.Relational.Tests/Storage/RawSqlCommandBuilderTest.cs b/test/EFCore.Relational.Tests/Storage/RawSqlCommandBuilderTest.cs index e08175aadd0..61776bfb6dc 100644 --- a/test/EFCore.Relational.Tests/Storage/RawSqlCommandBuilderTest.cs +++ b/test/EFCore.Relational.Tests/Storage/RawSqlCommandBuilderTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Storage; public class RawSqlCommandBuilderTest { - [ConditionalFact] + [Fact] public virtual void Builds_RelationalCommand_without_optional_parameters() { var builder = CreateBuilder(); @@ -36,7 +36,7 @@ private static RawSqlCommandBuilder CreateBuilder() TestServiceFactory.Instance.Create(), TestServiceFactory.Instance.Create())); - [ConditionalFact] + [Fact] public virtual void Builds_RelationalCommand_with_empty_parameter_list() { var builder = CreateBuilder(); @@ -48,7 +48,7 @@ public virtual void Builds_RelationalCommand_with_empty_parameter_list() Assert.Equal(0, rawSqlCommand.ParameterValues.Count); } - [ConditionalFact] + [Fact] public virtual void Builds_RelationalCommand_with_parameters() { var builder = CreateBuilder(); diff --git a/test/EFCore.Relational.Tests/Storage/RelationalCommandBuilderTest.cs b/test/EFCore.Relational.Tests/Storage/RelationalCommandBuilderTest.cs index 7eea16980cd..f94c5134f7f 100644 --- a/test/EFCore.Relational.Tests/Storage/RelationalCommandBuilderTest.cs +++ b/test/EFCore.Relational.Tests/Storage/RelationalCommandBuilderTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Data; @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Storage; public class RelationalCommandBuilderTest { - [ConditionalFact] + [Fact] public void Builds_simple_command() { var commandBuilder = CreateCommandBuilder(); @@ -20,7 +20,7 @@ public void Builds_simple_command() Assert.Equal(0, command.Parameters.Count); } - [ConditionalFact] + [Fact] public void Build_command_with_parameter() { var commandBuilder = CreateCommandBuilder(); diff --git a/test/EFCore.Relational.Tests/Storage/RelationalCommandTest.cs b/test/EFCore.Relational.Tests/Storage/RelationalCommandTest.cs index 91873255705..459bc097b80 100644 --- a/test/EFCore.Relational.Tests/Storage/RelationalCommandTest.cs +++ b/test/EFCore.Relational.Tests/Storage/RelationalCommandTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Data; @@ -25,7 +25,7 @@ public class RelationalCommandTest { private static readonly string _eol = Environment.NewLine; - [ConditionalFact] + [Fact] public void Configures_DbCommand() { var fakeConnection = CreateConnection(); @@ -44,7 +44,7 @@ public void Configures_DbCommand() Assert.Equal(FakeDbCommand.DefaultCommandTimeout, command.CommandTimeout); } - [ConditionalFact] + [Fact] public void Configures_DbCommand_with_transaction() { var fakeConnection = CreateConnection(); @@ -64,7 +64,7 @@ public void Configures_DbCommand_with_transaction() Assert.Same(relationalTransaction.GetDbTransaction(), command.Transaction); } - [ConditionalFact] + [Fact] public void Configures_DbCommand_with_timeout() { var optionsExtension = new FakeRelationalOptionsExtension() @@ -86,7 +86,7 @@ public void Configures_DbCommand_with_timeout() Assert.Equal(42, command.CommandTimeout); } - [ConditionalFact] + [Fact] public void Can_ExecuteNonQuery() { var executeNonQueryCount = 0; @@ -126,7 +126,7 @@ public void Can_ExecuteNonQuery() Assert.Equal(1, fakeDbConnection.DbCommands[0].DisposeCount); } - [ConditionalFact] + [Fact] public virtual async Task Can_ExecuteNonQueryAsync() { var executeNonQueryCount = 0; @@ -166,7 +166,7 @@ public virtual async Task Can_ExecuteNonQueryAsync() Assert.Equal(1, fakeDbConnection.DbCommands[0].DisposeCount); } - [ConditionalFact] + [Fact] public void Can_ExecuteScalar() { var executeScalarCount = 0; @@ -206,7 +206,7 @@ public void Can_ExecuteScalar() Assert.Equal(1, fakeDbConnection.DbCommands[0].DisposeCount); } - [ConditionalFact] + [Fact] public async Task Can_ExecuteScalarAsync() { var executeScalarCount = 0; @@ -246,7 +246,7 @@ public async Task Can_ExecuteScalarAsync() Assert.Equal(1, fakeDbConnection.DbCommands[0].DisposeCount); } - [ConditionalFact] + [Fact] public void Can_ExecuteReader() { var executeReaderCount = 0; @@ -295,7 +295,7 @@ public void Can_ExecuteReader() Assert.Equal(expectedCount, fakeDbConnection.CloseCount); } - [ConditionalFact] + [Fact] public async Task Can_ExecuteReaderAsync() { var executeReaderCount = 0; @@ -346,7 +346,7 @@ public async Task Can_ExecuteReaderAsync() Assert.Equal(expectedCount, fakeDbConnection.CloseCount); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public async Task Can_ExecuteReader_multiple_times(bool async) { var diagnosticEvents = new List>(); @@ -475,7 +475,7 @@ public static TheoryData CommandActions } }; - [ConditionalTheory, MemberData(nameof(CommandActions))] + [Theory, MemberData(nameof(CommandActions))] public async Task Throws_when_parameters_are_configured_and_parameter_values_is_null( Delegate commandDelegate, DbCommandMethod _, @@ -509,7 +509,7 @@ public async Task Throws_when_parameters_are_configured_and_parameter_values_is_ } } - [ConditionalTheory, MemberData(nameof(CommandActions))] + [Theory, MemberData(nameof(CommandActions))] public async Task Throws_when_parameters_are_configured_and_value_is_missing( Delegate commandDelegate, DbCommandMethod _, @@ -545,7 +545,7 @@ public async Task Throws_when_parameters_are_configured_and_value_is_missing( } } - [ConditionalTheory, MemberData(nameof(CommandActions))] + [Theory, MemberData(nameof(CommandActions))] public async Task Configures_DbCommand_with_type_mapped_parameters( Delegate commandDelegate, DbCommandMethod _, @@ -607,7 +607,7 @@ public async Task Configures_DbCommand_with_type_mapped_parameters( Assert.Equal(FakeDbParameter.DefaultDbType, parameter.DbType); } - [ConditionalTheory, MemberData(nameof(CommandActions))] + [Theory, MemberData(nameof(CommandActions))] public async Task Configures_DbCommand_with_composite_parameters( Delegate commandDelegate, DbCommandMethod _, @@ -669,7 +669,7 @@ public async Task Configures_DbCommand_with_composite_parameters( Assert.Equal(FakeDbParameter.DefaultDbType, parameter.DbType); } - [ConditionalTheory, MemberData(nameof(CommandActions))] + [Theory, MemberData(nameof(CommandActions))] public async Task Throws_when_composite_parameters_are_configured_and_value_is_missing( Delegate commandDelegate, DbCommandMethod _, @@ -710,7 +710,7 @@ public async Task Throws_when_composite_parameters_are_configured_and_value_is_m } } - [ConditionalTheory, MemberData(nameof(CommandActions))] + [Theory, MemberData(nameof(CommandActions))] public async Task Throws_when_composite_parameters_are_configured_and_value_is_not_object_array( Delegate commandDelegate, DbCommandMethod _, @@ -748,7 +748,7 @@ public async Task Throws_when_composite_parameters_are_configured_and_value_is_n } } - [ConditionalTheory, MemberData(nameof(CommandActions))] + [Theory, MemberData(nameof(CommandActions))] public async Task Disposes_command_on_exception( Delegate commandDelegate, DbCommandMethod _, @@ -788,7 +788,7 @@ await Assert.ThrowsAsync(async () Assert.Equal(1, fakeDbConnection.DbCommands[0].DisposeCount); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Disposes_command_on_exception_in_reader(bool async) { var fakeDbConnection = new FakeDbConnection( @@ -850,7 +850,7 @@ public override void Initialize( } } - [ConditionalTheory, MemberData(nameof(CommandActions))] + [Theory, MemberData(nameof(CommandActions))] public async Task Closes_managed_connections_on_exception( Delegate commandDelegate, DbCommandMethod _, @@ -894,7 +894,7 @@ await Assert.ThrowsAsync(async () Assert.Equal(1, fakeDbConnection.CloseCount); } - [ConditionalTheory, MemberData(nameof(CommandActions))] + [Theory, MemberData(nameof(CommandActions))] public async Task Does_not_close_unmanaged_connections_on_exception( Delegate commandDelegate, DbCommandMethod _, @@ -938,7 +938,7 @@ await Assert.ThrowsAsync(async () Assert.Equal(1, fakeDbConnection.CloseCount); } - [ConditionalTheory, MemberData(nameof(CommandActions))] + [Theory, MemberData(nameof(CommandActions))] public async Task Logs_commands_without_parameter_values( Delegate commandDelegate, DbCommandMethod _, @@ -994,7 +994,7 @@ public async Task Logs_commands_without_parameter_values( } } - [ConditionalTheory, MemberData(nameof(CommandActions))] + [Theory, MemberData(nameof(CommandActions))] public async Task Logs_commands_parameter_values( Delegate commandDelegate, DbCommandMethod _, @@ -1056,7 +1056,7 @@ public async Task Logs_commands_parameter_values( } } - [ConditionalTheory, MemberData(nameof(CommandActions))] + [Theory, MemberData(nameof(CommandActions))] public async Task Reports_command_diagnostic( Delegate commandDelegate, DbCommandMethod diagnosticName, @@ -1114,7 +1114,7 @@ public async Task Reports_command_diagnostic( Assert.Equal(async, afterData.IsAsync); } - [ConditionalTheory, MemberData(nameof(CommandActions))] + [Theory, MemberData(nameof(CommandActions))] public async Task Reports_command_diagnostic_on_exception( Delegate commandDelegate, DbCommandMethod diagnosticName, @@ -1190,7 +1190,7 @@ await Assert.ThrowsAsync(async () Assert.Equal(exception, afterData.Exception); } - [ConditionalTheory, MemberData(nameof(CommandActions))] + [Theory, MemberData(nameof(CommandActions))] public async Task Reports_command_diagnostic_on_cancellation( Delegate commandDelegate, DbCommandMethod diagnosticName, diff --git a/test/EFCore.Relational.Tests/Storage/RelationalDataReaderTest.cs b/test/EFCore.Relational.Tests/Storage/RelationalDataReaderTest.cs index e1972556feb..6b6a6598470 100644 --- a/test/EFCore.Relational.Tests/Storage/RelationalDataReaderTest.cs +++ b/test/EFCore.Relational.Tests/Storage/RelationalDataReaderTest.cs @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Storage; public class RelationalDataReaderTest { - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public async Task Does_not_hold_reference_to_DbDataReader_after_dispose(bool async) { var fakeConnection = CreateConnection(); diff --git a/test/EFCore.Relational.Tests/Storage/RelationalGeometryTypeMappingTest.cs b/test/EFCore.Relational.Tests/Storage/RelationalGeometryTypeMappingTest.cs index bda3dc7713e..a858cc4fe1e 100644 --- a/test/EFCore.Relational.Tests/Storage/RelationalGeometryTypeMappingTest.cs +++ b/test/EFCore.Relational.Tests/Storage/RelationalGeometryTypeMappingTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Storage; public class RelationalGeometryTypeMappingTest { - [ConditionalFact] + [Fact] public void Comparer_uses_exact_comparison() { var geometry1 = new GeometryCollection([new Point(1, 2), new Point(3, 4)]); diff --git a/test/EFCore.Relational.Tests/Storage/RelationalParameterBuilderTest.cs b/test/EFCore.Relational.Tests/Storage/RelationalParameterBuilderTest.cs index 2f9bc5144c6..114c332faa6 100644 --- a/test/EFCore.Relational.Tests/Storage/RelationalParameterBuilderTest.cs +++ b/test/EFCore.Relational.Tests/Storage/RelationalParameterBuilderTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Data; @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Storage; public class RelationalParameterBuilderTest { - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void Can_add_type_mapped_parameter_by_type(bool nullable) { var typeMapper = (IRelationalTypeMappingSource)new TestRelationalTypeMappingSource( @@ -40,7 +40,7 @@ public void Can_add_type_mapped_parameter_by_type(bool nullable) Assert.Equal(nullable, parameter.IsNullable); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void Can_add_type_mapped_parameter_by_property(bool nullable) { var typeMapper = new TestRelationalTypeMappingSource( @@ -75,7 +75,7 @@ public void Can_add_type_mapped_parameter_by_property(bool nullable) Assert.Equal(nullable, parameter.IsNullable); } - [ConditionalFact] + [Fact] public void Can_add_composite_parameter() { var typeMapper = new TestRelationalTypeMappingSource( @@ -113,7 +113,7 @@ public void Can_add_composite_parameter() Assert.Equal(2, parameter.RelationalParameters.Count); } - [ConditionalFact] + [Fact] public void Does_not_add_empty_composite_parameter() { var typeMapper = new TestRelationalTypeMappingSource( diff --git a/test/EFCore.Relational.Tests/Storage/RelationalSqlGenerationHelperTest.cs b/test/EFCore.Relational.Tests/Storage/RelationalSqlGenerationHelperTest.cs index 76f071bf2bb..e4288168a56 100644 --- a/test/EFCore.Relational.Tests/Storage/RelationalSqlGenerationHelperTest.cs +++ b/test/EFCore.Relational.Tests/Storage/RelationalSqlGenerationHelperTest.cs @@ -5,15 +5,15 @@ namespace Microsoft.EntityFrameworkCore.Storage; public class RelationalSqlGenerationHelperTest { - [ConditionalFact] + [Fact] public void GenerateParameterName_returns_parameter_name() => Assert.Equal("@name", CreateSqlGenerationHelper().GenerateParameterName("name")); - [ConditionalFact] + [Fact] public void Default_BatchCommandSeparator_is_semicolon() => Assert.Equal(";", CreateSqlGenerationHelper().StatementTerminator); - [ConditionalFact] + [Fact] public void BatchSeparator_returns_separator() => Assert.Equal(Environment.NewLine, CreateSqlGenerationHelper().BatchTerminator); diff --git a/test/EFCore.Relational.Tests/Storage/RelationalTypeMappingSourceTest.cs b/test/EFCore.Relational.Tests/Storage/RelationalTypeMappingSourceTest.cs index c7527f2fcbc..c791a22df0c 100644 --- a/test/EFCore.Relational.Tests/Storage/RelationalTypeMappingSourceTest.cs +++ b/test/EFCore.Relational.Tests/Storage/RelationalTypeMappingSourceTest.cs @@ -7,15 +7,15 @@ namespace Microsoft.EntityFrameworkCore.Storage; public class RelationalTypeMappingSourceTest : RelationalTypeMappingSourceTestBase { - [ConditionalFact] + [Fact] public void Does_simple_mapping_from_CLR_type() => Assert.Equal("default_int_mapping", GetTypeMapping(typeof(int)).StoreType); - [ConditionalFact] + [Fact] public void Does_simple_mapping_from_nullable_CLR_type() => Assert.Equal("default_int_mapping", GetTypeMapping(typeof(int?)).StoreType); - [ConditionalFact] + [Fact] public void Does_type_mapping_from_string_with_no_MaxLength() { var mapping = GetTypeMapping(typeof(string)); @@ -23,7 +23,7 @@ public void Does_type_mapping_from_string_with_no_MaxLength() Assert.Equal("just_string(max)", mapping.StoreType); } - [ConditionalFact] + [Fact] public void Does_type_mapping_from_string_with_MaxLength() { var mapping = GetTypeMapping(typeof(string), maxLength: 666); @@ -32,7 +32,7 @@ public void Does_type_mapping_from_string_with_MaxLength() Assert.Equal(666, mapping.Size); } - [ConditionalFact] + [Fact] public void Does_type_mapping_from_string_with_MaxLength_greater_than_unbounded_max() { var mapping = GetTypeMapping(typeof(string), maxLength: 2020); @@ -41,7 +41,7 @@ public void Does_type_mapping_from_string_with_MaxLength_greater_than_unbounded_ Assert.Equal(2020, mapping.Size); } - [ConditionalFact] + [Fact] public void Does_type_mapping_from_btye_array_with_no_MaxLength() { var mapping = GetTypeMapping(typeof(byte[])); @@ -49,7 +49,7 @@ public void Does_type_mapping_from_btye_array_with_no_MaxLength() Assert.Equal("just_binary(max)", mapping.StoreType); } - [ConditionalFact] + [Fact] public void Does_type_mapping_from_btye_array_with_MaxLength() { var mapping = GetTypeMapping(typeof(byte[]), maxLength: 777); @@ -58,7 +58,7 @@ public void Does_type_mapping_from_btye_array_with_MaxLength() Assert.Equal(777, mapping.Size); } - [ConditionalFact] + [Fact] public void Does_type_mapping_from_btye_array_greater_than_unbounded_max() { var mapping = GetTypeMapping(typeof(byte[]), maxLength: 2020); @@ -66,15 +66,15 @@ public void Does_type_mapping_from_btye_array_greater_than_unbounded_max() Assert.Equal("just_binary(2020)", mapping.StoreType); } - [ConditionalFact] + [Fact] public void Does_simple_mapping_from_name() => Assert.Equal("int", GetTypeMapping(typeof(int), storeTypeName: "int").StoreType); - [ConditionalFact] + [Fact] public void Does_default_mapping_for_unrecognized_store_type() => Assert.Equal("int", GetTypeMapping(typeof(int), storeTypeName: "int").StoreType); - [ConditionalFact] + [Fact] public void Does_type_mapping_from_named_string_with_no_MaxLength() { var mapping = GetTypeMapping(typeof(string), storeTypeName: "some_string(max)"); @@ -82,7 +82,7 @@ public void Does_type_mapping_from_named_string_with_no_MaxLength() Assert.Equal("some_string(max)", mapping.StoreType); } - [ConditionalFact] + [Fact] public void Does_type_mapping_from_named_string_with_MaxLength() { var mapping = GetTypeMapping(typeof(string), storeTypeName: "some_string(666)"); @@ -91,7 +91,7 @@ public void Does_type_mapping_from_named_string_with_MaxLength() Assert.Equal(666, mapping.Size); } - [ConditionalFact] + [Fact] public void Does_type_mapping_from_named_binary_with_no_MaxLength() { var mapping = GetTypeMapping(typeof(byte[]), storeTypeName: "some_binary(max)"); @@ -99,7 +99,7 @@ public void Does_type_mapping_from_named_binary_with_no_MaxLength() Assert.Equal("some_binary(max)", mapping.StoreType); } - [ConditionalFact] + [Fact] public void Key_with_store_type_is_picked_up_by_FK() { var model = CreateModel(); @@ -114,7 +114,7 @@ public void Key_with_store_type_is_picked_up_by_FK() GetMapping(mapper, model.FindEntityType(typeof(MyRelatedType1)).FindProperty("Relationship1Id")).StoreType); } - [ConditionalFact] + [Fact] public void Does_default_type_mapping_from_decimal() { var model = CreateModel(); @@ -125,7 +125,7 @@ public void Does_default_type_mapping_from_decimal() GetMapping(mapper, model.FindEntityType(typeof(MyPrecisionType)).FindProperty("Id")).StoreType); } - [ConditionalFact] + [Fact] public void Does_type_mapping_from_decimal_with_precision_only() { var model = CreateModel(); @@ -136,7 +136,7 @@ public void Does_type_mapping_from_decimal_with_precision_only() GetMapping(mapper, model.FindEntityType(typeof(MyPrecisionType)).FindProperty("PrecisionOnly")).StoreType); } - [ConditionalFact] + [Fact] public void Does_type_mapping_from_decimal_with_precision_and_scale() { var model = CreateModel(); @@ -147,7 +147,7 @@ public void Does_type_mapping_from_decimal_with_precision_and_scale() GetMapping(mapper, model.FindEntityType(typeof(MyPrecisionType)).FindProperty("PrecisionAndScale")).StoreType); } - [ConditionalFact] + [Fact] public void Does_type_mapping_from_string_with_configuration() { var mapping = GetTypeMapping( @@ -168,7 +168,7 @@ public void Does_type_mapping_from_string_with_configuration() Assert.True(mapping.IsFixedLength); } - [ConditionalFact] + [Fact] public void Does_type_mapping_from_string_type_with_configuration() { var mapping = GetTypeMapping( @@ -184,7 +184,7 @@ public void Does_type_mapping_from_string_type_with_configuration() Assert.False(mapping.IsUnicode); } - [ConditionalFact] + [Fact] public void Does_type_mapping_from_decimal_with_configuration() { var mapping = GetTypeMapping( @@ -205,7 +205,7 @@ public void Does_type_mapping_from_decimal_with_configuration() Assert.False(mapping.IsFixedLength); } - [ConditionalFact] + [Fact] public void Does_type_mapping_from_decimal_type_with_configuration() { var mapping = GetTypeMapping( @@ -222,7 +222,7 @@ public void Does_type_mapping_from_decimal_type_with_configuration() Assert.False(mapping.IsFixedLength); } - [ConditionalFact] + [Fact] public void StoreTypeNameBase_is_trimmed() { var mapping = GetTypeMapping( @@ -248,7 +248,7 @@ public RelationalTypeMapping GetMapping(Type type) public RelationalTypeMapping GetMapping(IProperty property) => CreateRelationalTypeMappingSource(CreateModel()).FindMapping(property); - [ConditionalFact] + [Fact] public void String_key_with_max_fixed_length_is_picked_up_by_FK() { var model = CreateModel(); @@ -263,7 +263,7 @@ public void String_key_with_max_fixed_length_is_picked_up_by_FK() GetMapping(mapper, model.FindEntityType(typeof(MyRelatedType2)).FindProperty("Relationship1Id")).StoreType); } - [ConditionalFact] + [Fact] public void Binary_key_with_max_fixed_length_is_picked_up_by_FK() { var model = CreateModel(); @@ -278,7 +278,7 @@ public void Binary_key_with_max_fixed_length_is_picked_up_by_FK() GetMapping(mapper, model.FindEntityType(typeof(MyRelatedType3)).FindProperty("Relationship1Id")).StoreType); } - [ConditionalFact] + [Fact] public void String_key_with_unicode_is_picked_up_by_FK() { var model = CreateModel(); @@ -293,7 +293,7 @@ public void String_key_with_unicode_is_picked_up_by_FK() GetMapping(mapper, model.FindEntityType(typeof(MyRelatedType4)).FindProperty("Relationship1Id")).StoreType); } - [ConditionalFact] + [Fact] public void Key_store_type_is_preferred_if_specified() { var model = CreateModel(); @@ -308,7 +308,7 @@ public void Key_store_type_is_preferred_if_specified() GetMapping(mapper, model.FindEntityType(typeof(MyRelatedType1)).FindProperty("Relationship2Id")).StoreType); } - [ConditionalFact] + [Fact] public void String_FK_max_length_is_preferred_if_specified() { var model = CreateModel(); @@ -323,7 +323,7 @@ public void String_FK_max_length_is_preferred_if_specified() GetMapping(mapper, model.FindEntityType(typeof(MyRelatedType2)).FindProperty("Relationship2Id")).StoreType); } - [ConditionalFact] + [Fact] public void Binary_FK_max_length_is_preferred_if_specified() { var model = CreateModel(); @@ -338,7 +338,7 @@ public void Binary_FK_max_length_is_preferred_if_specified() GetMapping(mapper, model.FindEntityType(typeof(MyRelatedType3)).FindProperty("Relationship2Id")).StoreType); } - [ConditionalFact] + [Fact] public void String_FK_unicode_is_preferred_if_specified() { var model = CreateModel(); diff --git a/test/EFCore.Relational.Tests/Storage/RelationalTypeMappingTest.cs b/test/EFCore.Relational.Tests/Storage/RelationalTypeMappingTest.cs index e1796be7c05..6f35a15d84b 100644 --- a/test/EFCore.Relational.Tests/Storage/RelationalTypeMappingTest.cs +++ b/test/EFCore.Relational.Tests/Storage/RelationalTypeMappingTest.cs @@ -32,7 +32,7 @@ public static ValueComparer CreateComparer(Type type) => (ValueComparer)Activator.CreateInstance( typeof(FakeValueComparer<>).MakeGenericType(type)); - [ConditionalTheory, InlineData(typeof(BoolTypeMapping), typeof(bool)), InlineData(typeof(ByteTypeMapping), typeof(byte)), + [Theory, InlineData(typeof(BoolTypeMapping), typeof(bool)), InlineData(typeof(ByteTypeMapping), typeof(byte)), InlineData(typeof(CharTypeMapping), typeof(char)), InlineData(typeof(DateTimeOffsetTypeMapping), typeof(DateTimeOffset)), InlineData(typeof(DateTimeTypeMapping), typeof(DateTime)), InlineData(typeof(DecimalTypeMapping), typeof(decimal)), InlineData(typeof(DoubleTypeMapping), typeof(double)), InlineData(typeof(FloatTypeMapping), typeof(float)), @@ -88,7 +88,7 @@ protected static RelationalTypeMapping AssertClone(Type type, RelationalTypeMapp return clone; } - [ConditionalFact] + [Fact] public virtual void Create_and_clone_sized_mappings_with_converter() => ConversionCloneTest(typeof(ByteArrayTypeMapping), typeof(byte[])); @@ -151,7 +151,7 @@ protected virtual void ConversionCloneTest( Assert.Equal(StoreTypePostfix.Size, clone.StoreTypePostfix); } - [ConditionalFact] + [Fact] public virtual void Create_and_clone_unicode_sized_mappings_with_converter() => UnicodeConversionCloneTest(typeof(StringTypeMapping), typeof(string)); @@ -255,7 +255,7 @@ protected override RelationalTypeMapping Clone(RelationalTypeMappingParameters p => new FakeTypeMapping(parameters); } - [ConditionalFact] + [Fact] public void Can_create_simple_parameter() { using var command = CreateTestCommand(); @@ -269,7 +269,7 @@ public void Can_create_simple_parameter() Assert.False(parameter.IsNullable); } - [ConditionalFact] + [Fact] public void Can_create_simple_nullable_parameter() { using var command = CreateTestCommand(); @@ -283,7 +283,7 @@ public void Can_create_simple_nullable_parameter() Assert.True(parameter.IsNullable); } - [ConditionalFact] + [Fact] public void Can_create_simple_parameter_with_DbType() { using var command = CreateTestCommand(); @@ -297,7 +297,7 @@ public void Can_create_simple_parameter_with_DbType() Assert.False(parameter.IsNullable); } - [ConditionalFact] + [Fact] public void Can_create_simple_nullable_parameter_with_DbType() { using var command = CreateTestCommand(); @@ -313,7 +313,7 @@ public void Can_create_simple_nullable_parameter_with_DbType() // TODO: Add tests for parameter directions - [ConditionalFact] + [Fact] public void Can_create_required_string_parameter() { using var command = CreateTestCommand(); @@ -328,7 +328,7 @@ public void Can_create_required_string_parameter() Assert.Equal(5, parameter.Size); } - [ConditionalFact] + [Fact] public void Can_create_string_parameter() { using var command = CreateTestCommand(); @@ -349,7 +349,7 @@ protected virtual void Test_GenerateSqlLiteral_helper( string literalValue) => Assert.Equal(literalValue, typeMapping.GenerateSqlLiteral(value)); - [ConditionalFact] + [Fact] public virtual void Bool_literal_generated_correctly() { var typeMapping = new BoolTypeMapping("bool"); @@ -358,11 +358,11 @@ public virtual void Bool_literal_generated_correctly() Test_GenerateSqlLiteral_helper(typeMapping, false, "0"); } - [ConditionalFact] + [Fact] public virtual void ByteArray_literal_generated_correctly() => Test_GenerateSqlLiteral_helper(new ByteArrayTypeMapping("byte[]"), new byte[] { 0xDA, 0x7A }, "X'DA7A'"); - [ConditionalFact] + [Fact] public virtual void Byte_literal_generated_correctly() { var typeMapping = new ByteTypeMapping("byte"); @@ -371,35 +371,35 @@ public virtual void Byte_literal_generated_correctly() Test_GenerateSqlLiteral_helper(typeMapping, byte.MaxValue, "255"); } - [ConditionalFact] + [Fact] public virtual void Char_literal_generated_correctly() { Test_GenerateSqlLiteral_helper(new CharTypeMapping("char"), 'A', "'A'"); Test_GenerateSqlLiteral_helper(new CharTypeMapping("char"), '\'', "''''"); } - [ConditionalFact] + [Fact] public virtual void DateTimeOffset_literal_generated_correctly() => Test_GenerateSqlLiteral_helper( new DateTimeOffsetTypeMapping("DateTimeOffset"), new DateTimeOffset(2015, 3, 12, 13, 36, 37, 371, new TimeSpan(-7, 0, 0)), "TIMESTAMP '2015-03-12 13:36:37.3710000-07:00'"); - [ConditionalFact] + [Fact] public virtual void DateTime_literal_generated_correctly() => Test_GenerateSqlLiteral_helper( new DateTimeTypeMapping("DateTime"), new DateTime(2015, 3, 12, 13, 36, 37, 371, DateTimeKind.Utc), "TIMESTAMP '2015-03-12 13:36:37.3710000'"); - [ConditionalFact] + [Fact] public virtual void DateOnly_literal_generated_correctly() => Test_GenerateSqlLiteral_helper( new DateOnlyTypeMapping("DateOnly"), new DateOnly(2015, 3, 12), "DATE '2015-03-12'"); - [ConditionalFact] + [Fact] public virtual void TimeOnly_literal_generated_correctly() { var typeMapping = new TimeOnlyTypeMapping("TimeOnly"); @@ -409,7 +409,7 @@ public virtual void TimeOnly_literal_generated_correctly() Test_GenerateSqlLiteral_helper(typeMapping, new TimeOnly(13, 10, 15, 120, 20), "TIME '13:10:15.12002'"); } - [ConditionalFact] + [Fact] public virtual void Decimal_literal_generated_correctly() { var typeMapping = new DecimalTypeMapping("decimal"); @@ -418,7 +418,7 @@ public virtual void Decimal_literal_generated_correctly() Test_GenerateSqlLiteral_helper(typeMapping, decimal.MaxValue, "79228162514264337593543950335.0"); } - [ConditionalFact] + [Fact] public virtual void Double_literal_generated_correctly() { var typeMapping = new DoubleTypeMapping("double"); @@ -430,7 +430,7 @@ public virtual void Double_literal_generated_correctly() Test_GenerateSqlLiteral_helper(typeMapping, double.MaxValue, "1.7976931348623157E+308"); } - [ConditionalFact] + [Fact] public virtual void Float_literal_generated_correctly() { var typeMapping = new FloatTypeMapping("float"); @@ -442,14 +442,14 @@ public virtual void Float_literal_generated_correctly() Test_GenerateSqlLiteral_helper(typeMapping, float.MaxValue, "3.4028235E+38"); } - [ConditionalFact] + [Fact] public virtual void Guid_literal_generated_correctly() => Test_GenerateSqlLiteral_helper( new GuidTypeMapping("guid"), new Guid("c6f43a9e-91e1-45ef-a320-832ea23b7292"), "'c6f43a9e-91e1-45ef-a320-832ea23b7292'"); - [ConditionalFact] + [Fact] public virtual void NullableInt_literal_generated_correctly() { var typeMapping = new IntTypeMapping("int?"); @@ -458,7 +458,7 @@ public virtual void NullableInt_literal_generated_correctly() Test_GenerateSqlLiteral_helper(typeMapping, (int?)123, "123"); } - [ConditionalFact] + [Fact] public virtual void Int_literal_generated_correctly() { var typeMapping = new IntTypeMapping("int"); @@ -467,7 +467,7 @@ public virtual void Int_literal_generated_correctly() Test_GenerateSqlLiteral_helper(typeMapping, int.MaxValue, "2147483647"); } - [ConditionalFact] + [Fact] public virtual void Long_literal_generated_correctly() { var typeMapping = new LongTypeMapping("long"); @@ -476,7 +476,7 @@ public virtual void Long_literal_generated_correctly() Test_GenerateSqlLiteral_helper(typeMapping, long.MaxValue, "9223372036854775807"); } - [ConditionalFact] + [Fact] public virtual void SByte_literal_generated_correctly() { var typeMapping = new SByteTypeMapping("sbyte"); @@ -485,7 +485,7 @@ public virtual void SByte_literal_generated_correctly() Test_GenerateSqlLiteral_helper(typeMapping, sbyte.MaxValue, "127"); } - [ConditionalFact] + [Fact] public virtual void Short_literal_generated_correctly() { var typeMapping = new ShortTypeMapping("short"); @@ -494,15 +494,15 @@ public virtual void Short_literal_generated_correctly() Test_GenerateSqlLiteral_helper(typeMapping, short.MaxValue, "32767"); } - [ConditionalFact] + [Fact] public virtual void String_literal_generated_correctly() => Test_GenerateSqlLiteral_helper(new StringTypeMapping("string", DbType.String), "Text", "'Text'"); - [ConditionalFact] + [Fact] public virtual void Timespan_literal_generated_correctly() => Test_GenerateSqlLiteral_helper(new TimeSpanTypeMapping("time"), new TimeSpan(0, 7, 14, 30, 123), "'07:14:30.1230000'"); - [ConditionalFact] + [Fact] public virtual void UInt_literal_generated_correctly() { var typeMapping = new UIntTypeMapping("uint"); @@ -511,7 +511,7 @@ public virtual void UInt_literal_generated_correctly() Test_GenerateSqlLiteral_helper(typeMapping, uint.MaxValue, "4294967295"); } - [ConditionalFact] + [Fact] public virtual void ULong_literal_generated_correctly() { var typeMapping = new ULongTypeMapping("ulong"); @@ -520,7 +520,7 @@ public virtual void ULong_literal_generated_correctly() Test_GenerateSqlLiteral_helper(typeMapping, ulong.MaxValue, "18446744073709551615"); } - [ConditionalFact] + [Fact] public virtual void UShort_literal_generated_correctly() { var typeMapping = new UShortTypeMapping("ushort"); @@ -529,7 +529,7 @@ public virtual void UShort_literal_generated_correctly() Test_GenerateSqlLiteral_helper(typeMapping, ushort.MaxValue, "65535"); } - [ConditionalFact] + [Fact] public virtual void Double_value_comparer_handles_NaN() { var typeMapping = new DoubleTypeMapping("double precision"); @@ -539,7 +539,7 @@ public virtual void Double_value_comparer_handles_NaN() Assert.False(typeMapping.Comparer.Equals(3.0, double.NaN)); } - [ConditionalFact] + [Fact] public virtual void Float_value_comparer_handles_NaN() { var typeMapping = new FloatTypeMapping("float"); @@ -549,7 +549,7 @@ public virtual void Float_value_comparer_handles_NaN() Assert.False(typeMapping.Comparer.Equals(3.0f, float.NaN)); } - [ConditionalFact] + [Fact] public virtual void DateTimeOffset_value_comparer_behaves_correctly() { var typeMapping = new DateTimeOffsetTypeMapping("datetimeoffset"); @@ -570,7 +570,7 @@ public virtual void DateTimeOffset_value_comparer_behaves_correctly() Assert.True(equalsComparer(same1, same2)); } - [ConditionalFact] + [Fact] public virtual void Primary_key_type_mapping_is_picked_up_by_FK_without_going_through_store_type() { using var context = new FruityContext(ContextOptions); @@ -585,7 +585,7 @@ private class FruityContext(DbContextOptions options) : DbContext(options) public DbSet Kiwi { get; set; } } - [ConditionalFact] + [Fact] public virtual void Primary_key_type_mapping_can_differ_from_FK() { using var context = new MismatchedFruityContext(ContextOptions); diff --git a/test/EFCore.Relational.Tests/Update/BatchExecutorTest.cs b/test/EFCore.Relational.Tests/Update/BatchExecutorTest.cs index 68845562a61..78668447e58 100644 --- a/test/EFCore.Relational.Tests/Update/BatchExecutorTest.cs +++ b/test/EFCore.Relational.Tests/Update/BatchExecutorTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Update; public class BatchExecutorTest { - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task ExecuteAsync_calls_Commit_if_no_transaction(bool async) { using var context = new TestContext(); @@ -28,7 +28,7 @@ public async Task ExecuteAsync_calls_Commit_if_no_transaction(bool async) Assert.Equal(1, connection.DbTransactions.Single().CommitCount); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task ExecuteAsync_does_not_call_Commit_if_existing_transaction(bool async) { using var context = new TestContext(); diff --git a/test/EFCore.Relational.Tests/Update/CommandBatchPreparerTest.cs b/test/EFCore.Relational.Tests/Update/CommandBatchPreparerTest.cs index 8f0be7b7a87..9d3b923f11a 100644 --- a/test/EFCore.Relational.Tests/Update/CommandBatchPreparerTest.cs +++ b/test/EFCore.Relational.Tests/Update/CommandBatchPreparerTest.cs @@ -13,7 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Update; public class CommandBatchPreparerTest { - [ConditionalFact] + [Fact] public void BatchCommands_creates_valid_batch_for_added_entities() { var stateManager = CreateContextServices(CreateSimpleFKModel()).GetRequiredService(); @@ -54,7 +54,7 @@ public void BatchCommands_creates_valid_batch_for_added_entities() Assert.True(columnMod.IsWrite); } - [ConditionalFact] + [Fact] public void BatchCommands_creates_valid_batch_for_modified_entities() { var stateManager = CreateContextServices(CreateSimpleFKModel()).GetRequiredService(); @@ -95,7 +95,7 @@ public void BatchCommands_creates_valid_batch_for_modified_entities() Assert.True(columnMod.IsWrite); } - [ConditionalFact] + [Fact] public void BatchCommands_creates_valid_batch_for_deleted_entities() { var stateManager = CreateContextServices(CreateSimpleFKModel()).GetRequiredService(); @@ -126,7 +126,7 @@ public void BatchCommands_creates_valid_batch_for_deleted_entities() Assert.False(columnMod.IsWrite); } - [ConditionalFact] + [Fact] public void BatchCommands_does_not_create_separate_batch_without_principal_key_database_generation() { var configuration = CreateContextServices(CreateFKOneToManyModelWithGeneratedIds()); @@ -147,7 +147,7 @@ public void BatchCommands_does_not_create_separate_batch_without_principal_key_d batch.ModificationCommands.Select(c => c.Entries.Single())); } - [ConditionalFact] + [Fact] public void BatchCommands_creates_separate_batch_with_principal_key_database_generation() { var configuration = CreateContextServices(CreateFKOneToManyModelWithGeneratedIds()); @@ -171,7 +171,7 @@ public void BatchCommands_creates_separate_batch_with_principal_key_database_gen b => Assert.Equal([relatedEntry1, relatedEntry2], b.ModificationCommands.Select(m => m.Entries.Single()))); } - [ConditionalFact] + [Fact] public void BatchCommands_sorts_related_added_entities() { var configuration = CreateContextServices(CreateSimpleFKModel()); @@ -195,7 +195,7 @@ public void BatchCommands_sorts_related_added_entities() batch.ModificationCommands.Select(c => c.Entries.Single())); } - [ConditionalFact] + [Fact] public void BatchCommands_sorts_added_and_related_modified_entities() { var configuration = CreateContextServices(CreateSimpleFKModel()); @@ -219,7 +219,7 @@ public void BatchCommands_sorts_added_and_related_modified_entities() batch.ModificationCommands.Select(mc => mc.Entries.Single())); } - [ConditionalFact] + [Fact] public void BatchCommands_sorts_unrelated_entities() { var configuration = CreateContextServices(CreateSimpleFKModel()); @@ -243,7 +243,7 @@ public void BatchCommands_sorts_unrelated_entities() batch.ModificationCommands.Select(c => c.Entries.Single())); } - [ConditionalFact] + [Fact] public void BatchCommands_sorts_entities_when_reparenting() { var configuration = CreateContextServices(CreateCyclicFKModel()); @@ -272,7 +272,7 @@ public void BatchCommands_sorts_entities_when_reparenting() batch.ModificationCommands.Select(c => c.Entries.Single())); } - [ConditionalFact] + [Fact] public void BatchCommands_sorts_when_reassigning_child() { var configuration = CreateContextServices(CreateSimpleFKModel()); @@ -300,7 +300,7 @@ public void BatchCommands_sorts_when_reassigning_child() batch.ModificationCommands.Select(c => c.Entries.Single())); } - [ConditionalFact] + [Fact] public void BatchCommands_sorts_entities_while_reassigning_child_tree() { var configuration = CreateContextServices(CreateTwoLevelFKModel()); @@ -336,7 +336,7 @@ public void BatchCommands_sorts_entities_while_reassigning_child_tree() batch.ModificationCommands.Select(c => c.Entries.Single())); } - [ConditionalFact] + [Fact] public void BatchCommands_creates_batches_lazily() { var configuration = FakeRelationalTestHelpers.Instance.CreateContextServices( @@ -366,7 +366,7 @@ public void BatchCommands_creates_batches_lazily() Assert.Equal(2, factory.CreateCount); } - [ConditionalFact] + [Fact] public void Batch_command_does_not_order_non_unique_index_values() { var model = CreateCyclicFKModel(); @@ -401,7 +401,7 @@ public void Batch_command_does_not_order_non_unique_index_values() batch.ModificationCommands.Select(c => c.Entries.Single())); } - [ConditionalFact] + [Fact] public void BatchCommands_throws_on_non_store_generated_temporary_values() { var configuration = CreateContextServices(CreateTwoLevelFKModel()); @@ -417,7 +417,7 @@ public void BatchCommands_throws_on_non_store_generated_temporary_values() entry.EntityType.FindProperty(nameof(FakeEntity.Value)), "Test")).Message); } - [InlineData(true), InlineData(false), ConditionalTheory] + [InlineData(true), InlineData(false), Theory] public void Batch_command_throws_on_commands_with_circular_dependencies(bool sensitiveLogging) { var model = CreateCyclicFKModel(); @@ -449,7 +449,7 @@ public void Batch_command_throws_on_commands_with_circular_dependencies(bool sen .Message); } - [InlineData(true), InlineData(false), ConditionalTheory] + [InlineData(true), InlineData(false), Theory] public void Batch_command_throws_on_commands_with_circular_dependencies_including_indexes(bool sensitiveLogging) { var model = CreateCyclicFKModel(); @@ -493,7 +493,7 @@ public void Batch_command_throws_on_commands_with_circular_dependencies_includin [fakeEntry, relatedFakeEntry, fakeEntry2], modelData, sensitiveLogging)).Message); } - [InlineData(true), InlineData(false), ConditionalTheory] + [InlineData(true), InlineData(false), Theory] public void Batch_command_throws_on_delete_commands_with_circular_dependencies(bool sensitiveLogging) { var model = CreateCyclicFkWithTailModel(); @@ -530,7 +530,7 @@ FakeEntity [Deleted]" () => CreateBatches([anotherFakeEntry, fakeEntry, relatedFakeEntry], modelData, sensitiveLogging)).Message); } - [ConditionalFact] + [Fact] public void BatchCommands_works_with_duplicate_values_for_unique_indexes() { var model = CreateCyclicFKModel(); @@ -558,7 +558,7 @@ public void BatchCommands_works_with_duplicate_values_for_unique_indexes() e => Assert.Equal(EntityState.Modified, e.EntityState)); } - [ConditionalFact] + [Fact] public void BatchCommands_creates_valid_batch_for_shared_table_added_entities() { var currentDbContext = CreateContextServices(CreateSharedTableModel()).GetRequiredService(); @@ -613,7 +613,7 @@ public void BatchCommands_creates_valid_batch_for_shared_table_added_entities() Assert.True(columnMod.IsWrite); } - [ConditionalFact] + [Fact] public void BatchCommands_creates_valid_batch_for_shared_table_modified_entities() { var currentDbContext = CreateContextServices(CreateSharedTableModel()).GetRequiredService(); @@ -666,7 +666,7 @@ public void BatchCommands_creates_valid_batch_for_shared_table_modified_entities Assert.True(columnMod.IsWrite); } - [ConditionalFact] + [Fact] public void BatchCommands_creates_valid_batch_for_shared_table_deleted_entities() { var currentDbContext = CreateContextServices(CreateSharedTableModel()).GetRequiredService(); @@ -712,7 +712,7 @@ public void BatchCommands_creates_valid_batch_for_shared_table_deleted_entities( Assert.False(columnMod.IsWrite); } - [InlineData(true), InlineData(false), ConditionalTheory] + [InlineData(true), InlineData(false), Theory] public void BatchCommands_throws_on_conflicting_updates_for_shared_table_added_entities(bool sensitiveLogging) { var currentDbContext = CreateContextServices(CreateSharedTableModel()).GetRequiredService(); @@ -747,7 +747,7 @@ public void BatchCommands_throws_on_conflicting_updates_for_shared_table_added_e } } - [InlineData(true, true), InlineData(true, false), InlineData(false, true), InlineData(false, false), ConditionalTheory] + [InlineData(true, true), InlineData(true, false), InlineData(false, true), InlineData(false, false), Theory] public void BatchCommands_throws_on_conflicting_values_for_shared_table_added_entities(bool useCurrentValues, bool sensitiveLogging) { var currentDbContext = CreateContextServices(CreateSharedTableModel()).GetRequiredService(); @@ -817,7 +817,7 @@ public void BatchCommands_throws_on_conflicting_values_for_shared_table_added_en } } - [InlineData(EntityState.Added), InlineData(EntityState.Deleted), ConditionalTheory] + [InlineData(EntityState.Added), InlineData(EntityState.Deleted), Theory] public void BatchCommands_creates_batch_on_incomplete_updates_for_shared_table_no_principal(EntityState state) { var currentDbContext = CreateContextServices(CreateSharedTableModel()).GetRequiredService(); @@ -893,7 +893,7 @@ public void BatchCommands_creates_batch_on_incomplete_updates_for_shared_table_n // Assert.True(columnMod.IsWrite); } - [InlineData(EntityState.Added), InlineData(EntityState.Deleted), ConditionalTheory] + [InlineData(EntityState.Added), InlineData(EntityState.Deleted), Theory] public void BatchCommands_works_with_incomplete_updates_for_shared_table_no_leaf_dependent(EntityState state) { var currentDbContext = CreateContextServices(CreateSharedTableModel()).GetRequiredService(); @@ -914,7 +914,7 @@ public void BatchCommands_works_with_incomplete_updates_for_shared_table_no_leaf Assert.Single(batches); } - [InlineData(EntityState.Added), InlineData(EntityState.Deleted), ConditionalTheory] + [InlineData(EntityState.Added), InlineData(EntityState.Deleted), Theory] public void BatchCommands_creates_batch_on_incomplete_updates_for_shared_table_no_middle_dependent(EntityState state) { var currentDbContext = CreateContextServices(CreateSharedTableModel()).GetRequiredService(); @@ -1177,7 +1177,7 @@ private class DerivedRelatedFakeEntity : RelatedFakeEntity public string DerivedValue { get; set; } } - [ConditionalFact] + [Fact] public void BatchCommands_handles_null_values_when_sensitive_logging_enabled() { // Test for issue where null values in FormatValues caused NullReferenceException @@ -1206,7 +1206,7 @@ public void BatchCommands_handles_null_values_when_sensitive_logging_enabled() Assert.DoesNotContain("Object reference not set", exception.Message); } - [ConditionalFact] + [Fact] public void BatchCommands_creates_valid_batch_for_replaced_entity_with_TPH_and_owned_type_and_concurrency_token() { var modelBuilder = FakeRelationalTestHelpers.Instance.CreateConventionBuilder(); @@ -1329,7 +1329,7 @@ private class AnotherFakeEntity public int? AnotherId { get; set; } } - [ConditionalFact] + [Fact] public void BatchCommands_sorts_added_entities_with_TPC_abstract_principal() { var configuration = CreateContextServices(CreateTpcFKModel()); @@ -1353,7 +1353,7 @@ public void BatchCommands_sorts_added_entities_with_TPC_abstract_principal() batch.ModificationCommands.Select(c => c.Entries.Single())); } - [ConditionalFact] + [Fact] public void BatchCommands_sorts_deleted_entities_with_TPC_abstract_principal() { var configuration = CreateContextServices(CreateTpcFKModel()); diff --git a/test/EFCore.Relational.Tests/Update/ModificationCommandComparerTest.cs b/test/EFCore.Relational.Tests/Update/ModificationCommandComparerTest.cs index 06661e54d12..d470b3c9a8c 100644 --- a/test/EFCore.Relational.Tests/Update/ModificationCommandComparerTest.cs +++ b/test/EFCore.Relational.Tests/Update/ModificationCommandComparerTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Update; public class ModificationCommandComparerTest { - [ConditionalFact] + [Fact] public void Compare_returns_0_only_for_commands_that_are_equal() { var modelBuilder = FakeRelationalTestHelpers.Instance.CreateConventionBuilder(); @@ -110,7 +110,7 @@ public void Compare_returns_0_only_for_commands_that_are_equal() Assert.True(0 < mCC.Compare(modificationCommandModified, modificationCommandDeleted)); } - [ConditionalFact] + [Fact] public void Compare_returns_0_only_for_entries_that_have_same_key_values() { Compare_returns_0_only_for_entries_that_have_same_key_values_generic(-1, 1); diff --git a/test/EFCore.Relational.Tests/Update/ModificationCommandTest.cs b/test/EFCore.Relational.Tests/Update/ModificationCommandTest.cs index 0309631fbd1..a11b0f8c09e 100644 --- a/test/EFCore.Relational.Tests/Update/ModificationCommandTest.cs +++ b/test/EFCore.Relational.Tests/Update/ModificationCommandTest.cs @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore.Update; public class ModificationCommandTest { - [ConditionalFact] + [Fact] public void ModificationCommand_initialized_correctly_for_added_entities_with_temp_generated_key() { var entry = CreateEntry(EntityState.Added, generateKeyValues: true); @@ -55,7 +55,7 @@ public void ModificationCommand_initialized_correctly_for_added_entities_with_te Assert.True(columnMod.IsWrite); } - [ConditionalFact] + [Fact] public void ModificationCommand_initialized_correctly_for_added_entities_with_non_temp_generated_key() { var entry = CreateEntry(EntityState.Added, generateKeyValues: true); @@ -99,7 +99,7 @@ public void ModificationCommand_initialized_correctly_for_added_entities_with_no Assert.True(columnMod.IsWrite); } - [ConditionalFact] + [Fact] public void ModificationCommand_initialized_correctly_for_added_entities_with_explicitly_specified_key_value() { var entry = CreateEntry(EntityState.Added); @@ -143,7 +143,7 @@ public void ModificationCommand_initialized_correctly_for_added_entities_with_ex Assert.True(columnMod.IsWrite); } - [ConditionalFact] + [Fact] public void ModificationCommand_initialized_correctly_for_modified_entities_with_identity_key() { var entry = CreateEntry(EntityState.Modified, generateKeyValues: true); @@ -187,7 +187,7 @@ public void ModificationCommand_initialized_correctly_for_modified_entities_with Assert.True(columnMod.IsWrite); } - [ConditionalFact] + [Fact] public void ModificationCommand_initialized_correctly_for_modified_entities_with_client_generated_key() { var entry = CreateEntry(EntityState.Modified); @@ -231,7 +231,7 @@ public void ModificationCommand_initialized_correctly_for_modified_entities_with Assert.True(columnMod.IsWrite); } - [ConditionalFact] + [Fact] public void ModificationCommand_initialized_correctly_for_modified_entities_with_concurrency_token() { var entry = CreateEntry(EntityState.Modified, computeNonKeyValue: true); @@ -275,7 +275,7 @@ public void ModificationCommand_initialized_correctly_for_modified_entities_with Assert.False(columnMod.IsWrite); } - [ConditionalFact] + [Fact] public void ModificationCommand_initialized_correctly_for_deleted_entities() { var entry = CreateEntry(EntityState.Deleted); @@ -299,7 +299,7 @@ public void ModificationCommand_initialized_correctly_for_deleted_entities() Assert.False(columnMod.IsWrite); } - [ConditionalFact] + [Fact] public void ModificationCommand_initialized_correctly_for_deleted_entities_with_concurrency_token() { var entry = CreateEntry(EntityState.Deleted, computeNonKeyValue: true); @@ -343,7 +343,7 @@ public void ModificationCommand_initialized_correctly_for_deleted_entities_with_ Assert.False(columnMod.IsWrite); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void ModificationCommand_throws_for_unchanged_entities(bool sensitive) { var entry = CreateEntry(EntityState.Unchanged); @@ -357,7 +357,7 @@ public void ModificationCommand_throws_for_unchanged_entities(bool sensitive) Assert.Throws(() => command.AddEntry(entry, true)).Message); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void ModificationCommand_throws_for_unknown_entities(bool sensitive) { var entry = CreateEntry(EntityState.Detached); diff --git a/test/EFCore.Relational.Tests/Update/ReaderModificationCommandBatchTest.cs b/test/EFCore.Relational.Tests/Update/ReaderModificationCommandBatchTest.cs index dbb4cbfe9a2..87f0d240351 100644 --- a/test/EFCore.Relational.Tests/Update/ReaderModificationCommandBatchTest.cs +++ b/test/EFCore.Relational.Tests/Update/ReaderModificationCommandBatchTest.cs @@ -15,7 +15,7 @@ namespace Microsoft.EntityFrameworkCore.Update; public class ReaderModificationCommandBatchTest { - [ConditionalFact] + [Fact] public void TryAddCommand_adds_command_if_batch_is_valid() { var parameterNameGenerator = new ParameterNameGenerator(); @@ -72,7 +72,7 @@ public void TryAddCommand_adds_command_if_batch_is_valid() ignoreLineEndingDifferences: true); } - [ConditionalFact] + [Fact] public void TryAddCommand_does_not_add_command_batch_is_invalid() { var parameterNameGenerator = new ParameterNameGenerator(); @@ -129,7 +129,7 @@ public void TryAddCommand_does_not_add_command_batch_is_invalid() Assert.Equal(1, batch.StoreCommand.ParameterValues.Count); } - [ConditionalFact] + [Fact] public void Parameters_are_properly_managed_when_command_adding_fails() { var entry1 = CreateEntry(EntityState.Added); @@ -164,7 +164,7 @@ public void Parameters_are_properly_managed_when_command_adding_fails() Assert.Equal(1, batch2.FakeSqlGenerator.AppendInsertOperationCalls); } - [ConditionalFact] + [Fact] public void TryAddCommand_with_insert() { var entry = CreateEntry(EntityState.Added); @@ -180,7 +180,7 @@ public void TryAddCommand_with_insert() Assert.Equal(1, batch.FakeSqlGenerator.AppendInsertOperationCalls); } - [ConditionalFact] + [Fact] public void TryAddCommand_with_update() { var entry = CreateEntry(EntityState.Modified, generateKeyValues: true); @@ -196,7 +196,7 @@ public void TryAddCommand_with_update() Assert.Equal(1, batch.FakeSqlGenerator.AppendUpdateOperationCalls); } - [ConditionalFact] + [Fact] public void TryAddCommand_with_delete() { var entry = CreateEntry(EntityState.Deleted); @@ -212,7 +212,7 @@ public void TryAddCommand_with_delete() Assert.Equal(1, batch.FakeSqlGenerator.AppendDeleteOperationCalls); } - [ConditionalFact] + [Fact] public void TryAddCommand_twice() { var entry = CreateEntry(EntityState.Added); @@ -232,7 +232,7 @@ public void TryAddCommand_twice() Assert.Equal(2, batch.FakeSqlGenerator.AppendInsertOperationCalls); } - [ConditionalFact] + [Fact] public async Task ExecuteAsync_executes_batch_commands_and_consumes_reader() { var entry = CreateEntry(EntityState.Added, generateKeyValues: true); @@ -254,7 +254,7 @@ public async Task ExecuteAsync_executes_batch_commands_and_consumes_reader() Assert.Equal(1, dbDataReader.GetInt32Count); } - [ConditionalFact] + [Fact] public async Task ExecuteAsync_saves_store_generated_values() { var entry = CreateEntry(EntityState.Added, generateKeyValues: true); @@ -277,7 +277,7 @@ public async Task ExecuteAsync_saves_store_generated_values() Assert.Equal("Test", entry[entry.EntityType.FindProperty("Name")]); } - [ConditionalFact] + [Fact] public async Task ExecuteAsync_saves_store_generated_values_on_non_key_columns() { var entry = CreateEntry( @@ -301,7 +301,7 @@ public async Task ExecuteAsync_saves_store_generated_values_on_non_key_columns() Assert.Equal("FortyTwo", entry[entry.EntityType.FindProperty("Name")]); } - [ConditionalFact] + [Fact] public async Task ExecuteAsync_saves_store_generated_values_when_updating() { var entry = CreateEntry( @@ -324,7 +324,7 @@ public async Task ExecuteAsync_saves_store_generated_values_when_updating() Assert.Equal("FortyTwo", entry[entry.EntityType.FindProperty("Name")]); } - [ConditionalFact] + [Fact] public async Task Exception_not_thrown_for_more_than_one_row_returned_for_single_command() { var entry = CreateEntry(EntityState.Added, generateKeyValues: true); @@ -347,7 +347,7 @@ public async Task Exception_not_thrown_for_more_than_one_row_returned_for_single Assert.Equal(42, entry[entry.EntityType.FindProperty("Id")]); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Exception_thrown_if_rows_returned_for_command_without_store_generated_values_is_not_1(bool async) { var entry = CreateEntry(EntityState.Modified); @@ -370,7 +370,7 @@ public async Task Exception_thrown_if_rows_returned_for_command_without_store_ge Assert.Equal(RelationalStrings.UpdateConcurrencyException(1, 42), exception.Message); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Exception_thrown_if_no_rows_returned_for_command_with_store_generated_values(bool async) { var entry = CreateEntry(EntityState.Added, generateKeyValues: true); @@ -393,7 +393,7 @@ public async Task Exception_thrown_if_no_rows_returned_for_command_with_store_ge Assert.Equal(RelationalStrings.UpdateConcurrencyException(1, 0), exception.Message); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task DbException_is_wrapped_with_DbUpdateException(bool async) { var entry = CreateEntry(EntityState.Added, generateKeyValues: true); @@ -419,7 +419,7 @@ public async Task DbException_is_wrapped_with_DbUpdateException(bool async) Assert.Same(originalException, actualException.InnerException); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task OperationCanceledException_is_not_wrapped_with_DbUpdateException(bool async) { var entry = CreateEntry(EntityState.Added, generateKeyValues: true); @@ -445,7 +445,7 @@ public async Task OperationCanceledException_is_not_wrapped_with_DbUpdateExcepti Assert.Same(originalException, actualException); } - [ConditionalFact] + [Fact] public void CreateStoreCommand_creates_parameters_for_each_ModificationCommand() { var entry = CreateEntry(EntityState.Added, generateKeyValues: true); @@ -498,7 +498,7 @@ public void CreateStoreCommand_creates_parameters_for_each_ModificationCommand() Assert.Equal(1, storeCommand.ParameterValues["p1"]); } - [ConditionalFact] + [Fact] public void PopulateParameters_creates_parameter_for_write_ModificationCommand() { var entry = CreateEntry(EntityState.Added, generateKeyValues: true); @@ -534,7 +534,7 @@ public void PopulateParameters_creates_parameter_for_write_ModificationCommand() Assert.Equal(1, storeCommand.ParameterValues["p0"]); } - [ConditionalFact] + [Fact] public void PopulateParameters_creates_parameter_for_condition_ModificationCommand() { var entry = CreateEntry(EntityState.Added, generateKeyValues: true); @@ -570,7 +570,7 @@ public void PopulateParameters_creates_parameter_for_condition_ModificationComma Assert.Equal(1, storeCommand.ParameterValues["p0"]); } - [ConditionalFact] + [Fact] public void PopulateParameters_creates_parameters_for_write_and_condition_ModificationCommand() { var entry = CreateEntry(EntityState.Added, generateKeyValues: true); @@ -608,7 +608,7 @@ public void PopulateParameters_creates_parameters_for_write_and_condition_Modifi Assert.Equal(1, storeCommand.ParameterValues["p1"]); } - [ConditionalFact] + [Fact] public void PopulateParameters_does_not_create_parameter_for_read_ModificationCommand() { var entry = CreateEntry(EntityState.Added, generateKeyValues: true); diff --git a/test/EFCore.Relational.Tests/ValueGeneration/TemporaryBinaryValueGeneratorTest.cs b/test/EFCore.Relational.Tests/ValueGeneration/TemporaryBinaryValueGeneratorTest.cs index 3bd770e5642..b9b82fe0441 100644 --- a/test/EFCore.Relational.Tests/ValueGeneration/TemporaryBinaryValueGeneratorTest.cs +++ b/test/EFCore.Relational.Tests/ValueGeneration/TemporaryBinaryValueGeneratorTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration; public class TemporaryBinaryValueGeneratorTest { - [ConditionalFact] + [Fact] public void Creates_GUID_arrays() { var generator = new TemporaryBinaryValueGenerator(); @@ -23,7 +23,7 @@ public void Creates_GUID_arrays() Assert.Equal(100, values.Count); } - [ConditionalFact] + [Fact] public void Generates_temp_values() => Assert.True(new TemporaryBinaryValueGenerator().GeneratesTemporaryValues); } diff --git a/test/EFCore.Relational.Tests/ValueGeneration/TemporaryDateTimeOffsetValueGeneratorTest.cs b/test/EFCore.Relational.Tests/ValueGeneration/TemporaryDateTimeOffsetValueGeneratorTest.cs index b0daff45475..32dedb683bf 100644 --- a/test/EFCore.Relational.Tests/ValueGeneration/TemporaryDateTimeOffsetValueGeneratorTest.cs +++ b/test/EFCore.Relational.Tests/ValueGeneration/TemporaryDateTimeOffsetValueGeneratorTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration; public class TemporaryDateTimeOffsetValueGeneratorTest { - [ConditionalFact] + [Fact] public void Can_create_values_for_DateTime_types() { var generator = new TemporaryDateTimeOffsetValueGenerator(); @@ -15,7 +15,7 @@ public void Can_create_values_for_DateTime_types() Assert.Equal(new DateTimeOffset(2, TimeSpan.Zero), generator.Next(null)); } - [ConditionalFact] + [Fact] public void Generates_temporary_values() => Assert.True(new TemporaryDateTimeOffsetValueGenerator().GeneratesTemporaryValues); } diff --git a/test/EFCore.Relational.Tests/ValueGeneration/TemporaryDateTimeValueGeneratorTest.cs b/test/EFCore.Relational.Tests/ValueGeneration/TemporaryDateTimeValueGeneratorTest.cs index 11f6e655452..23e6e7de09a 100644 --- a/test/EFCore.Relational.Tests/ValueGeneration/TemporaryDateTimeValueGeneratorTest.cs +++ b/test/EFCore.Relational.Tests/ValueGeneration/TemporaryDateTimeValueGeneratorTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration; public class TemporaryDateTimeValueGeneratorTest { - [ConditionalFact] + [Fact] public void Can_create_values_for_DateTime_types() { var generator = new TemporaryDateTimeValueGenerator(); @@ -16,7 +16,7 @@ public void Can_create_values_for_DateTime_types() Assert.Equal(new DateTime(2), generator.Next(null)); } - [ConditionalFact] + [Fact] public void Generates_temporary_values() => Assert.True(new TemporaryDateTimeValueGenerator().GeneratesTemporaryValues); } diff --git a/test/EFCore.Relational.Tests/ValueGeneration/TemporaryStringValueGeneratorTest.cs b/test/EFCore.Relational.Tests/ValueGeneration/TemporaryStringValueGeneratorTest.cs index 04a3f9e62b9..b98acf4f8f4 100644 --- a/test/EFCore.Relational.Tests/ValueGeneration/TemporaryStringValueGeneratorTest.cs +++ b/test/EFCore.Relational.Tests/ValueGeneration/TemporaryStringValueGeneratorTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration; public class TemporaryStringValueGeneratorTest { - [ConditionalFact] + [Fact] public void Creates_GUID_strings() { var generator = new TemporaryStringValueGenerator(); @@ -23,7 +23,7 @@ public void Creates_GUID_strings() Assert.Equal(100, values.Count); } - [ConditionalFact] + [Fact] public void Generates_temp_values() => Assert.True(new TemporaryStringValueGenerator().GeneratesTemporaryValues); } diff --git a/test/EFCore.Specification.Tests/ApiConsistencyTestBase.cs b/test/EFCore.Specification.Tests/ApiConsistencyTestBase.cs index 9a1d837b597..76ad7195246 100644 --- a/test/EFCore.Specification.Tests/ApiConsistencyTestBase.cs +++ b/test/EFCore.Specification.Tests/ApiConsistencyTestBase.cs @@ -32,7 +32,7 @@ protected static bool IsCompilerSynthesizedMethod(MethodBase method) protected virtual TFixture Fixture { get; } = fixture; - [ConditionalFact] + [Fact] public void Exceptions_are_valid() { Assert.DoesNotContain(null, Fixture.AsyncMethodExceptions); @@ -48,7 +48,7 @@ public void Exceptions_are_valid() } } - [ConditionalFact] + [Fact] public virtual void Fluent_api_methods_should_not_return_void() { var voidMethods @@ -64,7 +64,7 @@ from method in type.GetMethods(PublicInstance | BindingFlags.Static | BindingFla "\r\n-- Missing fluent returns --\r\n" + string.Join(Environment.NewLine, voidMethods)); } - [ConditionalFact] + [Fact] public virtual void Generic_fluent_api_methods_should_return_generic_types() { var nonGenericMethods = new List<(Type Type, MethodInfo Method)>(); @@ -208,7 +208,7 @@ protected Type GetEquivalentGenericType(Type parameterType, Type[] hidingGeneric return parameterType; } - [ConditionalFact] + [Fact] public virtual void Builders_have_matching_methods() { foreach (var tuple in Fixture.MirrorTypes) @@ -260,7 +260,7 @@ public virtual void Builders_have_matching_methods() } } - [ConditionalFact] + [Fact] public virtual void Metadata_types_have_expected_structure() { var errors = Fixture.MetadataTypes.Select(ValidateMetadata) @@ -369,7 +369,7 @@ protected virtual string ValidateMetadata(KeyValuePair met return null; } - [ConditionalFact] + [Fact] public virtual void Convention_builder_types_have_expected_methods() { var errors = @@ -666,7 +666,7 @@ protected virtual string ValidateConventionBuilderMethods(IReadOnlyList $"{m.ReturnType.ShortDisplayName()} {m.Type.Name}.{m.Method.Name}{FormatGenericArguments(m.Method)}({Format(m.Method.GetParameters())})")); } - [ConditionalFact] + [Fact] public virtual void Runtime_metadata_types_have_matching_methods() { var errors = @@ -887,7 +887,7 @@ protected virtual string MatchRuntime((MethodInfo ReadOnly, MethodInfo Runtime) return null; } - [ConditionalFact] + [Fact] public virtual void Readonly_metadata_methods_have_expected_name() { var errors = @@ -918,7 +918,7 @@ protected string ValidateMethodName(MethodInfo method) return null; } - [ConditionalFact] + [Fact] public virtual void Mutable_metadata_methods_have_expected_shape() { var errors = @@ -971,7 +971,7 @@ protected virtual string ValidateMutableMethod(MethodInfo mutableMethod) return null; } - [ConditionalFact] + [Fact] public virtual void Convention_metadata_methods_have_expected_shape() { var errors = @@ -1035,7 +1035,7 @@ protected virtual string ValidateConventionMethod(MethodInfo conventionMethod, T return null; } - [ConditionalFact] + [Fact] public virtual void Service_implementations_should_use_dependencies_parameter_object() { var serviceCollection = new ServiceCollection(); @@ -1079,7 +1079,7 @@ private static Type TryGetImplementationType(ServiceDescriptor descriptor) ?? descriptor.ImplementationInstance?.GetType() ?? descriptor.ImplementationFactory?.GetType().GenericTypeArguments[1]; - [ConditionalFact] + [Fact] public virtual void Private_classes_should_be_sealed() { var nonSealedPrivates @@ -1096,7 +1096,7 @@ where type.IsNestedPrivate "\r\n-- Private class is not sealed --\r\n" + string.Join(Environment.NewLine, nonSealedPrivates)); } - [ConditionalFact] + [Fact] public virtual void Public_inheritable_apis_should_be_virtual() { var nonVirtualMethods @@ -1122,7 +1122,7 @@ from method in type.GetMethods(AnyInstance) "\r\n-- Missing virtual APIs --\r\n" + string.Join(Environment.NewLine, nonVirtualMethods)); } - [ConditionalFact] + [Fact] public virtual void Async_methods_should_have_overload_with_cancellation_token_and_end_with_async_suffix() { var asyncMethods @@ -1172,7 +1172,7 @@ var missingSuffixMethods "\r\n-- Missing async suffix --\r\n" + string.Join(Environment.NewLine, missingSuffixMethods)); } - [ConditionalFact] + [Fact] public virtual void Public_api_bool_parameters_should_not_be_prefixed() { var prefixes = new[] { "is", "can", "has" }; diff --git a/test/EFCore.Specification.Tests/BadDataJsonDeserializationTestBase.cs b/test/EFCore.Specification.Tests/BadDataJsonDeserializationTestBase.cs index 490ca8c5688..a7dcb56bfa9 100644 --- a/test/EFCore.Specification.Tests/BadDataJsonDeserializationTestBase.cs +++ b/test/EFCore.Specification.Tests/BadDataJsonDeserializationTestBase.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract class BadDataJsonDeserializationTestBase { - [ConditionalTheory, InlineData("""{"Prop"}"""), InlineData("""{"Prop"}:127}"""), InlineData("""{"Prop":"X"}"""), + [Theory, InlineData("""{"Prop"}"""), InlineData("""{"Prop"}:127}"""), InlineData("""{"Prop":"X"}"""), InlineData("""{"Prop":}""")] public virtual void Throws_for_bad_sbyte_JSON_values(string json) => Throws_for_bad_JSON_value(nameof(Int8Type.Int8), json); @@ -19,7 +19,7 @@ protected class Int8Type public sbyte Int8 { get; set; } } - [ConditionalTheory, InlineData("""{"Prop"}"""), InlineData("""{"Prop"}:127}"""), InlineData("""{"Prop":"X"}"""), + [Theory, InlineData("""{"Prop"}"""), InlineData("""{"Prop"}:127}"""), InlineData("""{"Prop":"X"}"""), InlineData("""{"Prop":}""")] public virtual void Throws_for_bad_nullable_long_JSON_values(string json) => Throws_for_bad_JSON_value(nameof(NullableInt64Type.Int64), json); @@ -29,7 +29,7 @@ protected class NullableInt64Type public long? Int64 { get; set; } } - [ConditionalTheory, InlineData("""{"Prop":{"type""Point","coordinates":[2.0,4.0]}}"""), + [Theory, InlineData("""{"Prop":{"type""Point","coordinates":[2.0,4.0]}}"""), InlineData("""{"Prop":{"type":["Point","coordinates":[2.0,4.0]}}"""), InlineData("""{"Prop":{"type":"Point","coordinates":[2.0,,4.0]}}"""), InlineData("""{"Prop":[{"type":"Point","coordinates":[2.0,4.0]}]}"""), InlineData("""{"Prop":1}"""), InlineData("""{"Prop":true}"""), @@ -45,7 +45,7 @@ public class PointType public Point? Point { get; set; } } - [ConditionalTheory, InlineData("""{"Prop":[-128,[0,127]]}"""), InlineData("""{"Prop":[-128,{"P":127}]}"""), + [Theory, InlineData("""{"Prop":[-128,[0,127]]}"""), InlineData("""{"Prop":[-128,{"P":127}]}"""), InlineData("""{"Prop":[-128,],23]}"""), InlineData("""{"Prop":[-128,},23]}"""), InlineData("""{"Prop":[-128,,23]}""")] public virtual void Throws_for_bad_collection_of_sbyte_JSON_values(string json) => Throws_for_bad_JSON_value>( @@ -58,7 +58,7 @@ protected class Int8CollectionType public sbyte[] Int8 { get; set; } = null!; } - [ConditionalTheory, InlineData("""{"Prop":[-128,[0,127]]}"""), InlineData("""{"Prop":[-128,{"P":127}]}"""), + [Theory, InlineData("""{"Prop":[-128,[0,127]]}"""), InlineData("""{"Prop":[-128,{"P":127}]}"""), InlineData("""{"Prop":[-128,],23]}"""), InlineData("""{"Prop":[-128,},23]}"""), InlineData("""{"Prop":[-128,,23]}""")] public virtual void Throws_for_bad_collection_of_nullable_long_JSON_values(string json) => Throws_for_bad_JSON_value>( diff --git a/test/EFCore.Specification.Tests/BuiltInDataTypesTestBase.cs b/test/EFCore.Specification.Tests/BuiltInDataTypesTestBase.cs index e977dd8abcf..c392de815c8 100644 --- a/test/EFCore.Specification.Tests/BuiltInDataTypesTestBase.cs +++ b/test/EFCore.Specification.Tests/BuiltInDataTypesTestBase.cs @@ -17,7 +17,7 @@ public abstract class BuiltInDataTypesTestBase(TFixture fixture) : ICl protected DbContext CreateContext() => Fixture.CreateContext(); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Can_filter_projection_with_captured_enum_variable(bool async) { using var context = CreateContext(); @@ -36,7 +36,7 @@ public virtual async Task Can_filter_projection_with_captured_enum_variable(bool Assert.Equal(EmailTemplateTypeDto.PasswordResetRequest, results.Single().TemplateType); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Can_filter_projection_with_inline_enum_variable(bool async) { using var context = CreateContext(); @@ -53,7 +53,7 @@ public virtual async Task Can_filter_projection_with_inline_enum_variable(bool a Assert.Equal(EmailTemplateTypeDto.PasswordResetRequest, results.Single().TemplateType); } - [ConditionalFact] + [Fact] public virtual async Task Can_perform_query_with_max_length() { var shortString = "Sky"; @@ -105,7 +105,7 @@ public virtual async Task Can_perform_query_with_max_length() } } - [ConditionalFact] + [Fact] public virtual async Task Can_perform_query_with_ansi_strings_test() { var shortString = Fixture.SupportsUnicodeToAnsiConversion ? "Ϩky" : "sky"; @@ -173,7 +173,7 @@ public virtual async Task Can_perform_query_with_ansi_strings_test() } } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_with_max_length_set() { const string shortString = "Sky"; @@ -214,7 +214,7 @@ public virtual async Task Can_insert_and_read_with_max_length_set() } } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_binary_key() { if (!Fixture.SupportsBinaryKeys) @@ -285,7 +285,7 @@ async Task QueryByBinaryKey(DbContext context, byte[] bytes) } } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_null_binary_foreign_key() { using (var context = CreateContext()) @@ -304,7 +304,7 @@ public virtual async Task Can_insert_and_read_back_with_null_binary_foreign_key( } } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_string_key() { using (var context = CreateContext()) @@ -333,7 +333,7 @@ public virtual async Task Can_insert_and_read_back_with_string_key() } } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_null_string_foreign_key() { using (var context = CreateContext()) @@ -449,7 +449,7 @@ private static bool IsUnsignedInteger(Type type) || type == typeof(ushort) || type == typeof(char); - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_object_backed_data_types() { using (var context = CreateContext()) @@ -530,7 +530,7 @@ public virtual async Task Can_insert_and_read_back_object_backed_data_types() } } - [ConditionalFact] + [Fact] public virtual async Task Can_read_back_mapped_enum_from_collection_first_or_default() { using var context = CreateContext(); @@ -541,7 +541,7 @@ public virtual async Task Can_read_back_mapped_enum_from_collection_first_or_def Assert.Equal(IdentificationMethod.EarTag, result.Method); } - [ConditionalFact] + [Fact] public virtual async Task Can_read_back_bool_mapped_as_int_through_navigation() { using var context = CreateContext(); @@ -553,7 +553,7 @@ public virtual async Task Can_read_back_bool_mapped_as_int_through_navigation() Assert.True(result.BoolField); } - [ConditionalFact] + [Fact] public virtual async Task Can_compare_enum_to_constant() { using var context = CreateContext(); @@ -565,7 +565,7 @@ public virtual async Task Can_compare_enum_to_constant() Assert.Equal(IdentificationMethod.EarTag, result.Method); } - [ConditionalFact] + [Fact] public virtual async Task Can_compare_enum_to_parameter() { var method = IdentificationMethod.EarTag; @@ -578,7 +578,7 @@ public virtual async Task Can_compare_enum_to_parameter() Assert.Equal(IdentificationMethod.EarTag, result.Method); } - [ConditionalFact] + [Fact] public virtual async Task Object_to_string_conversion() { using var context = CreateContext(); @@ -639,7 +639,7 @@ public virtual async Task Object_to_string_conversion() Assert.Equal(expected.Char, actual.Char); } - [ConditionalFact] + [Fact] public virtual async Task Optional_datetime_reading_null_from_database() { using var context = CreateContext(); @@ -655,7 +655,7 @@ public virtual async Task Optional_datetime_reading_null_from_database() } } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_query_multiline_string() { using var context = CreateContext(); diff --git a/test/EFCore.Specification.Tests/BulkUpdates/Inheritance/FiltersInheritanceBulkUpdatesTestBase.cs b/test/EFCore.Specification.Tests/BulkUpdates/Inheritance/FiltersInheritanceBulkUpdatesTestBase.cs index 5122836b346..9545a05111b 100644 --- a/test/EFCore.Specification.Tests/BulkUpdates/Inheritance/FiltersInheritanceBulkUpdatesTestBase.cs +++ b/test/EFCore.Specification.Tests/BulkUpdates/Inheritance/FiltersInheritanceBulkUpdatesTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.InheritanceModel; @@ -10,42 +10,42 @@ namespace Microsoft.EntityFrameworkCore.BulkUpdates.Inheritance; public abstract class FiltersInheritanceBulkUpdatesTestBase(TFixture fixture) : BulkUpdatesTestBase(fixture) where TFixture : InheritanceBulkUpdatesFixtureBase, new() { - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_where_hierarchy(bool async) => AssertDelete( async, ss => ss.Set().Where(e => e.Name == "Great spotted kiwi"), rowsAffectedCount: 1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_where_hierarchy_subquery(bool async) => AssertDelete( async, ss => ss.Set().Where(e => e.Name == "Great spotted kiwi").OrderBy(e => e.Name).Skip(0).Take(3), rowsAffectedCount: 1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_where_hierarchy_derived(bool async) => AssertDelete( async, ss => ss.Set().Where(e => e.Name == "Great spotted kiwi"), rowsAffectedCount: 1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_where_using_hierarchy(bool async) => AssertDelete( async, ss => ss.Set().Where(e => e.Animals.Where(a => a.CountryId > 0).Count() > 0), rowsAffectedCount: 1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_where_using_hierarchy_derived(bool async) => AssertDelete( async, ss => ss.Set().Where(e => e.Animals.OfType().Where(a => a.CountryId > 0).Count() > 0), rowsAffectedCount: 1); - [ConditionalTheory(Skip = "Issue#28525"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "Issue#28525"), MemberData(nameof(IsAsyncData))] public virtual Task Delete_GroupBy_Where_Select_First(bool async) => AssertDelete( async, @@ -55,7 +55,7 @@ public virtual Task Delete_GroupBy_Where_Select_First(bool async) .Select(g => g.First()), rowsAffectedCount: 1); - [ConditionalTheory(Skip = "Issue#26753"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "Issue#26753"), MemberData(nameof(IsAsyncData))] public virtual Task Delete_GroupBy_Where_Select_First_2(bool async) => AssertDelete( async, @@ -64,7 +64,7 @@ public virtual Task Delete_GroupBy_Where_Select_First_2(bool async) .Where(g => g.Count() < 3).Select(g => g.First()).FirstOrDefault()), rowsAffectedCount: 1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_GroupBy_Where_Select_First_3(bool async) => AssertDelete( async, @@ -72,7 +72,7 @@ public virtual Task Delete_GroupBy_Where_Select_First_3(bool async) .Where(g => g.Count() < 3).Select(g => g.First()).Any(i => i == e)), rowsAffectedCount: 1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_base_type(bool async) => AssertUpdate( async, @@ -82,7 +82,7 @@ public virtual Task Update_base_type(bool async) rowsAffectedCount: 1, (b, a) => a.ForEach(e => Assert.Equal("Animal", e.Name))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_base_type_with_OfType(bool async) => AssertUpdate( async, @@ -92,7 +92,7 @@ public virtual Task Update_base_type_with_OfType(bool async) rowsAffectedCount: 1, (b, a) => a.ForEach(e => Assert.Equal("NewBird", e.Name))); - [ConditionalTheory(Skip = "InnerJoin"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "InnerJoin"), MemberData(nameof(IsAsyncData))] public virtual Task Update_where_hierarchy_subquery(bool async) => AssertUpdate( async, @@ -101,7 +101,7 @@ public virtual Task Update_where_hierarchy_subquery(bool async) s => s.SetProperty(e => e.Name, "Animal"), rowsAffectedCount: 1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_base_property_on_derived_type(bool async) => AssertUpdate( async, @@ -110,7 +110,7 @@ public virtual Task Update_base_property_on_derived_type(bool async) s => s.SetProperty(e => e.Name, "SomeOtherKiwi"), rowsAffectedCount: 1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_derived_property_on_derived_type(bool async) => AssertUpdate( async, @@ -119,7 +119,7 @@ public virtual Task Update_derived_property_on_derived_type(bool async) s => s.SetProperty(e => e.FoundOn, Island.North), rowsAffectedCount: 1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_base_and_derived_types(bool async) => AssertUpdate( async, @@ -130,7 +130,7 @@ public virtual Task Update_base_and_derived_types(bool async) .SetProperty(e => e.FoundOn, Island.North), rowsAffectedCount: 1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_where_using_hierarchy(bool async) => AssertUpdate( async, @@ -139,7 +139,7 @@ public virtual Task Update_where_using_hierarchy(bool async) s => s.SetProperty(e => e.Name, "Monovia"), rowsAffectedCount: 1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_where_using_hierarchy_derived(bool async) => AssertUpdate( async, diff --git a/test/EFCore.Specification.Tests/BulkUpdates/Inheritance/InheritanceBulkUpdatesTestBase.cs b/test/EFCore.Specification.Tests/BulkUpdates/Inheritance/InheritanceBulkUpdatesTestBase.cs index 4dde29b32be..aff60d3976b 100644 --- a/test/EFCore.Specification.Tests/BulkUpdates/Inheritance/InheritanceBulkUpdatesTestBase.cs +++ b/test/EFCore.Specification.Tests/BulkUpdates/Inheritance/InheritanceBulkUpdatesTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.InheritanceModel; @@ -10,42 +10,42 @@ namespace Microsoft.EntityFrameworkCore.BulkUpdates.Inheritance; public abstract class InheritanceBulkUpdatesTestBase(TFixture fixture) : BulkUpdatesTestBase(fixture) where TFixture : InheritanceBulkUpdatesFixtureBase, new() { - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_where_hierarchy(bool async) => AssertDelete( async, ss => ss.Set().Where(e => e.Name == "Great spotted kiwi"), rowsAffectedCount: 1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_where_hierarchy_subquery(bool async) => AssertDelete( async, ss => ss.Set().Where(e => e.Name == "Great spotted kiwi").OrderBy(e => e.Name).Skip(0).Take(3), rowsAffectedCount: 1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_where_hierarchy_derived(bool async) => AssertDelete( async, ss => ss.Set().Where(e => e.Name == "Great spotted kiwi"), rowsAffectedCount: 1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_where_using_hierarchy(bool async) => AssertDelete( async, ss => ss.Set().Where(e => e.Animals.Where(a => a.CountryId > 0).Count() > 0), rowsAffectedCount: 2); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_where_using_hierarchy_derived(bool async) => AssertDelete( async, ss => ss.Set().Where(e => e.Animals.OfType().Where(a => a.CountryId > 0).Count() > 0), rowsAffectedCount: 1); - [ConditionalTheory(Skip = "Issue#28525"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "Issue#28525"), MemberData(nameof(IsAsyncData))] public virtual Task Delete_GroupBy_Where_Select_First(bool async) => AssertDelete( async, @@ -55,7 +55,7 @@ public virtual Task Delete_GroupBy_Where_Select_First(bool async) .Select(g => g.First()), rowsAffectedCount: 2); - [ConditionalTheory(Skip = "Issue#26753"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "Issue#26753"), MemberData(nameof(IsAsyncData))] public virtual Task Delete_GroupBy_Where_Select_First_2(bool async) => AssertDelete( async, @@ -64,7 +64,7 @@ public virtual Task Delete_GroupBy_Where_Select_First_2(bool async) .Where(g => g.Count() < 3).Select(g => g.First()).FirstOrDefault()), rowsAffectedCount: 2); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_GroupBy_Where_Select_First_3(bool async) => AssertDelete( async, @@ -72,7 +72,7 @@ public virtual Task Delete_GroupBy_Where_Select_First_3(bool async) .Where(g => g.Count() < 3).Select(g => g.First()).Any(i => i == e)), rowsAffectedCount: 2); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_base_type(bool async) => AssertUpdate( async, @@ -82,7 +82,7 @@ public virtual Task Update_base_type(bool async) rowsAffectedCount: 1, (b, a) => a.ForEach(e => Assert.Equal("Animal", e.Name))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_base_type_with_OfType(bool async) => AssertUpdate( async, @@ -92,7 +92,7 @@ public virtual Task Update_base_type_with_OfType(bool async) rowsAffectedCount: 1, (b, a) => a.ForEach(e => Assert.Equal("NewBird", e.Name))); - [ConditionalTheory(Skip = "InnerJoin"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "InnerJoin"), MemberData(nameof(IsAsyncData))] public virtual Task Update_where_hierarchy_subquery(bool async) => AssertUpdate( async, @@ -101,7 +101,7 @@ public virtual Task Update_where_hierarchy_subquery(bool async) s => s.SetProperty(e => e.Name, "Animal"), rowsAffectedCount: 1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_base_property_on_derived_type(bool async) => AssertUpdate( async, @@ -110,7 +110,7 @@ public virtual Task Update_base_property_on_derived_type(bool async) s => s.SetProperty(e => e.Name, "SomeOtherKiwi"), rowsAffectedCount: 1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_derived_property_on_derived_type(bool async) => AssertUpdate( async, @@ -119,7 +119,7 @@ public virtual Task Update_derived_property_on_derived_type(bool async) s => s.SetProperty(e => e.FoundOn, Island.North), rowsAffectedCount: 1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_base_and_derived_types(bool async) => AssertUpdate( async, @@ -130,7 +130,7 @@ public virtual Task Update_base_and_derived_types(bool async) .SetProperty(e => e.FoundOn, Island.North), rowsAffectedCount: 1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_where_using_hierarchy(bool async) => AssertUpdate( async, @@ -139,7 +139,7 @@ public virtual Task Update_where_using_hierarchy(bool async) s => s.SetProperty(e => e.Name, "Monovia"), rowsAffectedCount: 2); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_where_using_hierarchy_derived(bool async) => AssertUpdate( async, @@ -148,7 +148,7 @@ public virtual Task Update_where_using_hierarchy_derived(bool async) s => s.SetProperty(e => e.Name, "Monovia"), rowsAffectedCount: 1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_with_interface_in_property_expression(bool async) => AssertUpdate( async, @@ -157,7 +157,7 @@ public virtual Task Update_with_interface_in_property_expression(bool async) s => s.SetProperty(c => ((ISugary)c).SugarGrams, 0), rowsAffectedCount: 1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_with_interface_in_EF_Property_in_property_expression(bool async) => AssertUpdate( async, diff --git a/test/EFCore.Specification.Tests/BulkUpdates/NonSharedModelBulkUpdatesTestBase.cs b/test/EFCore.Specification.Tests/BulkUpdates/NonSharedModelBulkUpdatesTestBase.cs index 79982b01579..9d0f34a94cd 100644 --- a/test/EFCore.Specification.Tests/BulkUpdates/NonSharedModelBulkUpdatesTestBase.cs +++ b/test/EFCore.Specification.Tests/BulkUpdates/NonSharedModelBulkUpdatesTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.BulkUpdates; @@ -11,7 +11,7 @@ public abstract class NonSharedModelBulkUpdatesTestBase(NonSharedFixture fixture protected override string NonSharedStoreName => "NonSharedModelBulkUpdatesTests"; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Delete_aggregate_root_when_eager_loaded_owned_collection(bool async) { var contextFactory = await InitializeNonSharedTest(onModelCreating: mb => mb.Entity().Ignore(e => e.OwnedReference)); @@ -22,7 +22,7 @@ await AssertDelete( // Composing the OrderBy().Skip() operators causes the query to not be natively translatable as a simple DELETE (in most databases), // causing a subquery pushdown (WHERE Id IN (...)). - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Delete_with_owned_collection_and_non_natively_translatable_query(bool async) { var contextFactory = await InitializeNonSharedTest(onModelCreating: mb => mb.Entity().Ignore(e => e.OwnedReference)); @@ -31,7 +31,7 @@ await AssertDelete( context => context.Set().OrderBy(o => o.Title).Skip(1), rowsAffectedCount: 0); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Delete_aggregate_root_when_table_sharing_with_owned(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -40,7 +40,7 @@ await AssertDelete( context => context.Set(), rowsAffectedCount: 0); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // #33937, #33946 + [Theory, MemberData(nameof(IsAsyncData))] // #33937, #33946 public virtual async Task Replace_ColumnExpression_in_column_setter(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -90,7 +90,7 @@ public class OtherReference public string Title { get; set; } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Update_non_owned_property_on_entity_with_owned(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -107,7 +107,7 @@ await AssertUpdate( rowsAffectedCount: 0); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Update_non_owned_property_on_entity_with_owned2(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -124,7 +124,7 @@ await AssertUpdate( rowsAffectedCount: 0); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Update_non_owned_property_on_entity_with_owned_in_join(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -141,7 +141,7 @@ await AssertUpdate( rowsAffectedCount: 0); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Update_owned_and_non_owned_properties_with_table_sharing(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -160,7 +160,7 @@ await AssertUpdate( rowsAffectedCount: 0); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Delete_entity_with_auto_include(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -188,7 +188,7 @@ public class Context30572_Dependent public int Number { get; set; } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Delete_predicate_based_on_optional_navigation(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -218,7 +218,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Update_with_alias_uniquification_in_setter_subquery(bool async) { var contextFactory = await InitializeNonSharedTest(); diff --git a/test/EFCore.Specification.Tests/BulkUpdates/NorthwindBulkUpdatesTestBase.cs b/test/EFCore.Specification.Tests/BulkUpdates/NorthwindBulkUpdatesTestBase.cs index 8380b1485c7..894248ebe6a 100644 --- a/test/EFCore.Specification.Tests/BulkUpdates/NorthwindBulkUpdatesTestBase.cs +++ b/test/EFCore.Specification.Tests/BulkUpdates/NorthwindBulkUpdatesTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.Northwind; @@ -10,14 +10,14 @@ namespace Microsoft.EntityFrameworkCore.BulkUpdates; public abstract class NorthwindBulkUpdatesTestBase(TFixture fixture) : BulkUpdatesTestBase(fixture) where TFixture : NorthwindBulkUpdatesFixture, new() { - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_non_entity_projection(bool async) => AssertDelete( async, ss => ss.Set().Where(od => od.OrderID < 10250).Select(e => e.ProductID), rowsAffectedCount: 0); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_non_entity_projection_2(bool async) => AssertDelete( async, @@ -25,7 +25,7 @@ public virtual Task Delete_non_entity_projection_2(bool async) .Select(e => new OrderDetail { OrderID = e.OrderID, ProductID = e.ProductID }), rowsAffectedCount: 0); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_non_entity_projection_3(bool async) => AssertDelete( async, @@ -33,7 +33,7 @@ public virtual Task Delete_non_entity_projection_3(bool async) .Select(e => new { OrderDetail = e, e.ProductID }), rowsAffectedCount: 0); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_without_property_to_set_throws(bool async) => AssertUpdate( async, @@ -42,7 +42,7 @@ public virtual Task Update_without_property_to_set_throws(bool async) _ => { }, rowsAffectedCount: 0); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_with_invalid_lambda_in_set_property_throws(bool async) => AssertUpdate( async, @@ -51,7 +51,7 @@ public virtual Task Update_with_invalid_lambda_in_set_property_throws(bool async s => s.SetProperty(e => e.MaybeScalar(e => e.OrderID), 10300), rowsAffectedCount: 0); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_multiple_tables_throws(bool async) => AssertUpdate( async, @@ -64,7 +64,7 @@ public virtual Task Update_multiple_tables_throws(bool async) .SetProperty(c => c.e.OrderDate, new DateTime(2020, 1, 1)), rowsAffectedCount: 0); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_unmapped_property_throws(bool async) => AssertUpdate( async, @@ -73,21 +73,21 @@ public virtual Task Update_unmapped_property_throws(bool async) s => s.SetProperty(c => c.IsLondon, true), rowsAffectedCount: 0); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_Where_TagWith(bool async) => AssertDelete( async, ss => ss.Set().Where(e => e.OrderID < 10300).TagWith("MyDelete"), rowsAffectedCount: 140); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_Where(bool async) => AssertDelete( async, ss => ss.Set().Where(e => e.OrderID < 10300), rowsAffectedCount: 140); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Delete_Where_parameter(bool async) { int? quantity = 1; @@ -105,56 +105,56 @@ await AssertDelete( rowsAffectedCount: 0); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_Where_OrderBy(bool async) => AssertDelete( async, ss => ss.Set().Where(e => e.OrderID < 10300).OrderBy(e => e.OrderID), rowsAffectedCount: 140); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_Where_OrderBy_Skip(bool async) => AssertDelete( async, ss => ss.Set().Where(e => e.OrderID < 10300).OrderBy(e => e.OrderID).Skip(100), rowsAffectedCount: 40); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_Where_OrderBy_Take(bool async) => AssertDelete( async, ss => ss.Set().Where(e => e.OrderID < 10300).OrderBy(e => e.OrderID).Take(100), rowsAffectedCount: 100); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_Where_OrderBy_Skip_Take(bool async) => AssertDelete( async, ss => ss.Set().Where(e => e.OrderID < 10300).OrderBy(e => e.OrderID).Skip(100).Take(100), rowsAffectedCount: 40); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_Where_Skip(bool async) => AssertDelete( async, ss => ss.Set().Where(e => e.OrderID < 10300).Skip(100), rowsAffectedCount: 40); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_Where_Take(bool async) => AssertDelete( async, ss => ss.Set().Where(e => e.OrderID < 10300).Take(100), rowsAffectedCount: 100); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_Where_Skip_Take(bool async) => AssertDelete( async, ss => ss.Set().Where(e => e.OrderID < 10300).Skip(100).Take(100), rowsAffectedCount: 40); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_Where_predicate_with_GroupBy_aggregate(bool async) => AssertDelete( async, @@ -166,7 +166,7 @@ public virtual Task Delete_Where_predicate_with_GroupBy_aggregate(bool async) .Select(g => g.First()).First().OrderID), rowsAffectedCount: 284); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_Where_predicate_with_GroupBy_aggregate_2(bool async) => AssertDelete( async, @@ -177,7 +177,7 @@ public virtual Task Delete_Where_predicate_with_GroupBy_aggregate_2(bool async) .Select(g => g.First()).Contains(e.Order)), rowsAffectedCount: 109); - [ConditionalTheory(Skip = "Issue#28525"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "Issue#28525"), MemberData(nameof(IsAsyncData))] public virtual Task Delete_GroupBy_Where_Select(bool async) => AssertDelete( async, @@ -187,7 +187,7 @@ public virtual Task Delete_GroupBy_Where_Select(bool async) .Select(g => g.First()), rowsAffectedCount: 284); - [ConditionalTheory(Skip = "Issue#26753"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "Issue#26753"), MemberData(nameof(IsAsyncData))] public virtual Task Delete_GroupBy_Where_Select_2(bool async) => AssertDelete( async, @@ -197,49 +197,49 @@ public virtual Task Delete_GroupBy_Where_Select_2(bool async) .FirstOrDefault()), rowsAffectedCount: 284); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_Where_Skip_Take_Skip_Take_causing_subquery(bool async) => AssertDelete( async, ss => ss.Set().Where(e => e.OrderID < 10300).Skip(100).Take(100).Skip(20).Take(5), rowsAffectedCount: 5); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_Where_Distinct(bool async) => AssertDelete( async, ss => ss.Set().Where(e => e.OrderID < 10300).Distinct(), rowsAffectedCount: 140); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_SelectMany(bool async) => AssertDelete( async, ss => ss.Set().Where(e => e.OrderID < 10250).SelectMany(e => e.OrderDetails), rowsAffectedCount: 5); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_SelectMany_subquery(bool async) => AssertDelete( async, ss => ss.Set().Where(e => e.OrderID < 10250).SelectMany(e => e.OrderDetails.Where(i => i.ProductID > 0)), rowsAffectedCount: 5); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_Where_using_navigation(bool async) => AssertDelete( async, ss => ss.Set().Where(od => od.Order.OrderDate.Value.Year == 2000), rowsAffectedCount: 0); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_Where_using_navigation_2(bool async) => AssertDelete( async, ss => ss.Set().Where(od => od.Order.Customer.CustomerID.StartsWith("F")), rowsAffectedCount: 164); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_Union(bool async) => AssertDelete( async, @@ -247,7 +247,7 @@ public virtual Task Delete_Union(bool async) .Union(ss.Set().Where(od => od.OrderID > 11250)), rowsAffectedCount: 5); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_Concat(bool async) => AssertDelete( async, @@ -255,7 +255,7 @@ public virtual Task Delete_Concat(bool async) .Concat(ss.Set().Where(od => od.OrderID > 11250)), rowsAffectedCount: 5); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_Intersect(bool async) => AssertDelete( async, @@ -263,7 +263,7 @@ public virtual Task Delete_Intersect(bool async) .Intersect(ss.Set().Where(od => od.OrderID > 11250)), rowsAffectedCount: 0); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_Except(bool async) => AssertDelete( async, @@ -271,7 +271,7 @@ public virtual Task Delete_Except(bool async) .Except(ss.Set().Where(od => od.OrderID > 11250)), rowsAffectedCount: 5); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_Where_optional_navigation_predicate(bool async) => AssertDelete( async, @@ -280,7 +280,7 @@ where od.Order.Customer.City.StartsWith("Se") select od, rowsAffectedCount: 66); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_with_join(bool async) => AssertDelete( async, @@ -290,7 +290,7 @@ on od.OrderID equals o.OrderID select od, rowsAffectedCount: 140); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_with_LeftJoin(bool async) => AssertDelete( async, @@ -302,7 +302,7 @@ public virtual Task Delete_with_LeftJoin(bool async) (od, o) => od), rowsAffectedCount: 74); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_with_LeftJoin_via_flattened_GroupJoin(bool async) => AssertDelete( async, @@ -313,7 +313,7 @@ from o in grouping.DefaultIfEmpty() select od, rowsAffectedCount: 74); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_with_cross_join(bool async) => AssertDelete( async, @@ -322,7 +322,7 @@ from o in ss.Set().Where(o => o.OrderID < 10300).OrderBy(e => e.OrderID). select od, rowsAffectedCount: 74); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_with_cross_apply(bool async) => AssertDelete( async, @@ -331,7 +331,7 @@ from o in ss.Set().Where(o => o.OrderID < od.OrderID).OrderBy(e => e.Orde select od, rowsAffectedCount: 71); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_with_outer_apply(bool async) => AssertDelete( async, @@ -340,7 +340,7 @@ from o in ss.Set().Where(o => o.OrderID < od.OrderID).OrderBy(e => e.Orde select od, rowsAffectedCount: 74); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Delete_with_RightJoin(bool async) => AssertDelete( async, @@ -352,7 +352,7 @@ public virtual Task Delete_with_RightJoin(bool async) (od, o) => od), rowsAffectedCount: 74); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_set_constant_TagWith(bool async) => AssertUpdate( async, @@ -362,7 +362,7 @@ public virtual Task Update_Where_set_constant_TagWith(bool async) rowsAffectedCount: 8, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_set_constant_TagWith_null(bool async) => AssertUpdate( async, @@ -372,7 +372,7 @@ public virtual Task Update_set_constant_TagWith_null(bool async) rowsAffectedCount: 91, (b, a) => Assert.All(a, c => Assert.Null(c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_set_constant(bool async) => AssertUpdate( async, @@ -382,7 +382,7 @@ public virtual Task Update_Where_set_constant(bool async) rowsAffectedCount: 8, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_set_constant_via_lambda(bool async) => AssertUpdate( async, @@ -392,7 +392,7 @@ public virtual Task Update_Where_set_constant_via_lambda(bool async) rowsAffectedCount: 8, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_set_nullable_int_constant_via_discard_lambda(bool async) => AssertUpdate( async, @@ -402,7 +402,7 @@ public virtual Task Update_Where_set_nullable_int_constant_via_discard_lambda(bo rowsAffectedCount: 4, (b, a) => Assert.All(a, p => Assert.Equal(1, p.SupplierID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Update_Where_parameter_set_constant(bool async) { var customer = "ALFKI"; @@ -424,7 +424,7 @@ await AssertUpdate( (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_set_parameter(bool async) { var value = "Abc"; @@ -437,7 +437,7 @@ public virtual Task Update_Where_set_parameter(bool async) (b, a) => Assert.All(a, c => Assert.Equal("Abc", c.ContactName))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_set_parameter_from_closure_array(bool async) { var array = new[] { "Abc", "Def" }; @@ -450,7 +450,7 @@ public virtual Task Update_Where_set_parameter_from_closure_array(bool async) (b, a) => Assert.All(a, c => Assert.Equal("Abc", c.ContactName))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_set_parameter_from_inline_list(bool async) => AssertUpdate( async, @@ -460,7 +460,7 @@ public virtual Task Update_Where_set_parameter_from_inline_list(bool async) rowsAffectedCount: 8, (b, a) => Assert.All(a, c => Assert.Equal("Abc", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_set_parameter_from_multilevel_property_access(bool async) { var container = new Container { Containee = new Containee { Property = "Abc" } }; @@ -484,7 +484,7 @@ private class Containee public string Property { get; set; } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_Skip_set_constant(bool async) => AssertUpdate( async, @@ -494,7 +494,7 @@ public virtual Task Update_Where_Skip_set_constant(bool async) rowsAffectedCount: 4, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_Take_set_constant(bool async) => AssertUpdate( async, @@ -504,7 +504,7 @@ public virtual Task Update_Where_Take_set_constant(bool async) rowsAffectedCount: 4, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_Skip_Take_set_constant(bool async) => AssertUpdate( async, @@ -514,7 +514,7 @@ public virtual Task Update_Where_Skip_Take_set_constant(bool async) rowsAffectedCount: 4, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_OrderBy_set_constant(bool async) => AssertUpdate( async, @@ -524,7 +524,7 @@ public virtual Task Update_Where_OrderBy_set_constant(bool async) rowsAffectedCount: 8, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_OrderBy_Skip_set_constant(bool async) => AssertUpdate( async, @@ -534,7 +534,7 @@ public virtual Task Update_Where_OrderBy_Skip_set_constant(bool async) rowsAffectedCount: 4, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_OrderBy_Take_set_constant(bool async) => AssertUpdate( async, @@ -544,7 +544,7 @@ public virtual Task Update_Where_OrderBy_Take_set_constant(bool async) rowsAffectedCount: 4, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_OrderBy_Skip_Take_set_constant(bool async) => AssertUpdate( async, @@ -554,7 +554,7 @@ public virtual Task Update_Where_OrderBy_Skip_Take_set_constant(bool async) rowsAffectedCount: 4, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_OrderBy_Skip_Take_Skip_Take_set_constant(bool async) => AssertUpdate( async, @@ -564,7 +564,7 @@ public virtual Task Update_Where_OrderBy_Skip_Take_Skip_Take_set_constant(bool a rowsAffectedCount: 2, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_GroupBy_aggregate_set_constant(bool async) => AssertUpdate( async, @@ -577,7 +577,7 @@ public virtual Task Update_Where_GroupBy_aggregate_set_constant(bool async) rowsAffectedCount: 1, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_GroupBy_First_set_constant(bool async) => AssertUpdate( async, @@ -590,7 +590,7 @@ public virtual Task Update_Where_GroupBy_First_set_constant(bool async) rowsAffectedCount: 1, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory(Skip = "Issue#26753"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "Issue#26753"), MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_GroupBy_First_set_constant_2(bool async) => AssertUpdate( async, @@ -603,7 +603,7 @@ public virtual Task Update_Where_GroupBy_First_set_constant_2(bool async) rowsAffectedCount: 1, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_GroupBy_First_set_constant_3(bool async) => AssertUpdate( async, @@ -615,7 +615,7 @@ public virtual Task Update_Where_GroupBy_First_set_constant_3(bool async) rowsAffectedCount: 24, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_Distinct_set_constant(bool async) => AssertUpdate( async, @@ -625,7 +625,7 @@ public virtual Task Update_Where_Distinct_set_constant(bool async) rowsAffectedCount: 8, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_using_navigation_set_null(bool async) => AssertUpdate( async, @@ -635,7 +635,7 @@ public virtual Task Update_Where_using_navigation_set_null(bool async) rowsAffectedCount: 14, (b, a) => Assert.All(a, c => Assert.Null(c.OrderDate))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_using_navigation_2_set_constant(bool async) => AssertUpdate( async, @@ -645,7 +645,7 @@ public virtual Task Update_Where_using_navigation_2_set_constant(bool async) rowsAffectedCount: 40, (b, a) => Assert.All(a, c => Assert.Equal(1, c.Quantity))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_SelectMany_set_null(bool async) => AssertUpdate( async, @@ -655,7 +655,7 @@ public virtual Task Update_Where_SelectMany_set_null(bool async) rowsAffectedCount: 63, (b, a) => Assert.All(a, c => Assert.Null(c.OrderDate))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_set_property_plus_constant(bool async) => AssertUpdate( async, @@ -665,7 +665,7 @@ public virtual Task Update_Where_set_property_plus_constant(bool async) rowsAffectedCount: 8, (b, a) => b.Zip(a).ForEach(e => Assert.Equal(e.First.ContactName + "Abc", e.Second.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_set_property_plus_parameter(bool async) { var value = "Abc"; @@ -678,7 +678,7 @@ public virtual Task Update_Where_set_property_plus_parameter(bool async) (b, a) => b.Zip(a).ForEach(e => Assert.Equal(e.First.ContactName + "Abc", e.Second.ContactName))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_set_property_plus_property(bool async) => AssertUpdate( async, @@ -688,7 +688,7 @@ public virtual Task Update_Where_set_property_plus_property(bool async) rowsAffectedCount: 8, (b, a) => b.Zip(a).ForEach(e => Assert.Equal(e.First.ContactName + e.First.CustomerID, e.Second.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_set_constant_using_ef_property(bool async) => AssertUpdate( async, @@ -698,7 +698,7 @@ public virtual Task Update_Where_set_constant_using_ef_property(bool async) rowsAffectedCount: 8, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_set_null(bool async) => AssertUpdate( async, @@ -708,7 +708,7 @@ public virtual Task Update_Where_set_null(bool async) rowsAffectedCount: 8, (b, a) => Assert.All(a, c => Assert.Null(c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_multiple_set(bool async) { var value = "Abc"; @@ -726,7 +726,7 @@ public virtual Task Update_Where_multiple_set(bool async) })); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Union_set_constant(bool async) => AssertUpdate( async, @@ -737,7 +737,7 @@ public virtual Task Update_Union_set_constant(bool async) rowsAffectedCount: 12, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Concat_set_constant(bool async) => AssertUpdate( async, @@ -748,7 +748,7 @@ public virtual Task Update_Concat_set_constant(bool async) rowsAffectedCount: 12, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Except_set_constant(bool async) => AssertUpdate( async, @@ -759,7 +759,7 @@ public virtual Task Update_Except_set_constant(bool async) rowsAffectedCount: 8, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Intersect_set_constant(bool async) => AssertUpdate( async, @@ -770,7 +770,7 @@ public virtual Task Update_Intersect_set_constant(bool async) rowsAffectedCount: 0, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_with_join_set_constant(bool async) => AssertUpdate( async, @@ -783,7 +783,7 @@ on c.CustomerID equals o.CustomerID rowsAffectedCount: 2, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_with_LeftJoin(bool async) => AssertUpdate( async, @@ -799,7 +799,7 @@ public virtual Task Update_with_LeftJoin(bool async) rowsAffectedCount: 8, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_with_LeftJoin_via_flattened_GroupJoin(bool async) => AssertUpdate( async, @@ -813,7 +813,7 @@ from o in grouping.DefaultIfEmpty() rowsAffectedCount: 8, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_with_RightJoin(bool async) => AssertUpdate( async, @@ -828,7 +828,7 @@ public virtual Task Update_with_RightJoin(bool async) rowsAffectedCount: 2, (b, a) => Assert.All(a, o => Assert.Equal(new DateTime(2020, 1, 1, 0, 0, 0, DateTimeKind.Utc), o.OrderDate))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_with_cross_join_set_constant(bool async) => AssertUpdate( async, @@ -840,7 +840,7 @@ from o in ss.Set().Where(o => o.OrderID < 10300) rowsAffectedCount: 8, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_with_cross_apply_set_constant(bool async) => AssertUpdate( async, @@ -852,7 +852,7 @@ from o in ss.Set().Where(o => o.OrderID < 10300 && o.OrderDate.Value.Year rowsAffectedCount: 0, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_with_outer_apply_set_constant(bool async) => AssertUpdate( async, @@ -864,7 +864,7 @@ from o in ss.Set().Where(o => o.OrderID < 10300 && o.OrderDate.Value.Year rowsAffectedCount: 8, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_with_cross_join_left_join_set_constant(bool async) => AssertUpdate( async, @@ -884,7 +884,7 @@ from o in grouping.DefaultIfEmpty() rowsAffectedCount: 8, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_with_cross_join_cross_apply_set_constant(bool async) => AssertUpdate( async, @@ -897,7 +897,7 @@ from o in ss.Set().Where(o => o.OrderID < 10300 && o.OrderDate.Value.Year rowsAffectedCount: 0, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_with_cross_join_outer_apply_set_constant(bool async) => AssertUpdate( async, @@ -915,7 +915,7 @@ from o in ss.Set().Where(o => o.OrderID < 10300 && o.OrderDate.Value.Year rowsAffectedCount: 8, (b, a) => Assert.All(a, c => Assert.Equal("Updated", c.ContactName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_SelectMany_subquery_set_null(bool async) => AssertUpdate( async, @@ -926,7 +926,7 @@ public virtual Task Update_Where_SelectMany_subquery_set_null(bool async) rowsAffectedCount: 35, (b, a) => Assert.All(a, c => Assert.Null(c.OrderDate))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_Join_set_property_from_joined_single_result_table(bool async) => AssertUpdate( async, @@ -937,7 +937,7 @@ public virtual Task Update_Where_Join_set_property_from_joined_single_result_tab rowsAffectedCount: 8, (b, a) => Assert.All(a, c => Assert.NotNull(c.City))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_Join_set_property_from_joined_table(bool async) => AssertUpdate( async, @@ -949,7 +949,7 @@ from c2 in ss.Set().Where(c => c.CustomerID == "ALFKI") rowsAffectedCount: 8, (b, a) => Assert.All(a, c => Assert.NotNull(c.City))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_Where_Join_set_property_from_joined_single_result_scalar(bool async) => AssertUpdate( async, @@ -960,7 +960,7 @@ public virtual Task Update_Where_Join_set_property_from_joined_single_result_sca rowsAffectedCount: 8, (b, a) => Assert.All(a, c => Assert.NotNull(c.City))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Update_with_two_inner_joins(bool async) => AssertUpdate( async, @@ -972,7 +972,7 @@ public virtual Task Update_with_two_inner_joins(bool async) rowsAffectedCount: 228, (b, a) => Assert.All(a, od => Assert.Equal(1, od.Quantity))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // #37247 + [Theory, MemberData(nameof(IsAsyncData))] // #37247 public virtual Task Update_with_PK_pushdown_and_join_and_multiple_setters(bool async) => AssertUpdate( async, diff --git a/test/EFCore.Specification.Tests/ComplexTypesTrackingTestBase.cs b/test/EFCore.Specification.Tests/ComplexTypesTrackingTestBase.cs index 29ab2808946..3dfe9ec25e4 100644 --- a/test/EFCore.Specification.Tests/ComplexTypesTrackingTestBase.cs +++ b/test/EFCore.Specification.Tests/ComplexTypesTrackingTestBase.cs @@ -11,169 +11,169 @@ public abstract class ComplexTypesTrackingTestBase(TFixture fixture) : { protected TFixture Fixture { get; } = fixture; - [ConditionalTheory, InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Deleted, true)] public virtual Task Can_track_entity_with_complex_objects(EntityState state, bool async) => TrackAndSaveTest(state, async, c => CreatePub(c)); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_mark_complex_type_properties_modified(bool trackFromQuery) => MarkModifiedTest(trackFromQuery, c => CreatePub(c)); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_read_original_values_for_properties_of_complex_types(bool trackFromQuery) => ReadOriginalValuesTest(trackFromQuery, c => CreatePub(c)); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_write_original_values_for_properties_of_complex_types(bool trackFromQuery) => WriteOriginalValuesTest(trackFromQuery, c => CreatePub(c)); - [ConditionalTheory, InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Deleted, true)] public virtual Task Can_track_entity_with_complex_structs(EntityState state, bool async) => TrackAndSaveTest(state, async, CreatePubWithStructs); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_mark_complex_readonly_struct_properties_modified(bool trackFromQuery) => MarkModifiedTest(trackFromQuery, CreatePubWithStructs); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_read_original_values_for_properties_of_structs(bool trackFromQuery) => ReadOriginalValuesTest(trackFromQuery, CreatePubWithStructs); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_write_original_values_for_properties_of_structs(bool trackFromQuery) => WriteOriginalValuesTest(trackFromQuery, CreatePubWithStructs); - [ConditionalTheory, InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Deleted, true)] public virtual Task Can_track_entity_with_complex_readonly_structs(EntityState state, bool async) => TrackAndSaveTest(state, async, CreatePubWithReadonlyStructs); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_mark_complex_readonly_readonly_struct_properties_modified(bool trackFromQuery) => MarkModifiedTest(trackFromQuery, CreatePubWithReadonlyStructs); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_read_original_values_for_properties_of_readonly_structs(bool trackFromQuery) => ReadOriginalValuesTest(trackFromQuery, CreatePubWithReadonlyStructs); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_write_original_values_for_properties_of_readonly_structs(bool trackFromQuery) => WriteOriginalValuesTest(trackFromQuery, CreatePubWithReadonlyStructs); - [ConditionalTheory, InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Deleted, true)] public virtual Task Can_track_entity_with_complex_record_objects(EntityState state, bool async) => TrackAndSaveTest(state, async, CreatePubWithRecords); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_mark_complex_record_type_properties_modified(bool trackFromQuery) => MarkModifiedTest(trackFromQuery, CreatePubWithRecords); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_read_original_values_for_properties_of_record_complex_types(bool trackFromQuery) => ReadOriginalValuesTest(trackFromQuery, CreatePubWithRecords); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_write_original_values_for_properties_of_record_complex_types(bool trackFromQuery) => WriteOriginalValuesTest(trackFromQuery, CreatePubWithRecords); - [ConditionalTheory, InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Deleted, true)] public virtual Task Can_track_entity_with_complex_objects_with_fields(EntityState state, bool async) => TrackAndSaveTest(state, async, CreateFieldPub); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_mark_complex_type_properties_modified_with_fields(bool trackFromQuery) => MarkModifiedTest(trackFromQuery, CreateFieldPub); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_read_original_values_for_properties_of_complex_types_with_fields(bool trackFromQuery) => ReadOriginalValuesTest(trackFromQuery, CreateFieldPub); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_write_original_values_for_properties_of_complex_types_with_fields(bool trackFromQuery) => WriteOriginalValuesTest(trackFromQuery, CreateFieldPub); - [ConditionalTheory, InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Deleted, true)] public virtual Task Can_track_entity_with_complex_structs_with_fields(EntityState state, bool async) => TrackAndSaveTest(state, async, CreateFieldPubWithStructs); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_mark_complex_readonly_struct_properties_modified_with_fields(bool trackFromQuery) => MarkModifiedTest(trackFromQuery, CreateFieldPubWithStructs); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_read_original_values_for_properties_of_structs_with_fields(bool trackFromQuery) => ReadOriginalValuesTest(trackFromQuery, CreateFieldPubWithStructs); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_write_original_values_for_properties_of_structs_with_fields(bool trackFromQuery) => WriteOriginalValuesTest(trackFromQuery, CreateFieldPubWithStructs); - [ConditionalTheory(Skip = "Constructor binding #31621"), InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), + [Theory(Skip = "Constructor binding #31621"), InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Deleted, true)] public virtual Task Can_track_entity_with_complex_readonly_structs_with_fields(EntityState state, bool async) => TrackAndSaveTest(state, async, CreateFieldPubWithReadonlyStructs); - [ConditionalTheory(Skip = "Constructor binding #31621"), InlineData(false), InlineData(true)] + [Theory(Skip = "Constructor binding #31621"), InlineData(false), InlineData(true)] public virtual void Can_mark_complex_readonly_readonly_struct_properties_modified_with_fields(bool trackFromQuery) => MarkModifiedTest(trackFromQuery, CreateFieldPubWithReadonlyStructs); - [ConditionalTheory(Skip = "Constructor binding #31621"), InlineData(false), InlineData(true)] + [Theory(Skip = "Constructor binding #31621"), InlineData(false), InlineData(true)] public virtual void Can_read_original_values_for_properties_of_readonly_structs_with_fields(bool trackFromQuery) => ReadOriginalValuesTest(trackFromQuery, CreateFieldPubWithReadonlyStructs); - [ConditionalTheory(Skip = "Constructor binding #31621"), InlineData(false), InlineData(true)] + [Theory(Skip = "Constructor binding #31621"), InlineData(false), InlineData(true)] public virtual void Can_write_original_values_for_properties_of_readonly_structs_with_fields(bool trackFromQuery) => WriteOriginalValuesTest(trackFromQuery, CreateFieldPubWithReadonlyStructs); - [ConditionalTheory, InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Deleted, true)] public virtual Task Can_track_entity_with_complex_record_objects_with_fields(EntityState state, bool async) => TrackAndSaveTest(state, async, CreateFieldPubWithRecords); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_mark_complex_record_type_properties_modified_with_fields(bool trackFromQuery) => MarkModifiedTest(trackFromQuery, CreateFieldPubWithRecords); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_read_original_values_for_properties_of_record_complex_types_with_fields(bool trackFromQuery) => ReadOriginalValuesTest(trackFromQuery, CreateFieldPubWithRecords); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_write_original_values_for_properties_of_record_complex_types_with_fields(bool trackFromQuery) => WriteOriginalValuesTest(trackFromQuery, CreateFieldPubWithRecords); - [ConditionalTheory, InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Deleted, true)] public virtual Task Can_track_entity_with_complex_type_collections(EntityState state, bool async) => TrackAndSaveTest(state, async, CreatePubWithCollections); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_mark_complex_type_collection_properties_modified(bool trackFromQuery) => MarkModifiedTest(trackFromQuery, CreatePubWithCollections); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_read_original_values_for_properties_of_complex_type_collections(bool trackFromQuery) => ReadOriginalValuesTest(trackFromQuery, CreatePubWithCollections); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_write_original_values_for_properties_of_complex_type_collections(bool trackFromQuery) => WriteOriginalValuesTest(trackFromQuery, CreatePubWithCollections); - [ConditionalTheory] + [Theory] [InlineData(EntityState.Unchanged, false)] [InlineData(EntityState.Unchanged, true)] [InlineData(EntityState.Modified, false)] @@ -181,7 +181,7 @@ public virtual void Can_write_original_values_for_properties_of_complex_type_col public virtual Task Can_change_state_from_Deleted_with_complex_collection(EntityState newState, bool async) => ChangeStateFromDeletedTest(newState, async, CreatePubWithCollections); - [ConditionalTheory(Skip = "Issue #31411")] + [Theory(Skip = "Issue #31411")] [InlineData(EntityState.Unchanged, false)] [InlineData(EntityState.Unchanged, true)] [InlineData(EntityState.Modified, false)] @@ -189,7 +189,7 @@ public virtual Task Can_change_state_from_Deleted_with_complex_collection(Entity public virtual Task Can_change_state_from_Deleted_with_complex_struct_collection(EntityState newState, bool async) => ChangeStateFromDeletedTest(newState, async, CreatePubWithStructCollections); - [ConditionalTheory(Skip = "Issue #31621")] + [Theory(Skip = "Issue #31621")] [InlineData(EntityState.Unchanged, false)] [InlineData(EntityState.Unchanged, true)] [InlineData(EntityState.Modified, false)] @@ -197,7 +197,7 @@ public virtual Task Can_change_state_from_Deleted_with_complex_struct_collection public virtual Task Can_change_state_from_Deleted_with_complex_readonly_struct_collection(EntityState newState, bool async) => ChangeStateFromDeletedTest(newState, async, CreatePubWithReadonlyStructCollections); - [ConditionalTheory] + [Theory] [InlineData(EntityState.Unchanged, false)] [InlineData(EntityState.Unchanged, true)] [InlineData(EntityState.Modified, false)] @@ -205,7 +205,7 @@ public virtual Task Can_change_state_from_Deleted_with_complex_readonly_struct_c public virtual Task Can_change_state_from_Deleted_with_complex_record_collection(EntityState newState, bool async) => ChangeStateFromDeletedTest(newState, async, CreatePubWithRecordCollections); - [ConditionalTheory] + [Theory] [InlineData(EntityState.Unchanged, false)] [InlineData(EntityState.Unchanged, true)] [InlineData(EntityState.Modified, false)] @@ -213,7 +213,7 @@ public virtual Task Can_change_state_from_Deleted_with_complex_record_collection public virtual Task Can_change_state_from_Deleted_with_complex_field_collection(EntityState newState, bool async) => ChangeStateFromDeletedTest(newState, async, CreateFieldCollectionPub); - [ConditionalTheory(Skip = "Issue #31411")] + [Theory(Skip = "Issue #31411")] [InlineData(EntityState.Unchanged, false)] [InlineData(EntityState.Unchanged, true)] [InlineData(EntityState.Modified, false)] @@ -221,7 +221,7 @@ public virtual Task Can_change_state_from_Deleted_with_complex_field_collection( public virtual Task Can_change_state_from_Deleted_with_complex_field_struct_collection(EntityState newState, bool async) => ChangeStateFromDeletedTest(newState, async, CreateFieldCollectionPubWithStructs); - [ConditionalTheory(Skip = "Issue #31621")] + [Theory(Skip = "Issue #31621")] [InlineData(EntityState.Unchanged, false)] [InlineData(EntityState.Unchanged, true)] [InlineData(EntityState.Modified, false)] @@ -229,7 +229,7 @@ public virtual Task Can_change_state_from_Deleted_with_complex_field_struct_coll public virtual Task Can_change_state_from_Deleted_with_complex_field_readonly_struct_collection(EntityState newState, bool async) => ChangeStateFromDeletedTest(newState, async, CreateFieldCollectionPubWithReadonlyStructs); - [ConditionalTheory] + [Theory] [InlineData(EntityState.Unchanged, false)] [InlineData(EntityState.Unchanged, true)] [InlineData(EntityState.Modified, false)] @@ -271,219 +271,219 @@ await ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalTheory(Skip = "Issue #31411"), InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), + [Theory(Skip = "Issue #31411"), InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Deleted, true)] public virtual Task Can_track_entity_with_complex_struct_collections(EntityState state, bool async) => TrackAndSaveTest(state, async, CreatePubWithStructCollections); - [ConditionalTheory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] public virtual void Can_mark_complex_struct_collection_properties_modified(bool trackFromQuery) => MarkModifiedTest(trackFromQuery, CreatePubWithStructCollections); - [ConditionalTheory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] public virtual void Can_read_original_values_for_properties_of_complex_struct_collections(bool trackFromQuery) => ReadOriginalValuesTest(trackFromQuery, CreatePubWithStructCollections); - [ConditionalTheory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] public virtual void Can_write_original_values_for_properties_of_complex_struct_collections(bool trackFromQuery) => WriteOriginalValuesTest(trackFromQuery, CreatePubWithStructCollections); - [ConditionalTheory(Skip = "Issue #31621"), InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), + [Theory(Skip = "Issue #31621"), InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Deleted, true)] public virtual Task Can_track_entity_with_complex_readonly_struct_collections(EntityState state, bool async) => TrackAndSaveTest(state, async, CreatePubWithReadonlyStructCollections); - [ConditionalTheory(Skip = "Issue #31621"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #31621"), InlineData(false), InlineData(true)] public virtual void Can_mark_complex_readonly_struct_collection_properties_modified(bool trackFromQuery) => MarkModifiedTest(trackFromQuery, CreatePubWithReadonlyStructCollections); - [ConditionalTheory(Skip = "Issue #31621"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #31621"), InlineData(false), InlineData(true)] public virtual void Can_read_original_values_for_properties_of_readonly_struct_collections(bool trackFromQuery) => ReadOriginalValuesTest(trackFromQuery, CreatePubWithReadonlyStructCollections); - [ConditionalTheory(Skip = "Issue #31621"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #31621"), InlineData(false), InlineData(true)] public virtual void Can_write_original_values_for_properties_of_readonly_struct_collections(bool trackFromQuery) => WriteOriginalValuesTest(trackFromQuery, CreatePubWithReadonlyStructCollections); - [ConditionalTheory, InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Deleted, true)] public virtual Task Can_track_entity_with_complex_record_collections(EntityState state, bool async) => TrackAndSaveTest(state, async, CreatePubWithRecordCollections); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_mark_complex_record_collection_properties_modified(bool trackFromQuery) => MarkModifiedTest(trackFromQuery, CreatePubWithRecordCollections); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_read_original_values_for_properties_of_complex_record_collections(bool trackFromQuery) => ReadOriginalValuesTest(trackFromQuery, CreatePubWithRecordCollections); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_write_original_values_for_properties_of_complex_record_collections(bool trackFromQuery) => WriteOriginalValuesTest(trackFromQuery, CreatePubWithRecordCollections); - [ConditionalTheory, InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Deleted, true)] public virtual Task Can_track_entity_with_complex_field_collections(EntityState state, bool async) => TrackAndSaveTest(state, async, CreateFieldCollectionPub); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_mark_complex_field_collection_properties_modified(bool trackFromQuery) => MarkModifiedTest(trackFromQuery, CreateFieldCollectionPub); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_read_original_values_for_properties_of_complex_field_collections(bool trackFromQuery) => ReadOriginalValuesTest(trackFromQuery, CreateFieldCollectionPub); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_write_original_values_for_properties_of_complex_field_collections(bool trackFromQuery) => WriteOriginalValuesTest(trackFromQuery, CreateFieldCollectionPub); - [ConditionalTheory(Skip = "Issue #31411"), InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), + [Theory(Skip = "Issue #31411"), InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Deleted, true)] public virtual Task Can_track_entity_with_complex_struct_collections_with_fields(EntityState state, bool async) => TrackAndSaveTest(state, async, CreateFieldCollectionPubWithStructs); - [ConditionalTheory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] public virtual void Can_mark_complex_struct_collections_with_fields_properties_modified(bool trackFromQuery) => MarkModifiedTest(trackFromQuery, CreateFieldCollectionPubWithStructs); - [ConditionalTheory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] public virtual void Can_read_original_values_for_properties_of_complex_struct_collections_with_fields(bool trackFromQuery) => ReadOriginalValuesTest(trackFromQuery, CreateFieldCollectionPubWithStructs); - [ConditionalTheory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] public virtual void Can_write_original_values_for_properties_of_complex_struct_collections_with_fields(bool trackFromQuery) => WriteOriginalValuesTest(trackFromQuery, CreateFieldCollectionPubWithStructs); - [ConditionalTheory, InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Deleted, true)] public virtual Task Can_track_entity_with_complex_record_collections_with_fields(EntityState state, bool async) => TrackAndSaveTest(state, async, CreateFieldCollectionPubWithRecords); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_mark_complex_record_collections_with_fields_properties_modified(bool trackFromQuery) => MarkModifiedTest(trackFromQuery, CreateFieldCollectionPubWithRecords); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_read_original_values_for_properties_of_complex_record_collections_with_fields(bool trackFromQuery) => ReadOriginalValuesTest(trackFromQuery, CreateFieldCollectionPubWithRecords); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_write_original_values_for_properties_of_complex_record_collections_with_fields(bool trackFromQuery) => WriteOriginalValuesTest(trackFromQuery, CreateFieldCollectionPubWithRecords); - [ConditionalTheory(Skip = "Constructor binding #31621"), InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), + [Theory(Skip = "Constructor binding #31621"), InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Deleted, true)] public virtual Task Can_track_entity_with_complex_readonly_struct_collections_with_fields(EntityState state, bool async) => TrackAndSaveTest(state, async, CreateFieldCollectionPubWithReadonlyStructs); - [ConditionalTheory(Skip = "Constructor binding #31621"), InlineData(false), InlineData(true)] + [Theory(Skip = "Constructor binding #31621"), InlineData(false), InlineData(true)] public virtual void Can_mark_complex_readonly_struct_collections_with_fields_properties_modified(bool trackFromQuery) => MarkModifiedTest(trackFromQuery, CreateFieldCollectionPubWithReadonlyStructs); - [ConditionalTheory(Skip = "Constructor binding #31621"), InlineData(false), InlineData(true)] + [Theory(Skip = "Constructor binding #31621"), InlineData(false), InlineData(true)] public virtual void Can_read_original_values_for_properties_of_complex_readonly_struct_collections_with_fields(bool trackFromQuery) => ReadOriginalValuesTest(trackFromQuery, CreateFieldCollectionPubWithReadonlyStructs); - [ConditionalTheory(Skip = "Constructor binding #31621"), InlineData(false), InlineData(true)] + [Theory(Skip = "Constructor binding #31621"), InlineData(false), InlineData(true)] public virtual void Can_write_original_values_for_properties_of_complex_readonly_struct_collections_with_fields(bool trackFromQuery) => WriteOriginalValuesTest(trackFromQuery, CreateFieldCollectionPubWithReadonlyStructs); - [ConditionalTheory(Skip = "Issue #36483"), InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), + [Theory(Skip = "Issue #36483"), InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Deleted, true)] public virtual Task Can_track_entity_with_complex_type_array_collections(EntityState state, bool async) => TrackAndSaveTest(state, async, CreatePubWithArrayCollections); - [ConditionalTheory(Skip = "Issue #36483"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #36483"), InlineData(false), InlineData(true)] public virtual void Can_mark_complex_type_array_collection_properties_modified(bool trackFromQuery) => MarkModifiedTest(trackFromQuery, CreatePubWithArrayCollections); - [ConditionalTheory(Skip = "Issue #36483"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #36483"), InlineData(false), InlineData(true)] public virtual void Can_read_original_values_for_properties_of_complex_type_array_collections(bool trackFromQuery) => ReadOriginalValuesTest(trackFromQuery, CreatePubWithArrayCollections); - [ConditionalTheory(Skip = "Issue #36483"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #36483"), InlineData(false), InlineData(true)] public virtual void Can_write_original_values_for_properties_of_complex_type_array_collections(bool trackFromQuery) => WriteOriginalValuesTest(trackFromQuery, CreatePubWithArrayCollections); - [ConditionalTheory(Skip = "Issue #36483"), InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), + [Theory(Skip = "Issue #36483"), InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Deleted, true)] public virtual Task Can_track_entity_with_complex_struct_array_collections(EntityState state, bool async) => TrackAndSaveTest(state, async, CreatePubWithStructArrayCollections); - [ConditionalTheory(Skip = "Issue #36483"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #36483"), InlineData(false), InlineData(true)] public virtual void Can_mark_complex_struct_array_collection_properties_modified(bool trackFromQuery) => MarkModifiedTest(trackFromQuery, CreatePubWithStructArrayCollections); - [ConditionalTheory(Skip = "Issue #36483"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #36483"), InlineData(false), InlineData(true)] public virtual void Can_read_original_values_for_properties_of_complex_struct_array_collections(bool trackFromQuery) => ReadOriginalValuesTest(trackFromQuery, CreatePubWithStructArrayCollections); - [ConditionalTheory(Skip = "Issue #36483"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #36483"), InlineData(false), InlineData(true)] public virtual void Can_write_original_values_for_properties_of_complex_struct_array_collections(bool trackFromQuery) => WriteOriginalValuesTest(trackFromQuery, CreatePubWithStructArrayCollections); - [ConditionalTheory(Skip = "Issue #31411"), InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), + [Theory(Skip = "Issue #31411"), InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Deleted, true)] public virtual Task Can_track_entity_with_complex_readonly_struct_array_collections(EntityState state, bool async) => TrackAndSaveTest(state, async, CreatePubWithReadonlyStructArrayCollections); - [ConditionalTheory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] public virtual void Can_mark_complex_readonly_struct_array_collection_properties_modified(bool trackFromQuery) => MarkModifiedTest(trackFromQuery, CreatePubWithReadonlyStructArrayCollections); - [ConditionalTheory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] public virtual void Can_read_original_values_for_properties_of_complex_readonly_struct_array_collections(bool trackFromQuery) => ReadOriginalValuesTest(trackFromQuery, CreatePubWithReadonlyStructArrayCollections); - [ConditionalTheory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] public virtual void Can_write_original_values_for_properties_of_complex_readonly_struct_array_collections(bool trackFromQuery) => WriteOriginalValuesTest(trackFromQuery, CreatePubWithReadonlyStructArrayCollections); - [ConditionalTheory(Skip = "Issue #36483"), InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), + [Theory(Skip = "Issue #36483"), InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Deleted, true)] public virtual Task Can_track_entity_with_complex_record_array_collections(EntityState state, bool async) => TrackAndSaveTest(state, async, CreatePubWithRecordArrayCollections); - [ConditionalTheory(Skip = "Issue #36483"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #36483"), InlineData(false), InlineData(true)] public virtual void Can_mark_complex_record_array_collection_properties_modified(bool trackFromQuery) => MarkModifiedTest(trackFromQuery, CreatePubWithRecordArrayCollections); - [ConditionalTheory(Skip = "Issue #36483"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #36483"), InlineData(false), InlineData(true)] public virtual void Can_read_original_values_for_properties_of_complex_record_array_collections(bool trackFromQuery) => ReadOriginalValuesTest(trackFromQuery, CreatePubWithRecordArrayCollections); - [ConditionalTheory(Skip = "Issue #36483"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #36483"), InlineData(false), InlineData(true)] public virtual void Can_write_original_values_for_properties_of_complex_record_array_collections(bool trackFromQuery) => WriteOriginalValuesTest(trackFromQuery, CreatePubWithRecordArrayCollections); - [ConditionalTheory, InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Added, false), InlineData(EntityState.Added, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Deleted, true)] public virtual Task Can_track_entity_with_complex_property_bag_collections(EntityState state, bool async) => TrackAndSaveTest(state, async, CreatePubWithPropertyBagCollections); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_mark_complex_property_bag_collection_properties_modified(bool trackFromQuery) => MarkModifiedTest(trackFromQuery, CreatePubWithPropertyBagCollections); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_read_original_values_for_properties_of_complex_property_bag_collections(bool trackFromQuery) => ReadOriginalValuesTest(trackFromQuery, CreatePubWithPropertyBagCollections); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_write_original_values_for_properties_of_complex_property_bag_collections(bool trackFromQuery) => WriteOriginalValuesTest(trackFromQuery, CreatePubWithPropertyBagCollections); @@ -799,7 +799,7 @@ private void WriteOriginalValuesTest(bool trackFromQuery, Func async ? context.SaveChangesAsync() : Task.FromResult(context.SaveChanges()))).Message); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Throws_only_when_saving_with_null_second_level_complex_property(bool async) { await using var context = CreateContext(); @@ -906,7 +906,7 @@ public virtual async Task Throws_only_when_saving_with_null_second_level_complex => async ? context.SaveChangesAsync() : Task.FromResult(context.SaveChanges()))).Message); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual Task Can_save_null_second_level_complex_property_with_required_properties(bool async) => ExecuteWithStrategyInTransactionAsync(async context => { @@ -933,7 +933,7 @@ public virtual Task Can_save_null_second_level_complex_property_with_required_pr //Assert.Null(actualYogurt.Milk.Manufacturer.Tag); }); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual Task Can_save_null_third_level_complex_property_with_all_optional_properties(bool async) => ExecuteWithStrategyInTransactionAsync(async context => { @@ -958,7 +958,7 @@ public virtual Task Can_save_null_third_level_complex_property_with_all_optional //Assert.Null(actualYogurt.Milk.License); }); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Detect_changes_in_complex_struct_type_properties(bool trackFromQuery) { using var context = CreateContext(); @@ -1047,7 +1047,7 @@ public virtual void Detect_changes_in_complex_struct_type_properties(bool trackF } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Detects_changes_in_complex_readonly_struct_type_properties(bool trackFromQuery) { using var context = CreateContext(); @@ -1190,7 +1190,7 @@ public virtual void Detects_changes_in_complex_readonly_struct_type_properties(b } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Detects_changes_in_complex_record_type_properties(bool trackFromQuery) { using var context = CreateContext(); @@ -1276,7 +1276,7 @@ public virtual void Detects_changes_in_complex_record_type_properties(bool track } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_detect_reordered_elements_in_complex_type_collections(bool trackFromQuery) { using var context = CreateContext(); @@ -1304,7 +1304,7 @@ public virtual void Can_detect_reordered_elements_in_complex_type_collections(bo Assert.True(collectionEntry.IsModified); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_detect_added_elements_in_complex_type_collections(bool trackFromQuery) { using var context = CreateContext(); @@ -1351,7 +1351,7 @@ public virtual void Can_detect_added_elements_in_complex_type_collections(bool t Assert.Equal("New Runners Up", newActivity.Teams[1].Name); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_detect_removed_elements_in_complex_type_collections(bool trackFromQuery) { using var context = CreateContext(); @@ -1377,7 +1377,7 @@ public virtual void Can_detect_removed_elements_in_complex_type_collections(bool Assert.True(collectionEntry.IsModified); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_detect_replaced_elements_in_complex_type_collections(bool trackFromQuery) { using var context = CreateContext(); @@ -1428,7 +1428,7 @@ public virtual void Can_detect_replaced_elements_in_complex_type_collections(boo Assert.Equal("Replaced Runners Up", runnersUpEntry.Property(nameof(Team.Name)).CurrentValue); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_detect_duplicates_in_complex_type_collections(bool trackFromQuery) { using var context = CreateContext(); @@ -1459,35 +1459,35 @@ public virtual void Can_detect_duplicates_in_complex_type_collections(bool track Assert.Equal(EntityState.Added, activitiesEntry[2].State); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_remove_from_complex_collection_with_nested_complex_collection(bool trackFromQuery) => RemoveFromComplexCollectionWithNestedCollectionTest(trackFromQuery, CreatePubWithCollections); - [ConditionalTheory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] public virtual void Can_remove_from_complex_struct_collection_with_nested_complex_collection(bool trackFromQuery) => RemoveFromComplexCollectionWithNestedCollectionTest(trackFromQuery, CreatePubWithStructCollections); - [ConditionalTheory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] public virtual void Can_remove_from_complex_readonly_struct_collection_with_nested_complex_collection(bool trackFromQuery) => RemoveFromComplexCollectionWithNestedCollectionTest(trackFromQuery, CreatePubWithReadonlyStructCollections); - [ConditionalTheory(Skip = "Issue #36483"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #36483"), InlineData(false), InlineData(true)] public virtual void Can_remove_from_complex_record_collection_with_nested_complex_collection(bool trackFromQuery) => RemoveFromComplexCollectionWithNestedCollectionTest(trackFromQuery, CreatePubWithRecordCollections); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_remove_from_complex_field_collection_with_nested_complex_collection(bool trackFromQuery) => RemoveFromComplexCollectionWithNestedCollectionTest(trackFromQuery, CreateFieldCollectionPub); - [ConditionalTheory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] public virtual void Can_remove_from_complex_struct_field_collection_with_nested_complex_collection(bool trackFromQuery) => RemoveFromComplexCollectionWithNestedCollectionTest(trackFromQuery, CreateFieldCollectionPubWithStructs); - [ConditionalTheory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] public virtual void Can_remove_from_complex_readonly_struct_field_collection_with_nested_complex_collection(bool trackFromQuery) => RemoveFromComplexCollectionWithNestedCollectionTest(trackFromQuery, CreateFieldCollectionPubWithReadonlyStructs); - [ConditionalTheory(Skip = "Issue #36483"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #36483"), InlineData(false), InlineData(true)] public virtual void Can_remove_from_complex_record_field_collection_with_nested_complex_collection(bool trackFromQuery) => RemoveFromComplexCollectionWithNestedCollectionTest(trackFromQuery, CreateFieldCollectionPubWithRecords); @@ -1526,7 +1526,7 @@ private void RemoveFromComplexCollectionWithNestedCollectionTest(bool t Assert.Equal([0], internalEntry.GetComplexCollectionEntries(collectionEntry.Metadata).Select(e => e?.OriginalOrdinal)); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_handle_null_elements_in_complex_type_collections(bool trackFromQuery) { using var context = CreateContext(); @@ -1601,7 +1601,7 @@ public virtual void Can_handle_null_elements_in_complex_type_collections(bool tr Assert.Throws(() => nullCoverChargeEntry.CurrentValue = 3.0m).Message); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_detect_swapped_complex_objects_in_collections(bool trackFromQuery) { using var context = CreateContext(); @@ -1648,7 +1648,7 @@ public virtual void Can_detect_swapped_complex_objects_in_collections(bool track Assert.Equal([1, 1], team2Entry.GetInfrastructure().GetOrdinals()); } - [ConditionalTheory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] public virtual void Can_detect_changes_to_struct_collection_elements(bool trackFromQuery) { using var context = CreateContext(); @@ -1677,7 +1677,7 @@ public virtual void Can_detect_changes_to_struct_collection_elements(bool trackF Assert.Equal(12.5m, pub.Activities[0].CoverCharge); } - [ConditionalTheory(Skip = "Issue #31621"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #31621"), InlineData(false), InlineData(true)] public virtual void Can_detect_changes_to_readonly_struct_collection_elements(bool trackFromQuery) { using var context = CreateContext(); @@ -1721,7 +1721,7 @@ public virtual void Can_detect_changes_to_readonly_struct_collection_elements(bo Assert.Equal(new[] { "X", "Y", "Z" }, pub.Activities[0].Teams[1].Members); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_handle_collection_with_mixed_null_and_duplicate_elements(bool trackFromQuery) { using var context = CreateContext(); @@ -1768,7 +1768,7 @@ public virtual void Can_handle_collection_with_mixed_null_and_duplicate_elements Assert.Null(duplicate.Teams); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_detect_changes_to_record_collection_elements(bool trackFromQuery) { using var context = CreateContext(); @@ -1796,7 +1796,7 @@ public virtual void Can_detect_changes_to_record_collection_elements(bool trackF Assert.Equal(20.0m, activityEntry.Property("CoverCharge").CurrentValue); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_detect_nested_collection_changes_in_complex_type_collections(bool trackFromQuery) { using var context = CreateContext(); @@ -1828,7 +1828,7 @@ public virtual void Can_detect_nested_collection_changes_in_complex_type_collect Assert.Equal("New Team", teamEntry.Property("Name").CurrentValue); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_detect_changes_to_nested_teams_members_in_complex_type_collections(bool trackFromQuery) { using var context = CreateContext(); @@ -1855,7 +1855,7 @@ public virtual void Can_detect_changes_to_nested_teams_members_in_complex_type_c Assert.Contains("New Member", pub.Activities[0].Teams[0].Members); } - [ConditionalTheory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #31411"), InlineData(false), InlineData(true)] public virtual void Can_detect_changes_to_nested_struct_teams_in_complex_type_collections(bool trackFromQuery) { using var context = CreateContext(); @@ -1886,7 +1886,7 @@ public virtual void Can_detect_changes_to_nested_struct_teams_in_complex_type_co Assert.Contains("Additional Member", pub.Activities[0].Teams[0].Members); } - [ConditionalTheory(Skip = "Issue #31621"), InlineData(false), InlineData(true)] + [Theory(Skip = "Issue #31621"), InlineData(false), InlineData(true)] public virtual void Can_detect_changes_to_nested_readonly_struct_teams_in_complex_type_collections(bool trackFromQuery) { using var context = CreateContext(); @@ -1925,7 +1925,7 @@ public virtual void Can_detect_changes_to_nested_readonly_struct_teams_in_comple Assert.Contains("Additional Member", pub.Activities[0].Teams[0].Members); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_detect_changes_to_record_teams_in_complex_type_collections(bool trackFromQuery) { using var context = CreateContext(); @@ -1955,7 +1955,7 @@ public virtual void Can_detect_changes_to_record_teams_in_complex_type_collectio Assert.Contains("Additional Member", pub.Activities[0].Teams[0].Members); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Can_handle_empty_nested_teams_in_complex_type_collections(bool trackFromQuery) { using var context = CreateContext(); @@ -1995,7 +1995,7 @@ public virtual void Can_handle_empty_nested_teams_in_complex_type_collections(bo Assert.Empty(emptyTeamsActivity.Teams); } - [ConditionalFact] + [Fact] public virtual void Throws_when_accessing_complex_entries_using_incorrect_cardinality() { using var context = CreateContext(); @@ -4546,7 +4546,7 @@ protected static FieldPubWithReadonlyStructCollections CreateFieldCollectionPubW FeaturedTeam = new TeamReadonlyStruct("Not In This Lifetime", ["Slash", "Axl"]) }; - [ConditionalTheory] + [Theory] [InlineData(false)] [InlineData(true)] public virtual async Task Can_save_default_values_in_optional_complex_property_with_multiple_properties(bool async) @@ -4603,7 +4603,7 @@ await ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalTheory] + [Theory] [InlineData(false)] [InlineData(true)] public virtual async Task Can_null_complex_property_with_default_values_and_multiple_properties(bool async) diff --git a/test/EFCore.Specification.Tests/ComplianceTestBase.cs b/test/EFCore.Specification.Tests/ComplianceTestBase.cs index 8fa60418ab7..f5a2662b12c 100644 --- a/test/EFCore.Specification.Tests/ComplianceTestBase.cs +++ b/test/EFCore.Specification.Tests/ComplianceTestBase.cs @@ -12,7 +12,7 @@ public abstract class ComplianceTestBase protected abstract Assembly TargetAssembly { get; } protected virtual ICollection IgnoredTestBases { get; } = new List(); - [ConditionalFact] + [Fact] public virtual void All_test_bases_must_be_implemented() { var concreteTests = TargetAssembly.GetTypes().Where(c => c.BaseType != typeof(object) diff --git a/test/EFCore.Specification.Tests/CompositeKeyEndToEndTestBase.cs b/test/EFCore.Specification.Tests/CompositeKeyEndToEndTestBase.cs index f6351cc3e9d..1dd8251f752 100644 --- a/test/EFCore.Specification.Tests/CompositeKeyEndToEndTestBase.cs +++ b/test/EFCore.Specification.Tests/CompositeKeyEndToEndTestBase.cs @@ -13,7 +13,7 @@ public abstract class CompositeKeyEndToEndTestBase(TFixture fixture) : { private TFixture Fixture { get; } = fixture; - [ConditionalFact] + [Fact] public virtual async Task Can_use_two_non_generated_integers_as_composite_key_end_to_end() { var ticks = DateTime.UtcNow.Ticks; @@ -60,7 +60,7 @@ public virtual async Task Can_use_two_non_generated_integers_as_composite_key_en } } - [ConditionalFact] + [Fact] public virtual async Task Can_use_generated_values_in_composite_key_end_to_end() { long id1; @@ -114,7 +114,7 @@ public virtual async Task Can_use_generated_values_in_composite_key_end_to_end() } } - [ConditionalFact] + [Fact] public virtual async Task Only_one_part_of_a_composite_key_needs_to_vary_for_uniqueness() { var ids = new int[3]; diff --git a/test/EFCore.Specification.Tests/ConcurrencyDetectorDisabledTestBase.cs b/test/EFCore.Specification.Tests/ConcurrencyDetectorDisabledTestBase.cs index 25d5940dd01..0a5a74e7a10 100644 --- a/test/EFCore.Specification.Tests/ConcurrencyDetectorDisabledTestBase.cs +++ b/test/EFCore.Specification.Tests/ConcurrencyDetectorDisabledTestBase.cs @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract class ConcurrencyDetectorDisabledTestBase(TFixture fixture) : ConcurrencyDetectorTestBase(fixture) where TFixture : ConcurrencyDetectorTestBase.ConcurrencyDetectorFixtureBase, new() { - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SaveChanges(bool async) { await ConcurrencyDetectorTest(async c => diff --git a/test/EFCore.Specification.Tests/ConcurrencyDetectorEnabledTestBase.cs b/test/EFCore.Specification.Tests/ConcurrencyDetectorEnabledTestBase.cs index 28854f3a26a..43a6261a55b 100644 --- a/test/EFCore.Specification.Tests/ConcurrencyDetectorEnabledTestBase.cs +++ b/test/EFCore.Specification.Tests/ConcurrencyDetectorEnabledTestBase.cs @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract class ConcurrencyDetectorEnabledTestBase(TFixture fixture) : ConcurrencyDetectorTestBase(fixture) where TFixture : ConcurrencyDetectorTestBase.ConcurrencyDetectorFixtureBase, new() { - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SaveChanges(bool async) { await ConcurrencyDetectorTest(async c => diff --git a/test/EFCore.Specification.Tests/ConcurrencyDetectorTestBase.cs b/test/EFCore.Specification.Tests/ConcurrencyDetectorTestBase.cs index d0bd8ad7d13..404bdac09ee 100644 --- a/test/EFCore.Specification.Tests/ConcurrencyDetectorTestBase.cs +++ b/test/EFCore.Specification.Tests/ConcurrencyDetectorTestBase.cs @@ -16,39 +16,39 @@ public abstract class ConcurrencyDetectorTestBase(TFixture fixture) : { protected TFixture Fixture { get; } = fixture; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Find(bool async) => ConcurrencyDetectorTest(async c => async ? await c.Products.FindAsync(1) : c.Products.Find(1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Count(bool async) => ConcurrencyDetectorTest(async c => async ? await c.Products.CountAsync() : c.Products.Count()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task First(bool async) => ConcurrencyDetectorTest(async c => async ? await c.Products.OrderBy(p => p.Id).FirstAsync() : c.Products.OrderBy(p => p.Id).First()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Last(bool async) => ConcurrencyDetectorTest(async c => async ? await c.Products.OrderBy(p => p.Id).LastAsync() : c.Products.OrderBy(p => p.Id).Last()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Single(bool async) => ConcurrencyDetectorTest(async c => async ? await c.Products.SingleAsync(p => p.Id == 1) : c.Products.Single(p => p.Id == 1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Any(bool async) => ConcurrencyDetectorTest(async c => async ? await c.Products.AnyAsync(p => p.Id < 10) : c.Products.Any(p => p.Id < 10)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ToList(bool async) => ConcurrencyDetectorTest(async c => async ? await c.Products.ToListAsync() : c.Products.ToList()); diff --git a/test/EFCore.Specification.Tests/ConferencePlannerTestBase.cs b/test/EFCore.Specification.Tests/ConferencePlannerTestBase.cs index 971788d058e..b86015de5cc 100644 --- a/test/EFCore.Specification.Tests/ConferencePlannerTestBase.cs +++ b/test/EFCore.Specification.Tests/ConferencePlannerTestBase.cs @@ -22,7 +22,7 @@ protected ConferencePlannerTestBase(TFixture fixture) fixture.ListLoggerFactory.Clear(); } - [ConditionalFact] + [Fact] public virtual async Task AttendeesController_Get() => await ExecuteWithStrategyInTransactionAsync(async context => { @@ -41,7 +41,7 @@ public virtual async Task AttendeesController_Get() Assert.All(sessions, s => Assert.NotEmpty(s.Title)); }); - [ConditionalFact] + [Fact] public virtual async Task AttendeesController_GetSessions() => await ExecuteWithStrategyInTransactionAsync(async context => { @@ -55,7 +55,7 @@ public virtual async Task AttendeesController_GetSessions() Assert.All(sessions, s => Assert.NotNull(s.Track)); }); - [ConditionalFact] + [Fact] public virtual async Task AttendeesController_Post_with_new_attendee() => await ExecuteWithStrategyInTransactionAsync(async context => { @@ -78,7 +78,7 @@ public virtual async Task AttendeesController_Post_with_new_attendee() Assert.Null(result.Sessions); }); - [ConditionalFact] + [Fact] public virtual async Task AttendeesController_Post_with_existing_attendee() => await ExecuteWithStrategyInTransactionAsync(async context => { @@ -96,7 +96,7 @@ public virtual async Task AttendeesController_Post_with_existing_attendee() Assert.Null(result); }); - [ConditionalFact] + [Fact] public virtual async Task AttendeesController_AddSession() => await ExecuteWithStrategyInTransactionAsync(async context => { @@ -138,7 +138,7 @@ public virtual async Task AttendeesController_AddSession() .ToList()); }); - [ConditionalFact] + [Fact] public virtual async Task AttendeesController_AddSession_bad_session() => await ExecuteWithStrategyInTransactionAsync(async context => { @@ -149,7 +149,7 @@ public virtual async Task AttendeesController_AddSession_bad_session() Assert.Equal("No session", result); }); - [ConditionalFact] + [Fact] public virtual async Task AttendeesController_AddSession_bad_attendee() => await ExecuteWithStrategyInTransactionAsync(async context => { @@ -162,7 +162,7 @@ public virtual async Task AttendeesController_AddSession_bad_attendee() Assert.Equal("No attendee", result); }); - [ConditionalFact] + [Fact] public virtual async Task AttendeesController_RemoveSession() => await ExecuteWithStrategyInTransactionAsync(async context => { @@ -194,7 +194,7 @@ public virtual async Task AttendeesController_RemoveSession() Assert.All(afterRemove, s => Assert.Contains(s, beforeRemove)); }); - [ConditionalFact] + [Fact] public virtual async Task AttendeesController_RemoveSession_bad_session() => await ExecuteWithStrategyInTransactionAsync(async context => { @@ -205,7 +205,7 @@ public virtual async Task AttendeesController_RemoveSession_bad_session() Assert.Equal("No session", result); }); - [ConditionalFact] + [Fact] public virtual async Task AttendeesController_RemoveSession_bad_attendee() => await ExecuteWithStrategyInTransactionAsync(async context => { @@ -320,7 +320,7 @@ public async Task RemoveSession(string username, int sessionId) } } - [ConditionalTheory, InlineData("ran", 5, 1), InlineData("Scott", 1, 0), InlineData("C#", 3, 3)] + [Theory, InlineData("ran", 5, 1), InlineData("Scott", 1, 0), InlineData("C#", 3, 3)] public virtual async Task SearchController_Search( string searchTerm, int totalCount, @@ -382,7 +382,7 @@ public async Task> Search(SearchTerm term) } } - [ConditionalFact] + [Fact] public virtual async Task SessionsController_Get() => await ExecuteWithStrategyInTransactionAsync(async context => { @@ -397,7 +397,7 @@ public virtual async Task SessionsController_Get() Assert.All(results, s => Assert.NotNull(s.Track)); }); - [ConditionalFact] + [Fact] public virtual async Task SessionsController_Get_with_ID() => await ExecuteWithStrategyInTransactionAsync(async context => { @@ -412,7 +412,7 @@ public virtual async Task SessionsController_Get_with_ID() Assert.NotNull(result.Track); }); - [ConditionalFact] + [Fact] public virtual async Task SessionsController_Get_with_bad_ID() => await ExecuteWithStrategyInTransactionAsync(async context => { @@ -423,7 +423,7 @@ public virtual async Task SessionsController_Get_with_bad_ID() Assert.Null(result); }); - [ConditionalFact] + [Fact] public virtual async Task SessionsController_Post() => await ExecuteWithStrategyInTransactionAsync(async context => { @@ -449,7 +449,7 @@ public virtual async Task SessionsController_Post() Assert.Equal(track.Id, result.Track.Id); }); - [ConditionalFact] + [Fact] public virtual async Task SessionsController_Put() => await ExecuteWithStrategyInTransactionAsync(async context => { @@ -477,7 +477,7 @@ public virtual async Task SessionsController_Put() Assert.StartsWith("F# and Rust: combining ", updatedSession.Title); }); - [ConditionalFact] + [Fact] public virtual async Task SessionsController_Put_with_bad_ID() => await ExecuteWithStrategyInTransactionAsync(async context => { @@ -488,7 +488,7 @@ public virtual async Task SessionsController_Put_with_bad_ID() Assert.Equal("Not found", result); }); - [ConditionalFact] + [Fact] public virtual async Task SessionsController_Delete() => await ExecuteWithStrategyInTransactionAsync(async context => { @@ -505,7 +505,7 @@ public virtual async Task SessionsController_Delete() Assert.Null(context.Sessions.AsNoTracking().SingleOrDefault(e => e.Id == session.Id)); }); - [ConditionalFact] + [Fact] public virtual async Task SessionsController_Delete_with_bad_ID() => await ExecuteWithStrategyInTransactionAsync(async context => { @@ -593,7 +593,7 @@ public async Task Delete(int id) } } - [ConditionalFact] + [Fact] public virtual async Task SpeakersController_GetSpeakers() => await ExecuteWithStrategyInTransactionAsync(async context => { @@ -607,7 +607,7 @@ public virtual async Task SpeakersController_GetSpeakers() Assert.All(results, s => Assert.NotEmpty(s.Sessions)); }); - [ConditionalFact] + [Fact] public virtual async Task SpeakersController_GetSpeaker_with_ID() => await ExecuteWithStrategyInTransactionAsync(async context => { @@ -621,7 +621,7 @@ public virtual async Task SpeakersController_GetSpeaker_with_ID() Assert.NotEmpty(result.Sessions); }); - [ConditionalFact] + [Fact] public virtual async Task SpeakersController_GetSpeaker_with_bad_ID() => await ExecuteWithStrategyInTransactionAsync(async context => { diff --git a/test/EFCore.Specification.Tests/ConvertToProviderTypesTestBase.cs b/test/EFCore.Specification.Tests/ConvertToProviderTypesTestBase.cs index 4f20723951e..4be036537b9 100644 --- a/test/EFCore.Specification.Tests/ConvertToProviderTypesTestBase.cs +++ b/test/EFCore.Specification.Tests/ConvertToProviderTypesTestBase.cs @@ -6,7 +6,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract class ConvertToProviderTypesTestBase(TFixture fixture) : BuiltInDataTypesTestBase(fixture) where TFixture : BuiltInDataTypesTestBase.BuiltInDataTypesFixtureBase, new() { - [ConditionalFact] + [Fact] public virtual void Equals_method_over_enum_works() { using var context = CreateContext(); @@ -16,7 +16,7 @@ public virtual void Equals_method_over_enum_works() Assert.Empty(query); } - [ConditionalFact] + [Fact] public virtual void Object_equals_method_over_enum_works() { using var context = CreateContext(); diff --git a/test/EFCore.Specification.Tests/CustomConvertersTestBase.cs b/test/EFCore.Specification.Tests/CustomConvertersTestBase.cs index 9a25eae3ffd..fa5cb212bb0 100644 --- a/test/EFCore.Specification.Tests/CustomConvertersTestBase.cs +++ b/test/EFCore.Specification.Tests/CustomConvertersTestBase.cs @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract class CustomConvertersTestBase(TFixture fixture) : BuiltInDataTypesTestBase(fixture) where TFixture : BuiltInDataTypesTestBase.BuiltInDataTypesFixtureBase, new() { - [ConditionalFact] + [Fact] public virtual async Task Can_query_and_update_with_nullable_converter_on_unique_index() { using (var context = CreateContext()) @@ -102,7 +102,7 @@ protected class Person public SocialSecurityNumber? SSN { get; set; } } - [ConditionalFact] + [Fact] public virtual async Task Can_query_and_update_with_nullable_converter_on_primary_key() { using (var context = CreateContext()) @@ -154,7 +154,7 @@ protected class NonNullableDependent public NullablePrincipal Principal { get; set; } } - [ConditionalFact] + [Fact] public virtual async Task Can_query_and_update_with_conversion_for_custom_type() { Guid id; @@ -206,7 +206,7 @@ public static implicit operator string(Email email) => email._value; } - [ConditionalFact] + [Fact] public virtual async Task Can_query_and_update_with_conversion_for_custom_struct() { using (var context = CreateContext()) @@ -238,7 +238,7 @@ protected struct Fuel(double volume) public double Volume { get; } = volume; } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_case_insensitive_string_key() { using (var context = CreateContext()) @@ -279,7 +279,7 @@ public virtual async Task Can_insert_and_read_back_with_case_insensitive_string_ } } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_string_list() { using (var context = CreateContext()) @@ -305,7 +305,7 @@ protected class StringListDataType public IList Strings { get; set; } } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_query_struct_to_string_converter_for_pk() { using (var context = CreateContext()) @@ -352,7 +352,7 @@ public static explicit operator string(OrderId orderId) => orderId.StringValue; } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Can_query_custom_type_not_mapped_by_default_equality(bool async) { using (var context = CreateContext()) @@ -383,7 +383,7 @@ public class SimpleCounter public IDictionary Discriminator { get; set; } = new Dictionary(); } - [ConditionalFact] + [Fact] public virtual async Task Field_on_derived_type_retrieved_via_cast_applies_value_converter() { using var context = CreateContext(); @@ -400,7 +400,7 @@ public virtual async Task Field_on_derived_type_retrieved_via_cast_applies_value Assert.Equal("http://rssblog.com/rss", result.RssUrl); } - [ConditionalFact] + [Fact] public virtual async Task Value_conversion_is_appropriately_used_for_join_condition() { using var context = CreateContext(); @@ -426,7 +426,7 @@ where b.IsVisible Assert.Equal("http://blog.com", result); } - [ConditionalFact] + [Fact] public virtual async Task Value_conversion_is_appropriately_used_for_left_join_condition() { using var context = CreateContext(); @@ -455,7 +455,7 @@ public virtual async Task Value_conversion_is_appropriately_used_for_left_join_c Assert.Equal("http://blog.com", result); } - [ConditionalFact] + [Fact] public virtual async Task Where_bool_gets_converted_to_equality_when_value_conversion_is_used() { using var context = CreateContext(); @@ -465,7 +465,7 @@ public virtual async Task Where_bool_gets_converted_to_equality_when_value_conve Assert.Equal("http://blog.com", result.Url); } - [ConditionalFact] + [Fact] public virtual async Task Where_negated_bool_gets_converted_to_equality_when_value_conversion_is_used() { using var context = CreateContext(); @@ -475,7 +475,7 @@ public virtual async Task Where_negated_bool_gets_converted_to_equality_when_val Assert.Equal("http://rssblog.com", result.Url); } - [ConditionalFact] + [Fact] public virtual async Task Where_bool_with_value_conversion_inside_comparison_doesnt_get_converted_twice() { using var context = CreateContext(); @@ -489,7 +489,7 @@ public virtual async Task Where_bool_with_value_conversion_inside_comparison_doe Assert.Equal("http://rssblog.com", result2.Url); } - [ConditionalFact] + [Fact] public virtual async Task Select_bool_with_value_conversion_is_used() { using var context = CreateContext(); @@ -500,7 +500,7 @@ public virtual async Task Select_bool_with_value_conversion_is_used() Assert.Contains(false, result); } - [ConditionalFact] + [Fact] public virtual async Task Where_conditional_bool_with_value_conversion_is_used() { using var context = CreateContext(); @@ -510,7 +510,7 @@ public virtual async Task Where_conditional_bool_with_value_conversion_is_used() Assert.Equal("http://blog.com", result.Url); } - [ConditionalFact] + [Fact] public virtual async Task Select_conditional_bool_with_value_conversion_is_used() { using var context = CreateContext(); @@ -521,7 +521,7 @@ public virtual async Task Select_conditional_bool_with_value_conversion_is_used( Assert.Contains("Bar", result); } - [ConditionalFact] + [Fact] public virtual async Task Where_bool_gets_converted_to_equality_when_value_conversion_is_used_using_EFProperty() { using var context = CreateContext(); @@ -531,7 +531,7 @@ public virtual async Task Where_bool_gets_converted_to_equality_when_value_conve Assert.Equal("http://blog.com", result.Url); } - [ConditionalFact] + [Fact] public virtual async Task Where_bool_gets_converted_to_equality_when_value_conversion_is_used_using_indexer() { using var context = CreateContext(); @@ -541,7 +541,7 @@ public virtual async Task Where_bool_gets_converted_to_equality_when_value_conve Assert.Equal("http://blog.com", result.Url); } - [ConditionalFact] + [Fact] public virtual void Value_conversion_with_property_named_value() { using var context = CreateContext(); @@ -549,7 +549,7 @@ public virtual void Value_conversion_with_property_named_value() => context.Set().SingleOrDefault(e => e.Wrapper.Value == "foo")); } - [ConditionalFact] + [Fact] public virtual void Value_conversion_on_enum_collection_contains() { using var context = CreateContext(); @@ -630,7 +630,7 @@ protected class ValueWrapper public string Value { get; set; } } - [ConditionalFact] + [Fact] public virtual void Collection_property_as_scalar_Any() { using var context = CreateContext(); @@ -640,7 +640,7 @@ public virtual void Collection_property_as_scalar_Any() .Message.Replace("\r", "").Replace("\n", "")); } - [ConditionalFact] + [Fact] public virtual void Collection_property_as_scalar_Count_member() { using var context = CreateContext(); @@ -657,7 +657,7 @@ protected class CollectionScalar public List Tags { get; set; } } - [ConditionalFact] + [Fact] public virtual void Collection_enum_as_string_Contains() { using var context = CreateContext(); @@ -683,7 +683,7 @@ protected enum Roles public override Task Object_to_string_conversion() => Task.CompletedTask; - [ConditionalFact] + [Fact] public virtual void Optional_owned_with_converter_reading_non_nullable_column() { using var context = CreateContext(); @@ -704,7 +704,7 @@ protected class OwnedWithConverter public int Value { get; set; } } - [ConditionalFact] + [Fact] public virtual async Task Id_object_as_entity_key() { using var context = CreateContext(); @@ -731,7 +731,7 @@ public override int GetHashCode() => Id.GetHashCode(); } - [ConditionalFact] + [Fact] public virtual void Composition_over_collection_of_complex_mapped_as_scalar() { using var context = CreateContext(); @@ -772,7 +772,7 @@ public enum HoldingEnum Value2 } - [ConditionalFact] + [Fact] public virtual void GroupBy_converted_enum() { using var context = CreateContext(); @@ -804,7 +804,7 @@ public enum SomeEnum No } - [ConditionalFact] + [Fact] public virtual void Infer_type_mapping_from_in_subquery_to_item() { using var context = CreateContext(); diff --git a/test/EFCore.Specification.Tests/DataAnnotationTestBase.cs b/test/EFCore.Specification.Tests/DataAnnotationTestBase.cs index 002be93858c..0240938b108 100644 --- a/test/EFCore.Specification.Tests/DataAnnotationTestBase.cs +++ b/test/EFCore.Specification.Tests/DataAnnotationTestBase.cs @@ -56,7 +56,7 @@ protected class Person protected class Employee : Person; - [ConditionalFact] + [Fact] public virtual void Explicit_configuration_on_derived_type_overrides_annotation_on_unmapped_base_type() { var modelBuilder = CreateModelBuilder(); @@ -71,7 +71,7 @@ public virtual void Explicit_configuration_on_derived_type_overrides_annotation_ Assert.Equal(10, GetProperty(model, "Name").GetMaxLength()); } - [ConditionalFact] + [Fact] public virtual void Explicit_configuration_on_derived_type_overrides_annotation_on_mapped_base_type() { var modelBuilder = CreateModelBuilder(); @@ -89,7 +89,7 @@ public virtual void Explicit_configuration_on_derived_type_overrides_annotation_ Assert.Equal(10, GetProperty(model, "Name").GetMaxLength()); } - [ConditionalFact] + [Fact] public virtual void Explicit_configuration_on_derived_type_or_base_type_is_last_one_wins() { var modelBuilder = CreateModelBuilder(); @@ -130,7 +130,7 @@ public virtual void Explicit_configuration_on_derived_type_or_base_type_is_last_ protected static IProperty GetProperty(IModel model, string name) => model.FindEntityType(typeof(TEntity)).FindProperty(name); - [ConditionalFact] + [Fact] public virtual void Duplicate_column_order_is_ignored() { var modelBuilder = CreateModelBuilder(); @@ -151,7 +151,7 @@ protected class Entity_10558 public string Name { get; set; } } - [ConditionalFact] + [Fact] public virtual IModel Non_public_annotations_are_enabled() { var modelBuilder = CreateModelBuilder(); @@ -179,7 +179,7 @@ protected class PrivateMemberAnnotationClass private string PersonFirstName { get; set; } } - [ConditionalFact] + [Fact] public virtual IModel Field_annotations_are_enabled() { var modelBuilder = CreateModelBuilder(); @@ -201,7 +201,7 @@ protected class FieldAnnotationClass #pragma warning restore 169 } - [ConditionalFact] + [Fact] public virtual void NotMapped_should_propagate_down_inheritance_hierarchy() { var modelBuilder = CreateModelBuilder(); @@ -221,7 +221,7 @@ protected class NotMappedBase protected class NotMappedDerived : NotMappedBase; - [ConditionalFact] + [Fact] public virtual void NotMapped_on_base_class_property_ignores_it() { var modelBuilder = CreateModelBuilder(); @@ -267,7 +267,7 @@ protected class DifferentUnit1 : BaseEntity1 public new string VirtualBaseClassProperty { get; set; } } - [ConditionalFact] + [Fact] public virtual void NotMapped_on_base_class_property_and_overridden_property_ignores_them() { var modelBuilder = CreateModelBuilder(); @@ -311,7 +311,7 @@ protected class DifferentUnit2 : BaseEntity2 public new string VirtualBaseClassProperty { get; set; } } - [ConditionalFact] + [Fact] public virtual void NotMapped_on_base_class_property_discovered_through_navigation_ignores_it() { var modelBuilder = CreateModelBuilder(); @@ -325,7 +325,7 @@ public virtual void NotMapped_on_base_class_property_discovered_through_navigati Assert.Null(modelBuilder.Model.FindEntityType(typeof(Unit3)).FindProperty("AbstractBaseClassProperty")); } - [ConditionalFact] + [Fact] public virtual void NotMapped_on_overridden_property_is_ignored() { var modelBuilder = CreateModelBuilder(); @@ -338,7 +338,7 @@ public virtual void NotMapped_on_overridden_property_is_ignored() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void NotMapped_on_unmapped_derived_property_ignores_it() { var modelBuilder = CreateModelBuilder(); @@ -382,7 +382,7 @@ protected class DifferentUnit3 : BaseEntity3 public new string VirtualBaseClassProperty { get; set; } } - [ConditionalFact] + [Fact] public virtual void NotMapped_on_abstract_base_class_property_ignores_it() { var modelBuilder = CreateModelBuilder(); @@ -398,7 +398,7 @@ public virtual void NotMapped_on_abstract_base_class_property_ignores_it() Assert.Null(modelBuilder.Model.FindEntityType(typeof(Unit3)).FindProperty("AbstractBaseClassProperty")); } - [ConditionalFact] + [Fact] public virtual void NotMapped_on_unmapped_base_class_property_and_overridden_property_ignores_it() { var modelBuilder = CreateModelBuilder(); @@ -413,7 +413,7 @@ public virtual void NotMapped_on_unmapped_base_class_property_and_overridden_pro Assert.Null(modelBuilder.Model.FindEntityType(typeof(Unit2)).FindProperty("VirtualBaseClassProperty")); } - [ConditionalFact] + [Fact] public virtual void NotMapped_on_unmapped_base_class_property_ignores_it() { var modelBuilder = CreateModelBuilder(); @@ -429,7 +429,7 @@ public virtual void NotMapped_on_unmapped_base_class_property_ignores_it() Assert.Null(modelBuilder.Model.FindEntityType(typeof(Unit1)).FindProperty("VirtualBaseClassProperty")); } - [ConditionalFact] + [Fact] public virtual void NotMapped_on_new_property_with_same_name_as_in_unmapped_base_class_ignores_it() { var modelBuilder = CreateModelBuilder(); @@ -469,7 +469,7 @@ protected class DifferentUnit5 : BaseEntity5 public new string VirtualBaseClassProperty { get; set; } } - [ConditionalFact] + [Fact] public virtual void StringLength_with_value_takes_precedence_over_MaxLength() { var modelBuilder = CreateModelBuilder(); @@ -493,7 +493,7 @@ protected class MaxLengthAnnotationClass public string PersonLastName { get; set; } } - [ConditionalFact] + [Fact] public virtual void MaxLength_with_length_takes_precedence_over_StringLength() { var modelBuilder = CreateModelBuilder(); @@ -517,7 +517,7 @@ protected class MaxLengthWithLengthAnnotationClass public string PersonLastName { get; set; } } - [ConditionalFact] + [Fact] public virtual ModelBuilder Default_length_for_key_string_column() { var modelBuilder = CreateModelBuilder(); @@ -567,7 +567,7 @@ protected class PrincipalB public int Id2 { get; set; } } - [ConditionalFact] + [Fact] public virtual IModel Key_and_column_work_together() { var modelBuilder = CreateModelBuilder(); @@ -587,7 +587,7 @@ protected class ColumnKeyAnnotationClass1 public string PersonFirstName { get; set; } } - [ConditionalFact] + [Fact] public virtual IModel Key_and_MaxLength_64_produce_nvarchar_64() { var modelBuilder = CreateModelBuilder(); @@ -608,7 +608,7 @@ protected class ColumnKeyAnnotationClass2 public string PersonFirstName { get; set; } } - [ConditionalFact] + [Fact] public virtual void Key_from_base_type_is_recognized() { var modelBuilder = CreateModelBuilder(); @@ -622,7 +622,7 @@ public virtual void Key_from_base_type_is_recognized() Assert.True(GetProperty(model, "OrderLineNo").IsPrimaryKey()); } - [ConditionalFact] + [Fact] public virtual void Key_from_base_type_is_recognized_if_base_discovered_first() { var modelBuilder = CreateModelBuilder(); @@ -636,7 +636,7 @@ public virtual void Key_from_base_type_is_recognized_if_base_discovered_first() Assert.True(GetProperty(model, "OrderLineNo").IsPrimaryKey()); } - [ConditionalFact] + [Fact] public virtual void Key_from_base_type_is_recognized_if_discovered_through_relationship() { var modelBuilder = CreateModelBuilder(); @@ -671,7 +671,7 @@ protected class DODerived : OKeyBase public string Special { get; set; } } - [ConditionalFact] + [Fact] public virtual void Key_on_nav_prop_is_ignored() { var modelBuilder = CreateModelBuilder(); @@ -699,7 +699,7 @@ protected class KeyOnNavProp public DASimple SpecialSimple { get; set; } } - [ConditionalFact] + [Fact] public virtual ModelBuilder Key_property_is_not_used_for_FK_when_set_by_annotation() { var modelBuilder = CreateModelBuilder(); @@ -743,7 +743,7 @@ public class Toy public string Name { get; set; } } - [ConditionalFact] + [Fact] public virtual ModelBuilder Key_specified_on_multiple_properties_can_be_overridden() { var modelBuilder = CreateModelBuilder(); @@ -759,7 +759,7 @@ public virtual ModelBuilder Key_specified_on_multiple_properties_can_be_overridd return modelBuilder; } - [ConditionalFact] + [Fact] public virtual void Keyless_and_key_attributes_which_conflict_cause_warning() { var modelBuilder = CreateModelBuilder(); @@ -776,7 +776,7 @@ public virtual void Keyless_and_key_attributes_which_conflict_cause_warning() logEntry.Message); } - [ConditionalFact] + [Fact] public virtual void Keyless_fluent_api_and_key_attribute_do_not_cause_warning() { var modelBuilder = CreateModelBuilder(); @@ -789,7 +789,7 @@ public virtual void Keyless_fluent_api_and_key_attribute_do_not_cause_warning() Assert.Empty(Fixture.ListLoggerFactory.Log); } - [ConditionalFact] + [Fact] public virtual void Key_fluent_api_and_keyless_attribute_do_not_cause_warning() { var modelBuilder = CreateModelBuilder(); @@ -802,7 +802,7 @@ public virtual void Key_fluent_api_and_keyless_attribute_do_not_cause_warning() Assert.Empty(Fixture.ListLoggerFactory.Log); } - [ConditionalFact] + [Fact] public virtual void Fluent_API_relationship_throws_for_Keyless_attribute() { var modelBuilder = CreateModelBuilder(); @@ -829,7 +829,7 @@ private class CompositeKeyAttribute // ReSharper restore UnusedAutoPropertyAccessor.Local } - [ConditionalFact] + [Fact] public virtual IModel DatabaseGeneratedOption_configures_the_property_correctly() { var modelBuilder = CreateModelBuilder(); @@ -865,7 +865,7 @@ public class GeneratedEntity public Guid Version { get; set; } } - [ConditionalFact] + [Fact] public virtual IModel DatabaseGeneratedOption_Identity_does_not_throw_on_noninteger_properties() { var modelBuilder = CreateModelBuilder(); @@ -908,7 +908,7 @@ public class GeneratedEntityNonInteger public Guid Guid { get; set; } } - [ConditionalFact] + [Fact] public virtual IModel Timestamp_takes_precedence_over_MaxLength() { var modelBuilder = CreateModelBuilder(); @@ -932,7 +932,7 @@ protected class TimestampAndMaxlength public byte[] NonMaxTimestamp { get; set; } } - [ConditionalFact] + [Fact] public virtual void Annotation_in_derived_class_when_base_class_processed_after_derived_class() { var modelBuilder = CreateModelBuilder(); @@ -956,7 +956,7 @@ protected class StyledProduct : Product public virtual string Style { get; set; } } - [ConditionalFact] + [Fact] public virtual void Required_and_ForeignKey_to_Required() { var modelBuilder = CreateModelBuilder(); @@ -990,7 +990,7 @@ protected class Profile2 public virtual Login2 User { get; set; } } - [ConditionalFact] + [Fact] public virtual void Required_to_Required_and_ForeignKey() { var modelBuilder = CreateModelBuilder(); @@ -1024,7 +1024,7 @@ protected class Profile3 public virtual Login3 User { get; set; } } - [ConditionalFact] + [Fact] public virtual void Required_and_ForeignKey_to_Required_and_ForeignKey() { var modelBuilder = CreateModelBuilder(); @@ -1043,7 +1043,7 @@ public virtual void Required_and_ForeignKey_to_Required_and_ForeignKey() Assert.False(profileFk.IsRequiredDependent); } - [ConditionalFact] + [Fact] public virtual void Required_and_ForeignKey_to_Required_and_ForeignKey_can_be_overridden() { var modelBuilder = CreateModelBuilder(); @@ -1083,7 +1083,7 @@ protected class Profile4 public virtual Login4 User { get; set; } } - [ConditionalFact] + [Fact] public virtual void Required_and_ForeignKey_to_ForeignKey_can_be_overridden() { var modelBuilder = CreateModelBuilder(); @@ -1102,7 +1102,7 @@ public virtual void Required_and_ForeignKey_to_ForeignKey_can_be_overridden() Assert.False(GetProperty(model, nameof(Profile3.Profile3Id)).IsForeignKey()); } - [ConditionalFact] + [Fact] public virtual void ForeignKey_to_nothing() { var modelBuilder = CreateModelBuilder(); @@ -1133,7 +1133,7 @@ protected class Profile5 public virtual Login5 User { get; set; } } - [ConditionalFact] + [Fact] public virtual void Required_and_ForeignKey_to_nothing() { var modelBuilder = CreateModelBuilder(); @@ -1166,7 +1166,7 @@ protected class Profile6 public virtual Login6 User { get; set; } } - [ConditionalFact] + [Fact] public virtual void Nothing_to_ForeignKey() { var modelBuilder = CreateModelBuilder(); @@ -1197,7 +1197,7 @@ protected class Profile7 public virtual Login7 User { get; set; } } - [ConditionalFact] + [Fact] public virtual void Nothing_to_Required_and_ForeignKey() { var modelBuilder = CreateModelBuilder(); @@ -1230,7 +1230,7 @@ protected class Profile8 public virtual Login8 User { get; set; } } - [ConditionalFact] + [Fact] public virtual void ForeignKey_to_ForeignKey() { var modelBuilder = CreateModelBuilder(); @@ -1270,7 +1270,7 @@ protected class Profile9 public virtual Login9 User { get; set; } } - [ConditionalFact] + [Fact] public virtual void ForeignKey_to_ForeignKey_same_name() { var modelBuilder = CreateModelBuilder(); @@ -1303,7 +1303,7 @@ public class Profile10 public Login10 User { get; set; } } - [ConditionalFact] + [Fact] public virtual void ForeignKey_to_ForeignKey_same_name_one_shadow() { var modelBuilder = CreateModelBuilder(); @@ -1332,7 +1332,7 @@ protected class Profile11 public virtual Login11 User { get; set; } } - [ConditionalFact] + [Fact] public virtual void Required_to_Nothing() { var modelBuilder = CreateModelBuilder(); @@ -1349,7 +1349,7 @@ public virtual void Required_to_Nothing() Assert.False(fk.IsRequiredDependent); } - [ConditionalFact] + [Fact] public virtual void Required_to_Nothing_inverted() { var modelBuilder = CreateModelBuilder(); @@ -1384,7 +1384,7 @@ protected class Profile13 public string Email { get; set; } } - [ConditionalFact] + [Fact] public virtual void Shared_ForeignKey_to_different_principals() { var modelBuilder = CreateModelBuilder(); @@ -1424,7 +1424,7 @@ public class ProfileDetails12 public int Id { get; set; } } - [ConditionalFact] + [Fact] public virtual void Inverse_and_self_ref_ForeignKey() { var modelBuilder = CreateModelBuilder(); @@ -1464,7 +1464,7 @@ protected class MenuPage public virtual MenuGroup FkGroupNavigation { get; set; } } - [ConditionalFact] + [Fact] public virtual void Multiple_self_ref_ForeignKeys_on_navigations() { var modelBuilder = CreateModelBuilder(); @@ -1490,7 +1490,7 @@ protected class Login14 public virtual Login14 Login2 { get; set; } } - [ConditionalFact] + [Fact] public virtual void Multiple_self_ref_ForeignKeys_on_properties() { var modelBuilder = CreateModelBuilder(); @@ -1518,7 +1518,7 @@ protected class Profile14 public virtual Profile14 Profile2 { get; set; } } - [ConditionalFact] + [Fact] public virtual void Multiple_self_ref_ForeignKey_and_Inverse() { var modelBuilder = CreateModelBuilder(); @@ -1558,7 +1558,7 @@ protected class Profile15 public virtual Profile15 Profile4 { get; set; } } - [ConditionalFact] + [Fact] public virtual void ForeignKeyAttribute_configures_relationships_when_inverse_on_derived() { var modelBuilder = CreateModelBuilder(); @@ -1618,7 +1618,7 @@ private class MultipleAnswersRepeating : Answer public virtual ICollection Answers { get; set; } } - [ConditionalFact] + [Fact] public virtual void ForeignKeyAttribute_configures_two_self_referencing_relationships() { var modelBuilder = CreateModelBuilder(); @@ -1668,7 +1668,7 @@ private class Comment public virtual Comment ReplyComment { get; set; } } - [ConditionalFact] + [Fact] public virtual IModel TableNameAttribute_affects_table_name_in_TPH() { var modelBuilder = CreateModelBuilder(); @@ -1693,7 +1693,7 @@ protected class TNAttrDerived : TNAttrBase public string DerivedData { get; set; } } - [ConditionalFact] + [Fact] public virtual Task ConcurrencyCheckAttribute_throws_if_value_in_database_changed() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -1712,7 +1712,7 @@ public virtual Task ConcurrencyCheckAttribute_throws_if_value_in_database_change await Assert.ThrowsAsync(() => context.SaveChangesAsync()); }); - [ConditionalFact] + [Fact] public virtual Task DatabaseGeneratedAttribute_autogenerates_values_when_set_to_identity() => ExecuteWithStrategyInTransactionAsync(context => { @@ -1728,7 +1728,7 @@ public virtual Task DatabaseGeneratedAttribute_autogenerates_values_when_set_to_ return context.SaveChangesAsync(); }); - [ConditionalFact] + [Fact] public virtual async Task MaxLengthAttribute_throws_while_inserting_value_longer_than_max_length() { await ExecuteWithStrategyInTransactionAsync(context => @@ -1764,7 +1764,7 @@ await ExecuteWithStrategyInTransactionAsync(async context => }); } - [ConditionalFact] + [Fact] public virtual void NotMappedAttribute_ignores_entityType() { var modelBuilder = CreateModelBuilder(); @@ -1773,7 +1773,7 @@ public virtual void NotMappedAttribute_ignores_entityType() Assert.Null(modelBuilder.Model.FindEntityType(typeof(C))); } - [ConditionalFact] + [Fact] public virtual void NotMappedAttribute_ignores_navigation() { var modelBuilder = CreateModelBuilder(); @@ -1782,7 +1782,7 @@ public virtual void NotMappedAttribute_ignores_navigation() Assert.Null(modelBuilder.Model.FindEntityType(typeof(UselessBookDetails))); } - [ConditionalFact] + [Fact] public virtual void NotMappedAttribute_ignores_property() { var modelBuilder = CreateModelBuilder(); @@ -1791,7 +1791,7 @@ public virtual void NotMappedAttribute_ignores_property() Assert.Null(modelBuilder.Model.FindEntityType(typeof(One)).FindProperty("IgnoredProperty")); } - [ConditionalFact] + [Fact] public virtual void NotMappedAttribute_ignores_explicit_interface_implementation_property() { var modelBuilder = CreateModelBuilder(); @@ -1811,7 +1811,7 @@ protected class EntityAnnotationBase : IEntityBase int IEntityBase.Target { get; set; } } - [ConditionalFact] + [Fact] public virtual void NotMappedAttribute_removes_ambiguity_in_relationship_building() { var modelBuilder = CreateModelBuilder(); @@ -1823,7 +1823,7 @@ public virtual void NotMappedAttribute_removes_ambiguity_in_relationship_buildin Assert.DoesNotContain("Book", model.FindEntityType(typeof(BookDetails)).GetNavigations().Select(nav => nav.Name)); } - [ConditionalFact] + [Fact] public virtual void NotMappedAttribute_removes_ambiguity_in_relationship_building_with_base() { var modelBuilder = CreateModelBuilder(); @@ -1846,7 +1846,7 @@ public virtual void NotMappedAttribute_removes_ambiguity_in_relationship_buildin Assert.DoesNotContain("Book", model.FindEntityType(typeof(BookDetails)).GetNavigations().Select(nav => nav.Name).ToList()); } - [ConditionalFact] + [Fact] public virtual void InversePropertyAttribute_removes_ambiguity() { var modelBuilder = CreateModelBuilder(); @@ -1862,7 +1862,7 @@ public virtual void InversePropertyAttribute_removes_ambiguity() Assert.Null(model.FindEntityType(typeof(Book)).FindNavigation(nameof(Book.AlternateLabel)).Inverse); } - [ConditionalFact] + [Fact] public virtual void InversePropertyAttribute_removes_ambiguity_with_base_type() { var modelBuilder = CreateModelBuilder(); @@ -1885,7 +1885,7 @@ public virtual void InversePropertyAttribute_removes_ambiguity_with_base_type() Assert.Null(model.FindEntityType(typeof(AnotherBookLabel)).FindNavigation(nameof(SpecialBookLabel.Book))); } - [ConditionalFact] + [Fact] public virtual void InversePropertyAttribute_removes_ambiguity_with_base_type_ignored() { var modelBuilder = CreateModelBuilder(); @@ -1901,7 +1901,7 @@ public virtual void InversePropertyAttribute_removes_ambiguity_with_base_type_ig Assert.Null(model.FindEntityType(typeof(Book)).FindNavigation(nameof(Book.AlternateLabel))); } - [ConditionalFact] + [Fact] public virtual void InversePropertyAttribute_from_ignored_base_causes_ambiguity() { var modelBuilder = CreateModelBuilder(); @@ -1916,7 +1916,7 @@ public virtual void InversePropertyAttribute_from_ignored_base_causes_ambiguity( Assert.Empty(model.FindEntityType(typeof(Book)).GetNavigations()); } - [ConditionalFact] + [Fact] public virtual void InversePropertyAttribute_from_ignored_base_can_be_ignored_to_remove_ambiguity() { var modelBuilder = CreateModelBuilder(); @@ -1932,7 +1932,7 @@ public virtual void InversePropertyAttribute_from_ignored_base_can_be_ignored_to Assert.Null(model.FindEntityType(typeof(Book)).FindNavigation(nameof(Book.AlternateLabel))); } - [ConditionalFact] + [Fact] public virtual void InversePropertyAttribute_removes_ambiguity_from_the_ambiguous_end() { var modelBuilder = CreateModelBuilder(); @@ -2026,7 +2026,7 @@ protected class ExtraSpecialBookLabel : SpecialBookLabel protected class AnotherBookLabel : BookLabel; - [ConditionalFact] + [Fact] public virtual void InversePropertyAttribute_removes_ambiguity_when_combined_with_other_attributes() { var modelBuilder = CreateModelBuilder(); @@ -2070,7 +2070,7 @@ public class Relation public virtual User SalesManager { get; set; } } - [ConditionalFact] + [Fact] public virtual void InversePropertyAttribute_removes_ambiguity_with_base_type_bidirectional() { var modelBuilder = CreateModelBuilder(); @@ -2105,7 +2105,7 @@ public class E : P public virtual Q QRefDerived { get; set; } } - [ConditionalFact] + [Fact] public virtual void InversePropertyAttribute_is_noop_in_unambiguous_models() { var modelBuilder = CreateModelBuilder(); @@ -2147,7 +2147,7 @@ protected class SpecialPost7698 : Post7698 public Blog7698 BlogInverseNav { get; set; } } - [ConditionalFact] + [Fact] public virtual void InversePropertyAttribute_pointing_to_same_nav_on_base_causes_ambiguity() { var modelBuilder = CreateModelBuilder(); @@ -2166,7 +2166,7 @@ public virtual void InversePropertyAttribute_pointing_to_same_nav_on_base_causes Assert.Throws(modelBuilder.FinalizeModel).Message); } - [ConditionalFact] + [Fact] public virtual void InversePropertyAttribute_pointing_to_same_nav_on_base_with_one_ignored() { var modelBuilder = CreateModelBuilder(); @@ -2204,7 +2204,7 @@ private class MultipleAnswersRepeatingInverse : AnswerBaseInverse public virtual IEnumerable Answers { get; set; } } - [ConditionalFact] + [Fact] public virtual void InversePropertyAttribute_pointing_to_same_skip_nav_on_base_causes_ambiguity() { var modelBuilder = CreateModelBuilder(); @@ -2247,7 +2247,7 @@ protected class AmbiguousInversePropertyRightDerived : AmbiguousInversePropertyR public List DerivedLefts { get; set; } } - [ConditionalFact] + [Fact] public virtual void ForeignKeyAttribute_creates_two_relationships_if_applied_on_property_on_both_side() { var modelBuilder = CreateModelBuilder(); @@ -2273,7 +2273,7 @@ public virtual void ForeignKeyAttribute_creates_two_relationships_if_applied_on_ logEntry.Message); } - [ConditionalFact] + [Fact] public virtual void ForeignKeyAttribute_creates_two_relationships_if_applied_on_navigations_on_both_sides_and_values_do_not_match() { var modelBuilder = CreateModelBuilder(); @@ -2295,7 +2295,7 @@ public virtual void ForeignKeyAttribute_creates_two_relationships_if_applied_on_ nameof(Post), nameof(Post.Author), nameof(Author), nameof(Author.Post)), logEntry.Message); } - [ConditionalFact] + [Fact] public virtual void ForeignKeyAttribute_creates_two_relationships_if_applied_on_navigation_and_property_on_different_sides_and_values_do_not_match() { @@ -2371,7 +2371,7 @@ protected class AuthorDetails public Author Author { get; set; } } - [ConditionalFact] + [Fact] public virtual void ForeignKeyAttribute_throws_if_applied_on_property_on_both_side_but_navigations_are_connected_by_inverse_property() { @@ -2382,7 +2382,7 @@ public virtual void Assert.Throws(() => modelBuilder.Entity()).Message); } - [ConditionalFact] + [Fact] public virtual void ForeignKeyAttribute_throws_if_applied_on_both_navigations_connected_by_inverse_property_but_values_do_not_match() { @@ -2393,7 +2393,7 @@ public virtual void Assert.Throws(() => modelBuilder.Entity()).Message); } - [ConditionalFact] + [Fact] public virtual void ForeignKeyAttribute_throws_if_applied_on_two_relationships_targetting_the_same_property() { var modelBuilder = CreateModelBuilder(); @@ -2455,7 +2455,7 @@ protected class ConflictingFKAttributes public A As { get; set; } } - [ConditionalFact] + [Fact] public virtual void Attribute_set_shadow_FK_name_is_preserved_with_HasPrincipalKey() { var modelBuilder = CreateModelBuilder(); @@ -2496,7 +2496,7 @@ protected class Profile13694 public User13694 User { get; set; } } - [ConditionalFact] + [Fact] public virtual async Task RequiredAttribute_for_navigation_throws_while_inserting_null_value() { await ExecuteWithStrategyInTransactionAsync(context => @@ -2517,7 +2517,7 @@ await ExecuteWithStrategyInTransactionAsync(async context => }); } - [ConditionalFact] + [Fact] public virtual async Task RequiredAttribute_for_property_throws_while_inserting_null_value() { await ExecuteWithStrategyInTransactionAsync(context => @@ -2551,7 +2551,7 @@ await ExecuteWithStrategyInTransactionAsync(async context => }); } - [ConditionalFact] + [Fact] public virtual async Task StringLengthAttribute_throws_while_inserting_value_longer_than_max_length() { await ExecuteWithStrategyInTransactionAsync(context => @@ -2573,7 +2573,7 @@ await ExecuteWithStrategyInTransactionAsync(async context => }); } - [ConditionalFact] + [Fact] public virtual Task TimestampAttribute_throws_if_value_in_database_changed() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -2590,7 +2590,7 @@ public virtual Task TimestampAttribute_throws_if_value_in_database_changed() await Assert.ThrowsAsync(() => context.SaveChangesAsync()); }); - [ConditionalFact] + [Fact] public virtual void UnicodeAttribute_sets_unicode_for_properties_and_fields() { var modelBuilder = CreateModelBuilder(); @@ -2627,7 +2627,7 @@ protected class UnicodeAnnotationClass public string PersonAddress; } - [ConditionalFact] + [Fact] public virtual void PrecisionAttribute_sets_precision_for_properties_and_fields() { var modelBuilder = CreateModelBuilder(); @@ -2675,7 +2675,7 @@ protected class PrecisionAnnotationClass public DateTimeOffset DateTimeOffsetField; } - [ConditionalFact] + [Fact] public virtual void OwnedEntityTypeAttribute_configures_one_reference_as_owned() { var modelBuilder = CreateModelBuilder(); @@ -2702,7 +2702,7 @@ public class Order public StreetAddress ShippingAddress { get; set; } } - [ConditionalFact] + [Fact] public virtual void OwnedEntityTypeAttribute_configures_all_references_as_owned() { var modelBuilder = CreateModelBuilder(); @@ -2727,7 +2727,7 @@ public virtual void OwnedEntityTypeAttribute_configures_all_references_as_owned( Assert.NotNull(ownership2.DeclaringEntityType.FindProperty(nameof(Details.Name))); } - [ConditionalFact] + [Fact] public virtual void InverseProperty_with_case_sensitive_clr_property() { var modelBuilder = CreateModelBuilder(); @@ -2741,7 +2741,7 @@ public virtual void InverseProperty_with_case_sensitive_clr_property() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void InverseProperty_with_potentially_ambigous_derived_types() { var modelBuilder = CreateModelBuilder(); diff --git a/test/EFCore.Specification.Tests/DataBindingTestBase.cs b/test/EFCore.Specification.Tests/DataBindingTestBase.cs index 8ed3f0e8352..58c15568084 100644 --- a/test/EFCore.Specification.Tests/DataBindingTestBase.cs +++ b/test/EFCore.Specification.Tests/DataBindingTestBase.cs @@ -70,7 +70,7 @@ protected void SetupContext(F1Context context) }); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void DbSet_Local_contains_Unchanged_Modified_and_Added_entities_but_not_Deleted_entities( bool toObservableCollection) { @@ -89,7 +89,7 @@ public virtual void DbSet_Local_contains_Unchanged_Modified_and_Added_entities_b Assert.Equal(TotalCount, local.Count); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Adding_entity_to_context_is_reflected_in_local_view( bool toObservableCollection) { @@ -113,7 +113,7 @@ public virtual void Adding_entity_to_context_is_reflected_in_local_view( Assert.True(local.Contains(larry)); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Attaching_entity_to_context_is_reflected_in_local_view( bool toObservableCollection) { @@ -137,7 +137,7 @@ public virtual void Attaching_entity_to_context_is_reflected_in_local_view( Assert.True(local.Contains(larry)); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Entities_materialized_into_context_are_reflected_in_local_view( bool toObservableCollection) { @@ -154,7 +154,7 @@ public virtual void Entities_materialized_into_context_are_reflected_in_local_vi Assert.Equal(UnchangedCount, local.Count); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Entities_detached_from_context_are_removed_from_local_view( bool toObservableCollection) { @@ -177,7 +177,7 @@ public virtual void Entities_detached_from_context_are_removed_from_local_view( Assert.Equal(TotalCount - UnchangedCount, local.Count); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Entities_deleted_from_context_are_removed_from_local_view( bool toObservableCollection) { @@ -200,7 +200,7 @@ public virtual void Entities_deleted_from_context_are_removed_from_local_view( Assert.Equal(TotalCount - UnchangedCount, local.Count); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Entities_with_state_changed_to_deleted_are_removed_from_local_view( bool toObservableCollection) { @@ -223,7 +223,7 @@ public virtual void Entities_with_state_changed_to_deleted_are_removed_from_loca Assert.Equal(TotalCount - UnchangedCount, local.Count); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] // Issue #35243 public virtual void Remove_detached_entity_from_LocalView(bool toObservableCollection) { @@ -294,7 +294,7 @@ public virtual void Remove_detached_entity_from_LocalView(bool toObservableColle Assert.DoesNotContain(driver3, localView); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Entities_with_state_changed_to_detached_are_removed_from_local_view( bool toObservableCollection) { @@ -335,7 +335,7 @@ public virtual void Entities_with_state_changed_to_detached_are_removed_from_loc } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Entities_with_state_changed_from_deleted_to_added_are_added_to_local_view( bool toObservableCollection) { @@ -358,7 +358,7 @@ public virtual void Entities_with_state_changed_from_deleted_to_added_are_added_ Assert.Equal(TotalCount + DeletedCount, local.Count); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Entities_with_state_changed_from_deleted_to_unchanged_are_added_to_local_view( bool toObservableCollection) { @@ -381,7 +381,7 @@ public virtual void Entities_with_state_changed_from_deleted_to_unchanged_are_ad Assert.Equal(TotalCount + DeletedCount, local.Count); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Entities_added_to_local_view_are_added_to_state_manager( bool toObservableCollection) { @@ -411,7 +411,7 @@ public virtual void Entities_added_to_local_view_are_added_to_state_manager( Assert.Contains(larry, localView); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Entities_and_owned_children_added_to_local_view_are_added_to_state_manager( bool toObservableCollection) { @@ -450,7 +450,7 @@ public virtual void Entities_and_owned_children_added_to_local_view_are_added_to Assert.Contains(teamCosmos, localView); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Entities_removed_from_the_local_view_are_marked_deleted_in_the_state_manager( bool toObservableCollection) { @@ -476,7 +476,7 @@ public virtual void Entities_removed_from_the_local_view_are_marked_deleted_in_t Assert.DoesNotContain(alonso, localView); } - [ConditionalFact] + [Fact] public virtual void Adding_entity_to_local_view_that_is_already_in_the_state_manager_and_not_Deleted_is_noop() { using var context = CreateF1Context(); @@ -495,7 +495,7 @@ public virtual void Adding_entity_to_local_view_that_is_already_in_the_state_man Assert.Contains(alonso, local); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Adding_entity_to_local_view_that_is_Deleted_in_the_state_manager_makes_entity_Added( bool toObservableCollection) { @@ -528,7 +528,7 @@ public virtual void Adding_entity_to_local_view_that_is_Deleted_in_the_state_man } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Adding_entity_to_state_manager_of_different_type_than_local_keyless_type_has_no_effect_on_local_view( bool toObservableCollection) { @@ -548,7 +548,7 @@ public virtual void Adding_entity_to_state_manager_of_different_type_than_local_ Assert.Equal(TotalCount, local.Count); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Adding_entity_to_state_manager_of_subtype_still_shows_up_in_local_view( bool toObservableCollection) { @@ -566,7 +566,7 @@ public virtual void Adding_entity_to_state_manager_of_subtype_still_shows_up_in_ Assert.True(local.Contains(newDriver)); } - [ConditionalFact] + [Fact] public virtual void DbSet_Local_is_cached_on_the_set() { using var context = CreateF1Context(); @@ -575,7 +575,7 @@ public virtual void DbSet_Local_is_cached_on_the_set() Assert.Same(local, context.Drivers.Local); } - [ConditionalFact] + [Fact] public virtual void DbSet_Local_calls_DetectChanges() { using var context = CreateF1Context(); @@ -599,7 +599,7 @@ public virtual void DbSet_Local_calls_DetectChanges() Assert.Equal(EntityState.Modified, context.Entry(alonso).State); } - [ConditionalFact] + [Fact] public virtual void Load_executes_query_on_keyless_entity_type() { using var context = CreateF1Context(); @@ -608,7 +608,7 @@ public virtual void Load_executes_query_on_keyless_entity_type() Assert.Equal(UnchangedCount, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void LocalView_is_initialized_with_entities_from_the_context( bool toObservableCollection) { @@ -643,7 +643,7 @@ public void LocalView_is_initialized_with_entities_from_the_context( context.ChangeTracker.Entries().Select(e => e.Entity), e => Assert.DoesNotContain((object)e, teamsLocal)); } - [ConditionalFact] + [Fact] public virtual void DbSet_Local_ToBindingList_contains_Unchanged_Modified_and_Added_entities_but_not_Deleted_entities() { using var context = CreateF1Context(); @@ -657,7 +657,7 @@ public virtual void DbSet_Local_ToBindingList_contains_Unchanged_Modified_and_Ad Assert.Equal(TotalCount, bindingList.Count); } - [ConditionalFact] + [Fact] public virtual void Adding_entity_to_context_is_reflected_in_local_binding_list() { using var context = CreateF1Context(); @@ -677,7 +677,7 @@ public virtual void Adding_entity_to_context_is_reflected_in_local_binding_list( Assert.Single(bindingList); } - [ConditionalFact] + [Fact] public virtual void Entities_materialized_into_context_are_reflected_in_local_binding_list() { using var context = CreateF1Context(); @@ -690,7 +690,7 @@ public virtual void Entities_materialized_into_context_are_reflected_in_local_bi Assert.Equal(UnchangedCount, bindingList.Count); } - [ConditionalFact] + [Fact] public virtual void Entities_detached_from_context_are_removed_from_local_binding_list() { using var context = CreateF1Context(); @@ -708,7 +708,7 @@ public virtual void Entities_detached_from_context_are_removed_from_local_bindin Assert.Equal(TotalCount - UnchangedCount, bindingList.Count); } - [ConditionalFact] + [Fact] public virtual void Entities_deleted_from_context_are_removed_from_local_binding_list() { using var context = CreateF1Context(); @@ -726,7 +726,7 @@ public virtual void Entities_deleted_from_context_are_removed_from_local_binding Assert.Equal(TotalCount - UnchangedCount, bindingList.Count); } - [ConditionalFact] + [Fact] public virtual void Entities_added_to_local_binding_list_are_added_to_state_manager() { using var context = CreateF1Context(); @@ -756,7 +756,7 @@ public virtual void Entities_added_to_local_binding_list_are_added_to_state_mana Assert.Contains(larry, observable); } - [ConditionalFact] + [Fact] public virtual void Entities_removed_from_the_local_binding_list_are_marked_deleted_in_the_state_manager() { using var context = CreateF1Context(); @@ -781,7 +781,7 @@ public virtual void Entities_removed_from_the_local_binding_list_are_marked_dele Assert.DoesNotContain(alonso, observable); } - [ConditionalFact] + [Fact] public virtual void Adding_entity_to_local_binding_list_that_is_Deleted_in_the_state_manager_makes_entity_Added() { using var context = CreateF1Context(); @@ -813,7 +813,7 @@ public virtual void Adding_entity_to_local_binding_list_that_is_Deleted_in_the_s } } - [ConditionalFact] + [Fact] public virtual void Adding_entity_to_state_manager_of_different_type_than_local_keyless_type_has_no_effect_on_local_binding_list() { using var context = CreateF1Context(); @@ -827,7 +827,7 @@ public virtual void Adding_entity_to_state_manager_of_different_type_than_local_ Assert.Equal(count, bindingList.Count); } - [ConditionalFact] + [Fact] public virtual void Adding_entity_to_state_manager_of_subtype_still_shows_up_in_local_binding_list() { using var context = CreateF1Context(); @@ -840,7 +840,7 @@ public virtual void Adding_entity_to_state_manager_of_subtype_still_shows_up_in_ Assert.Contains(testDriver, bindingList); } - [ConditionalFact] + [Fact] public virtual void Sets_of_subtypes_can_still_be_sorted() { using var context = CreateF1Context(); @@ -863,7 +863,7 @@ public virtual void Sets_of_subtypes_can_still_be_sorted() Assert.Equal(4, bindingList[2].Id); } - [ConditionalFact] + [Fact] public virtual void Sets_containing_instances_of_subtypes_can_still_be_sorted() { using var context = CreateF1Context(); @@ -885,7 +885,7 @@ public virtual void Sets_containing_instances_of_subtypes_can_still_be_sorted() Assert.Equal(4, bindingList[2].Id); } - [ConditionalFact] + [Fact] public virtual void DbSet_Local_ToBindingList_is_cached_on_the_set() { using var context = CreateF1Context(); @@ -894,7 +894,7 @@ public virtual void DbSet_Local_ToBindingList_is_cached_on_the_set() Assert.Same(bindingList, context.Drivers.Local.ToBindingList()); } - [ConditionalFact] + [Fact] public virtual void Entity_added_to_context_is_added_to_navigation_property_binding_list() { using var context = CreateF1Context(); @@ -912,7 +912,7 @@ public virtual void Entity_added_to_context_is_added_to_navigation_property_bind Assert.True(navBindingList.Contains(larry)); } - [ConditionalFact] + [Fact] public virtual void Entity_added_to_navigation_property_binding_list_is_added_to_context_after_DetectChanges() { using var context = CreateF1Context(); @@ -937,7 +937,7 @@ public virtual void Entity_added_to_navigation_property_binding_list_is_added_to Assert.Same(larry, context.Drivers.Find(-1)); } - [ConditionalTheory, InlineData(CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Never)] + [Theory, InlineData(CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Never)] public virtual void Entity_removed_from_navigation_property_binding_list_is_removed_from_nav_property_but_not_marked_Deleted( CascadeTiming deleteOrphansTiming) { diff --git a/test/EFCore.Specification.Tests/EFCore.Specification.Tests.csproj b/test/EFCore.Specification.Tests/EFCore.Specification.Tests.csproj index 0471d722406..f0f6767cc31 100644 --- a/test/EFCore.Specification.Tests/EFCore.Specification.Tests.csproj +++ b/test/EFCore.Specification.Tests/EFCore.Specification.Tests.csproj @@ -46,7 +46,6 @@ - @@ -64,10 +63,11 @@ - - - - + + + + diff --git a/test/EFCore.Specification.Tests/EntityFrameworkServiceCollectionExtensionsTestBase.cs b/test/EFCore.Specification.Tests/EntityFrameworkServiceCollectionExtensionsTestBase.cs index 2dc225922ad..966695873d2 100644 --- a/test/EFCore.Specification.Tests/EntityFrameworkServiceCollectionExtensionsTestBase.cs +++ b/test/EFCore.Specification.Tests/EntityFrameworkServiceCollectionExtensionsTestBase.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract class EntityFrameworkServiceCollectionExtensionsTestBase(TestHelpers testHelpers) { - [ConditionalFact] + [Fact] public void Calling_AddEntityFramework_explicitly_does_not_change_services() { var services1 = AddServices(new ServiceCollection()); @@ -18,13 +18,13 @@ public void Calling_AddEntityFramework_explicitly_does_not_change_services() AssertServicesSame(services1, services2); } - [ConditionalFact] + [Fact] public virtual void Repeated_calls_to_add_do_not_modify_collection() => AssertServicesSame( AddServices(new ServiceCollection()), AddServices(AddServices(new ServiceCollection()))); - [ConditionalFact] + [Fact] public virtual void Required_services_are_registered_with_expected_lifetimes() => LifetimeTest(EntityFrameworkServicesBuilder.CoreServices); diff --git a/test/EFCore.Specification.Tests/FieldMappingTestBase.cs b/test/EFCore.Specification.Tests/FieldMappingTestBase.cs index 5c3ff3ce899..c7b06b02716 100644 --- a/test/EFCore.Specification.Tests/FieldMappingTestBase.cs +++ b/test/EFCore.Specification.Tests/FieldMappingTestBase.cs @@ -51,7 +51,7 @@ public virtual ICollection Users } } - [ConditionalFact] + [Fact] public virtual void Field_mapping_with_conversion_does_not_throw() { using var context = CreateContext(); @@ -82,66 +82,66 @@ public virtual void Field_mapping_with_conversion_does_not_throw() Assert.Equal(78, newSession.Id); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Simple_query_auto_props(bool tracking) { using var context = CreateContext(); AssertBlogs(context.Set().AsTracking(tracking).ToList()); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Include_collection_auto_props(bool tracking) { using var context = CreateContext(); AssertGraph(context.Set().Include(e => e.Posts).AsTracking(tracking).ToList()); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Include_reference_auto_props(bool tracking) { using var context = CreateContext(); AssertGraph(context.Set().Include(e => e.Blog).AsTracking(tracking).ToList(), tracking); } - [ConditionalFact] + [Fact] public virtual void Load_collection_auto_props() => Load_collection("Posts"); - [ConditionalFact] + [Fact] public virtual void Load_reference_auto_props() => Load_reference("Blog"); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Query_with_conditional_constant_auto_props(bool tracking) => Query_with_conditional_constant("BlogId", tracking); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Query_with_conditional_param_auto_props(bool tracking) => Query_with_conditional_param("Title", tracking); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Projection_auto_props(bool tracking) => Projection("Id", "Title", tracking); - [ConditionalFact] + [Fact] public virtual Task Update_auto_props() => UpdateAsync("Posts"); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Simple_query_hiding_props(bool tracking) { using var context = CreateContext(); AssertBlogs(context.Set().AsTracking(tracking).ToList()); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Include_collection_hiding_props(bool tracking) { using var context = CreateContext(); AssertGraph(context.Set().Include(e => e.Posts).AsTracking(tracking).ToList()); } - [ConditionalFact] + [Fact] public virtual void Can_define_a_backing_field_for_a_navigation_and_query_and_update_it() { using (var context = CreateContext()) @@ -178,439 +178,439 @@ public virtual void Can_define_a_backing_field_for_a_navigation_and_query_and_up } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Include_reference_hiding_props(bool tracking) { using var context = CreateContext(); AssertGraph(context.Set().Include(e => e.Blog).AsTracking(tracking).ToList(), tracking); } - [ConditionalFact] + [Fact] public virtual void Load_collection_hiding_props() => Load_collection("Posts"); - [ConditionalFact] + [Fact] public virtual void Load_reference_hiding_props() => Load_reference("Blog"); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Query_with_conditional_constant_hiding_props(bool tracking) => Query_with_conditional_constant("BlogId", tracking); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Query_with_conditional_param_hiding_props(bool tracking) => Query_with_conditional_param("Title", tracking); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Projection_hiding_props(bool tracking) => Projection("Id", "Title", tracking); - [ConditionalFact] + [Fact] public virtual Task Update_hiding_props() => UpdateAsync("Posts"); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Simple_query_full_props(bool tracking) { using var context = CreateContext(); AssertBlogs(context.Set().AsTracking(tracking).ToList()); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Include_collection_full_props(bool tracking) { using var context = CreateContext(); AssertGraph(context.Set().Include(e => e.Posts).AsTracking(tracking).ToList()); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Include_reference_full_props(bool tracking) { using var context = CreateContext(); AssertGraph(context.Set().Include(e => e.Blog).AsTracking(tracking).ToList(), tracking); } - [ConditionalFact] + [Fact] public virtual void Load_collection_full_props() => Load_collection("Posts"); - [ConditionalFact] + [Fact] public virtual void Load_reference_full_props() => Load_reference("Blog"); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Query_with_conditional_constant_full_props(bool tracking) => Query_with_conditional_constant("BlogId", tracking); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Query_with_conditional_param_full_props(bool tracking) => Query_with_conditional_param("Title", tracking); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Projection_full_props(bool tracking) => Projection("Id", "Title", tracking); - [ConditionalFact] + [Fact] public virtual Task Update_full_props() => UpdateAsync("Posts"); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Simple_query_full_props_with_named_fields(bool tracking) { using var context = CreateContext(); AssertBlogs(context.Set().AsTracking(tracking).ToList()); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Include_collection_full_props_with_named_fields(bool tracking) { using var context = CreateContext(); AssertGraph(context.Set().Include(e => e.Posts).AsTracking(tracking).ToList()); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Include_reference_full_props_with_named_fields(bool tracking) { using var context = CreateContext(); AssertGraph(context.Set().Include(e => e.Blog).AsTracking(tracking).ToList(), tracking); } - [ConditionalFact] + [Fact] public virtual void Load_collection_full_props_with_named_fields() => Load_collection("Posts"); - [ConditionalFact] + [Fact] public virtual void Load_reference_full_props_with_named_fields() => Load_reference("Blog"); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Query_with_conditional_constant_full_props_with_named_fields(bool tracking) => Query_with_conditional_constant("BlogId", tracking); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Query_with_conditional_param_full_props_with_named_fields(bool tracking) => Query_with_conditional_param("Title", tracking); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Projection_full_props_with_named_fields(bool tracking) => Projection("Id", "Title", tracking); - [ConditionalFact] + [Fact] public virtual Task Update_full_props_with_named_fields() => UpdateAsync("Posts"); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Simple_query_read_only_props(bool tracking) { using var context = CreateContext(); AssertBlogs(context.Set().AsTracking(tracking).ToList()); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Include_collection_read_only_props(bool tracking) { using var context = CreateContext(); AssertGraph(context.Set().Include(e => e.Posts).AsTracking(tracking).ToList()); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Include_reference_read_only_props(bool tracking) { using var context = CreateContext(); AssertGraph(context.Set().Include(e => e.Blog).AsTracking(tracking).ToList(), tracking); } - [ConditionalFact] + [Fact] public virtual void Load_collection_read_only_props() => Load_collection("Posts"); - [ConditionalFact] + [Fact] public virtual void Load_reference_read_only_props() => Load_reference("Blog"); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Query_with_conditional_constant_read_only_props(bool tracking) => Query_with_conditional_constant("BlogId", tracking); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Query_with_conditional_param_read_only_props(bool tracking) => Query_with_conditional_param("Title", tracking); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Projection_read_only_props(bool tracking) => Projection("Id", "Title", tracking); - [ConditionalFact] + [Fact] public virtual Task Update_read_only_props() => UpdateAsync("Posts"); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Simple_query_props_with_IReadOnlyCollection(bool tracking) { using var context = CreateContext(); AssertBlogs(context.Set().AsTracking(tracking).ToList()); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Include_collection_props_with_IReadOnlyCollection(bool tracking) { using var context = CreateContext(); AssertGraph(context.Set().Include(e => e.Posts).AsTracking(tracking).ToList()); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Include_reference_props_with_IReadOnlyCollection(bool tracking) { using var context = CreateContext(); AssertGraph(context.Set().Include(e => e.Blog).AsTracking(tracking).ToList(), tracking); } - [ConditionalFact] + [Fact] public virtual void Load_collection_props_with_IReadOnlyCollection() => Load_collection("Posts"); - [ConditionalFact] + [Fact] public virtual void Load_reference_props_with_IReadOnlyCollection() => Load_reference("Blog"); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Query_with_conditional_constant_props_with_IReadOnlyCollection(bool tracking) => Query_with_conditional_constant("BlogId", tracking); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Query_with_conditional_param_props_with_IReadOnlyCollection(bool tracking) => Query_with_conditional_param("Title", tracking); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Projection_props_with_IReadOnlyCollection(bool tracking) => Projection("Id", "Title", tracking); - [ConditionalFact] + [Fact] public virtual Task Update_props_with_IReadOnlyCollection() => UpdateAsync("Posts"); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Simple_query_read_only_props_with_named_fields(bool tracking) { using var context = CreateContext(); AssertBlogs(context.Set().AsTracking(tracking).ToList()); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Include_collection_read_only_props_with_named_fields(bool tracking) { using var context = CreateContext(); AssertGraph(context.Set().Include(e => e.Posts).AsTracking(tracking).ToList()); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Include_reference_read_only_props_with_named_fields(bool tracking) { using var context = CreateContext(); AssertGraph(context.Set().Include(e => e.Blog).AsTracking(tracking).ToList(), tracking); } - [ConditionalFact] + [Fact] public virtual void Load_collection_read_only_props_with_named_fields() => Load_collection("Posts"); - [ConditionalFact] + [Fact] public virtual void Load_reference_read_only_props_with_named_fields() => Load_reference("Blog"); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Query_with_conditional_constant_read_only_props_with_named_fields(bool tracking) => Query_with_conditional_constant("BlogId", tracking); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Query_with_conditional_param_read_only_props_with_named_fields(bool tracking) => Query_with_conditional_param("Title", tracking); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Projection_read_only_props_with_named_fields(bool tracking) => Projection("Id", "Title", tracking); - [ConditionalFact] + [Fact] public virtual Task Update_read_only_props_with_named_fields() => UpdateAsync("Posts"); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Simple_query_write_only_props(bool tracking) { using var context = CreateContext(); AssertBlogs(context.Set().AsTracking(tracking).ToList()); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Include_collection_write_only_props(bool tracking) { using var context = CreateContext(); AssertGraph(context.Set().Include("Posts").AsTracking(tracking).ToList()); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Include_reference_write_only_props(bool tracking) { using var context = CreateContext(); AssertGraph(context.Set().Include("Blog").AsTracking(tracking).ToList(), tracking); } - [ConditionalFact] + [Fact] public virtual void Load_collection_write_only_props() => Load_collection("Posts"); - [ConditionalFact] + [Fact] public virtual void Load_reference_write_only_props() => Load_reference("Blog"); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Query_with_conditional_constant_write_only_props(bool tracking) => Query_with_conditional_constant("BlogId", tracking); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Query_with_conditional_param_write_only_props(bool tracking) => Query_with_conditional_param("Title", tracking); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Projection_write_only_props(bool tracking) => Projection("Id", "Title", tracking); - [ConditionalFact] + [Fact] public virtual Task Update_write_only_props() => UpdateAsync("Posts"); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Simple_query_write_only_props_with_named_fields(bool tracking) { using var context = CreateContext(); AssertBlogs(context.Set().AsTracking(tracking).ToList()); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Include_collection_write_only_props_with_named_fields(bool tracking) { using var context = CreateContext(); AssertGraph(context.Set().Include("Posts").AsTracking(tracking).ToList()); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Include_reference_write_only_props_with_named_fields(bool tracking) { using var context = CreateContext(); AssertGraph(context.Set().Include("Blog").AsTracking(tracking).ToList(), tracking); } - [ConditionalFact] + [Fact] public virtual void Load_collection_write_only_props_with_named_fields() => Load_collection("Posts"); - [ConditionalFact] + [Fact] public virtual void Load_reference_write_only_props_with_named_fields() => Load_reference("Blog"); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Query_with_conditional_constant_write_only_props_with_named_fields(bool tracking) => Query_with_conditional_constant("BlogId", tracking); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Query_with_conditional_param_write_only_props_with_named_fields(bool tracking) => Query_with_conditional_param("Title", tracking); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Projection_write_only_props_with_named_fields(bool tracking) => Projection("Id", "Title", tracking); - [ConditionalFact] + [Fact] public virtual Task Update_write_only_props_with_named_fields() => UpdateAsync("Posts"); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Simple_query_fields_only(bool tracking) { using var context = CreateContext(); AssertBlogs(context.Set().AsTracking(tracking).ToList()); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Include_collection_fields_only(bool tracking) { using var context = CreateContext(); AssertGraph(context.Set().Include(e => e.Posts).AsTracking(tracking).ToList()); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Include_reference_fields_only(bool tracking) { using var context = CreateContext(); AssertGraph(context.Set().Include(e => e.Blog).AsTracking(tracking).ToList(), tracking); } - [ConditionalFact] + [Fact] public virtual void Load_collection_fields_only() => Load_collection("Posts"); - [ConditionalFact] + [Fact] public virtual void Load_reference_fields_only() => Load_reference("Blog"); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Query_with_conditional_constant_fields_only(bool tracking) => Query_with_conditional_constant("_blogId", tracking); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Query_with_conditional_param_fields_only(bool tracking) => Query_with_conditional_param("_title", tracking); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Projection_fields_only(bool tracking) => Projection("_id", "_title", tracking); - [ConditionalFact] + [Fact] public virtual Task Update_fields_only() => UpdateAsync("Posts"); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Simple_query_fields_only_for_navs_too(bool tracking) { using var context = CreateContext(); AssertBlogs(context.Set().AsTracking(tracking).ToList()); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Include_collection_fields_only_for_navs_too(bool tracking) { using var context = CreateContext(); AssertGraph(context.Set().Include("_posts").AsTracking(tracking).ToList()); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Include_reference_fields_only_only_for_navs_too(bool tracking) { using var context = CreateContext(); AssertGraph(context.Set().Include("_blog").AsTracking(tracking).ToList(), tracking); } - [ConditionalFact] + [Fact] public virtual void Load_collection_fields_only_only_for_navs_too() => Load_collection("_posts"); - [ConditionalFact] + [Fact] public virtual void Load_reference_fields_only_only_for_navs_too() => Load_reference("_blog"); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Query_with_conditional_constant_fields_only_only_for_navs_too(bool tracking) => Query_with_conditional_constant("_blogId", tracking); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Query_with_conditional_param_fields_only_only_for_navs_too(bool tracking) => Query_with_conditional_param("_title", tracking); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Projection_fields_only_only_for_navs_too(bool tracking) => Projection("_id", "_title", tracking); - [ConditionalFact] + [Fact] public virtual Task Update_fields_only_only_for_navs_too() => UpdateAsync("_posts"); diff --git a/test/EFCore.Specification.Tests/FieldsOnlyLoadTestBase.cs b/test/EFCore.Specification.Tests/FieldsOnlyLoadTestBase.cs index afb11fc7229..a91dac70176 100644 --- a/test/EFCore.Specification.Tests/FieldsOnlyLoadTestBase.cs +++ b/test/EFCore.Specification.Tests/FieldsOnlyLoadTestBase.cs @@ -13,7 +13,7 @@ public abstract class FieldsOnlyLoadTestBase(TFixture fixture) : IClas { protected TFixture Fixture { get; } = fixture; - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Modified), InlineData(EntityState.Added)] + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Modified), InlineData(EntityState.Added)] public virtual void Attached_references_to_principal_are_marked_as_loaded(EntityState state) { using var context = CreateContext(); @@ -51,7 +51,7 @@ public virtual void Attached_references_to_principal_are_marked_as_loaded(Entity Assert.True(context.Entry(parent).Reference(e => e.SingleCompositeKey).IsLoaded); } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Modified), InlineData(EntityState.Added)] + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Modified), InlineData(EntityState.Added)] public virtual void Attached_references_to_dependents_are_marked_as_loaded(EntityState state) { using var context = CreateContext(); @@ -89,7 +89,7 @@ public virtual void Attached_references_to_dependents_are_marked_as_loaded(Entit Assert.True(context.Entry(parent.SingleCompositeKey).Reference(e => e.Parent).IsLoaded); } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Modified), InlineData(EntityState.Added)] + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Modified), InlineData(EntityState.Added)] public virtual void Attached_collections_are_not_marked_as_loaded(EntityState state) { using var context = CreateContext(); @@ -128,7 +128,7 @@ public virtual void Attached_collections_are_not_marked_as_loaded(EntityState st Assert.False(context.Entry(parent).Collection(e => e.ChildrenCompositeKey).IsLoaded); } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, true), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, true), InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, true), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, false), @@ -182,7 +182,7 @@ public virtual async Task Load_collection(EntityState state, QueryTrackingBehavi Assert.Equal(3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_many_to_one_reference_to_principal(EntityState state, bool async) @@ -227,7 +227,7 @@ public virtual async Task Load_many_to_one_reference_to_principal(EntityState st } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_principal(EntityState state, bool async) @@ -272,7 +272,7 @@ public virtual async Task Load_one_to_one_reference_to_principal(EntityState sta } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_principal_when_NoTracking_behavior(EntityState state, bool async) @@ -319,7 +319,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_when_NoTracking } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_dependent(EntityState state, bool async) @@ -356,7 +356,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent(EntityState sta Assert.Same(parent, single.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_PK_to_PK_reference_to_principal(EntityState state, bool async) @@ -401,7 +401,7 @@ public virtual async Task Load_one_to_one_PK_to_PK_reference_to_principal(Entity } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_PK_to_PK_reference_to_dependent(EntityState state, bool async) @@ -438,7 +438,7 @@ public virtual async Task Load_one_to_one_PK_to_PK_reference_to_dependent(Entity Assert.Same(parent, single.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_using_Query(EntityState state, bool async) @@ -470,7 +470,7 @@ public virtual async Task Load_collection_using_Query(EntityState state, bool as Assert.Equal(3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_many_to_one_reference_to_principal_using_Query(EntityState state, bool async) @@ -510,7 +510,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_using_Query(En Assert.Equal(2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_principal_using_Query(EntityState state, bool async) @@ -550,7 +550,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_using_Query(Ent Assert.Equal(2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_dependent_using_Query(EntityState state, bool async) @@ -581,7 +581,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_using_Query(Ent Assert.Equal(2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_PK_to_PK_reference_to_principal_using_Query(EntityState state, bool async) @@ -621,7 +621,7 @@ public virtual async Task Load_one_to_one_PK_to_PK_reference_to_principal_using_ Assert.Equal(2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_PK_to_PK_reference_to_dependent_using_Query(EntityState state, bool async) @@ -652,7 +652,7 @@ public virtual async Task Load_one_to_one_PK_to_PK_reference_to_dependent_using_ Assert.Equal(2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_many_to_one_reference_to_principal_null_FK(EntityState state, bool async) @@ -686,7 +686,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_null_FK(Entity Assert.Null(child.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_principal_null_FK(EntityState state, bool async) @@ -721,7 +721,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_null_FK(EntityS Assert.Null(single.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_many_to_one_reference_to_principal_using_Query_null_FK(EntityState state, bool async) @@ -752,7 +752,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_using_Query_nu Assert.Single(context.ChangeTracker.Entries()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_principal_using_Query_null_FK(EntityState state, bool async) @@ -783,7 +783,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_using_Query_nul Assert.Single(context.ChangeTracker.Entries()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_not_found(EntityState state, bool async) @@ -817,7 +817,7 @@ public virtual async Task Load_collection_not_found(EntityState state, bool asyn Assert.Single(context.ChangeTracker.Entries()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_many_to_one_reference_to_principal_not_found(EntityState state, bool async) @@ -851,7 +851,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_not_found(Enti Assert.Null(child.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_principal_not_found(EntityState state, bool async) @@ -886,7 +886,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_not_found(Entit Assert.Null(single.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_dependent_not_found(EntityState state, bool async) @@ -921,7 +921,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_not_found(Entit Assert.Null(parent.Single); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_using_Query_not_found(EntityState state, bool async) @@ -952,7 +952,7 @@ public virtual async Task Load_collection_using_Query_not_found(EntityState stat Assert.Single(context.ChangeTracker.Entries()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_many_to_one_reference_to_principal_using_Query_not_found(EntityState state, bool async) @@ -983,7 +983,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_using_Query_no Assert.Single(context.ChangeTracker.Entries()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_principal_using_Query_not_found(EntityState state, bool async) @@ -1014,7 +1014,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_using_Query_not Assert.Single(context.ChangeTracker.Entries()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_dependent_using_Query_not_found(EntityState state, bool async) @@ -1045,7 +1045,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_using_Query_not Assert.Single(context.ChangeTracker.Entries()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), + [Theory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, false, CascadeTiming.Immediate), InlineData(EntityState.Modified, true, CascadeTiming.Immediate), InlineData(EntityState.Modified, false, CascadeTiming.Immediate), InlineData(EntityState.Deleted, true, CascadeTiming.Immediate), InlineData(EntityState.Deleted, false, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, true, CascadeTiming.OnSaveChanges), @@ -1097,7 +1097,7 @@ public virtual async Task Load_collection_already_loaded(EntityState state, bool Assert.Equal(3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_many_to_one_reference_to_principal_already_loaded(EntityState state, bool async) @@ -1134,7 +1134,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_already_loaded Assert.Same(child, parent.Children.Single()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), + [Theory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, false, CascadeTiming.Immediate), InlineData(EntityState.Modified, true, CascadeTiming.Immediate), InlineData(EntityState.Modified, false, CascadeTiming.Immediate), InlineData(EntityState.Deleted, true, CascadeTiming.Immediate), InlineData(EntityState.Deleted, false, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, true, CascadeTiming.OnSaveChanges), @@ -1182,7 +1182,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_already_loaded( Assert.Same(single, parent.Single); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), + [Theory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, false, CascadeTiming.Immediate), InlineData(EntityState.Modified, true, CascadeTiming.Immediate), InlineData(EntityState.Modified, false, CascadeTiming.Immediate), InlineData(EntityState.Deleted, true, CascadeTiming.Immediate), InlineData(EntityState.Deleted, false, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, true, CascadeTiming.OnSaveChanges), @@ -1239,7 +1239,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_already_loaded( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_PK_to_PK_reference_to_principal_already_loaded(EntityState state, bool async) @@ -1276,7 +1276,7 @@ public virtual async Task Load_one_to_one_PK_to_PK_reference_to_principal_alread Assert.Same(single, parent.SinglePkToPk); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_PK_to_PK_reference_to_dependent_already_loaded(EntityState state, bool async) @@ -1313,7 +1313,7 @@ public virtual async Task Load_one_to_one_PK_to_PK_reference_to_dependent_alread Assert.Same(parent, single.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), + [Theory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, false, CascadeTiming.Immediate), InlineData(EntityState.Modified, true, CascadeTiming.Immediate), InlineData(EntityState.Modified, false, CascadeTiming.Immediate), InlineData(EntityState.Deleted, true, CascadeTiming.Immediate), InlineData(EntityState.Deleted, false, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, true, CascadeTiming.OnSaveChanges), @@ -1356,7 +1356,7 @@ public virtual async Task Load_collection_using_Query_already_loaded( Assert.Equal(3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_many_to_one_reference_to_principal_using_Query_already_loaded(EntityState state, bool async) @@ -1387,7 +1387,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_using_Query_al Assert.Equal(2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_principal_using_Query_already_loaded(EntityState state, bool async) @@ -1418,7 +1418,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_using_Query_alr Assert.Equal(2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), + [Theory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, false, CascadeTiming.Immediate), InlineData(EntityState.Modified, true, CascadeTiming.Immediate), InlineData(EntityState.Modified, false, CascadeTiming.Immediate), InlineData(EntityState.Deleted, true, CascadeTiming.Immediate), InlineData(EntityState.Deleted, false, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, true, CascadeTiming.OnSaveChanges), @@ -1460,7 +1460,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_using_Query_alr Assert.Equal(2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_PK_to_PK_reference_to_principal_using_Query_already_loaded(EntityState state, bool async) @@ -1491,7 +1491,7 @@ public virtual async Task Load_one_to_one_PK_to_PK_reference_to_principal_using_ Assert.Equal(2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_PK_to_PK_reference_to_dependent_using_Query_already_loaded(EntityState state, bool async) @@ -1522,7 +1522,7 @@ public virtual async Task Load_one_to_one_PK_to_PK_reference_to_dependent_using_ Assert.Equal(2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_untyped(EntityState state, bool async) @@ -1557,7 +1557,7 @@ public virtual async Task Load_collection_untyped(EntityState state, bool async) Assert.Equal(3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_many_to_one_reference_to_principal_untyped(EntityState state, bool async) @@ -1602,7 +1602,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_untyped(Entity } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_principal_untyped(EntityState state, bool async) @@ -1647,7 +1647,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_untyped(EntityS } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_dependent_untyped(EntityState state, bool async) @@ -1684,7 +1684,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_untyped(EntityS Assert.Same(parent, single.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_using_Query_untyped(EntityState state, bool async) @@ -1717,7 +1717,7 @@ public virtual async Task Load_collection_using_Query_untyped(EntityState state, Assert.Equal(3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_many_to_one_reference_to_principal_using_Query_untyped(EntityState state, bool async) @@ -1758,7 +1758,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_using_Query_un Assert.Equal(2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_principal_using_Query_untyped(EntityState state, bool async) @@ -1799,7 +1799,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_using_Query_unt Assert.Equal(2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_dependent_using_Query_untyped(EntityState state, bool async) @@ -1831,7 +1831,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_using_Query_unt Assert.Equal(2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_not_found_untyped(EntityState state, bool async) @@ -1865,7 +1865,7 @@ public virtual async Task Load_collection_not_found_untyped(EntityState state, b Assert.Single(context.ChangeTracker.Entries()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_many_to_one_reference_to_principal_not_found_untyped(EntityState state, bool async) @@ -1899,7 +1899,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_not_found_unty Assert.Null(child.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_principal_not_found_untyped(EntityState state, bool async) @@ -1934,7 +1934,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_not_found_untyp Assert.Null(single.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_dependent_not_found_untyped(EntityState state, bool async) @@ -1969,7 +1969,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_not_found_untyp Assert.Null(parent.Single); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_using_Query_not_found_untyped(EntityState state, bool async) @@ -2001,7 +2001,7 @@ public virtual async Task Load_collection_using_Query_not_found_untyped(EntitySt Assert.Single(context.ChangeTracker.Entries()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_many_to_one_reference_to_principal_using_Query_not_found_untyped(EntityState state, bool async) @@ -2033,7 +2033,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_using_Query_no Assert.Single(context.ChangeTracker.Entries()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_principal_using_Query_not_found_untyped(EntityState state, bool async) @@ -2065,7 +2065,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_using_Query_not Assert.Single(context.ChangeTracker.Entries()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_dependent_using_Query_not_found_untyped(EntityState state, bool async) @@ -2097,7 +2097,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_using_Query_not Assert.Single(context.ChangeTracker.Entries()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), + [Theory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, false, CascadeTiming.Immediate), InlineData(EntityState.Modified, true, CascadeTiming.Immediate), InlineData(EntityState.Modified, false, CascadeTiming.Immediate), InlineData(EntityState.Deleted, true, CascadeTiming.Immediate), InlineData(EntityState.Deleted, false, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, true, CascadeTiming.OnSaveChanges), @@ -2149,7 +2149,7 @@ public virtual async Task Load_collection_already_loaded_untyped(EntityState sta Assert.Equal(3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_many_to_one_reference_to_principal_already_loaded_untyped(EntityState state, bool async) @@ -2186,7 +2186,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_already_loaded Assert.Same(child, parent.Children.Single()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_principal_already_loaded_untyped(EntityState state, bool async) @@ -2223,7 +2223,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_already_loaded_ Assert.Same(single, parent.Single); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), + [Theory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, false, CascadeTiming.Immediate), InlineData(EntityState.Modified, true, CascadeTiming.Immediate), InlineData(EntityState.Modified, false, CascadeTiming.Immediate), InlineData(EntityState.Deleted, true, CascadeTiming.Immediate), InlineData(EntityState.Deleted, false, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, true, CascadeTiming.OnSaveChanges), @@ -2280,7 +2280,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_already_loaded_ } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), + [Theory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, false, CascadeTiming.Immediate), InlineData(EntityState.Modified, true, CascadeTiming.Immediate), InlineData(EntityState.Modified, false, CascadeTiming.Immediate), InlineData(EntityState.Deleted, true, CascadeTiming.Immediate), InlineData(EntityState.Deleted, false, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, true, CascadeTiming.OnSaveChanges), @@ -2324,7 +2324,7 @@ public virtual async Task Load_collection_using_Query_already_loaded_untyped( Assert.Equal(3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_many_to_one_reference_to_principal_using_Query_already_loaded_untyped(EntityState state, bool async) @@ -2356,7 +2356,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_using_Query_al Assert.Equal(2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_principal_using_Query_already_loaded_untyped(EntityState state, bool async) @@ -2388,7 +2388,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_using_Query_alr Assert.Equal(2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), + [Theory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, false, CascadeTiming.Immediate), InlineData(EntityState.Modified, true, CascadeTiming.Immediate), InlineData(EntityState.Modified, false, CascadeTiming.Immediate), InlineData(EntityState.Deleted, true, CascadeTiming.Immediate), InlineData(EntityState.Deleted, false, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, true, CascadeTiming.OnSaveChanges), @@ -2433,7 +2433,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_using_Query_alr Assert.Equal(2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_alternate_key(EntityState state, bool async) @@ -2468,7 +2468,7 @@ public virtual async Task Load_collection_alternate_key(EntityState state, bool Assert.Equal(3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_many_to_one_reference_to_principal_alternate_key(EntityState state, bool async) @@ -2513,7 +2513,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_alternate_key( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_principal_alternate_key(EntityState state, bool async) @@ -2558,7 +2558,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_alternate_key(E } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_dependent_alternate_key(EntityState state, bool async) @@ -2595,7 +2595,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_alternate_key(E Assert.Same(parent, single.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_using_Query_alternate_key(EntityState state, bool async) @@ -2627,7 +2627,7 @@ public virtual async Task Load_collection_using_Query_alternate_key(EntityState Assert.Equal(3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_many_to_one_reference_to_principal_using_Query_alternate_key(EntityState state, bool async) @@ -2667,7 +2667,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_using_Query_al Assert.Equal(2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_principal_using_Query_alternate_key(EntityState state, bool async) @@ -2707,7 +2707,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_using_Query_alt Assert.Equal(2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_dependent_using_Query_alternate_key(EntityState state, bool async) @@ -2738,7 +2738,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_using_Query_alt Assert.Equal(2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_many_to_one_reference_to_principal_null_FK_alternate_key(EntityState state, bool async) @@ -2772,7 +2772,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_null_FK_altern Assert.Null(child.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_principal_null_FK_alternate_key(EntityState state, bool async) @@ -2807,7 +2807,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_null_FK_alterna Assert.Null(single.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_many_to_one_reference_to_principal_using_Query_null_FK_alternate_key(EntityState state, bool async) @@ -2838,7 +2838,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_using_Query_nu Assert.Single(context.ChangeTracker.Entries()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_principal_using_Query_null_FK_alternate_key(EntityState state, bool async) @@ -2869,7 +2869,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_using_Query_nul Assert.Single(context.ChangeTracker.Entries()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_shadow_fk(EntityState state, bool async) @@ -2904,7 +2904,7 @@ public virtual async Task Load_collection_shadow_fk(EntityState state, bool asyn Assert.Equal(3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_many_to_one_reference_to_principal_shadow_fk(EntityState state, bool async) @@ -2949,7 +2949,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_shadow_fk(Enti } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_principal_shadow_fk(EntityState state, bool async) @@ -2994,7 +2994,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_shadow_fk(Entit } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_dependent_shadow_fk(EntityState state, bool async) @@ -3031,7 +3031,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_shadow_fk(Entit Assert.Same(parent, single.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_using_Query_shadow_fk(EntityState state, bool async) @@ -3063,7 +3063,7 @@ public virtual async Task Load_collection_using_Query_shadow_fk(EntityState stat Assert.Equal(3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_many_to_one_reference_to_principal_using_Query_shadow_fk(EntityState state, bool async) @@ -3103,7 +3103,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_using_Query_sh Assert.Equal(2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_principal_using_Query_shadow_fk(EntityState state, bool async) @@ -3143,7 +3143,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_using_Query_sha Assert.Equal(2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_dependent_using_Query_shadow_fk(EntityState state, bool async) @@ -3174,7 +3174,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_using_Query_sha Assert.Equal(2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_many_to_one_reference_to_principal_null_FK_shadow_fk(EntityState state, bool async) @@ -3208,7 +3208,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_null_FK_shadow Assert.Null(child.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_principal_null_FK_shadow_fk(EntityState state, bool async) @@ -3243,7 +3243,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_null_FK_shadow_ Assert.Null(single.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_many_to_one_reference_to_principal_using_Query_null_FK_shadow_fk(EntityState state, bool async) @@ -3274,7 +3274,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_using_Query_nu Assert.Single(context.ChangeTracker.Entries()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_principal_using_Query_null_FK_shadow_fk(EntityState state, bool async) @@ -3305,7 +3305,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_using_Query_nul Assert.Single(context.ChangeTracker.Entries()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_composite_key(EntityState state, bool async) @@ -3340,7 +3340,7 @@ public virtual async Task Load_collection_composite_key(EntityState state, bool Assert.Equal(3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_many_to_one_reference_to_principal_composite_key(EntityState state, bool async) @@ -3385,7 +3385,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_composite_key( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_principal_composite_key(EntityState state, bool async) @@ -3430,7 +3430,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_composite_key(E } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_dependent_composite_key(EntityState state, bool async) @@ -3467,7 +3467,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_composite_key(E Assert.Same(parent, single.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_using_Query_composite_key(EntityState state, bool async) @@ -3499,7 +3499,7 @@ public virtual async Task Load_collection_using_Query_composite_key(EntityState Assert.Equal(3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_many_to_one_reference_to_principal_using_Query_composite_key(EntityState state, bool async) @@ -3539,7 +3539,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_using_Query_co Assert.Equal(2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_principal_using_Query_composite_key(EntityState state, bool async) @@ -3579,7 +3579,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_using_Query_com Assert.Equal(2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_dependent_using_Query_composite_key(EntityState state, bool async) @@ -3610,7 +3610,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_using_Query_com Assert.Equal(2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_many_to_one_reference_to_principal_null_FK_composite_key(EntityState state, bool async) @@ -3644,7 +3644,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_null_FK_compos Assert.Null(child.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_principal_null_FK_composite_key(EntityState state, bool async) @@ -3679,7 +3679,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_null_FK_composi Assert.Null(single.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_many_to_one_reference_to_principal_using_Query_null_FK_composite_key(EntityState state, bool async) @@ -3710,7 +3710,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_using_Query_nu Assert.Single(context.ChangeTracker.Entries()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_one_to_one_reference_to_principal_using_Query_null_FK_composite_key(EntityState state, bool async) @@ -3741,7 +3741,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_using_Query_nul Assert.Single(context.ChangeTracker.Entries()); } - [ConditionalFact] + [Fact] public virtual void Can_change_IsLoaded_flag_for_collection() { using var context = CreateContext(); @@ -3775,7 +3775,7 @@ public virtual void Can_change_IsLoaded_flag_for_collection() Assert.True(collectionEntry.IsLoaded); } - [ConditionalFact] + [Fact] public virtual void Can_change_IsLoaded_flag_for_reference_only_if_null() { using var context = CreateContext(); @@ -3810,7 +3810,7 @@ public virtual void Can_change_IsLoaded_flag_for_reference_only_if_null() Assert.Throws(() => referenceEntry.IsLoaded = false).Message); } - [ConditionalTheory, InlineData(true, false), InlineData(false, false), InlineData(true, true), InlineData(false, true)] + [Theory, InlineData(true, false), InlineData(false, false), InlineData(true, true), InlineData(false, true)] public virtual async Task Load_collection_for_detached_throws(bool async, bool noTracking) { using var context = CreateContext(noTracking: noTracking); @@ -3833,7 +3833,7 @@ public virtual async Task Load_collection_for_detached_throws(bool async, bool n } } - [ConditionalTheory, InlineData(true, false), InlineData(false, false), InlineData(true, true), InlineData(false, true)] + [Theory, InlineData(true, false), InlineData(false, false), InlineData(true, true), InlineData(false, true)] public virtual async Task Load_collection_using_string_for_detached_throws(bool async, bool noTracking) { using var context = CreateContext(noTracking: noTracking); @@ -3856,7 +3856,7 @@ public virtual async Task Load_collection_using_string_for_detached_throws(bool } } - [ConditionalTheory, InlineData(true, false), InlineData(false, false), InlineData(true, true), InlineData(false, true)] + [Theory, InlineData(true, false), InlineData(false, false), InlineData(true, true), InlineData(false, true)] public virtual async Task Load_collection_with_navigation_for_detached_throws(bool async, bool noTracking) { using var context = CreateContext(noTracking: noTracking); @@ -3879,7 +3879,7 @@ public virtual async Task Load_collection_with_navigation_for_detached_throws(bo } } - [ConditionalTheory, InlineData(true, false), InlineData(false, false), InlineData(true, true), InlineData(false, true)] + [Theory, InlineData(true, false), InlineData(false, false), InlineData(true, true), InlineData(false, true)] public virtual async Task Load_reference_to_principal_for_detached_throws(bool async, bool noTracking) { using var context = CreateContext(noTracking: noTracking); @@ -3902,7 +3902,7 @@ public virtual async Task Load_reference_to_principal_for_detached_throws(bool a } } - [ConditionalTheory, InlineData(true, false), InlineData(false, false), InlineData(true, true), InlineData(false, true)] + [Theory, InlineData(true, false), InlineData(false, false), InlineData(true, true), InlineData(false, true)] public virtual async Task Load_reference_with_navigation_to_principal_for_detached_throws(bool async, bool noTracking) { using var context = CreateContext(noTracking: noTracking); @@ -3925,7 +3925,7 @@ public virtual async Task Load_reference_with_navigation_to_principal_for_detach } } - [ConditionalTheory, InlineData(true, false), InlineData(false, false), InlineData(true, true), InlineData(false, true)] + [Theory, InlineData(true, false), InlineData(false, false), InlineData(true, true), InlineData(false, true)] public virtual async Task Load_reference_using_string_to_principal_for_detached_throws(bool async, bool noTracking) { using var context = CreateContext(noTracking: noTracking); @@ -3948,7 +3948,7 @@ public virtual async Task Load_reference_using_string_to_principal_for_detached_ } } - [ConditionalTheory, InlineData(true, false), InlineData(false, false), InlineData(true, true), InlineData(false, true)] + [Theory, InlineData(true, false), InlineData(false, false), InlineData(true, true), InlineData(false, true)] public virtual async Task Load_reference_to_dependent_for_detached_throws(bool async, bool noTracking) { using var context = CreateContext(noTracking: noTracking); @@ -3971,7 +3971,7 @@ public virtual async Task Load_reference_to_dependent_for_detached_throws(bool a } } - [ConditionalTheory, InlineData(true, false), InlineData(false, false), InlineData(true, true), InlineData(false, true)] + [Theory, InlineData(true, false), InlineData(false, false), InlineData(true, true), InlineData(false, true)] public virtual async Task Load_reference_to_dependent_with_navigation_for_detached_throws(bool async, bool noTracking) { using var context = CreateContext(noTracking: noTracking); @@ -3994,7 +3994,7 @@ public virtual async Task Load_reference_to_dependent_with_navigation_for_detach } } - [ConditionalTheory, InlineData(true, false), InlineData(false, false), InlineData(true, true), InlineData(false, true)] + [Theory, InlineData(true, false), InlineData(false, false), InlineData(true, true), InlineData(false, true)] public virtual async Task Load_reference_to_dependent_using_string_for_detached_throws(bool async, bool noTracking) { using var context = CreateContext(noTracking: noTracking); @@ -4017,7 +4017,7 @@ public virtual async Task Load_reference_to_dependent_using_string_for_detached_ } } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual void Query_collection_for_detached_throws(bool noTracking) { using var context = CreateContext(noTracking: noTracking); @@ -4033,7 +4033,7 @@ public virtual void Query_collection_for_detached_throws(bool noTracking) var query = collectionEntry.Query(); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual void Query_collection_using_string_for_detached_throws(bool noTracking) { using var context = CreateContext(noTracking: noTracking); @@ -4049,7 +4049,7 @@ public virtual void Query_collection_using_string_for_detached_throws(bool noTra var query = collectionEntry.Query(); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual void Query_collection_with_navigation_for_detached_throws(bool noTracking) { using var context = CreateContext(noTracking: noTracking); @@ -4065,7 +4065,7 @@ public virtual void Query_collection_with_navigation_for_detached_throws(bool no var query = collectionEntry.Query(); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual void Query_reference_to_principal_for_detached_throws(bool noTracking) { using var context = CreateContext(noTracking: noTracking); @@ -4081,7 +4081,7 @@ public virtual void Query_reference_to_principal_for_detached_throws(bool noTrac var query = referenceEntry.Query(); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual void Query_reference_with_navigation_to_principal_for_detached_throws(bool noTracking) { using var context = CreateContext(noTracking: noTracking); @@ -4097,7 +4097,7 @@ public virtual void Query_reference_with_navigation_to_principal_for_detached_th var query = referenceEntry.Query(); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual void Query_reference_using_string_to_principal_for_detached_throws(bool noTracking) { using var context = CreateContext(noTracking: noTracking); @@ -4113,7 +4113,7 @@ public virtual void Query_reference_using_string_to_principal_for_detached_throw var query = referenceEntry.Query(); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual void Query_reference_to_dependent_for_detached_throws(bool noTracking) { using var context = CreateContext(noTracking: noTracking); @@ -4129,7 +4129,7 @@ public virtual void Query_reference_to_dependent_for_detached_throws(bool noTrac var query = referenceEntry.Query(); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual void Query_reference_to_dependent_with_navigation_for_detached_throws(bool noTracking) { using var context = CreateContext(noTracking: noTracking); @@ -4145,7 +4145,7 @@ public virtual void Query_reference_to_dependent_with_navigation_for_detached_th var query = referenceEntry.Query(); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual void Query_reference_to_dependent_using_string_for_detached_throws(bool noTracking) { using var context = CreateContext(noTracking: noTracking); diff --git a/test/EFCore.Specification.Tests/FindTestBase.cs b/test/EFCore.Specification.Tests/FindTestBase.cs index a4ce51de2e6..3eac27dcac4 100644 --- a/test/EFCore.Specification.Tests/FindTestBase.cs +++ b/test/EFCore.Specification.Tests/FindTestBase.cs @@ -16,7 +16,7 @@ public abstract class FindTestBase(TFixture fixture) : IClassFixture(context, 88)); } - [ConditionalFact] + [Fact] public virtual void Find_int_key_from_store() { using var context = CreateContext(); Assert.Equal("Smokey", Finder.Find(context, 77).Foo); } - [ConditionalFact] + [Fact] public virtual void Returns_null_for_int_key_not_in_store() { using var context = CreateContext(); Assert.Null(Finder.Find(context, 99)); } - [ConditionalFact] + [Fact] public virtual void Find_nullable_int_key_tracked() { using var context = CreateContext(); @@ -50,21 +50,21 @@ public virtual void Find_nullable_int_key_tracked() Assert.Same(entity, Finder.Find(context, 88)); } - [ConditionalFact] + [Fact] public virtual void Find_nullable_int_key_from_store() { using var context = CreateContext(); Assert.Equal("Smokey", Finder.Find(context, 77).Foo); } - [ConditionalFact] + [Fact] public virtual void Returns_null_for_nullable_int_key_not_in_store() { using var context = CreateContext(); Assert.Null(Finder.Find(context, 99)); } - [ConditionalFact] + [Fact] public virtual void Find_string_key_tracked() { using var context = CreateContext(); @@ -74,21 +74,21 @@ public virtual void Find_string_key_tracked() Assert.Same(entity, Finder.Find(context, "Rabbit")); } - [ConditionalFact] + [Fact] public virtual void Find_string_key_from_store() { using var context = CreateContext(); Assert.Equal("Alice", Finder.Find(context, "Cat").Foo); } - [ConditionalFact] + [Fact] public virtual void Returns_null_for_string_key_not_in_store() { using var context = CreateContext(); Assert.Null(Finder.Find(context, "Fox")); } - [ConditionalFact] + [Fact] public virtual void Find_composite_key_tracked() { using var context = CreateContext(); @@ -98,21 +98,21 @@ public virtual void Find_composite_key_tracked() Assert.Same(entity, Finder.Find(context, 88, "Rabbit")); } - [ConditionalFact] + [Fact] public virtual void Find_composite_key_from_store() { using var context = CreateContext(); Assert.Equal("Olive", Finder.Find(context, 77, "Dog").Foo); } - [ConditionalFact] + [Fact] public virtual void Returns_null_for_composite_key_not_in_store() { using var context = CreateContext(); Assert.Null(Finder.Find(context, 77, "Fox")); } - [ConditionalFact] + [Fact] public virtual void Find_base_type_tracked() { using var context = CreateContext(); @@ -122,21 +122,21 @@ public virtual void Find_base_type_tracked() Assert.Same(entity, Finder.Find(context, 88)); } - [ConditionalFact] + [Fact] public virtual void Find_base_type_from_store() { using var context = CreateContext(); Assert.Equal("Baxter", Finder.Find(context, 77).Foo); } - [ConditionalFact] + [Fact] public virtual void Returns_null_for_base_type_not_in_store() { using var context = CreateContext(); Assert.Null(Finder.Find(context, 99)); } - [ConditionalFact] + [Fact] public virtual void Find_derived_type_tracked() { using var context = CreateContext(); @@ -146,7 +146,7 @@ public virtual void Find_derived_type_tracked() Assert.Same(entity, Finder.Find(context, 88)); } - [ConditionalFact] + [Fact] public virtual void Find_derived_type_from_store() { using var context = CreateContext(); @@ -155,14 +155,14 @@ public virtual void Find_derived_type_from_store() Assert.Equal("Cheesecake", derivedType.Boo); } - [ConditionalFact] + [Fact] public virtual void Returns_null_for_derived_type_not_in_store() { using var context = CreateContext(); Assert.Null(Finder.Find(context, 99)); } - [ConditionalFact] + [Fact] public virtual void Find_base_type_using_derived_set_tracked() { using var context = CreateContext(); @@ -172,14 +172,14 @@ public virtual void Find_base_type_using_derived_set_tracked() Assert.Null(Finder.Find(context, 88)); } - [ConditionalFact] + [Fact] public virtual void Find_base_type_using_derived_set_from_store() { using var context = CreateContext(); Assert.Null(Finder.Find(context, 77)); } - [ConditionalFact] + [Fact] public virtual void Find_derived_type_using_base_set_tracked() { using var context = CreateContext(); @@ -189,7 +189,7 @@ public virtual void Find_derived_type_using_base_set_tracked() Assert.Same(entity, Finder.Find(context, 88)); } - [ConditionalFact] + [Fact] public virtual void Find_derived_using_base_set_type_from_store() { using var context = CreateContext(); @@ -198,7 +198,7 @@ public virtual void Find_derived_using_base_set_type_from_store() Assert.Equal("Cheesecake", ((DerivedType)derivedType).Boo); } - [ConditionalFact] + [Fact] public virtual void Find_shadow_key_tracked() { using var context = CreateContext(); @@ -209,49 +209,49 @@ public virtual void Find_shadow_key_tracked() Assert.Same(entry.Entity, Finder.Find(context, 88)); } - [ConditionalFact] + [Fact] public virtual void Find_shadow_key_from_store() { using var context = CreateContext(); Assert.Equal("Clippy", Finder.Find(context, 77).Foo); } - [ConditionalFact] + [Fact] public virtual void Returns_null_for_shadow_key_not_in_store() { using var context = CreateContext(); Assert.Null(Finder.Find(context, 99)); } - [ConditionalFact] + [Fact] public virtual void Returns_null_for_null_key_values_array() { using var context = CreateContext(); Assert.Null(Finder.Find(context, null)); } - [ConditionalFact] + [Fact] public virtual void Returns_null_for_null_key() { using var context = CreateContext(); Assert.Null(Finder.Find(context, [null])); } - [ConditionalFact] + [Fact] public virtual void Returns_null_for_null_nullable_key() { using var context = CreateContext(); Assert.Null(Finder.Find(context, [null])); } - [ConditionalFact] + [Fact] public virtual void Returns_null_for_null_in_composite_key() { using var context = CreateContext(); Assert.Null(Finder.Find(context, 77, null)); } - [ConditionalFact] + [Fact] public virtual void Throws_for_multiple_values_passed_for_simple_key() { using var context = CreateContext(); @@ -260,7 +260,7 @@ public virtual void Throws_for_multiple_values_passed_for_simple_key() Assert.Throws(() => Finder.Find(context, 77, 88)).Message); } - [ConditionalFact] + [Fact] public virtual void Throws_for_wrong_number_of_values_for_composite_key() { using var context = CreateContext(); @@ -269,7 +269,7 @@ public virtual void Throws_for_wrong_number_of_values_for_composite_key() Assert.Throws(() => Finder.Find(context, 77)).Message); } - [ConditionalFact] + [Fact] public virtual void Throws_for_bad_type_for_simple_key() { using var context = CreateContext(); @@ -278,7 +278,7 @@ public virtual void Throws_for_bad_type_for_simple_key() Assert.Throws(() => Finder.Find(context, "77")).Message); } - [ConditionalFact] + [Fact] public virtual void Throws_for_bad_type_for_composite_key() { using var context = CreateContext(); @@ -287,7 +287,7 @@ public virtual void Throws_for_bad_type_for_composite_key() Assert.Throws(() => Finder.Find(context, 77, 88)).Message); } - [ConditionalFact] + [Fact] public virtual void Throws_for_bad_entity_type() { using var context = CreateContext(); @@ -297,7 +297,7 @@ public virtual void Throws_for_bad_entity_type() Assert.Throws(() => Finder.Find(context, 77)).Message); } - [ConditionalFact] + [Fact] public virtual void Throws_for_bad_entity_type_with_different_namespace() { using var context = CreateContext(); @@ -308,7 +308,7 @@ public virtual void Throws_for_bad_entity_type_with_different_namespace() Assert.Throws(() => Finder.Find(context, 77)).Message); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Find_int_key_tracked_async(CancellationType cancellationType) { @@ -322,7 +322,7 @@ public virtual async Task Find_int_key_tracked_async(CancellationType cancellati Assert.Same(entity, await valueTask); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Find_int_key_from_store_async(CancellationType cancellationType) { @@ -341,7 +341,7 @@ public virtual async Task Find_int_key_from_store_async(CancellationType cancell Assert.Contains("72", entity.OwnedReference.NestedOwnedCollection.Select(e => e.Prop)); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Returns_null_for_int_key_not_in_store_async(CancellationType cancellationType) { @@ -349,7 +349,7 @@ public virtual async Task Returns_null_for_int_key_not_in_store_async(Cancellati Assert.Null(await Finder.FindAsync(cancellationType, context, [99])); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Find_nullable_int_key_tracked_async(CancellationType cancellationType) { @@ -360,7 +360,7 @@ public virtual async Task Find_nullable_int_key_tracked_async(CancellationType c Assert.Same(entity, await Finder.FindAsync(cancellationType, context, [88])); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Find_nullable_int_key_from_store_async(CancellationType cancellationType) { @@ -368,7 +368,7 @@ public virtual async Task Find_nullable_int_key_from_store_async(CancellationTyp Assert.Equal("Smokey", (await Finder.FindAsync(cancellationType, context, [77])).Foo); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Returns_null_for_nullable_int_key_not_in_store_async(CancellationType cancellationType) { @@ -376,7 +376,7 @@ public virtual async Task Returns_null_for_nullable_int_key_not_in_store_async(C Assert.Null(await Finder.FindAsync(cancellationType, context, [99])); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Find_string_key_tracked_async(CancellationType cancellationType) { @@ -387,7 +387,7 @@ public virtual async Task Find_string_key_tracked_async(CancellationType cancell Assert.Same(entity, await Finder.FindAsync(cancellationType, context, ["Rabbit"])); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Find_string_key_from_store_async(CancellationType cancellationType) { @@ -395,7 +395,7 @@ public virtual async Task Find_string_key_from_store_async(CancellationType canc Assert.Equal("Alice", (await Finder.FindAsync(cancellationType, context, ["Cat"])).Foo); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Returns_null_for_string_key_not_in_store_async(CancellationType cancellationType) { @@ -403,7 +403,7 @@ public virtual async Task Returns_null_for_string_key_not_in_store_async(Cancell Assert.Null(await Finder.FindAsync(cancellationType, context, ["Fox"])); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Find_composite_key_tracked_async(CancellationType cancellationType) { @@ -414,7 +414,7 @@ public virtual async Task Find_composite_key_tracked_async(CancellationType canc Assert.Same(entity, await Finder.FindAsync(cancellationType, context, [88, "Rabbit"])); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Find_composite_key_from_store_async(CancellationType cancellationType) { @@ -422,7 +422,7 @@ public virtual async Task Find_composite_key_from_store_async(CancellationType c Assert.Equal("Olive", (await Finder.FindAsync(cancellationType, context, [77, "Dog"])).Foo); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Returns_null_for_composite_key_not_in_store_async(CancellationType cancellationType) { @@ -430,7 +430,7 @@ public virtual async Task Returns_null_for_composite_key_not_in_store_async(Canc Assert.Null(await Finder.FindAsync(cancellationType, context, [77, "Fox"])); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Find_base_type_tracked_async(CancellationType cancellationType) { @@ -441,7 +441,7 @@ public virtual async Task Find_base_type_tracked_async(CancellationType cancella Assert.Same(entity, await Finder.FindAsync(cancellationType, context, [88])); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Find_base_type_from_store_async(CancellationType cancellationType) { @@ -449,7 +449,7 @@ public virtual async Task Find_base_type_from_store_async(CancellationType cance Assert.Equal("Baxter", (await Finder.FindAsync(cancellationType, context, [77])).Foo); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Returns_null_for_base_type_not_in_store_async(CancellationType cancellationType) { @@ -457,7 +457,7 @@ public virtual async Task Returns_null_for_base_type_not_in_store_async(Cancella Assert.Null(await Finder.FindAsync(cancellationType, context, [99])); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Find_derived_type_tracked_async(CancellationType cancellationType) { @@ -468,7 +468,7 @@ public virtual async Task Find_derived_type_tracked_async(CancellationType cance Assert.Same(entity, await Finder.FindAsync(cancellationType, context, [88])); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Find_derived_type_from_store_async(CancellationType cancellationType) { @@ -478,7 +478,7 @@ public virtual async Task Find_derived_type_from_store_async(CancellationType ca Assert.Equal("Cheesecake", derivedType.Boo); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Returns_null_for_derived_type_not_in_store_async(CancellationType cancellationType) { @@ -486,7 +486,7 @@ public virtual async Task Returns_null_for_derived_type_not_in_store_async(Cance Assert.Null(await Finder.FindAsync(cancellationType, context, [99])); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Find_base_type_using_derived_set_tracked_async(CancellationType cancellationType) { @@ -497,7 +497,7 @@ public virtual async Task Find_base_type_using_derived_set_tracked_async(Cancell Assert.Null(await Finder.FindAsync(cancellationType, context, [88])); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Find_base_type_using_derived_set_from_store_async(CancellationType cancellationType) { @@ -505,7 +505,7 @@ public virtual async Task Find_base_type_using_derived_set_from_store_async(Canc Assert.Null(await Finder.FindAsync(cancellationType, context, [77])); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Find_derived_type_using_base_set_tracked_async(CancellationType cancellationType) { @@ -516,7 +516,7 @@ public virtual async Task Find_derived_type_using_base_set_tracked_async(Cancell Assert.Same(entity, await Finder.FindAsync(cancellationType, context, [88])); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Find_derived_using_base_set_type_from_store_async(CancellationType cancellationType) { @@ -526,7 +526,7 @@ public virtual async Task Find_derived_using_base_set_type_from_store_async(Canc Assert.Equal("Cheesecake", ((DerivedType)derivedType).Boo); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Find_shadow_key_tracked_async(CancellationType cancellationType) { @@ -538,7 +538,7 @@ public virtual async Task Find_shadow_key_tracked_async(CancellationType cancell Assert.Same(entry.Entity, await Finder.FindAsync(cancellationType, context, [88])); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Find_shadow_key_from_store_async(CancellationType cancellationType) { @@ -546,7 +546,7 @@ public virtual async Task Find_shadow_key_from_store_async(CancellationType canc Assert.Equal("Clippy", (await Finder.FindAsync(cancellationType, context, [77])).Foo); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Returns_null_for_shadow_key_not_in_store_async(CancellationType cancellationType) { @@ -554,7 +554,7 @@ public virtual async Task Returns_null_for_shadow_key_not_in_store_async(Cancell Assert.Null(await Finder.FindAsync(cancellationType, context, [99])); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Returns_null_for_null_key_values_array_async(CancellationType cancellationType) { @@ -562,7 +562,7 @@ public virtual async Task Returns_null_for_null_key_values_array_async(Cancellat Assert.Null(await Finder.FindAsync(cancellationType, context, null)); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Returns_null_for_null_key_async(CancellationType cancellationType) { @@ -570,7 +570,7 @@ public virtual async Task Returns_null_for_null_key_async(CancellationType cance Assert.Null(await Finder.FindAsync(cancellationType, context, [null])); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Returns_null_for_null_in_composite_key_async(CancellationType cancellationType) { @@ -578,7 +578,7 @@ public virtual async Task Returns_null_for_null_in_composite_key_async(Cancellat Assert.Null(await Finder.FindAsync(cancellationType, context, [77, null])); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Throws_for_multiple_values_passed_for_simple_key_async(CancellationType cancellationType) { @@ -589,7 +589,7 @@ public virtual async Task Throws_for_multiple_values_passed_for_simple_key_async .Message); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Throws_for_wrong_number_of_values_for_composite_key_async(CancellationType cancellationType) { @@ -602,7 +602,7 @@ public virtual async Task Throws_for_wrong_number_of_values_for_composite_key_as => Finder.FindAsync(cancellationType, context, [77]).AsTask())).Message); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Throws_for_bad_type_for_simple_key_async(CancellationType cancellationType) { @@ -613,7 +613,7 @@ public virtual async Task Throws_for_bad_type_for_simple_key_async(CancellationT .Message); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Throws_for_bad_type_for_composite_key_async(CancellationType cancellationType) { @@ -624,7 +624,7 @@ public virtual async Task Throws_for_bad_type_for_composite_key_async(Cancellati => Finder.FindAsync(cancellationType, context, [77, 78]).AsTask())).Message); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Throws_for_bad_entity_type_async(CancellationType cancellationType) { @@ -635,7 +635,7 @@ public virtual async Task Throws_for_bad_entity_type_async(CancellationType canc => Finder.FindAsync(cancellationType, context, [77]).AsTask())).Message); } - [ConditionalTheory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), + [Theory, InlineData((int)CancellationType.Right), InlineData((int)CancellationType.Wrong), InlineData((int)CancellationType.None)] public virtual async Task Throws_for_bad_entity_type_with_different_namespace_async(CancellationType cancellationType) { diff --git a/test/EFCore.Specification.Tests/GraphUpdates/GraphUpdatesTestBaseMiscellaneous.cs b/test/EFCore.Specification.Tests/GraphUpdates/GraphUpdatesTestBaseMiscellaneous.cs index 4bea7ca50ce..8e0eaccea41 100644 --- a/test/EFCore.Specification.Tests/GraphUpdates/GraphUpdatesTestBaseMiscellaneous.cs +++ b/test/EFCore.Specification.Tests/GraphUpdates/GraphUpdatesTestBaseMiscellaneous.cs @@ -13,7 +13,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract partial class GraphUpdatesTestBase where TFixture : GraphUpdatesTestBase.GraphUpdatesFixtureBase, new() { - [ConditionalTheory, InlineData(false), InlineData(true)] // Issue #27299 + [Theory, InlineData(false), InlineData(true)] // Issue #27299 public virtual async Task Can_insert_when_composite_FK_has_default_value_for_one_part(bool async) => await ExecuteWithStrategyInTransactionAsync( async context => @@ -53,7 +53,7 @@ public virtual async Task Can_insert_when_composite_FK_has_default_value_for_one Assert.Equal("B", something.SomethingOfCategoryB.Name); }); - [ConditionalTheory, InlineData(false), InlineData(true)] // Issue #23974 + [Theory, InlineData(false), InlineData(true)] // Issue #23974 public virtual async Task Can_insert_when_FK_has_default_value(bool async) => await ExecuteWithStrategyInTransactionAsync( async context => @@ -76,7 +76,7 @@ public virtual async Task Can_insert_when_FK_has_default_value(bool async) Assert.Equal(cruiser.IdUserState, cruiser.UserState.AccessStateId); }); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Can_insert_when_FK_has_sentinel_value(bool async) => await ExecuteWithStrategyInTransactionAsync( async context => @@ -99,7 +99,7 @@ public virtual async Task Can_insert_when_FK_has_sentinel_value(bool async) Assert.Equal(cruiser.IdUserState, cruiser.UserState.AccessStateWithSentinelId); }); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task ClientSetDefault_with_sentinel_value_sets_FK_to_sentinel_on_delete(bool async) => await ExecuteWithStrategyInTransactionAsync( async context => @@ -156,16 +156,16 @@ public virtual async Task ClientSetDefault_with_sentinel_value_sets_FK_to_sentin Assert.Equal(667, child.ParentId); // Verify FK was persisted with sentinel value }); - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual Task Can_insert_when_bool_PK_in_composite_key_has_sentinel_value(bool async, bool initialValue) => Can_insert_when_PK_property_in_composite_key_has_sentinel_value(async, initialValue); - [ConditionalTheory, InlineData(false, 0), InlineData(true, 0), InlineData(false, 1), InlineData(true, 1), InlineData(false, 2), + [Theory, InlineData(false, 0), InlineData(true, 0), InlineData(false, 1), InlineData(true, 1), InlineData(false, 2), InlineData(true, 2)] public virtual Task Can_insert_when_int_PK_in_composite_key_has_sentinel_value(bool async, int initialValue) => Can_insert_when_PK_property_in_composite_key_has_sentinel_value(async, initialValue); - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual Task Can_insert_when_nullable_bool_PK_in_composite_key_has_sentinel_value(bool async, bool? initialValue) => Can_insert_when_PK_property_in_composite_key_has_sentinel_value(async, initialValue); @@ -203,11 +203,11 @@ await ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual Task Throws_for_single_property_bool_key_with_default_value_generation(bool async, bool initialValue) => Throws_for_single_property_key_with_default_value_generation(async, initialValue); - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public virtual Task Throws_for_single_property_nullable_bool_key_with_default_value_generation(bool async, bool? initialValue) => Throws_for_single_property_key_with_default_value_generation(async, initialValue); @@ -226,7 +226,7 @@ await ExecuteWithStrategyInTransactionAsync(async context => }); } - [ConditionalTheory, InlineData(false), InlineData(true)] // Issue #23043 + [Theory, InlineData(false), InlineData(true)] // Issue #23043 public virtual async Task Saving_multiple_modified_entities_with_the_same_key_does_not_overflow(bool async) => await ExecuteWithStrategyInTransactionAsync( async context => @@ -265,7 +265,7 @@ public virtual async Task Saving_multiple_modified_entities_with_the_same_key_do } }); - [ConditionalTheory, InlineData(false), InlineData(true)] // Issue #22465 + [Theory, InlineData(false), InlineData(true)] // Issue #22465 public virtual async Task Reset_unknown_original_value_when_current_value_is_set(bool async) => await ExecuteWithStrategyInTransactionAsync( async context => @@ -319,7 +319,7 @@ public virtual async Task Reset_unknown_original_value_when_current_value_is_set } }); - [ConditionalTheory, InlineData(false), InlineData(true)] // Issue #19856 + [Theory, InlineData(false), InlineData(true)] // Issue #19856 public virtual async Task Update_principal_with_shadow_key_owned_collection_throws(bool async) => await ExecuteWithStrategyInTransactionAsync(async context => { @@ -347,7 +347,7 @@ public virtual async Task Update_principal_with_shadow_key_owned_collection_thro : Assert.Throws(() => context.SaveChanges())).Message); }); - [ConditionalTheory, InlineData(false), InlineData(true)] // Issue #19856 + [Theory, InlineData(false), InlineData(true)] // Issue #19856 public virtual async Task Delete_principal_with_shadow_key_owned_collection_throws(bool async) => await ExecuteWithStrategyInTransactionAsync(async context => { @@ -390,7 +390,7 @@ public virtual async Task Delete_principal_with_shadow_key_owned_collection_thro } }); - [ConditionalTheory, InlineData(false, false, false), InlineData(false, false, true), InlineData(false, true, false), + [Theory, InlineData(false, false, false), InlineData(false, false, true), InlineData(false, true, false), InlineData(false, true, true), InlineData(true, false, false), InlineData(true, false, true), InlineData(true, true, false), InlineData(true, true, true)] // Issue #19856 public virtual async Task Clearing_shadow_key_owned_collection_throws(bool async, bool useUpdate, bool addNew) @@ -431,7 +431,7 @@ public virtual async Task Clearing_shadow_key_owned_collection_throws(bool async : Assert.Throws(() => context.SaveChanges())).Message); }); - [ConditionalTheory, InlineData(false), InlineData(true)] // Issue #26330 + [Theory, InlineData(false), InlineData(true)] // Issue #26330 public virtual async Task Saving_unknown_key_value_marks_it_as_unmodified(bool async) => await ExecuteWithStrategyInTransactionAsync( async context => @@ -479,7 +479,7 @@ await Assert.ThrowsAsync(async () => } }); - [ConditionalTheory, InlineData(false), InlineData(true)] // Issue #19856 + [Theory, InlineData(false), InlineData(true)] // Issue #19856 public virtual async Task Update_principal_with_CLR_key_owned_collection(bool async) => await ExecuteWithStrategyInTransactionAsync( async context => @@ -534,7 +534,7 @@ public virtual async Task Update_principal_with_CLR_key_owned_collection(bool as Assert.Equal(1, owner.OwnedCollectionPrivateKey.Count(e => e.Bar == "OfGold")); }); - [ConditionalTheory, InlineData(false), InlineData(true)] // Issue #19856 + [Theory, InlineData(false), InlineData(true)] // Issue #19856 public virtual async Task Delete_principal_with_CLR_key_owned_collection(bool async) => await ExecuteWithStrategyInTransactionAsync( async context => @@ -597,7 +597,7 @@ public virtual async Task Delete_principal_with_CLR_key_owned_collection(bool as } }); - [ConditionalTheory, InlineData(false, false, false), InlineData(false, false, true), InlineData(false, true, false), + [Theory, InlineData(false, false, false), InlineData(false, false, true), InlineData(false, true, false), InlineData(false, true, true), InlineData(true, false, false), InlineData(true, false, true), InlineData(true, true, false), InlineData(true, true, true)] // Issue #19856 public virtual async Task Clearing_CLR_key_owned_collection(bool async, bool useUpdate, bool addNew) @@ -672,7 +672,7 @@ public virtual async Task Clearing_CLR_key_owned_collection(bool async, bool use } }); - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] // Issue #19856 + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] // Issue #19856 public virtual async Task Update_principal_with_non_generated_shadow_key_owned_collection_throws(bool async, bool delete) => await ExecuteWithStrategyInTransactionAsync(async context => { @@ -721,7 +721,7 @@ public virtual async Task Update_principal_with_non_generated_shadow_key_owned_c : Assert.Throws(() => context.SaveChanges())).Message); }); - [ConditionalTheory, InlineData(false), InlineData(true)] // Issue #21206 + [Theory, InlineData(false), InlineData(true)] // Issue #21206 public virtual async Task Discriminator_values_are_not_marked_as_unknown(bool async) => await ExecuteWithStrategyInTransactionAsync( async context => @@ -767,7 +767,7 @@ public virtual async Task Discriminator_values_are_not_marked_as_unknown(bool as Assert.Equal(1, contracts.Count(e => e is ProviderContract2)); }); - [ConditionalFact] + [Fact] public virtual Task Avoid_nulling_shared_FK_property_when_deleting() => ExecuteWithStrategyInTransactionAsync( async context => @@ -864,7 +864,7 @@ public virtual Task Avoid_nulling_shared_FK_property_when_deleting() } }); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual Task Avoid_nulling_shared_FK_property_when_nulling_navigation(bool nullPrincipal) => ExecuteWithStrategyInTransactionAsync( async context => @@ -950,7 +950,7 @@ public virtual Task Avoid_nulling_shared_FK_property_when_nulling_navigation(boo Assert.Null(parent.DependantId); }); - [ConditionalFact] + [Fact] public virtual Task Mutating_discriminator_value_throws_by_convention() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -967,7 +967,7 @@ public virtual Task Mutating_discriminator_value_throws_by_convention() (await Assert.ThrowsAsync(() => context.SaveChangesAsync())).Message); }); - [ConditionalFact] + [Fact] public virtual Task Mutating_discriminator_value_can_be_configured_to_allow_mutation() { var id = 0; @@ -994,7 +994,7 @@ public virtual Task Mutating_discriminator_value_can_be_configured_to_allow_muta }); } - [ConditionalTheory, InlineData((int)ChangeMechanism.Fk), InlineData((int)ChangeMechanism.Dependent), + [Theory, InlineData((int)ChangeMechanism.Fk), InlineData((int)ChangeMechanism.Dependent), InlineData((int)(ChangeMechanism.Dependent | ChangeMechanism.Fk))] public virtual Task Changes_to_Added_relationships_are_picked_up(ChangeMechanism changeMechanism) { @@ -1048,7 +1048,7 @@ public virtual Task Changes_to_Added_relationships_are_picked_up(ChangeMechanism }); } - [ConditionalTheory, + [Theory, InlineData(false, CascadeTiming.OnSaveChanges), InlineData(false, CascadeTiming.Immediate), InlineData(false, CascadeTiming.Never), @@ -1136,7 +1136,7 @@ public virtual Task New_FK_is_not_cleared_on_old_dependent_delete( }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate), InlineData(CascadeTiming.Never), + [Theory, InlineData(CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate), InlineData(CascadeTiming.Never), InlineData(null)] public virtual async Task No_fixup_to_Deleted_entities( CascadeTiming? deleteOrphansTiming) @@ -1168,7 +1168,7 @@ public virtual async Task No_fixup_to_Deleted_entities( Assert.Contains(existing, queried); } - [ConditionalFact] + [Fact] public virtual Task Notification_entities_can_have_indexes() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -1201,7 +1201,7 @@ public virtual Task Notification_entities_can_have_indexes() Assert.Equal(EntityState.Detached, context.Entry(produce).State); }); - [ConditionalFact] + [Fact] public virtual Task Resetting_a_deleted_reference_fixes_up_again() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -1274,7 +1274,7 @@ public virtual Task Resetting_a_deleted_reference_fixes_up_again() } }); - [ConditionalFact] + [Fact] public virtual Task Detaching_principal_entity_will_remove_references_to_it() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -1364,7 +1364,7 @@ public virtual Task Detaching_principal_entity_will_remove_references_to_it() Assert.True(root.RequiredCompositeChildren.All(e => e.Parent != null)); }); - [ConditionalFact] + [Fact] public virtual Task Detaching_dependent_entity_will_not_remove_references_to_it() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -1497,7 +1497,7 @@ public virtual Task Detaching_dependent_entity_will_not_remove_references_to_it( Assert.Contains(requiredCompositeChild, root.RequiredCompositeChildren); }); - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -1561,7 +1561,7 @@ public virtual Task Re_childing_parent_to_new_child_with_delete( }); } - [ConditionalFact] + [Fact] public virtual Task Sometimes_not_calling_DetectChanges_when_required_does_not_throw_for_null_ref() => ExecuteWithStrategyInTransactionAsync( async context => @@ -1597,7 +1597,7 @@ public virtual Task Sometimes_not_calling_DetectChanges_when_required_does_not_t Assert.Empty(principal.BadOrders); }); - [ConditionalFact] + [Fact] public virtual Task Can_add_valid_first_dependent_when_multiple_possible_principal_sides() => ExecuteWithStrategyInTransactionAsync( async context => @@ -1623,7 +1623,7 @@ public virtual Task Can_add_valid_first_dependent_when_multiple_possible_princip Assert.Empty(context.Set().Include(e => e.Choices)); }); - [ConditionalFact] + [Fact] public virtual Task Can_add_valid_second_dependent_when_multiple_possible_principal_sides() => ExecuteWithStrategyInTransactionAsync( async context => @@ -1649,7 +1649,7 @@ public virtual Task Can_add_valid_second_dependent_when_multiple_possible_princi Assert.Empty(context.Set().Include(e => e.Choices)); }); - [ConditionalFact] + [Fact] public virtual Task Can_add_multiple_dependents_when_multiple_possible_principal_sides() => ExecuteWithStrategyInTransactionAsync( async context => @@ -1697,7 +1697,7 @@ public virtual Task Can_add_multiple_dependents_when_multiple_possible_principal } }); - [ConditionalTheory, InlineData(false), InlineData(true)] // Issue #30122 + [Theory, InlineData(false), InlineData(true)] // Issue #30122 public virtual Task Sever_relationship_that_will_later_be_deleted(bool async) => ExecuteWithStrategyInTransactionAsync(async context => { @@ -1723,7 +1723,7 @@ public virtual Task Sever_relationship_that_will_later_be_deleted(bool async) Assert.Contains(entries, e => e.Entity.GetType() == typeof(Swede)); }); - [ConditionalFact] // Issue #32168 + [Fact] // Issue #32168 public virtual Task Save_changed_owned_one_to_one() => ExecuteWithStrategyInTransactionAsync( async context => @@ -1764,7 +1764,7 @@ public virtual Task Save_changed_owned_one_to_one() Assert.Equal("RS2`", root.RequiredSingle.Single.Name); }); - [ConditionalFact] + [Fact] public virtual Task Save_changed_owned_one_to_many() { return ExecuteWithStrategyInTransactionAsync( @@ -1847,7 +1847,7 @@ void AssertGraph(OwnerRoot ownerRoot) } } - [ConditionalTheory, InlineData(false), InlineData(true)] // Issue #30135 + [Theory, InlineData(false), InlineData(true)] // Issue #30135 public virtual Task Update_root_by_collection_replacement_of_inserted_first_level(bool async) => ExecuteWithStrategyInTransactionAsync(async context => { @@ -1864,7 +1864,7 @@ public virtual Task Update_root_by_collection_replacement_of_inserted_first_leve } }); - [ConditionalTheory, InlineData(false), InlineData(true)] // Issue #30135 + [Theory, InlineData(false), InlineData(true)] // Issue #30135 public virtual Task Update_root_by_collection_replacement_of_deleted_first_level(bool async) => ExecuteWithStrategyInTransactionAsync(async context => { @@ -1879,7 +1879,7 @@ public virtual Task Update_root_by_collection_replacement_of_deleted_first_level } }); - [ConditionalTheory, InlineData(false), InlineData(true)] // Issue #30135 + [Theory, InlineData(false), InlineData(true)] // Issue #30135 public virtual Task Update_root_by_collection_replacement_of_inserted_second_level(bool async) => ExecuteWithStrategyInTransactionAsync(async context => { @@ -1904,7 +1904,7 @@ public virtual Task Update_root_by_collection_replacement_of_inserted_second_lev } }); - [ConditionalTheory, InlineData(false), InlineData(true)] // Issue #30135 + [Theory, InlineData(false), InlineData(true)] // Issue #30135 public virtual Task Update_root_by_collection_replacement_of_deleted_second_level( bool async) => ExecuteWithStrategyInTransactionAsync(async context => @@ -1922,7 +1922,7 @@ public virtual Task Update_root_by_collection_replacement_of_deleted_second_leve } }); - [ConditionalTheory, InlineData(false), InlineData(true)] // Issue #30135 + [Theory, InlineData(false), InlineData(true)] // Issue #30135 public virtual Task Update_root_by_collection_replacement_of_inserted_first_level_level(bool async) => ExecuteWithStrategyInTransactionAsync(async context => { @@ -1951,7 +1951,7 @@ public virtual Task Update_root_by_collection_replacement_of_inserted_first_leve } }); - [ConditionalTheory, InlineData(false), InlineData(true)] // Issue #30135 + [Theory, InlineData(false), InlineData(true)] // Issue #30135 public virtual Task Update_root_by_collection_replacement_of_deleted_third_level(bool async) => ExecuteWithStrategyInTransactionAsync(async context => { @@ -2124,7 +2124,7 @@ private static SecondLaw AddSecondLevel(bool thirdLevel1, bool thirdLevel2) return secondLevel; } - [ConditionalTheory, InlineData(false), InlineData(true)] // Issue #28961 and Issue #32385 + [Theory, InlineData(false), InlineData(true)] // Issue #28961 and Issue #32385 public virtual Task Alternate_key_over_foreign_key_doesnt_bypass_delete_behavior(bool async) => ExecuteWithStrategyInTransactionAsync(async context => { @@ -2145,7 +2145,7 @@ public virtual Task Alternate_key_over_foreign_key_doesnt_bypass_delete_behavior Assert.Equal(1, context.ChangeTracker.Entries().Count()); }); - [ConditionalTheory, InlineData(false), InlineData(true)] // Issue #30764 + [Theory, InlineData(false), InlineData(true)] // Issue #30764 public virtual Task Shadow_skip_navigation_in_base_class_is_handled(bool async) => ExecuteWithStrategyInTransactionAsync(async context => { @@ -2157,7 +2157,7 @@ public virtual Task Shadow_skip_navigation_in_base_class_is_handled(bool async) Assert.Equal(nameof(Lettuce2), context.Entry(entities[0]).Property("Discriminator").CurrentValue); }); - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] // Issue #32084 + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] // Issue #32084 public virtual Task Mark_explicitly_set_dependent_appropriately_with_any_inheritance_and_stable_generator(bool async, bool useAdd) { var parentId = Guid.NewGuid(); @@ -2217,7 +2217,7 @@ await Assert.ThrowsAsync(async () }); } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] // Issue #32084 + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] // Issue #32084 public virtual Task Mark_explicitly_set_stable_dependent_appropriately(bool async, bool useAdd) { var parentId = Guid.NewGuid(); @@ -2266,7 +2266,7 @@ public virtual Task Mark_explicitly_set_stable_dependent_appropriately(bool asyn }); } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] // Issue #32084 + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] // Issue #32084 public virtual Task Mark_explicitly_set_stable_dependent_appropriately_when_deep_in_graph(bool async, bool useAdd) { var parentId = Guid.NewGuid(); @@ -2317,7 +2317,7 @@ public virtual Task Mark_explicitly_set_stable_dependent_appropriately_when_deep } #region Issue37310 - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Can_update_many_to_many_and_reference_with_composite_key(bool async) => await ExecuteWithStrategyInTransactionAsync( async context => diff --git a/test/EFCore.Specification.Tests/GraphUpdates/GraphUpdatesTestBaseOneToMany.cs b/test/EFCore.Specification.Tests/GraphUpdates/GraphUpdatesTestBaseOneToMany.cs index 223a3e2624c..1dad6b26018 100644 --- a/test/EFCore.Specification.Tests/GraphUpdates/GraphUpdatesTestBaseOneToMany.cs +++ b/test/EFCore.Specification.Tests/GraphUpdates/GraphUpdatesTestBaseOneToMany.cs @@ -12,7 +12,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract partial class GraphUpdatesTestBase where TFixture : GraphUpdatesTestBase.GraphUpdatesFixtureBase, new() { - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Principal, false, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Principal, true, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, false, CascadeTiming.OnSaveChanges), @@ -188,7 +188,7 @@ public virtual Task Save_optional_many_to_one_dependents( }); } - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Principal, false, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Principal, true, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, false, CascadeTiming.OnSaveChanges), @@ -369,7 +369,7 @@ public virtual Task Save_required_many_to_one_dependents( }); } - [ConditionalTheory, InlineData((int)ChangeMechanism.Principal, CascadeTiming.OnSaveChanges), + [Theory, InlineData((int)ChangeMechanism.Principal, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Fk, CascadeTiming.OnSaveChanges), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent), CascadeTiming.OnSaveChanges), @@ -459,7 +459,7 @@ public virtual Task Save_removed_optional_many_to_one_dependents( }); } - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Principal, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Fk, CascadeTiming.OnSaveChanges), @@ -614,7 +614,7 @@ public virtual Task Save_removed_required_many_to_one_dependents( }); } - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Principal, false, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Principal, true, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, false, CascadeTiming.OnSaveChanges), @@ -795,7 +795,7 @@ public virtual Task Reparent_to_different_one_to_many( }); } - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Principal, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Fk, CascadeTiming.OnSaveChanges), @@ -913,7 +913,7 @@ public virtual Task Reparent_dependent_one_to_many( }); } - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Principal, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Fk, CascadeTiming.OnSaveChanges), @@ -1031,7 +1031,7 @@ public virtual Task Reparent_dependent_one_to_many_ak( }); } - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Principal, false, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Principal, true, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, false, CascadeTiming.OnSaveChanges), @@ -1215,7 +1215,7 @@ public virtual Task Reparent_one_to_many_overlapping( }); } - [ConditionalTheory, InlineData((int)ChangeMechanism.Principal, CascadeTiming.OnSaveChanges), + [Theory, InlineData((int)ChangeMechanism.Principal, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Fk, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Principal, CascadeTiming.Immediate), @@ -1271,7 +1271,7 @@ public virtual Task Mark_modified_one_to_many_overlapping( Assert.Equal(childCount, context.Set().Count()); }); - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -1364,7 +1364,7 @@ public virtual Task Required_many_to_one_dependents_are_cascade_deleted( }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -1427,7 +1427,7 @@ public virtual Task Required_many_to_one_dependent_leaves_can_be_deleted( }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -1533,7 +1533,7 @@ public virtual Task Optional_many_to_one_dependents_are_orphaned( }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -1596,7 +1596,7 @@ public virtual Task Optional_many_to_one_dependents_are_orphaned_with_Added_grap } }); - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -1659,7 +1659,7 @@ public virtual Task Optional_many_to_one_dependent_leaves_can_be_deleted( }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -1745,7 +1745,7 @@ public virtual Task Required_many_to_one_dependents_are_cascade_deleted_in_store }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -1835,7 +1835,7 @@ public virtual Task Optional_many_to_one_dependents_are_orphaned_in_store( }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -1929,7 +1929,7 @@ public virtual Task Required_many_to_one_dependents_are_cascade_deleted_starting }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -2033,7 +2033,7 @@ public virtual Task Optional_many_to_one_dependents_are_orphaned_starting_detach }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), diff --git a/test/EFCore.Specification.Tests/GraphUpdates/GraphUpdatesTestBaseOneToManyAk.cs b/test/EFCore.Specification.Tests/GraphUpdates/GraphUpdatesTestBaseOneToManyAk.cs index 1df4b874456..4cb2b5081a1 100644 --- a/test/EFCore.Specification.Tests/GraphUpdates/GraphUpdatesTestBaseOneToManyAk.cs +++ b/test/EFCore.Specification.Tests/GraphUpdates/GraphUpdatesTestBaseOneToManyAk.cs @@ -12,7 +12,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract partial class GraphUpdatesTestBase where TFixture : GraphUpdatesTestBase.GraphUpdatesFixtureBase, new() { - [ConditionalTheory, InlineData((int)ChangeMechanism.Principal, false, CascadeTiming.OnSaveChanges), + [Theory, InlineData((int)ChangeMechanism.Principal, false, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Principal, true, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, false, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, true, CascadeTiming.OnSaveChanges), @@ -209,7 +209,7 @@ public virtual Task Save_optional_many_to_one_dependents_with_alternate_key( }); } - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Principal, false, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Principal, true, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, false, CascadeTiming.OnSaveChanges), @@ -417,7 +417,7 @@ public virtual Task Save_required_many_to_one_dependents_with_alternate_key( }); } - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Principal, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Fk, CascadeTiming.OnSaveChanges), @@ -518,7 +518,7 @@ public virtual Task Save_removed_optional_many_to_one_dependents_with_alternate_ }); } - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Principal, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, CascadeTiming.OnSaveChanges), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent), CascadeTiming.OnSaveChanges), @@ -643,7 +643,7 @@ public virtual Task Save_removed_required_many_to_one_dependents_with_alternate_ }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -731,7 +731,7 @@ public virtual Task Optional_many_to_one_dependents_with_alternate_key_are_orpha }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -838,7 +838,7 @@ public virtual Task Required_many_to_one_dependents_with_alternate_key_are_casca }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -927,7 +927,7 @@ public virtual Task Required_many_to_one_dependents_with_alternate_key_are_casca }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -1031,7 +1031,7 @@ public virtual Task Optional_many_to_one_dependents_with_alternate_key_are_orpha }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -1128,7 +1128,7 @@ public virtual Task Optional_many_to_one_dependents_with_alternate_key_are_orpha }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -1229,7 +1229,7 @@ public virtual Task Required_many_to_one_dependents_with_alternate_key_are_casca }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), diff --git a/test/EFCore.Specification.Tests/GraphUpdates/GraphUpdatesTestBaseOneToOne.cs b/test/EFCore.Specification.Tests/GraphUpdates/GraphUpdatesTestBaseOneToOne.cs index 555714673fc..e7502c8dc6b 100644 --- a/test/EFCore.Specification.Tests/GraphUpdates/GraphUpdatesTestBaseOneToOne.cs +++ b/test/EFCore.Specification.Tests/GraphUpdates/GraphUpdatesTestBaseOneToOne.cs @@ -12,7 +12,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract partial class GraphUpdatesTestBase where TFixture : GraphUpdatesTestBase.GraphUpdatesFixtureBase, new() { - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate), InlineData(CascadeTiming.Never), @@ -34,7 +34,7 @@ public virtual Task Optional_one_to_one_relationships_are_one_to_one( await Assert.ThrowsAsync(() => context.SaveChangesAsync()); }); - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Principal, false, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Principal, true, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, false, CascadeTiming.OnSaveChanges), @@ -231,7 +231,7 @@ public virtual Task Save_changed_optional_one_to_one( }); } - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Principal, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Fk, CascadeTiming.OnSaveChanges), @@ -324,7 +324,7 @@ public virtual Task Sever_optional_one_to_one( }); } - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Principal, false, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Principal, true, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, false, CascadeTiming.OnSaveChanges), @@ -455,7 +455,7 @@ public virtual Task Reparent_optional_one_to_one( }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -536,7 +536,7 @@ public virtual Task Optional_one_to_one_are_orphaned( }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -594,7 +594,7 @@ public virtual Task Optional_one_to_one_leaf_can_be_deleted( }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -672,7 +672,7 @@ public virtual Task Optional_one_to_one_are_orphaned_in_store( }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -753,7 +753,7 @@ public virtual Task Optional_one_to_one_are_orphaned_starting_detached( }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate), InlineData(CascadeTiming.Never), @@ -775,7 +775,7 @@ public virtual Task Required_one_to_one_relationships_are_one_to_one( await Assert.ThrowsAsync(() => context.SaveChangesAsync()); }); - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Principal, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Fk, CascadeTiming.OnSaveChanges), @@ -903,7 +903,7 @@ await ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Principal, false, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Principal, true, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, false, CascadeTiming.OnSaveChanges), @@ -1141,7 +1141,7 @@ public virtual Task Save_required_non_PK_one_to_one_changed_by_reference( }); } - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Principal, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, CascadeTiming.OnSaveChanges), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent), CascadeTiming.OnSaveChanges), @@ -1237,7 +1237,7 @@ public virtual Task Sever_required_one_to_one( }); } - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Principal, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, CascadeTiming.OnSaveChanges), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent), CascadeTiming.OnSaveChanges), @@ -1342,7 +1342,7 @@ public virtual Task Sever_required_non_PK_one_to_one( }); } - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Principal, false, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Principal, true, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, false, CascadeTiming.OnSaveChanges), @@ -1450,7 +1450,7 @@ public virtual Task Reparent_required_one_to_one( }); } - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Principal, false, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Principal, true, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, false, CascadeTiming.OnSaveChanges), @@ -1581,7 +1581,7 @@ public virtual Task Reparent_required_non_PK_one_to_one( }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -1672,7 +1672,7 @@ public virtual Task Required_one_to_one_are_cascade_deleted( }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -1734,7 +1734,7 @@ public virtual Task Required_one_to_one_leaf_can_be_deleted( }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -1820,7 +1820,7 @@ public virtual Task Required_non_PK_one_to_one_are_cascade_deleted( }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -1877,7 +1877,7 @@ public virtual Task Required_non_PK_one_to_one_leaf_can_be_deleted( }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -1954,7 +1954,7 @@ public virtual Task Required_one_to_one_are_cascade_deleted_in_store( }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -2034,7 +2034,7 @@ public virtual Task Required_non_PK_one_to_one_are_cascade_deleted_in_store( }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -2129,7 +2129,7 @@ public virtual Task Required_one_to_one_are_cascade_deleted_starting_detached( }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -2215,7 +2215,7 @@ public virtual Task Required_non_PK_one_to_one_are_cascade_deleted_starting_deta }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -2322,7 +2322,7 @@ public virtual Task Required_one_to_one_are_cascade_detached_when_Added( }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), diff --git a/test/EFCore.Specification.Tests/GraphUpdates/GraphUpdatesTestBaseOneToOneAk.cs b/test/EFCore.Specification.Tests/GraphUpdates/GraphUpdatesTestBaseOneToOneAk.cs index 45634ea9f8a..71fd78ed5b7 100644 --- a/test/EFCore.Specification.Tests/GraphUpdates/GraphUpdatesTestBaseOneToOneAk.cs +++ b/test/EFCore.Specification.Tests/GraphUpdates/GraphUpdatesTestBaseOneToOneAk.cs @@ -12,7 +12,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract partial class GraphUpdatesTestBase where TFixture : GraphUpdatesTestBase.GraphUpdatesFixtureBase, new() { - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate), InlineData(CascadeTiming.Never), @@ -34,7 +34,7 @@ public virtual Task Optional_one_to_one_with_AK_relationships_are_one_to_one( await Assert.ThrowsAsync(async () => await context.SaveChangesAsync()); }); - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Principal, false, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Principal, true, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, false, CascadeTiming.OnSaveChanges), @@ -249,7 +249,7 @@ public virtual Task Save_changed_optional_one_to_one_with_alternate_key( }); } - [ConditionalFact] + [Fact] public virtual Task Save_changed_optional_one_to_one_with_alternate_key_in_store() { var new2 = new OptionalSingleAk2 { AlternateId = Guid.NewGuid() }; @@ -418,7 +418,7 @@ public virtual Task Save_changed_optional_one_to_one_with_alternate_key_in_store }); } - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Principal, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Fk, CascadeTiming.OnSaveChanges), @@ -520,7 +520,7 @@ public virtual Task Sever_optional_one_to_one_with_alternate_key( }); } - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Principal, false, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Principal, true, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, false, CascadeTiming.OnSaveChanges), @@ -660,7 +660,7 @@ public virtual Task Reparent_optional_one_to_one_with_alternate_key( }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -756,7 +756,7 @@ public virtual Task Optional_one_to_one_with_alternate_key_are_orphaned( }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -842,7 +842,7 @@ public virtual Task Optional_one_to_one_with_alternate_key_are_orphaned_in_store }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -930,7 +930,7 @@ public virtual Task Optional_one_to_one_with_alternate_key_are_orphaned_starting }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate), InlineData(CascadeTiming.Never), @@ -952,7 +952,7 @@ public virtual Task Required_one_to_one_with_AK_relationships_are_one_to_one( await Assert.ThrowsAsync(() => context.SaveChangesAsync()); }); - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Principal, false, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Principal, true, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, false, CascadeTiming.OnSaveChanges), @@ -1149,7 +1149,7 @@ public virtual Task Save_required_one_to_one_changed_by_reference_with_alternate }); } - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Principal, false, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Principal, true, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, false, CascadeTiming.OnSaveChanges), @@ -1396,7 +1396,7 @@ public virtual Task Save_required_non_PK_one_to_one_changed_by_reference_with_al }); } - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Principal, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, CascadeTiming.OnSaveChanges), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent), CascadeTiming.OnSaveChanges), @@ -1529,7 +1529,7 @@ public virtual Task Sever_required_one_to_one_with_alternate_key( }); } - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Principal, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, CascadeTiming.OnSaveChanges), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent), CascadeTiming.OnSaveChanges), @@ -1636,7 +1636,7 @@ public virtual Task Sever_required_non_PK_one_to_one_with_alternate_key( }); } - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Principal, false, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Principal, true, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, false, CascadeTiming.OnSaveChanges), @@ -1784,7 +1784,7 @@ public virtual Task Reparent_required_one_to_one_with_alternate_key( }); } - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Principal, false, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Principal, true, CascadeTiming.OnSaveChanges), InlineData((int)ChangeMechanism.Dependent, false, CascadeTiming.OnSaveChanges), @@ -1914,7 +1914,7 @@ public virtual Task Reparent_required_non_PK_one_to_one_with_alternate_key( }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -2024,7 +2024,7 @@ public virtual Task Required_one_to_one_with_alternate_key_are_cascade_deleted( }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -2110,7 +2110,7 @@ public virtual Task Required_non_PK_one_to_one_with_alternate_key_are_cascade_de }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -2190,7 +2190,7 @@ public virtual Task Required_one_to_one_with_alternate_key_are_cascade_deleted_i }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -2270,7 +2270,7 @@ public virtual Task Required_non_PK_one_to_one_with_alternate_key_are_cascade_de }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -2376,7 +2376,7 @@ public virtual Task Required_one_to_one_with_alternate_key_are_cascade_deleted_s }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -2462,7 +2462,7 @@ public virtual Task Required_non_PK_one_to_one_with_alternate_key_are_cascade_de }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -2587,7 +2587,7 @@ public virtual Task Required_one_to_one_with_alternate_key_are_cascade_detached_ }); } - [ConditionalTheory, + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), diff --git a/test/EFCore.Specification.Tests/GraphUpdates/ProxyGraphUpdatesTestBaseMiscellaneous.cs b/test/EFCore.Specification.Tests/GraphUpdates/ProxyGraphUpdatesTestBaseMiscellaneous.cs index b8621a695c9..5a24102ca73 100644 --- a/test/EFCore.Specification.Tests/GraphUpdates/ProxyGraphUpdatesTestBaseMiscellaneous.cs +++ b/test/EFCore.Specification.Tests/GraphUpdates/ProxyGraphUpdatesTestBaseMiscellaneous.cs @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract partial class ProxyGraphUpdatesTestBase where TFixture : ProxyGraphUpdatesTestBase.ProxyGraphUpdatesFixtureBase, new() { - [ConditionalFact] + [Fact] public virtual Task Save_two_entity_cycle_with_lazy_loading() => ExecuteWithStrategyInTransactionAsync( context => @@ -59,7 +59,7 @@ public virtual Task Save_two_entity_cycle_with_lazy_loading() return Task.CompletedTask; }); - [ConditionalFact] + [Fact] public virtual Task Can_use_record_proxies_with_base_types_to_load_reference() => ExecuteWithStrategyInTransactionAsync( context => @@ -86,7 +86,7 @@ public virtual Task Can_use_record_proxies_with_base_types_to_load_reference() return Task.CompletedTask; }); - [ConditionalFact] + [Fact] public virtual Task Can_use_record_proxies_with_base_types_to_load_collection() => ExecuteWithStrategyInTransactionAsync( context => @@ -113,7 +113,7 @@ public virtual Task Can_use_record_proxies_with_base_types_to_load_collection() return Task.CompletedTask; }); - [ConditionalFact] + [Fact] public virtual Task Avoid_nulling_shared_FK_property_when_deleting() => ExecuteWithStrategyInTransactionAsync( context => @@ -194,7 +194,7 @@ public virtual Task Avoid_nulling_shared_FK_property_when_deleting() return Task.CompletedTask; }); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual Task Avoid_nulling_shared_FK_property_when_nulling_navigation(bool nullPrincipal) => ExecuteWithStrategyInTransactionAsync( context => @@ -281,7 +281,7 @@ public virtual Task Avoid_nulling_shared_FK_property_when_nulling_navigation(boo return Task.CompletedTask; }); - [ConditionalFact] + [Fact] public virtual async Task No_fixup_to_Deleted_entities() { using var context = CreateContext(); @@ -311,7 +311,7 @@ public virtual async Task No_fixup_to_Deleted_entities() Assert.Contains(existing, queried); } - [ConditionalFact] + [Fact] public virtual Task Sometimes_not_calling_DetectChanges_when_required_does_not_throw_for_null_ref() => ExecuteWithStrategyInTransactionAsync( context => @@ -346,7 +346,7 @@ public virtual Task Sometimes_not_calling_DetectChanges_when_required_does_not_t return Task.CompletedTask; }); - [ConditionalFact] + [Fact] public virtual Task Can_attach_full_required_graph_of_duplicates() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -360,7 +360,7 @@ public virtual Task Can_attach_full_required_graph_of_duplicates() Assert.Equal(0, context.SaveChanges()); }); - [ConditionalFact] + [Fact] public virtual Task Can_attach_full_optional_graph_of_duplicates() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -374,7 +374,7 @@ public virtual Task Can_attach_full_optional_graph_of_duplicates() Assert.Equal(0, context.SaveChanges()); }); - [ConditionalFact] + [Fact] public virtual Task Can_attach_full_required_non_PK_graph_of_duplicates() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -388,7 +388,7 @@ public virtual Task Can_attach_full_required_non_PK_graph_of_duplicates() Assert.Equal(0, context.SaveChanges()); }); - [ConditionalFact] + [Fact] public virtual Task Can_attach_full_required_AK_graph_of_duplicates() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -402,7 +402,7 @@ public virtual Task Can_attach_full_required_AK_graph_of_duplicates() Assert.Equal(0, context.SaveChanges()); }); - [ConditionalFact] + [Fact] public virtual Task Can_attach_full_optional_AK_graph_of_duplicates() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -416,7 +416,7 @@ public virtual Task Can_attach_full_optional_AK_graph_of_duplicates() Assert.Equal(0, context.SaveChanges()); }); - [ConditionalFact] + [Fact] public virtual Task Can_attach_full_required_non_PK_AK_graph_of_duplicates() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -430,7 +430,7 @@ public virtual Task Can_attach_full_required_non_PK_AK_graph_of_duplicates() Assert.Equal(0, context.SaveChanges()); }); - [ConditionalFact] + [Fact] public virtual Task Can_attach_full_required_one_to_many_graph_of_duplicates() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -444,7 +444,7 @@ public virtual Task Can_attach_full_required_one_to_many_graph_of_duplicates() Assert.Equal(0, context.SaveChanges()); }); - [ConditionalFact] + [Fact] public virtual Task Can_attach_full_required_composite_graph_of_duplicates() => ExecuteWithStrategyInTransactionAsync(async context => { diff --git a/test/EFCore.Specification.Tests/GraphUpdates/ProxyGraphUpdatesTestBaseOneToMany.cs b/test/EFCore.Specification.Tests/GraphUpdates/ProxyGraphUpdatesTestBaseOneToMany.cs index cc5c460be6d..f720331b037 100644 --- a/test/EFCore.Specification.Tests/GraphUpdates/ProxyGraphUpdatesTestBaseOneToMany.cs +++ b/test/EFCore.Specification.Tests/GraphUpdates/ProxyGraphUpdatesTestBaseOneToMany.cs @@ -12,7 +12,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract partial class ProxyGraphUpdatesTestBase : IClassFixture where TFixture : ProxyGraphUpdatesTestBase.ProxyGraphUpdatesFixtureBase, new() { - [ConditionalTheory, InlineData((int)ChangeMechanism.Principal, false), InlineData((int)ChangeMechanism.Principal, true), + [Theory, InlineData((int)ChangeMechanism.Principal, false), InlineData((int)ChangeMechanism.Principal, true), InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), InlineData((int)ChangeMechanism.Fk, false), InlineData((int)ChangeMechanism.Fk, true), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent), false), @@ -142,7 +142,7 @@ public virtual Task Save_optional_many_to_one_dependents(ChangeMechanism changeM }); } - [ConditionalTheory, InlineData((int)ChangeMechanism.Principal, false), InlineData((int)ChangeMechanism.Principal, true), + [Theory, InlineData((int)ChangeMechanism.Principal, false), InlineData((int)ChangeMechanism.Principal, true), InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), InlineData((int)ChangeMechanism.Fk, false), InlineData((int)ChangeMechanism.Fk, true), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent), false), @@ -278,7 +278,7 @@ public virtual Task Save_required_many_to_one_dependents(ChangeMechanism changeM }); } - [ConditionalTheory, InlineData((int)ChangeMechanism.Principal), InlineData((int)ChangeMechanism.Dependent), + [Theory, InlineData((int)ChangeMechanism.Principal), InlineData((int)ChangeMechanism.Dependent), InlineData((int)ChangeMechanism.Fk), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent)), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Fk)), InlineData((int)(ChangeMechanism.Fk | ChangeMechanism.Dependent)), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent | ChangeMechanism.Fk))] @@ -349,7 +349,7 @@ public virtual Task Save_removed_optional_many_to_one_dependents(ChangeMechanism }); } - [ConditionalTheory, InlineData((int)ChangeMechanism.Principal), InlineData((int)ChangeMechanism.Dependent), + [Theory, InlineData((int)ChangeMechanism.Principal), InlineData((int)ChangeMechanism.Dependent), InlineData((int)ChangeMechanism.Fk), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent)), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Fk)), InlineData((int)(ChangeMechanism.Fk | ChangeMechanism.Dependent)), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent | ChangeMechanism.Fk))] @@ -419,7 +419,7 @@ public virtual Task Save_removed_required_many_to_one_dependents(ChangeMechanism }); } - [ConditionalTheory, InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), + [Theory, InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), InlineData((int)ChangeMechanism.Principal, false), InlineData((int)ChangeMechanism.Principal, true), InlineData((int)ChangeMechanism.Fk, false), InlineData((int)ChangeMechanism.Fk, true), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent), false), @@ -554,7 +554,7 @@ public virtual Task Reparent_to_different_one_to_many(ChangeMechanism changeMech }); } - [ConditionalTheory, InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), + [Theory, InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), InlineData((int)ChangeMechanism.Principal, false), InlineData((int)ChangeMechanism.Principal, true), InlineData((int)ChangeMechanism.Fk, false), InlineData((int)ChangeMechanism.Fk, true), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent), false), @@ -703,7 +703,7 @@ public virtual Task Reparent_one_to_many_overlapping(ChangeMechanism changeMecha }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -789,7 +789,7 @@ public virtual Task Required_many_to_one_dependents_are_cascade_deleted( }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -886,7 +886,7 @@ public virtual Task Optional_many_to_one_dependents_are_orphaned( }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -939,7 +939,7 @@ public virtual Task Optional_many_to_one_dependents_are_orphaned_with_Added_grap return Task.CompletedTask; }); - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -1020,7 +1020,7 @@ public virtual Task Required_many_to_one_dependents_are_cascade_deleted_in_store }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -1107,7 +1107,7 @@ public virtual Task Optional_many_to_one_dependents_are_orphaned_in_store( }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -1203,7 +1203,7 @@ public virtual Task Required_many_to_one_dependents_are_cascade_deleted_starting }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -1303,7 +1303,7 @@ public virtual Task Optional_many_to_one_dependents_are_orphaned_starting_detach }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), diff --git a/test/EFCore.Specification.Tests/GraphUpdates/ProxyGraphUpdatesTestBaseOneToManyAk.cs b/test/EFCore.Specification.Tests/GraphUpdates/ProxyGraphUpdatesTestBaseOneToManyAk.cs index 89f2a0d2851..03b6fb0e61f 100644 --- a/test/EFCore.Specification.Tests/GraphUpdates/ProxyGraphUpdatesTestBaseOneToManyAk.cs +++ b/test/EFCore.Specification.Tests/GraphUpdates/ProxyGraphUpdatesTestBaseOneToManyAk.cs @@ -12,7 +12,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract partial class ProxyGraphUpdatesTestBase : IClassFixture where TFixture : ProxyGraphUpdatesTestBase.ProxyGraphUpdatesFixtureBase, new() { - [ConditionalTheory, InlineData((int)ChangeMechanism.Principal, false), InlineData((int)ChangeMechanism.Principal, true), + [Theory, InlineData((int)ChangeMechanism.Principal, false), InlineData((int)ChangeMechanism.Principal, true), InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), InlineData((int)ChangeMechanism.Fk, false), InlineData((int)ChangeMechanism.Fk, true), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent), false), @@ -166,7 +166,7 @@ public virtual Task Save_optional_many_to_one_dependents_with_alternate_key( }); } - [ConditionalTheory, InlineData((int)ChangeMechanism.Principal, false), InlineData((int)ChangeMechanism.Principal, true), + [Theory, InlineData((int)ChangeMechanism.Principal, false), InlineData((int)ChangeMechanism.Principal, true), InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), InlineData((int)ChangeMechanism.Fk, false), InlineData((int)ChangeMechanism.Fk, true), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent), false), @@ -354,7 +354,7 @@ public virtual Task Save_required_many_to_one_dependents_with_alternate_key( }); } - [ConditionalTheory, InlineData((int)ChangeMechanism.Principal), InlineData((int)ChangeMechanism.Dependent), + [Theory, InlineData((int)ChangeMechanism.Principal), InlineData((int)ChangeMechanism.Dependent), InlineData((int)ChangeMechanism.Fk), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent)), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Fk)), InlineData((int)(ChangeMechanism.Fk | ChangeMechanism.Dependent)), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent | ChangeMechanism.Fk))] @@ -435,7 +435,7 @@ public virtual Task Save_removed_optional_many_to_one_dependents_with_alternate_ }); } - [ConditionalTheory, InlineData((int)ChangeMechanism.Principal), InlineData((int)ChangeMechanism.Dependent), + [Theory, InlineData((int)ChangeMechanism.Principal), InlineData((int)ChangeMechanism.Dependent), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent))] public virtual Task Save_removed_required_many_to_one_dependents_with_alternate_key(ChangeMechanism changeMechanism) { @@ -515,7 +515,7 @@ public virtual Task Save_removed_required_many_to_one_dependents_with_alternate_ }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -592,7 +592,7 @@ public virtual Task Optional_many_to_one_dependents_with_alternate_key_are_orpha }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -685,7 +685,7 @@ public virtual Task Required_many_to_one_dependents_with_alternate_key_are_casca }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -770,7 +770,7 @@ public virtual Task Required_many_to_one_dependents_with_alternate_key_are_casca }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -872,7 +872,7 @@ public virtual Task Optional_many_to_one_dependents_with_alternate_key_are_orpha }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -966,7 +966,7 @@ public virtual Task Optional_many_to_one_dependents_with_alternate_key_are_orpha }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -1070,7 +1070,7 @@ public virtual Task Required_many_to_one_dependents_with_alternate_key_are_casca }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), diff --git a/test/EFCore.Specification.Tests/GraphUpdates/ProxyGraphUpdatesTestBaseOneToOne.cs b/test/EFCore.Specification.Tests/GraphUpdates/ProxyGraphUpdatesTestBaseOneToOne.cs index 45023d93acc..d023857b04d 100644 --- a/test/EFCore.Specification.Tests/GraphUpdates/ProxyGraphUpdatesTestBaseOneToOne.cs +++ b/test/EFCore.Specification.Tests/GraphUpdates/ProxyGraphUpdatesTestBaseOneToOne.cs @@ -12,7 +12,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract partial class ProxyGraphUpdatesTestBase : IClassFixture where TFixture : ProxyGraphUpdatesTestBase.ProxyGraphUpdatesFixtureBase, new() { - [ConditionalFact] + [Fact] public virtual Task Optional_one_to_one_relationships_are_one_to_one() => ExecuteWithStrategyInTransactionAsync(context => { @@ -24,7 +24,7 @@ public virtual Task Optional_one_to_one_relationships_are_one_to_one() return Task.CompletedTask; }); - [ConditionalFact] + [Fact] public virtual Task Required_one_to_one_relationships_are_one_to_one() => ExecuteWithStrategyInTransactionAsync(context => { @@ -36,7 +36,7 @@ public virtual Task Required_one_to_one_relationships_are_one_to_one() return Task.CompletedTask; }); - [ConditionalFact] + [Fact] public virtual Task Optional_one_to_one_with_AK_relationships_are_one_to_one() => ExecuteWithStrategyInTransactionAsync(context => { @@ -48,7 +48,7 @@ public virtual Task Optional_one_to_one_with_AK_relationships_are_one_to_one() return Task.CompletedTask; }); - [ConditionalFact] + [Fact] public virtual Task Required_one_to_one_with_AK_relationships_are_one_to_one() => ExecuteWithStrategyInTransactionAsync(context => { @@ -60,7 +60,7 @@ public virtual Task Required_one_to_one_with_AK_relationships_are_one_to_one() return Task.CompletedTask; }); - [ConditionalTheory, InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), + [Theory, InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), InlineData((int)ChangeMechanism.Principal, false), InlineData((int)ChangeMechanism.Principal, true), InlineData((int)ChangeMechanism.Fk, false), InlineData((int)ChangeMechanism.Fk, true), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent), false), @@ -221,7 +221,7 @@ public virtual Task Save_changed_optional_one_to_one(ChangeMechanism changeMecha }); } - [ConditionalTheory, InlineData((int)ChangeMechanism.Dependent), InlineData((int)ChangeMechanism.Principal), + [Theory, InlineData((int)ChangeMechanism.Dependent), InlineData((int)ChangeMechanism.Principal), InlineData((int)ChangeMechanism.Fk), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent)), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Fk)), InlineData((int)(ChangeMechanism.Fk | ChangeMechanism.Dependent)), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent | ChangeMechanism.Fk))] @@ -302,7 +302,7 @@ await ExecuteWithStrategyInTransactionAsync(context => }); } - [ConditionalTheory, InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), + [Theory, InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), InlineData((int)ChangeMechanism.Principal, false), InlineData((int)ChangeMechanism.Principal, true), InlineData((int)ChangeMechanism.Fk, false), InlineData((int)ChangeMechanism.Fk, true), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent), false), @@ -476,7 +476,7 @@ public virtual Task Save_required_non_PK_one_to_one_changed_by_reference(ChangeM }); } - [ConditionalTheory, InlineData((int)ChangeMechanism.Dependent), InlineData((int)ChangeMechanism.Principal), + [Theory, InlineData((int)ChangeMechanism.Dependent), InlineData((int)ChangeMechanism.Principal), InlineData((int)ChangeMechanism.Fk), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent)), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Fk)), InlineData((int)(ChangeMechanism.Fk | ChangeMechanism.Dependent)), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent | ChangeMechanism.Fk))] @@ -548,7 +548,7 @@ public virtual Task Sever_optional_one_to_one(ChangeMechanism changeMechanism) }); } - [ConditionalTheory, InlineData((int)ChangeMechanism.Dependent), InlineData((int)ChangeMechanism.Principal), + [Theory, InlineData((int)ChangeMechanism.Dependent), InlineData((int)ChangeMechanism.Principal), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent))] public virtual Task Sever_required_one_to_one(ChangeMechanism changeMechanism) { @@ -609,7 +609,7 @@ public virtual Task Sever_required_one_to_one(ChangeMechanism changeMechanism) }); } - [ConditionalTheory, InlineData((int)ChangeMechanism.Dependent), InlineData((int)ChangeMechanism.Principal), + [Theory, InlineData((int)ChangeMechanism.Dependent), InlineData((int)ChangeMechanism.Principal), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent))] public virtual Task Sever_required_non_PK_one_to_one(ChangeMechanism changeMechanism) { @@ -670,7 +670,7 @@ public virtual Task Sever_required_non_PK_one_to_one(ChangeMechanism changeMecha }); } - [ConditionalTheory, InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), + [Theory, InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), InlineData((int)ChangeMechanism.Principal, false), InlineData((int)ChangeMechanism.Principal, true), InlineData((int)ChangeMechanism.Fk, false), InlineData((int)ChangeMechanism.Fk, true), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent), false), @@ -762,7 +762,7 @@ public virtual Task Reparent_optional_one_to_one(ChangeMechanism changeMechanism }); } - [ConditionalTheory, InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), + [Theory, InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), InlineData((int)ChangeMechanism.Principal, false), InlineData((int)ChangeMechanism.Principal, true), InlineData((int)ChangeMechanism.Fk, false), InlineData((int)ChangeMechanism.Fk, true), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent), false), @@ -826,7 +826,7 @@ public virtual Task Reparent_required_one_to_one(ChangeMechanism changeMechanism }); } - [ConditionalTheory, InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), + [Theory, InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), InlineData((int)ChangeMechanism.Principal, false), InlineData((int)ChangeMechanism.Principal, true), InlineData((int)ChangeMechanism.Fk, false), InlineData((int)ChangeMechanism.Fk, true), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent), false), @@ -918,7 +918,7 @@ public virtual Task Reparent_required_non_PK_one_to_one(ChangeMechanism changeMe }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -983,7 +983,7 @@ public virtual Task Optional_one_to_one_are_orphaned( }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -1063,7 +1063,7 @@ public virtual Task Required_one_to_one_are_cascade_deleted( }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -1143,7 +1143,7 @@ public virtual Task Required_non_PK_one_to_one_are_cascade_deleted( }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -1241,7 +1241,7 @@ public virtual Task Required_one_to_one_are_cascade_deleted_in_store( }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -1339,7 +1339,7 @@ public virtual Task Required_non_PK_one_to_one_are_cascade_deleted_in_store( }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -1421,7 +1421,7 @@ public virtual Task Optional_one_to_one_are_orphaned_in_store( }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -1501,7 +1501,7 @@ public virtual Task Optional_one_to_one_are_orphaned_starting_detached( }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -1592,7 +1592,7 @@ public virtual Task Required_one_to_one_are_cascade_deleted_starting_detached( }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -1683,7 +1683,7 @@ public virtual Task Required_non_PK_one_to_one_are_cascade_deleted_starting_deta }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -1771,7 +1771,7 @@ public virtual Task Required_one_to_one_are_cascade_detached_when_Added( }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), diff --git a/test/EFCore.Specification.Tests/GraphUpdates/ProxyGraphUpdatesTestBaseOneToOneAk.cs b/test/EFCore.Specification.Tests/GraphUpdates/ProxyGraphUpdatesTestBaseOneToOneAk.cs index 183eb4c9f5a..97e5ae3297a 100644 --- a/test/EFCore.Specification.Tests/GraphUpdates/ProxyGraphUpdatesTestBaseOneToOneAk.cs +++ b/test/EFCore.Specification.Tests/GraphUpdates/ProxyGraphUpdatesTestBaseOneToOneAk.cs @@ -12,7 +12,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract partial class ProxyGraphUpdatesTestBase : IClassFixture where TFixture : ProxyGraphUpdatesTestBase.ProxyGraphUpdatesFixtureBase, new() { - [ConditionalTheory, + [Theory, InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), InlineData((int)ChangeMechanism.Principal, false), @@ -206,7 +206,7 @@ public virtual Task Save_changed_optional_one_to_one_with_alternate_key(ChangeMe }); } - [ConditionalFact] + [Fact] public virtual Task Save_changed_optional_one_to_one_with_alternate_key_in_store() { OptionalSingleAk2 new2; @@ -397,7 +397,7 @@ public virtual Task Save_changed_optional_one_to_one_with_alternate_key_in_store }); } - [ConditionalTheory, InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), + [Theory, InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), InlineData((int)ChangeMechanism.Principal, false), InlineData((int)ChangeMechanism.Principal, true), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent), false), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent), true)] @@ -513,7 +513,7 @@ public virtual Task Save_required_one_to_one_changed_by_reference_with_alternate }); } - [ConditionalTheory, InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), + [Theory, InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), InlineData((int)ChangeMechanism.Principal, false), InlineData((int)ChangeMechanism.Principal, true), InlineData((int)ChangeMechanism.Fk, false), InlineData((int)ChangeMechanism.Fk, true), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent), false), @@ -696,7 +696,7 @@ public virtual Task Save_required_non_PK_one_to_one_changed_by_reference_with_al }); } - [ConditionalTheory, InlineData((int)ChangeMechanism.Dependent), InlineData((int)ChangeMechanism.Principal), + [Theory, InlineData((int)ChangeMechanism.Dependent), InlineData((int)ChangeMechanism.Principal), InlineData((int)ChangeMechanism.Fk), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent)), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Fk)), InlineData((int)(ChangeMechanism.Fk | ChangeMechanism.Dependent)), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent | ChangeMechanism.Fk))] @@ -778,7 +778,7 @@ public virtual Task Sever_optional_one_to_one_with_alternate_key(ChangeMechanism }); } - [ConditionalTheory, InlineData((int)ChangeMechanism.Dependent), InlineData((int)ChangeMechanism.Principal), + [Theory, InlineData((int)ChangeMechanism.Dependent), InlineData((int)ChangeMechanism.Principal), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent))] public virtual Task Sever_required_one_to_one_with_alternate_key(ChangeMechanism changeMechanism) { @@ -846,7 +846,7 @@ public virtual Task Sever_required_one_to_one_with_alternate_key(ChangeMechanism }); } - [ConditionalTheory, InlineData((int)ChangeMechanism.Dependent), InlineData((int)ChangeMechanism.Principal), + [Theory, InlineData((int)ChangeMechanism.Dependent), InlineData((int)ChangeMechanism.Principal), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent))] public virtual Task Sever_required_non_PK_one_to_one_with_alternate_key(ChangeMechanism changeMechanism) { @@ -913,7 +913,7 @@ public virtual Task Sever_required_non_PK_one_to_one_with_alternate_key(ChangeMe }); } - [ConditionalTheory, InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), + [Theory, InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), InlineData((int)ChangeMechanism.Principal, false), InlineData((int)ChangeMechanism.Principal, true), InlineData((int)ChangeMechanism.Fk, false), InlineData((int)ChangeMechanism.Fk, true), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent), false), @@ -1013,7 +1013,7 @@ public virtual Task Reparent_optional_one_to_one_with_alternate_key(ChangeMechan }); } - [ConditionalTheory, InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), + [Theory, InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), InlineData((int)ChangeMechanism.Principal, false), InlineData((int)ChangeMechanism.Principal, true), InlineData((int)ChangeMechanism.Fk, false), InlineData((int)ChangeMechanism.Fk, true), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent), false), @@ -1115,7 +1115,7 @@ public virtual Task Reparent_required_one_to_one_with_alternate_key(ChangeMechan }); } - [ConditionalTheory, InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), + [Theory, InlineData((int)ChangeMechanism.Dependent, false), InlineData((int)ChangeMechanism.Dependent, true), InlineData((int)ChangeMechanism.Principal, false), InlineData((int)ChangeMechanism.Principal, true), InlineData((int)ChangeMechanism.Fk, false), InlineData((int)ChangeMechanism.Fk, true), InlineData((int)(ChangeMechanism.Principal | ChangeMechanism.Dependent), false), @@ -1207,7 +1207,7 @@ public virtual Task Reparent_required_non_PK_one_to_one_with_alternate_key(Chang }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -1284,7 +1284,7 @@ public virtual Task Optional_one_to_one_with_alternate_key_are_orphaned( }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -1371,7 +1371,7 @@ public virtual Task Required_one_to_one_with_alternate_key_are_cascade_deleted( }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -1451,7 +1451,7 @@ public virtual Task Required_non_PK_one_to_one_with_alternate_key_are_cascade_de }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -1546,7 +1546,7 @@ public virtual Task Required_one_to_one_with_alternate_key_are_cascade_deleted_i }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -1639,7 +1639,7 @@ public virtual Task Required_non_PK_one_to_one_with_alternate_key_are_cascade_de }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -1730,7 +1730,7 @@ public virtual Task Optional_one_to_one_with_alternate_key_are_orphaned_in_store }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -1818,7 +1818,7 @@ public virtual Task Optional_one_to_one_with_alternate_key_are_orphaned_starting }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -1917,7 +1917,7 @@ public virtual Task Required_one_to_one_with_alternate_key_are_cascade_deleted_s }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -2008,7 +2008,7 @@ public virtual Task Required_non_PK_one_to_one_with_alternate_key_are_cascade_de }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), @@ -2105,7 +2105,7 @@ public virtual Task Required_one_to_one_with_alternate_key_are_cascade_detached_ }); } - [ConditionalTheory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), + [Theory, InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges, CascadeTiming.Never), InlineData(CascadeTiming.Immediate, CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Immediate, CascadeTiming.Immediate), InlineData(CascadeTiming.Immediate, CascadeTiming.Never), InlineData(CascadeTiming.Never, CascadeTiming.OnSaveChanges), diff --git a/test/EFCore.Specification.Tests/JsonTypesTestBase.cs b/test/EFCore.Specification.Tests/JsonTypesTestBase.cs index e93ea1ee233..c50aeef9b48 100644 --- a/test/EFCore.Specification.Tests/JsonTypesTestBase.cs +++ b/test/EFCore.Specification.Tests/JsonTypesTestBase.cs @@ -19,7 +19,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract class JsonTypesTestBase(NonSharedFixture fixture) : NonSharedModelTestBase(fixture), IClassFixture { - [ConditionalTheory, InlineData(sbyte.MinValue, """{"Prop":-128}"""), InlineData(sbyte.MaxValue, """{"Prop":127}"""), + [Theory, InlineData(sbyte.MinValue, """{"Prop":-128}"""), InlineData(sbyte.MaxValue, """{"Prop":127}"""), InlineData((sbyte)0, """{"Prop":0}"""), InlineData((sbyte)1, """{"Prop":1}""")] public virtual Task Can_read_write_sbyte_JSON_values(sbyte value, string json) => Can_read_and_write_JSON_value(nameof(Int8Type.Int8), value, json); @@ -29,7 +29,7 @@ protected class Int8Type public sbyte Int8 { get; set; } } - [ConditionalTheory, InlineData(short.MinValue, """{"Prop":-32768}"""), InlineData(short.MaxValue, """{"Prop":32767}"""), + [Theory, InlineData(short.MinValue, """{"Prop":-32768}"""), InlineData(short.MaxValue, """{"Prop":32767}"""), InlineData((short)0, """{"Prop":0}"""), InlineData((short)1, """{"Prop":1}""")] public virtual Task Can_read_write_short_JSON_values(short value, string json) => Can_read_and_write_JSON_value(nameof(Int16Type.Int16), value, json); @@ -39,7 +39,7 @@ protected class Int16Type public short Int16 { get; set; } } - [ConditionalTheory, InlineData(int.MinValue, """{"Prop":-2147483648}"""), InlineData(int.MaxValue, """{"Prop":2147483647}"""), + [Theory, InlineData(int.MinValue, """{"Prop":-2147483648}"""), InlineData(int.MaxValue, """{"Prop":2147483647}"""), InlineData(0, """{"Prop":0}"""), InlineData(1, """{"Prop":1}""")] public virtual Task Can_read_write_int_JSON_values(int value, string json) => Can_read_and_write_JSON_value(nameof(Int32Type.Int32), value, json); @@ -49,7 +49,7 @@ protected class Int32Type public int Int32 { get; set; } } - [ConditionalTheory, InlineData(long.MinValue, """{"Prop":-9223372036854775808}"""), + [Theory, InlineData(long.MinValue, """{"Prop":-9223372036854775808}"""), InlineData(long.MaxValue, """{"Prop":9223372036854775807}"""), InlineData((long)0, """{"Prop":0}"""), InlineData((long)1, """{"Prop":1}""")] public virtual Task Can_read_write_long_JSON_values(long value, string json) @@ -60,7 +60,7 @@ protected class Int64Type public long Int64 { get; set; } } - [ConditionalTheory, InlineData(byte.MinValue, """{"Prop":0}"""), InlineData(byte.MaxValue, """{"Prop":255}"""), + [Theory, InlineData(byte.MinValue, """{"Prop":0}"""), InlineData(byte.MaxValue, """{"Prop":255}"""), InlineData((byte)1, """{"Prop":1}""")] public virtual Task Can_read_write_byte_JSON_values(byte value, string json) => Can_read_and_write_JSON_value(nameof(UInt8Type.UInt8), value, json); @@ -70,7 +70,7 @@ protected class UInt8Type public byte UInt8 { get; set; } } - [ConditionalTheory, InlineData(ushort.MinValue, """{"Prop":0}"""), InlineData(ushort.MaxValue, """{"Prop":65535}"""), + [Theory, InlineData(ushort.MinValue, """{"Prop":0}"""), InlineData(ushort.MaxValue, """{"Prop":65535}"""), InlineData((ushort)1, """{"Prop":1}""")] public virtual Task Can_read_write_ushort_JSON_values(ushort value, string json) => Can_read_and_write_JSON_value(nameof(UInt16Type.UInt16), value, json); @@ -80,7 +80,7 @@ protected class UInt16Type public ushort UInt16 { get; set; } } - [ConditionalTheory, InlineData(uint.MinValue, """{"Prop":0}"""), InlineData(uint.MaxValue, """{"Prop":4294967295}"""), + [Theory, InlineData(uint.MinValue, """{"Prop":0}"""), InlineData(uint.MaxValue, """{"Prop":4294967295}"""), InlineData((uint)1, """{"Prop":1}""")] public virtual Task Can_read_write_uint_JSON_values(uint value, string json) => Can_read_and_write_JSON_value(nameof(UInt32Type.UInt32), value, json); @@ -90,7 +90,7 @@ protected class UInt32Type public uint UInt32 { get; set; } } - [ConditionalTheory, InlineData(ulong.MinValue, """{"Prop":0}"""), InlineData(ulong.MaxValue, """{"Prop":18446744073709551615}"""), + [Theory, InlineData(ulong.MinValue, """{"Prop":0}"""), InlineData(ulong.MaxValue, """{"Prop":18446744073709551615}"""), InlineData((ulong)1, """{"Prop":1}""")] public virtual Task Can_read_write_ulong_JSON_values(ulong value, string json) => Can_read_and_write_JSON_value(nameof(UInt64Type.UInt64), value, json); @@ -100,7 +100,7 @@ protected class UInt64Type public ulong UInt64 { get; set; } } - [ConditionalTheory, InlineData(float.MinValue, """{"Prop":-3.4028235E+38}"""), InlineData(float.MaxValue, """{"Prop":3.4028235E+38}"""), + [Theory, InlineData(float.MinValue, """{"Prop":-3.4028235E+38}"""), InlineData(float.MaxValue, """{"Prop":3.4028235E+38}"""), InlineData((float)0.0, """{"Prop":0}"""), InlineData((float)1.1, """{"Prop":1.1}""")] public virtual Task Can_read_write_float_JSON_values(float value, string json) => Can_read_and_write_JSON_value(nameof(FloatType.Float), value, json); @@ -110,7 +110,7 @@ protected class FloatType public float Float { get; set; } } - [ConditionalTheory, InlineData(double.MinValue, """{"Prop":-1.7976931348623157E+308}"""), + [Theory, InlineData(double.MinValue, """{"Prop":-1.7976931348623157E+308}"""), InlineData(double.MaxValue, """{"Prop":1.7976931348623157E+308}"""), InlineData(0.0, """{"Prop":0}"""), InlineData(1.1, """{"Prop":1.1}""")] public virtual Task Can_read_write_double_JSON_values(double value, string json) @@ -121,7 +121,7 @@ protected class DoubleType public double Double { get; set; } } - [ConditionalTheory, InlineData("-79228162514264337593543950335", """{"Prop":-79228162514264337593543950335}"""), + [Theory, InlineData("-79228162514264337593543950335", """{"Prop":-79228162514264337593543950335}"""), InlineData("79228162514264337593543950335", """{"Prop":79228162514264337593543950335}"""), InlineData("0.0", """{"Prop":0.0}"""), InlineData("1.1", """{"Prop":1.1}""")] public virtual Task Can_read_write_decimal_JSON_values(decimal value, string json) @@ -132,7 +132,7 @@ protected class DecimalType public decimal Decimal { get; set; } } - [ConditionalTheory, InlineData("1/1/0001", """{"Prop":"0001-01-01"}"""), InlineData("12/31/9999", """{"Prop":"9999-12-31"}"""), + [Theory, InlineData("1/1/0001", """{"Prop":"0001-01-01"}"""), InlineData("12/31/9999", """{"Prop":"9999-12-31"}"""), InlineData("5/29/2023", """{"Prop":"2023-05-29"}""")] public virtual Task Can_read_write_DateOnly_JSON_values(string value, string json) => Can_read_and_write_JSON_value( @@ -144,7 +144,7 @@ protected class DateOnlyType public DateOnly DateOnly { get; set; } } - [ConditionalTheory, InlineData("00:00:00.0000000", """{"Prop":"00:00:00.0000000"}"""), + [Theory, InlineData("00:00:00.0000000", """{"Prop":"00:00:00.0000000"}"""), InlineData("23:59:59.9999999", """{"Prop":"23:59:59.9999999"}"""), InlineData("11:05:12.3456789", """{"Prop":"11:05:12.3456789"}""")] public virtual Task Can_read_write_TimeOnly_JSON_values(string value, string json) => Can_read_and_write_JSON_value( @@ -156,7 +156,7 @@ protected class TimeOnlyType public TimeOnly TimeOnly { get; set; } } - [ConditionalTheory, InlineData("0001-01-01T00:00:00.0000000", """{"Prop":"0001-01-01T00:00:00"}"""), + [Theory, InlineData("0001-01-01T00:00:00.0000000", """{"Prop":"0001-01-01T00:00:00"}"""), InlineData("9999-12-31T23:59:59.9999999", """{"Prop":"9999-12-31T23:59:59.9999999"}"""), InlineData("2023-05-29T10:52:47.2064353", """{"Prop":"2023-05-29T10:52:47.2064353"}""")] public virtual Task Can_read_write_DateTime_JSON_values(string value, string json) @@ -169,7 +169,7 @@ protected class DateTimeType public DateTime DateTime { get; set; } } - [ConditionalTheory, InlineData("0001-01-01T00:00:00.0000000-01:00", """{"Prop":"0001-01-01T00:00:00-01:00"}"""), + [Theory, InlineData("0001-01-01T00:00:00.0000000-01:00", """{"Prop":"0001-01-01T00:00:00-01:00"}"""), InlineData("9999-12-31T23:59:59.9999999+02:00", """{"Prop":"9999-12-31T23:59:59.9999999+02:00"}"""), InlineData("0001-01-01T00:00:00.0000000-03:00", """{"Prop":"0001-01-01T00:00:00-03:00"}"""), InlineData("2023-05-29T11:11:15.5672854+04:00", """{"Prop":"2023-05-29T11:11:15.5672854+04:00"}""")] @@ -183,7 +183,7 @@ protected class DateTimeOffsetType public DateTimeOffset DateTimeOffset { get; set; } } - [ConditionalTheory, InlineData("-10675199.02:48:05.4775808", """{"Prop":"-10675199:2:48:05.4775808"}"""), + [Theory, InlineData("-10675199.02:48:05.4775808", """{"Prop":"-10675199:2:48:05.4775808"}"""), InlineData("10675199.02:48:05.4775807", """{"Prop":"10675199:2:48:05.4775807"}"""), InlineData("00:00:00", """{"Prop":"0:00:00"}"""), InlineData("12:23:23.8018854", """{"Prop":"12:23:23.8018854"}""")] public virtual Task Can_read_write_TimeSpan_JSON_values(string value, string json) @@ -196,7 +196,7 @@ protected class TimeSpanType public TimeSpan TimeSpan { get; set; } } - [ConditionalTheory, InlineData(false, """{"Prop":false}"""), InlineData(true, """{"Prop":true}""")] + [Theory, InlineData(false, """{"Prop":false}"""), InlineData(true, """{"Prop":true}""")] public virtual Task Can_read_write_bool_JSON_values(bool value, string json) => Can_read_and_write_JSON_value(nameof(BooleanType.Boolean), value, json); @@ -205,7 +205,7 @@ protected class BooleanType public bool Boolean { get; set; } } - [ConditionalTheory, InlineData(char.MinValue, """{"Prop":"\u0000"}"""), InlineData(char.MaxValue, """{"Prop":"\uFFFF"}"""), + [Theory, InlineData(char.MinValue, """{"Prop":"\u0000"}"""), InlineData(char.MaxValue, """{"Prop":"\uFFFF"}"""), InlineData(' ', """{"Prop":" "}"""), InlineData("Z", """{"Prop":"Z"}""")] public virtual Task Can_read_write_char_JSON_values(char value, string json) => Can_read_and_write_JSON_value(nameof(CharacterType.Character), value, json); @@ -215,7 +215,7 @@ protected class CharacterType public char Character { get; set; } } - [ConditionalTheory, InlineData("00000000-0000-0000-0000-000000000000", """{"Prop":"00000000-0000-0000-0000-000000000000"}"""), + [Theory, InlineData("00000000-0000-0000-0000-000000000000", """{"Prop":"00000000-0000-0000-0000-000000000000"}"""), InlineData("FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF", """{"Prop":"ffffffff-ffff-ffff-ffff-ffffffffffff"}"""), InlineData("8C44242F-8E3F-4A20-8BE8-98C7C1AADEBD", """{"Prop":"8c44242f-8e3f-4a20-8be8-98c7c1aadebd"}""")] public virtual Task Can_read_write_GUID_JSON_values(string value, string json) @@ -226,7 +226,7 @@ protected class GuidType public Guid Guid { get; set; } } - [ConditionalTheory, InlineData("MinValue", """{"Prop":"MinValue"}"""), InlineData("MaxValue", """{"Prop":"MaxValue"}"""), + [Theory, InlineData("MinValue", """{"Prop":"MinValue"}"""), InlineData("MaxValue", """{"Prop":"MaxValue"}"""), InlineData("", """{"Prop":""}"""), InlineData( "❤❥웃유♋☮✌☏☢☠✔☑♚▲♪฿Ɖ⛏♥❣♂♀☿👍✍✉☣☤✘☒♛▼♫⌘⌛¡♡ღツ☼☁❅♾️✎©®™Σ✪✯☭➳Ⓐ✞℃℉°✿⚡☃☂✄¢€£∞✫★½☯✡☪", @"{""Prop"":""\u2764\u2765\uC6C3\uC720\u264B\u262E\u270C\u260F\u2622\u2620\u2714\u2611\u265A\u25B2\u266A\u0E3F\u0189\u26CF\u2665\u2763\u2642\u2640\u263F\uD83D\uDC4D\u270D\u2709\u2623\u2624\u2718\u2612\u265B\u25BC\u266B\u2318\u231B\u00A1\u2661\u10E6\u30C4\u263C\u2601\u2745\u267E\uFE0F\u270E\u00A9\u00AE\u2122\u03A3\u272A\u272F\u262D\u27B3\u24B6\u271E\u2103\u2109\u00B0\u273F\u26A1\u2603\u2602\u2704\u00A2\u20AC\u00A3\u221E\u272B\u2605\u00BD\u262F\u2721\u262A""}")] @@ -238,7 +238,7 @@ protected class StringType public string String { get; set; } = null!; } - [ConditionalTheory, InlineData("0,0,0,1", """{"Prop":"AAAAAQ=="}"""), InlineData("255,255,255,255", """{"Prop":"/////w=="}"""), + [Theory, InlineData("0,0,0,1", """{"Prop":"AAAAAQ=="}"""), InlineData("255,255,255,255", """{"Prop":"/////w=="}"""), InlineData("", """{"Prop":""}"""), InlineData("1,2,3,4", """{"Prop":"AQIDBA=="}""")] public virtual Task Can_read_write_binary_JSON_values(string value, string json) => Can_read_and_write_JSON_value( @@ -250,7 +250,7 @@ protected class BytesType public byte[] Bytes { get; set; } = null!; } - [ConditionalTheory, InlineData( + [Theory, InlineData( "https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName", """{"Prop":"https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1\u0026q2=v2#FragmentName"}"""), InlineData("file:///C:/test/path/file.txt", """{"Prop":"file:///C:/test/path/file.txt"}""")] @@ -262,7 +262,7 @@ protected class UriType public Uri Uri { get; set; } = null!; } - [ConditionalTheory, InlineData("127.0.0.1", """{"Prop":"127.0.0.1"}"""), InlineData("0.0.0.0", """{"Prop":"0.0.0.0"}"""), + [Theory, InlineData("127.0.0.1", """{"Prop":"127.0.0.1"}"""), InlineData("0.0.0.0", """{"Prop":"0.0.0.0"}"""), InlineData("255.255.255.255", """{"Prop":"255.255.255.255"}"""), InlineData("192.168.1.156", """{"Prop":"192.168.1.156"}"""), InlineData("::1", """{"Prop":"::1"}"""), InlineData("::", """{"Prop":"::"}"""), InlineData("2a00:23c7:c60f:4f01:ba43:6d5a:e648:7577", """{"Prop":"2a00:23c7:c60f:4f01:ba43:6d5a:e648:7577"}""")] @@ -274,7 +274,7 @@ protected class IPAddressType public IPAddress IpAddress { get; set; } = null!; } - [ConditionalTheory, InlineData("001122334455", """{"Prop":"001122334455"}"""), + [Theory, InlineData("001122334455", """{"Prop":"001122334455"}"""), InlineData("00-11-22-33-44-55", """{"Prop":"001122334455"}"""), InlineData("0011.2233.4455", """{"Prop":"001122334455"}""")] public virtual Task Can_read_write_physical_address_JSON_values(string value, string json) => Can_read_and_write_JSON_value( @@ -286,7 +286,7 @@ protected class PhysicalAddressType public PhysicalAddress PhysicalAddress { get; set; } = null!; } - [ConditionalTheory, InlineData((sbyte)Enum8.Min, """{"Prop":-128}"""), InlineData((sbyte)Enum8.Max, """{"Prop":127}"""), + [Theory, InlineData((sbyte)Enum8.Min, """{"Prop":-128}"""), InlineData((sbyte)Enum8.Max, """{"Prop":127}"""), InlineData((sbyte)Enum8.Default, """{"Prop":0}"""), InlineData((sbyte)Enum8.One, """{"Prop":1}""")] public virtual Task Can_read_write_sbyte_enum_JSON_values(Enum8 value, string json) => Can_read_and_write_JSON_value(nameof(Enum8Type.Enum8), value, json); @@ -296,7 +296,7 @@ protected class Enum8Type public Enum8 Enum8 { get; set; } } - [ConditionalTheory, InlineData((short)Enum16.Min, """{"Prop":-32768}"""), InlineData((short)Enum16.Max, """{"Prop":32767}"""), + [Theory, InlineData((short)Enum16.Min, """{"Prop":-32768}"""), InlineData((short)Enum16.Max, """{"Prop":32767}"""), InlineData((short)Enum16.Default, """{"Prop":0}"""), InlineData((short)Enum16.One, """{"Prop":1}""")] public virtual Task Can_read_write_short_enum_JSON_values(Enum16 value, string json) => Can_read_and_write_JSON_value(nameof(Enum16Type.Enum16), value, json); @@ -306,7 +306,7 @@ protected class Enum16Type public Enum16 Enum16 { get; set; } } - [ConditionalTheory, InlineData((int)Enum32.Min, """{"Prop":-2147483648}"""), InlineData((int)Enum32.Max, """{"Prop":2147483647}"""), + [Theory, InlineData((int)Enum32.Min, """{"Prop":-2147483648}"""), InlineData((int)Enum32.Max, """{"Prop":2147483647}"""), InlineData((int)Enum32.Default, """{"Prop":0}"""), InlineData((int)Enum32.One, """{"Prop":1}""")] public virtual Task Can_read_write_int_enum_JSON_values(Enum32 value, string json) => Can_read_and_write_JSON_value(nameof(Enum32Type.Enum32), value, json); @@ -316,7 +316,7 @@ protected class Enum32Type public Enum32 Enum32 { get; set; } } - [ConditionalTheory, InlineData((long)Enum64.Min, """{"Prop":-9223372036854775808}"""), + [Theory, InlineData((long)Enum64.Min, """{"Prop":-9223372036854775808}"""), InlineData((long)Enum64.Max, """{"Prop":9223372036854775807}"""), InlineData((long)Enum64.Default, """{"Prop":0}"""), InlineData((long)Enum64.One, """{"Prop":1}""")] public virtual Task Can_read_write_long_enum_JSON_values(Enum64 value, string json) @@ -327,7 +327,7 @@ protected class Enum64Type public Enum64 Enum64 { get; set; } } - [ConditionalTheory, InlineData((byte)EnumU8.Min, """{"Prop":0}"""), InlineData((byte)EnumU8.Max, """{"Prop":255}"""), + [Theory, InlineData((byte)EnumU8.Min, """{"Prop":0}"""), InlineData((byte)EnumU8.Max, """{"Prop":255}"""), InlineData((byte)EnumU8.One, """{"Prop":1}""")] public virtual Task Can_read_write_byte_enum_JSON_values(EnumU8 value, string json) => Can_read_and_write_JSON_value(nameof(EnumU8Type.EnumU8), value, json); @@ -337,7 +337,7 @@ protected class EnumU8Type public EnumU8 EnumU8 { get; set; } } - [ConditionalTheory, InlineData((ushort)EnumU16.Min, """{"Prop":0}"""), InlineData((ushort)EnumU16.Max, """{"Prop":65535}"""), + [Theory, InlineData((ushort)EnumU16.Min, """{"Prop":0}"""), InlineData((ushort)EnumU16.Max, """{"Prop":65535}"""), InlineData((ushort)EnumU16.One, """{"Prop":1}""")] public virtual Task Can_read_write_ushort_enum_JSON_values(EnumU16 value, string json) => Can_read_and_write_JSON_value(nameof(EnumU16Type.EnumU16), value, json); @@ -347,7 +347,7 @@ protected class EnumU16Type public EnumU16 EnumU16 { get; set; } } - [ConditionalTheory, InlineData((uint)EnumU32.Min, """{"Prop":0}"""), InlineData((uint)EnumU32.Max, """{"Prop":4294967295}"""), + [Theory, InlineData((uint)EnumU32.Min, """{"Prop":0}"""), InlineData((uint)EnumU32.Max, """{"Prop":4294967295}"""), InlineData((uint)EnumU32.One, """{"Prop":1}""")] public virtual Task Can_read_write_uint_enum_JSON_values(EnumU32 value, string json) => Can_read_and_write_JSON_value(nameof(EnumU32Type.EnumU32), value, json); @@ -357,7 +357,7 @@ protected class EnumU32Type public EnumU32 EnumU32 { get; set; } } - [ConditionalTheory, InlineData((ulong)EnumU64.Min, """{"Prop":0}"""), + [Theory, InlineData((ulong)EnumU64.Min, """{"Prop":0}"""), InlineData((ulong)EnumU64.Max, """{"Prop":18446744073709551615}"""), InlineData((ulong)EnumU64.One, """{"Prop":1}""")] public virtual Task Can_read_write_ulong_enum_JSON_values(EnumU64 value, string json) => Can_read_and_write_JSON_value(nameof(EnumU64Type.EnumU64), value, json); @@ -367,7 +367,7 @@ protected class EnumU64Type public EnumU64 EnumU64 { get; set; } } - [ConditionalTheory, InlineData(sbyte.MinValue, """{"Prop":-128}"""), InlineData(sbyte.MaxValue, """{"Prop":127}"""), + [Theory, InlineData(sbyte.MinValue, """{"Prop":-128}"""), InlineData(sbyte.MaxValue, """{"Prop":127}"""), InlineData((sbyte)0, """{"Prop":0}"""), InlineData((sbyte)1, """{"Prop":1}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_sbyte_JSON_values(sbyte? value, string json) => Can_read_and_write_JSON_value(nameof(NullableInt8Type.Int8), value, json); @@ -377,7 +377,7 @@ protected class NullableInt8Type public sbyte? Int8 { get; set; } } - [ConditionalTheory, InlineData(short.MinValue, """{"Prop":-32768}"""), InlineData(short.MaxValue, """{"Prop":32767}"""), + [Theory, InlineData(short.MinValue, """{"Prop":-32768}"""), InlineData(short.MaxValue, """{"Prop":32767}"""), InlineData((short)0, """{"Prop":0}"""), InlineData((short)1, """{"Prop":1}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_short_JSON_values(short? value, string json) => Can_read_and_write_JSON_value(nameof(NullableInt16Type.Int16), value, json); @@ -387,7 +387,7 @@ protected class NullableInt16Type public short? Int16 { get; set; } } - [ConditionalTheory, InlineData(int.MinValue, """{"Prop":-2147483648}"""), InlineData(int.MaxValue, """{"Prop":2147483647}"""), + [Theory, InlineData(int.MinValue, """{"Prop":-2147483648}"""), InlineData(int.MaxValue, """{"Prop":2147483647}"""), InlineData(0, """{"Prop":0}"""), InlineData(1, """{"Prop":1}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_int_JSON_values(int? value, string json) => Can_read_and_write_JSON_value(nameof(NullableInt32Type.Int32), value, json); @@ -397,7 +397,7 @@ protected class NullableInt32Type public int? Int32 { get; set; } } - [ConditionalTheory, InlineData(long.MinValue, """{"Prop":-9223372036854775808}"""), + [Theory, InlineData(long.MinValue, """{"Prop":-9223372036854775808}"""), InlineData(long.MaxValue, """{"Prop":9223372036854775807}"""), InlineData((long)0, """{"Prop":0}"""), InlineData((long)1, """{"Prop":1}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_long_JSON_values(long? value, string json) @@ -408,7 +408,7 @@ protected class NullableInt64Type public long? Int64 { get; set; } } - [ConditionalTheory, InlineData(byte.MinValue, """{"Prop":0}"""), InlineData(byte.MaxValue, """{"Prop":255}"""), + [Theory, InlineData(byte.MinValue, """{"Prop":0}"""), InlineData(byte.MaxValue, """{"Prop":255}"""), InlineData((byte)1, """{"Prop":1}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_byte_JSON_values(byte? value, string json) => Can_read_and_write_JSON_value(nameof(NullableUInt8Type.UInt8), value, json); @@ -418,7 +418,7 @@ protected class NullableUInt8Type public byte? UInt8 { get; set; } } - [ConditionalTheory, InlineData(ushort.MinValue, """{"Prop":0}"""), InlineData(ushort.MaxValue, """{"Prop":65535}"""), + [Theory, InlineData(ushort.MinValue, """{"Prop":0}"""), InlineData(ushort.MaxValue, """{"Prop":65535}"""), InlineData((ushort)1, """{"Prop":1}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_ushort_JSON_values(ushort? value, string json) => Can_read_and_write_JSON_value(nameof(NullableUInt16Type.UInt16), value, json); @@ -428,7 +428,7 @@ protected class NullableUInt16Type public ushort? UInt16 { get; set; } } - [ConditionalTheory, InlineData(uint.MinValue, """{"Prop":0}"""), InlineData(uint.MaxValue, """{"Prop":4294967295}"""), + [Theory, InlineData(uint.MinValue, """{"Prop":0}"""), InlineData(uint.MaxValue, """{"Prop":4294967295}"""), InlineData((uint)1, """{"Prop":1}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_uint_JSON_values(uint? value, string json) => Can_read_and_write_JSON_value(nameof(NullableUInt32Type.UInt32), value, json); @@ -438,7 +438,7 @@ protected class NullableUInt32Type public uint? UInt32 { get; set; } } - [ConditionalTheory, InlineData(ulong.MinValue, """{"Prop":0}"""), InlineData(ulong.MaxValue, """{"Prop":18446744073709551615}"""), + [Theory, InlineData(ulong.MinValue, """{"Prop":0}"""), InlineData(ulong.MaxValue, """{"Prop":18446744073709551615}"""), InlineData((ulong)1, """{"Prop":1}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_ulong_JSON_values(ulong? value, string json) => Can_read_and_write_JSON_value(nameof(NullableUInt64Type.UInt64), value, json); @@ -448,7 +448,7 @@ protected class NullableUInt64Type public ulong? UInt64 { get; set; } } - [ConditionalTheory, InlineData(float.MinValue, """{"Prop":-3.4028235E+38}"""), InlineData(float.MaxValue, """{"Prop":3.4028235E+38}"""), + [Theory, InlineData(float.MinValue, """{"Prop":-3.4028235E+38}"""), InlineData(float.MaxValue, """{"Prop":3.4028235E+38}"""), InlineData((float)0.0, """{"Prop":0}"""), InlineData((float)1.1, """{"Prop":1.1}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_float_JSON_values(float? value, string json) => Can_read_and_write_JSON_value(nameof(NullableFloatType.Float), value, json); @@ -458,7 +458,7 @@ protected class NullableFloatType public float? Float { get; set; } } - [ConditionalTheory, InlineData(double.MinValue, """{"Prop":-1.7976931348623157E+308}"""), + [Theory, InlineData(double.MinValue, """{"Prop":-1.7976931348623157E+308}"""), InlineData(double.MaxValue, """{"Prop":1.7976931348623157E+308}"""), InlineData(0.0, """{"Prop":0}"""), InlineData(1.1, """{"Prop":1.1}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_double_JSON_values(double? value, string json) @@ -469,7 +469,7 @@ protected class NullableDoubleType public double? Double { get; set; } } - [ConditionalTheory, InlineData("-79228162514264337593543950335", """{"Prop":-79228162514264337593543950335}"""), + [Theory, InlineData("-79228162514264337593543950335", """{"Prop":-79228162514264337593543950335}"""), InlineData("79228162514264337593543950335", """{"Prop":79228162514264337593543950335}"""), InlineData("0.0", """{"Prop":0.0}"""), InlineData("1.1", """{"Prop":1.1}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_decimal_JSON_values(string? value, string json) @@ -482,7 +482,7 @@ protected class NullableDecimalType public decimal? Decimal { get; set; } } - [ConditionalTheory, InlineData("1/1/0001", """{"Prop":"0001-01-01"}"""), InlineData("12/31/9999", """{"Prop":"9999-12-31"}"""), + [Theory, InlineData("1/1/0001", """{"Prop":"0001-01-01"}"""), InlineData("12/31/9999", """{"Prop":"9999-12-31"}"""), InlineData("5/29/2023", """{"Prop":"2023-05-29"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_DateOnly_JSON_values(string? value, string json) => Can_read_and_write_JSON_value( @@ -494,7 +494,7 @@ protected class NullableDateOnlyType public DateOnly? DateOnly { get; set; } } - [ConditionalTheory, InlineData("00:00:00.0000000", """{"Prop":"00:00:00.0000000"}"""), + [Theory, InlineData("00:00:00.0000000", """{"Prop":"00:00:00.0000000"}"""), InlineData("23:59:59.9999999", """{"Prop":"23:59:59.9999999"}"""), InlineData("11:05:12.3456789", """{"Prop":"11:05:12.3456789"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_TimeOnly_JSON_values(string? value, string json) @@ -507,7 +507,7 @@ protected class NullableTimeOnlyType public TimeOnly? TimeOnly { get; set; } } - [ConditionalTheory, InlineData("0001-01-01T00:00:00.0000000", """{"Prop":"0001-01-01T00:00:00"}"""), + [Theory, InlineData("0001-01-01T00:00:00.0000000", """{"Prop":"0001-01-01T00:00:00"}"""), InlineData("9999-12-31T23:59:59.9999999", """{"Prop":"9999-12-31T23:59:59.9999999"}"""), InlineData("2023-05-29T10:52:47.2064353", """{"Prop":"2023-05-29T10:52:47.2064353"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_DateTime_JSON_values(string? value, string json) @@ -520,7 +520,7 @@ protected class NullableDateTimeType public DateTime? DateTime { get; set; } } - [ConditionalTheory, InlineData("0001-01-01T00:00:00.0000000-01:00", """{"Prop":"0001-01-01T00:00:00-01:00"}"""), + [Theory, InlineData("0001-01-01T00:00:00.0000000-01:00", """{"Prop":"0001-01-01T00:00:00-01:00"}"""), InlineData("9999-12-31T23:59:59.9999999+02:00", """{"Prop":"9999-12-31T23:59:59.9999999+02:00"}"""), InlineData("0001-01-01T00:00:00.0000000-03:00", """{"Prop":"0001-01-01T00:00:00-03:00"}"""), InlineData("2023-05-29T11:11:15.5672854+04:00", """{"Prop":"2023-05-29T11:11:15.5672854+04:00"}"""), @@ -535,7 +535,7 @@ protected class NullableDateTimeOffsetType public DateTimeOffset? DateTimeOffset { get; set; } } - [ConditionalTheory, InlineData("-10675199.02:48:05.4775808", """{"Prop":"-10675199:2:48:05.4775808"}"""), + [Theory, InlineData("-10675199.02:48:05.4775808", """{"Prop":"-10675199:2:48:05.4775808"}"""), InlineData("10675199.02:48:05.4775807", """{"Prop":"10675199:2:48:05.4775807"}"""), InlineData("00:00:00", """{"Prop":"0:00:00"}"""), InlineData("12:23:23.8018854", """{"Prop":"12:23:23.8018854"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_TimeSpan_JSON_values(string? value, string json) @@ -548,7 +548,7 @@ protected class NullableTimeSpanType public TimeSpan? TimeSpan { get; set; } } - [ConditionalTheory, InlineData(false, """{"Prop":false}"""), InlineData(true, """{"Prop":true}"""), + [Theory, InlineData(false, """{"Prop":false}"""), InlineData(true, """{"Prop":true}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_bool_JSON_values(bool? value, string json) => Can_read_and_write_JSON_value(nameof(NullableBooleanType.Boolean), value, json); @@ -558,7 +558,7 @@ protected class NullableBooleanType public bool? Boolean { get; set; } } - [ConditionalTheory, InlineData(char.MinValue, """{"Prop":"\u0000"}"""), InlineData(char.MaxValue, """{"Prop":"\uFFFF"}"""), + [Theory, InlineData(char.MinValue, """{"Prop":"\u0000"}"""), InlineData(char.MaxValue, """{"Prop":"\uFFFF"}"""), InlineData(' ', """{"Prop":" "}"""), InlineData('Z', """{"Prop":"Z"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_char_JSON_values(char? value, string json) => Can_read_and_write_JSON_value(nameof(NullableCharacterType.Character), value, json); @@ -568,7 +568,7 @@ protected class NullableCharacterType public char? Character { get; set; } } - [ConditionalTheory, InlineData("00000000-0000-0000-0000-000000000000", """{"Prop":"00000000-0000-0000-0000-000000000000"}"""), + [Theory, InlineData("00000000-0000-0000-0000-000000000000", """{"Prop":"00000000-0000-0000-0000-000000000000"}"""), InlineData("FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF", """{"Prop":"ffffffff-ffff-ffff-ffff-ffffffffffff"}"""), InlineData("8C44242F-8E3F-4A20-8BE8-98C7C1AADEBD", """{"Prop":"8c44242f-8e3f-4a20-8be8-98c7c1aadebd"}"""), InlineData(null, """{"Prop":null}""")] @@ -582,7 +582,7 @@ protected class NullableGuidType public Guid? Guid { get; set; } } - [ConditionalTheory, InlineData("MinValue", """{"Prop":"MinValue"}"""), InlineData("MaxValue", """{"Prop":"MaxValue"}"""), + [Theory, InlineData("MinValue", """{"Prop":"MinValue"}"""), InlineData("MaxValue", """{"Prop":"MaxValue"}"""), InlineData("", """{"Prop":""}"""), InlineData( "❤❥웃유♋☮✌☏☢☠✔☑♚▲♪฿Ɖ⛏♥❣♂♀☿👍✍✉☣☤✘☒♛▼♫⌘⌛¡♡ღツ☼☁❅♾️✎©®™Σ✪✯☭➳Ⓐ✞℃℉°✿⚡☃☂✄¢€£∞✫★½☯✡☪", @"{""Prop"":""\u2764\u2765\uC6C3\uC720\u264B\u262E\u270C\u260F\u2622\u2620\u2714\u2611\u265A\u25B2\u266A\u0E3F\u0189\u26CF\u2665\u2763\u2642\u2640\u263F\uD83D\uDC4D\u270D\u2709\u2623\u2624\u2718\u2612\u265B\u25BC\u266B\u2318\u231B\u00A1\u2661\u10E6\u30C4\u263C\u2601\u2745\u267E\uFE0F\u270E\u00A9\u00AE\u2122\u03A3\u272A\u272F\u262D\u27B3\u24B6\u271E\u2103\u2109\u00B0\u273F\u26A1\u2603\u2602\u2704\u00A2\u20AC\u00A3\u221E\u272B\u2605\u00BD\u262F\u2721\u262A""}"), @@ -595,7 +595,7 @@ protected class NullableStringType public string? String { get; set; } } - [ConditionalTheory, InlineData("0,0,0,1", """{"Prop":"AAAAAQ=="}"""), InlineData("255,255,255,255", """{"Prop":"/////w=="}"""), + [Theory, InlineData("0,0,0,1", """{"Prop":"AAAAAQ=="}"""), InlineData("255,255,255,255", """{"Prop":"/////w=="}"""), InlineData("", """{"Prop":""}"""), InlineData("1,2,3,4", """{"Prop":"AQIDBA=="}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_binary_JSON_values(string? value, string json) => Can_read_and_write_JSON_value( @@ -611,7 +611,7 @@ protected class NullableBytesType public byte[]? Bytes { get; set; } } - [ConditionalTheory, InlineData( + [Theory, InlineData( "https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName", """{"Prop":"https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1\u0026q2=v2#FragmentName"}"""), InlineData("file:///C:/test/path/file.txt", """{"Prop":"file:///C:/test/path/file.txt"}"""), InlineData(null, """{"Prop":null}""")] @@ -625,7 +625,7 @@ protected class NullableUriType public Uri? Uri { get; set; } } - [ConditionalTheory, InlineData("127.0.0.1", """{"Prop":"127.0.0.1"}"""), InlineData("0.0.0.0", """{"Prop":"0.0.0.0"}"""), + [Theory, InlineData("127.0.0.1", """{"Prop":"127.0.0.1"}"""), InlineData("0.0.0.0", """{"Prop":"0.0.0.0"}"""), InlineData("255.255.255.255", """{"Prop":"255.255.255.255"}"""), InlineData("192.168.1.156", """{"Prop":"192.168.1.156"}"""), InlineData("::1", """{"Prop":"::1"}"""), InlineData("::", """{"Prop":"::"}"""), InlineData("2a00:23c7:c60f:4f01:ba43:6d5a:e648:7577", """{"Prop":"2a00:23c7:c60f:4f01:ba43:6d5a:e648:7577"}"""), @@ -640,7 +640,7 @@ protected class NullableIPAddressType public IPAddress? IpAddress { get; set; } } - [ConditionalTheory, InlineData("001122334455", """{"Prop":"001122334455"}"""), + [Theory, InlineData("001122334455", """{"Prop":"001122334455"}"""), InlineData("00-11-22-33-44-55", """{"Prop":"001122334455"}"""), InlineData("0011.2233.4455", """{"Prop":"001122334455"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_physical_address_JSON_values(string? value, string json) @@ -653,7 +653,7 @@ protected class NullablePhysicalAddressType public PhysicalAddress? PhysicalAddress { get; set; } = null!; } - [ConditionalTheory, InlineData((sbyte)Enum8.Min, """{"Prop":-128}"""), InlineData((sbyte)Enum8.Max, """{"Prop":127}"""), + [Theory, InlineData((sbyte)Enum8.Min, """{"Prop":-128}"""), InlineData((sbyte)Enum8.Max, """{"Prop":127}"""), InlineData((sbyte)Enum8.Default, """{"Prop":0}"""), InlineData((sbyte)Enum8.One, """{"Prop":1}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_sbyte_enum_JSON_values(object? value, string json) @@ -666,7 +666,7 @@ protected class NullableEnum8Type public Enum8? Enum8 { get; set; } } - [ConditionalTheory, InlineData((short)Enum16.Min, """{"Prop":-32768}"""), InlineData((short)Enum16.Max, """{"Prop":32767}"""), + [Theory, InlineData((short)Enum16.Min, """{"Prop":-32768}"""), InlineData((short)Enum16.Max, """{"Prop":32767}"""), InlineData((short)Enum16.Default, """{"Prop":0}"""), InlineData((short)Enum16.One, """{"Prop":1}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_short_enum_JSON_values(object? value, string json) @@ -679,7 +679,7 @@ protected class NullableEnum16Type public Enum16? Enum16 { get; set; } } - [ConditionalTheory, InlineData((int)Enum32.Min, """{"Prop":-2147483648}"""), InlineData((int)Enum32.Max, """{"Prop":2147483647}"""), + [Theory, InlineData((int)Enum32.Min, """{"Prop":-2147483648}"""), InlineData((int)Enum32.Max, """{"Prop":2147483647}"""), InlineData((int)Enum32.Default, """{"Prop":0}"""), InlineData((int)Enum32.One, """{"Prop":1}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_int_enum_JSON_values(object? value, string json) @@ -692,7 +692,7 @@ protected class NullableEnum32Type public Enum32? Enum32 { get; set; } } - [ConditionalTheory, InlineData((long)Enum64.Min, """{"Prop":-9223372036854775808}"""), + [Theory, InlineData((long)Enum64.Min, """{"Prop":-9223372036854775808}"""), InlineData((long)Enum64.Max, """{"Prop":9223372036854775807}"""), InlineData((long)Enum64.Default, """{"Prop":0}"""), InlineData((long)Enum64.One, """{"Prop":1}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_long_enum_JSON_values(object? value, string json) @@ -705,7 +705,7 @@ protected class NullableEnum64Type public Enum64? Enum64 { get; set; } } - [ConditionalTheory, InlineData((byte)EnumU8.Min, """{"Prop":0}"""), InlineData((byte)EnumU8.Max, """{"Prop":255}"""), + [Theory, InlineData((byte)EnumU8.Min, """{"Prop":0}"""), InlineData((byte)EnumU8.Max, """{"Prop":255}"""), InlineData((byte)EnumU8.One, """{"Prop":1}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_byte_enum_JSON_values(object? value, string json) => Can_read_and_write_JSON_value( @@ -717,7 +717,7 @@ protected class NullableEnumU8Type public EnumU8? EnumU8 { get; set; } } - [ConditionalTheory, InlineData((ushort)EnumU16.Min, """{"Prop":0}"""), InlineData((ushort)EnumU16.Max, """{"Prop":65535}"""), + [Theory, InlineData((ushort)EnumU16.Min, """{"Prop":0}"""), InlineData((ushort)EnumU16.Max, """{"Prop":65535}"""), InlineData((ushort)EnumU16.One, """{"Prop":1}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_ushort_enum_JSON_values(object? value, string json) => Can_read_and_write_JSON_value( @@ -729,7 +729,7 @@ protected class NullableEnumU16Type public EnumU16? EnumU16 { get; set; } } - [ConditionalTheory, InlineData((uint)EnumU32.Min, """{"Prop":0}"""), InlineData((uint)EnumU32.Max, """{"Prop":4294967295}"""), + [Theory, InlineData((uint)EnumU32.Min, """{"Prop":0}"""), InlineData((uint)EnumU32.Max, """{"Prop":4294967295}"""), InlineData((uint)EnumU32.One, """{"Prop":1}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_uint_enum_JSON_values(object? value, string json) => Can_read_and_write_JSON_value( @@ -741,7 +741,7 @@ protected class NullableEnumU32Type public EnumU32? EnumU32 { get; set; } } - [ConditionalTheory, InlineData((ulong)EnumU64.Min, """{"Prop":0}"""), + [Theory, InlineData((ulong)EnumU64.Min, """{"Prop":0}"""), InlineData((ulong)EnumU64.Max, """{"Prop":18446744073709551615}"""), InlineData((ulong)EnumU64.One, """{"Prop":1}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_ulong_enum_JSON_values(object? value, string json) @@ -754,28 +754,28 @@ protected class NullableEnumU64Type public EnumU64? EnumU64 { get; set; } } - [ConditionalTheory, InlineData(sbyte.MinValue, """{"Prop":"-128"}"""), InlineData(sbyte.MaxValue, """{"Prop":"127"}"""), + [Theory, InlineData(sbyte.MinValue, """{"Prop":"-128"}"""), InlineData(sbyte.MaxValue, """{"Prop":"127"}"""), InlineData((sbyte)0, """{"Prop":"0"}"""), InlineData((sbyte)1, """{"Prop":"1"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_sbyte_as_string_JSON_values(sbyte? value, string json) => Can_read_and_write_JSON_property_value( b => b.HasConversion(), nameof(NullableInt8Type.Int8), value, json); - [ConditionalTheory, InlineData(short.MinValue, """{"Prop":"-32768"}"""), InlineData(short.MaxValue, """{"Prop":"32767"}"""), + [Theory, InlineData(short.MinValue, """{"Prop":"-32768"}"""), InlineData(short.MaxValue, """{"Prop":"32767"}"""), InlineData((short)0, """{"Prop":"0"}"""), InlineData((short)1, """{"Prop":"1"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_short_as_string_JSON_values(short? value, string json) => Can_read_and_write_JSON_property_value( b => b.HasConversion(), nameof(NullableInt16Type.Int16), value, json); - [ConditionalTheory, InlineData(int.MinValue, """{"Prop":"-2147483648"}"""), InlineData(int.MaxValue, """{"Prop":"2147483647"}"""), + [Theory, InlineData(int.MinValue, """{"Prop":"-2147483648"}"""), InlineData(int.MaxValue, """{"Prop":"2147483647"}"""), InlineData(0, """{"Prop":"0"}"""), InlineData(1, """{"Prop":"1"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_int_as_string_JSON_values(int? value, string json) => Can_read_and_write_JSON_property_value( b => b.HasConversion(), nameof(NullableInt32Type.Int32), value, json); - [ConditionalTheory, InlineData(long.MinValue, """{"Prop":"-9223372036854775808"}"""), + [Theory, InlineData(long.MinValue, """{"Prop":"-9223372036854775808"}"""), InlineData(long.MaxValue, """{"Prop":"9223372036854775807"}"""), InlineData((long)0, """{"Prop":"0"}"""), InlineData((long)1, """{"Prop":"1"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_long_as_string_JSON_values(long? value, string json) @@ -783,35 +783,35 @@ public virtual Task Can_read_write_nullable_long_as_string_JSON_values(long? val b => b.HasConversion(), nameof(NullableInt64Type.Int64), value, json); - [ConditionalTheory, InlineData(byte.MinValue, """{"Prop":"0"}"""), InlineData(byte.MaxValue, """{"Prop":"255"}"""), + [Theory, InlineData(byte.MinValue, """{"Prop":"0"}"""), InlineData(byte.MaxValue, """{"Prop":"255"}"""), InlineData((byte)1, """{"Prop":"1"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_byte_as_string_JSON_values(byte? value, string json) => Can_read_and_write_JSON_property_value( b => b.HasConversion(), nameof(NullableUInt8Type.UInt8), value, json); - [ConditionalTheory, InlineData(ushort.MinValue, """{"Prop":"0"}"""), InlineData(ushort.MaxValue, """{"Prop":"65535"}"""), + [Theory, InlineData(ushort.MinValue, """{"Prop":"0"}"""), InlineData(ushort.MaxValue, """{"Prop":"65535"}"""), InlineData((ushort)1, """{"Prop":"1"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_ushort_as_string_JSON_values(ushort? value, string json) => Can_read_and_write_JSON_property_value( b => b.HasConversion(), nameof(NullableUInt16Type.UInt16), value, json); - [ConditionalTheory, InlineData(uint.MinValue, """{"Prop":"0"}"""), InlineData(uint.MaxValue, """{"Prop":"4294967295"}"""), + [Theory, InlineData(uint.MinValue, """{"Prop":"0"}"""), InlineData(uint.MaxValue, """{"Prop":"4294967295"}"""), InlineData((uint)1, """{"Prop":"1"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_uint_as_string_JSON_values(uint? value, string json) => Can_read_and_write_JSON_property_value( b => b.HasConversion(), nameof(NullableUInt32Type.UInt32), value, json); - [ConditionalTheory, InlineData(ulong.MinValue, """{"Prop":"0"}"""), InlineData(ulong.MaxValue, """{"Prop":"18446744073709551615"}"""), + [Theory, InlineData(ulong.MinValue, """{"Prop":"0"}"""), InlineData(ulong.MaxValue, """{"Prop":"18446744073709551615"}"""), InlineData((ulong)1, """{"Prop":"1"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_ulong_as_string_JSON_values(ulong? value, string json) => Can_read_and_write_JSON_property_value( b => b.HasConversion(), nameof(NullableUInt64Type.UInt64), value, json); - [ConditionalTheory, InlineData(float.MinValue, """{"Prop":"-3.4028235E\u002B38"}"""), + [Theory, InlineData(float.MinValue, """{"Prop":"-3.4028235E\u002B38"}"""), InlineData(float.MaxValue, """{"Prop":"3.4028235E\u002B38"}"""), InlineData((float)0.0, """{"Prop":"0"}"""), InlineData((float)1.1, """{"Prop":"1.1"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_float_as_string_JSON_values(float? value, string json) @@ -819,7 +819,7 @@ public virtual Task Can_read_write_nullable_float_as_string_JSON_values(float? v b => b.HasConversion(), nameof(NullableFloatType.Float), value, json); - [ConditionalTheory, InlineData(double.MinValue, """{"Prop":"-1.7976931348623157E\u002B308"}"""), + [Theory, InlineData(double.MinValue, """{"Prop":"-1.7976931348623157E\u002B308"}"""), InlineData(double.MaxValue, """{"Prop":"1.7976931348623157E\u002B308"}"""), InlineData(0.0, """{"Prop":"0"}"""), InlineData(1.1, """{"Prop":"1.1"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_double_as_string_JSON_values(double? value, string json) @@ -827,7 +827,7 @@ public virtual Task Can_read_write_nullable_double_as_string_JSON_values(double? b => b.HasConversion(), nameof(NullableDoubleType.Double), value, json); - [ConditionalTheory, InlineData("-79228162514264337593543950335", """{"Prop":"-79228162514264337593543950335"}"""), + [Theory, InlineData("-79228162514264337593543950335", """{"Prop":"-79228162514264337593543950335"}"""), InlineData("79228162514264337593543950335", """{"Prop":"79228162514264337593543950335"}"""), InlineData("0.0", """{"Prop":"0.0"}"""), InlineData("1.1", """{"Prop":"1.1"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_decimal_as_string_JSON_values(string? value, string json) @@ -836,7 +836,7 @@ public virtual Task Can_read_write_nullable_decimal_as_string_JSON_values(string nameof(NullableDecimalType.Decimal), value == null ? default(decimal?) : decimal.Parse(value, CultureInfo.InvariantCulture), json); - [ConditionalTheory, InlineData("1/1/0001", """{"Prop":"0001-01-01"}"""), InlineData("12/31/9999", """{"Prop":"9999-12-31"}"""), + [Theory, InlineData("1/1/0001", """{"Prop":"0001-01-01"}"""), InlineData("12/31/9999", """{"Prop":"9999-12-31"}"""), InlineData("5/29/2023", """{"Prop":"2023-05-29"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_DateOnly_as_string_JSON_values(string? value, string json) => Can_read_and_write_JSON_property_value( @@ -844,7 +844,7 @@ public virtual Task Can_read_write_nullable_DateOnly_as_string_JSON_values(strin nameof(NullableDateOnlyType.DateOnly), value == null ? default(DateOnly?) : DateOnly.Parse(value, CultureInfo.InvariantCulture), json); - [ConditionalTheory, InlineData("00:00:00.0000000", """{"Prop":"00:00:00"}"""), + [Theory, InlineData("00:00:00.0000000", """{"Prop":"00:00:00"}"""), InlineData("23:59:59.9999999", """{"Prop":"23:59:59.9999999"}"""), InlineData("11:05:12.3456789", """{"Prop":"11:05:12.3456789"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_TimeOnly_as_string_JSON_values(string? value, string json) @@ -853,7 +853,7 @@ public virtual Task Can_read_write_nullable_TimeOnly_as_string_JSON_values(strin nameof(NullableTimeOnlyType.TimeOnly), value == null ? default(TimeOnly?) : TimeOnly.Parse(value, CultureInfo.InvariantCulture), json); - [ConditionalTheory, InlineData("0001-01-01T00:00:00.0000000", """{"Prop":"0001-01-01 00:00:00"}"""), + [Theory, InlineData("0001-01-01T00:00:00.0000000", """{"Prop":"0001-01-01 00:00:00"}"""), InlineData("9999-12-31T23:59:59.9999999", """{"Prop":"9999-12-31 23:59:59.9999999"}"""), InlineData("2023-05-29T10:52:47.2064353", """{"Prop":"2023-05-29 10:52:47.2064353"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_DateTime_as_string_JSON_values(string? value, string json) @@ -862,7 +862,7 @@ public virtual Task Can_read_write_nullable_DateTime_as_string_JSON_values(strin nameof(NullableDateTimeType.DateTime), value == null ? default(DateTime?) : DateTime.Parse(value, CultureInfo.InvariantCulture), json); - [ConditionalTheory, InlineData("0001-01-01T00:00:00.0000000-01:00", """{"Prop":"0001-01-01 00:00:00-01:00"}"""), + [Theory, InlineData("0001-01-01T00:00:00.0000000-01:00", """{"Prop":"0001-01-01 00:00:00-01:00"}"""), InlineData("9999-12-31T23:59:59.9999999+02:00", """{"Prop":"9999-12-31 23:59:59.9999999\u002B02:00"}"""), InlineData("0001-01-01T00:00:00.0000000-03:00", """{"Prop":"0001-01-01 00:00:00-03:00"}"""), InlineData("2023-05-29T11:11:15.5672854+04:00", """{"Prop":"2023-05-29 11:11:15.5672854\u002B04:00"}"""), @@ -873,7 +873,7 @@ public virtual Task Can_read_write_nullable_DateTimeOffset_as_string_JSON_values nameof(NullableDateTimeOffsetType.DateTimeOffset), value == null ? default(DateTimeOffset?) : DateTimeOffset.Parse(value, CultureInfo.InvariantCulture), json); - [ConditionalTheory, InlineData("-10675199.02:48:05.4775808", """{"Prop":"-10675199.02:48:05.4775808"}"""), + [Theory, InlineData("-10675199.02:48:05.4775808", """{"Prop":"-10675199.02:48:05.4775808"}"""), InlineData("10675199.02:48:05.4775807", """{"Prop":"10675199.02:48:05.4775807"}"""), InlineData("00:00:00", """{"Prop":"00:00:00"}"""), InlineData("12:23:23.8018854", """{"Prop":"12:23:23.8018854"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_TimeSpan_as_string_JSON_values(string? value, string json) @@ -882,20 +882,20 @@ public virtual Task Can_read_write_nullable_TimeSpan_as_string_JSON_values(strin nameof(NullableTimeSpanType.TimeSpan), value == null ? default(TimeSpan?) : TimeSpan.Parse(value), json); - [ConditionalTheory, InlineData(false, """{"Prop":"0"}"""), InlineData(true, """{"Prop":"1"}"""), InlineData(null, """{"Prop":null}""")] + [Theory, InlineData(false, """{"Prop":"0"}"""), InlineData(true, """{"Prop":"1"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_bool_as_string_JSON_values(bool? value, string json) => Can_read_and_write_JSON_property_value( b => b.HasConversion(), nameof(NullableBooleanType.Boolean), value, json); - [ConditionalTheory, InlineData(char.MinValue, """{"Prop":"\u0000"}"""), InlineData(char.MaxValue, """{"Prop":"\uFFFF"}"""), + [Theory, InlineData(char.MinValue, """{"Prop":"\u0000"}"""), InlineData(char.MaxValue, """{"Prop":"\uFFFF"}"""), InlineData(' ', """{"Prop":" "}"""), InlineData('Z', """{"Prop":"Z"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_char_as_string_JSON_values(char? value, string json) => Can_read_and_write_JSON_property_value( b => b.HasConversion(), nameof(NullableCharacterType.Character), value, json); - [ConditionalTheory, InlineData("00000000-0000-0000-0000-000000000000", """{"Prop":"00000000-0000-0000-0000-000000000000"}"""), + [Theory, InlineData("00000000-0000-0000-0000-000000000000", """{"Prop":"00000000-0000-0000-0000-000000000000"}"""), InlineData("FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF", """{"Prop":"ffffffff-ffff-ffff-ffff-ffffffffffff"}"""), InlineData("8C44242F-8E3F-4A20-8BE8-98C7C1AADEBD", """{"Prop":"8c44242f-8e3f-4a20-8be8-98c7c1aadebd"}"""), InlineData(null, """{"Prop":null}""")] @@ -905,7 +905,7 @@ public virtual Task Can_read_write_nullable_as_string_GUID_JSON_values(string? v nameof(NullableGuidType.Guid), value == null ? default(Guid?) : Guid.Parse(value, CultureInfo.InvariantCulture), json); - [ConditionalTheory, InlineData("MinValue", """{"Prop":"MinValue"}"""), InlineData("MaxValue", """{"Prop":"MaxValue"}"""), + [Theory, InlineData("MinValue", """{"Prop":"MinValue"}"""), InlineData("MaxValue", """{"Prop":"MaxValue"}"""), InlineData("", """{"Prop":""}"""), InlineData( "❤❥웃유♋☮✌☏☢☠✔☑♚▲♪฿Ɖ⛏♥❣♂♀☿👍✍✉☣☤✘☒♛▼♫⌘⌛¡♡ღツ☼☁❅♾️✎©®™Σ✪✯☭➳Ⓐ✞℃℉°✿⚡☃☂✄¢€£∞✫★½☯✡☪", @"{""Prop"":""\u2764\u2765\uC6C3\uC720\u264B\u262E\u270C\u260F\u2622\u2620\u2714\u2611\u265A\u25B2\u266A\u0E3F\u0189\u26CF\u2665\u2763\u2642\u2640\u263F\uD83D\uDC4D\u270D\u2709\u2623\u2624\u2718\u2612\u265B\u25BC\u266B\u2318\u231B\u00A1\u2661\u10E6\u30C4\u263C\u2601\u2745\u267E\uFE0F\u270E\u00A9\u00AE\u2122\u03A3\u272A\u272F\u262D\u27B3\u24B6\u271E\u2103\u2109\u00B0\u273F\u26A1\u2603\u2602\u2704\u00A2\u20AC\u00A3\u221E\u272B\u2605\u00BD\u262F\u2721\u262A""}"), @@ -915,7 +915,7 @@ public virtual Task Can_read_write_nullable_string_as_string_JSON_values(string? b => b.HasConversion(), nameof(NullableStringType.String), value, json); - [ConditionalTheory, InlineData("0,0,0,1", """{"Prop":"AAAAAQ=="}"""), InlineData("255,255,255,255", """{"Prop":"/////w=="}"""), + [Theory, InlineData("0,0,0,1", """{"Prop":"AAAAAQ=="}"""), InlineData("255,255,255,255", """{"Prop":"/////w=="}"""), InlineData("", """{"Prop":""}"""), InlineData("1,2,3,4", """{"Prop":"AQIDBA=="}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_binary_as_string_JSON_values(string? value, string json) => Can_read_and_write_JSON_property_value( @@ -927,7 +927,7 @@ public virtual Task Can_read_write_nullable_binary_as_string_JSON_values(string? ? [] : value.Split(',').Select(e => byte.Parse(e)).ToArray(), json); - [ConditionalTheory, InlineData( + [Theory, InlineData( "https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName", """{"Prop":"https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1\u0026q2=v2#FragmentName"}"""), InlineData("file:///C:/test/path/file.txt", """{"Prop":"file:///C:/test/path/file.txt"}"""), InlineData(null, """{"Prop":null}""")] @@ -937,7 +937,7 @@ public virtual Task Can_read_write_nullable_URI_as_string_JSON_values(string? va nameof(NullableUriType.Uri), value == null ? default : new Uri(value), json); - [ConditionalTheory, InlineData("127.0.0.1", """{"Prop":"127.0.0.1"}"""), InlineData("0.0.0.0", """{"Prop":"0.0.0.0"}"""), + [Theory, InlineData("127.0.0.1", """{"Prop":"127.0.0.1"}"""), InlineData("0.0.0.0", """{"Prop":"0.0.0.0"}"""), InlineData("255.255.255.255", """{"Prop":"255.255.255.255"}"""), InlineData("192.168.1.156", """{"Prop":"192.168.1.156"}"""), InlineData("::1", """{"Prop":"::1"}"""), InlineData("::", """{"Prop":"::"}"""), InlineData("2a00:23c7:c60f:4f01:ba43:6d5a:e648:7577", """{"Prop":"2a00:23c7:c60f:4f01:ba43:6d5a:e648:7577"}"""), @@ -948,7 +948,7 @@ public virtual Task Can_read_write_nullable_IP_address_as_string_JSON_values(str nameof(NullableIPAddressType.IpAddress), value == null ? default : IPAddress.Parse(value), json); - [ConditionalTheory, InlineData("001122334455", """{"Prop":"001122334455"}"""), + [Theory, InlineData("001122334455", """{"Prop":"001122334455"}"""), InlineData("00-11-22-33-44-55", """{"Prop":"001122334455"}"""), InlineData("0011.2233.4455", """{"Prop":"001122334455"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_physical_address_as_string_JSON_values(string? value, string json) @@ -957,7 +957,7 @@ public virtual Task Can_read_write_nullable_physical_address_as_string_JSON_valu nameof(NullablePhysicalAddressType.PhysicalAddress), value == null ? default : PhysicalAddress.Parse(value), json); - [ConditionalTheory, InlineData((sbyte)Enum8.Min, """{"Prop":"Min"}"""), InlineData((sbyte)Enum8.Max, """{"Prop":"Max"}"""), + [Theory, InlineData((sbyte)Enum8.Min, """{"Prop":"Min"}"""), InlineData((sbyte)Enum8.Max, """{"Prop":"Max"}"""), InlineData((sbyte)Enum8.Default, """{"Prop":"Default"}"""), InlineData((sbyte)Enum8.One, """{"Prop":"One"}"""), InlineData((sbyte)77, """{"Prop":"77"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_sbyte_enum_as_string_JSON_values(object? value, string json) @@ -966,7 +966,7 @@ public virtual Task Can_read_write_nullable_sbyte_enum_as_string_JSON_values(obj nameof(NullableEnum8Type.Enum8), value == null ? default(Enum8?) : (Enum8)value, json); - [ConditionalTheory, InlineData((short)Enum16.Min, """{"Prop":"Min"}"""), InlineData((short)Enum16.Max, """{"Prop":"Max"}"""), + [Theory, InlineData((short)Enum16.Min, """{"Prop":"Min"}"""), InlineData((short)Enum16.Max, """{"Prop":"Max"}"""), InlineData((short)Enum16.Default, """{"Prop":"Default"}"""), InlineData((short)Enum16.One, """{"Prop":"One"}"""), InlineData((short)77, """{"Prop":"77"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_short_enum_as_string_JSON_values(object? value, string json) @@ -975,7 +975,7 @@ public virtual Task Can_read_write_nullable_short_enum_as_string_JSON_values(obj nameof(NullableEnum16Type.Enum16), value == null ? default(Enum16?) : (Enum16)value, json); - [ConditionalTheory, InlineData((int)Enum32.Min, """{"Prop":"Min"}"""), InlineData((int)Enum32.Max, """{"Prop":"Max"}"""), + [Theory, InlineData((int)Enum32.Min, """{"Prop":"Min"}"""), InlineData((int)Enum32.Max, """{"Prop":"Max"}"""), InlineData((int)Enum32.Default, """{"Prop":"Default"}"""), InlineData((int)Enum32.One, """{"Prop":"One"}"""), InlineData(77, """{"Prop":"77"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_int_enum_as_string_JSON_values(object? value, string json) @@ -984,7 +984,7 @@ public virtual Task Can_read_write_nullable_int_enum_as_string_JSON_values(objec nameof(NullableEnum32Type.Enum32), value == null ? default(Enum32?) : (Enum32)value, json); - [ConditionalTheory, InlineData((long)Enum64.Min, """{"Prop":"Min"}"""), InlineData((long)Enum64.Max, """{"Prop":"Max"}"""), + [Theory, InlineData((long)Enum64.Min, """{"Prop":"Min"}"""), InlineData((long)Enum64.Max, """{"Prop":"Max"}"""), InlineData((long)Enum64.Default, """{"Prop":"Default"}"""), InlineData((long)Enum64.One, """{"Prop":"One"}"""), InlineData((long)77, """{"Prop":"77"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_long_enum_as_string_JSON_values(object? value, string json) @@ -993,7 +993,7 @@ public virtual Task Can_read_write_nullable_long_enum_as_string_JSON_values(obje nameof(NullableEnum64Type.Enum64), value == null ? default(Enum64?) : (Enum64)value, json); - [ConditionalTheory, InlineData((byte)EnumU8.Min, """{"Prop":"Min"}"""), InlineData((byte)EnumU8.Max, """{"Prop":"Max"}"""), + [Theory, InlineData((byte)EnumU8.Min, """{"Prop":"Min"}"""), InlineData((byte)EnumU8.Max, """{"Prop":"Max"}"""), InlineData((byte)EnumU8.One, """{"Prop":"One"}"""), InlineData((byte)77, """{"Prop":"77"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_byte_enum_as_string_JSON_values(object? value, string json) => Can_read_and_write_JSON_property_value( @@ -1001,7 +1001,7 @@ public virtual Task Can_read_write_nullable_byte_enum_as_string_JSON_values(obje nameof(NullableEnumU8Type.EnumU8), value == null ? default(EnumU8?) : (EnumU8)value, json); - [ConditionalTheory, InlineData((ushort)EnumU16.Min, """{"Prop":"Min"}"""), InlineData((ushort)EnumU16.Max, """{"Prop":"Max"}"""), + [Theory, InlineData((ushort)EnumU16.Min, """{"Prop":"Min"}"""), InlineData((ushort)EnumU16.Max, """{"Prop":"Max"}"""), InlineData((ushort)EnumU16.One, """{"Prop":"One"}"""), InlineData((ushort)77, """{"Prop":"77"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_ushort_enum_as_string_JSON_values(object? value, string json) @@ -1010,7 +1010,7 @@ public virtual Task Can_read_write_nullable_ushort_enum_as_string_JSON_values(ob nameof(NullableEnumU16Type.EnumU16), value == null ? default(EnumU16?) : (EnumU16)value, json); - [ConditionalTheory, InlineData((uint)EnumU32.Min, """{"Prop":"Min"}"""), InlineData((uint)EnumU32.Max, """{"Prop":"Max"}"""), + [Theory, InlineData((uint)EnumU32.Min, """{"Prop":"Min"}"""), InlineData((uint)EnumU32.Max, """{"Prop":"Max"}"""), InlineData((uint)EnumU32.One, """{"Prop":"One"}"""), InlineData((uint)77, """{"Prop":"77"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_uint_enum_as_string_JSON_values(object? value, string json) => Can_read_and_write_JSON_property_value( @@ -1018,7 +1018,7 @@ public virtual Task Can_read_write_nullable_uint_enum_as_string_JSON_values(obje nameof(NullableEnumU32Type.EnumU32), value == null ? default(EnumU32?) : (EnumU32)value, json); - [ConditionalTheory, InlineData((ulong)EnumU64.Min, """{"Prop":"Min"}"""), InlineData((ulong)EnumU64.Max, """{"Prop":"Max"}"""), + [Theory, InlineData((ulong)EnumU64.Min, """{"Prop":"Min"}"""), InlineData((ulong)EnumU64.Max, """{"Prop":"Max"}"""), InlineData((ulong)EnumU64.One, """{"Prop":"One"}"""), InlineData((ulong)77, """{"Prop":"77"}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_ulong_enum_as_string_JSON_values(object? value, string json) @@ -1027,7 +1027,7 @@ public virtual Task Can_read_write_nullable_ulong_enum_as_string_JSON_values(obj nameof(NullableEnumU64Type.EnumU64), value == null ? default(EnumU64?) : (EnumU64)value, json); - [ConditionalFact] + [Fact] public virtual async Task Can_read_write_point() { var factory = NtsGeometryServices.Instance.CreateGeometryFactory(srid: 4326); @@ -1043,7 +1043,7 @@ public class PointType public Point? Point { get; set; } } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_nullable_point() => Can_read_and_write_JSON_value( nameof(NullablePointType.Point), @@ -1055,7 +1055,7 @@ public class NullablePointType public Point? Point { get; set; } } - [ConditionalFact] + [Fact] public virtual async Task Can_read_write_point_with_Z() { var factory = NtsGeometryServices.Instance.CreateGeometryFactory(srid: 4326); @@ -1071,7 +1071,7 @@ public class PointZType public Point PointZ { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual async Task Can_read_write_point_with_M() { var factory = NtsGeometryServices.Instance.CreateGeometryFactory(srid: 4326); @@ -1087,7 +1087,7 @@ public class PointMType public Point PointM { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual async Task Can_read_write_point_with_Z_and_M() { var factory = NtsGeometryServices.Instance.CreateGeometryFactory(srid: 4326); @@ -1103,7 +1103,7 @@ public class PointZMType public Point PointZM { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual async Task Can_read_write_line_string() { var factory = NtsGeometryServices.Instance.CreateGeometryFactory(srid: 4326); @@ -1119,7 +1119,7 @@ public class LineStringType public LineString? LineString { get; set; } } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_nullable_line_string() => Can_read_and_write_JSON_value( nameof(NullableLineStringType.LineString), @@ -1131,7 +1131,7 @@ public class NullableLineStringType public LineString? LineString { get; set; } } - [ConditionalFact] + [Fact] public virtual async Task Can_read_write_multi_line_string() { var factory = NtsGeometryServices.Instance.CreateGeometryFactory(srid: 4326); @@ -1153,7 +1153,7 @@ public class MultiLineStringType public MultiLineString MultiLineString { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_nullable_multi_line_string() => Can_read_and_write_JSON_value( nameof(NullableMultiLineStringType.MultiLineString), @@ -1165,7 +1165,7 @@ public class NullableMultiLineStringType public MultiLineString? MultiLineString { get; set; } } - [ConditionalFact] + [Fact] public virtual async Task Can_read_write_polygon() { var factory = NtsGeometryServices.Instance.CreateGeometryFactory(srid: 4326); @@ -1181,7 +1181,7 @@ public class PolygonType public Polygon Polygon { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_nullable_polygon() => Can_read_and_write_JSON_value( nameof(NullablePolygonType.Polygon), @@ -1193,7 +1193,7 @@ public class NullablePolygonType public Polygon? Polygon { get; set; } } - [ConditionalFact] + [Fact] public virtual async Task Can_read_write_polygon_typed_as_geometry() { var factory = NtsGeometryServices.Instance.CreateGeometryFactory(srid: 4326); @@ -1209,7 +1209,7 @@ public class GeometryType public Geometry Geometry { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_polygon_typed_as_nullable_geometry() => Can_read_and_write_JSON_value( nameof(NullableGeometryType.Geometry), @@ -1221,7 +1221,7 @@ public class NullableGeometryType public Geometry? Geometry { get; set; } } - [ConditionalFact] + [Fact] public virtual async Task Can_read_write_point_as_GeoJson() { var factory = NtsGeometryServices.Instance.CreateGeometryFactory(srid: 4326); @@ -1233,7 +1233,7 @@ await Can_read_and_write_JSON_property_value( """{"Prop":{"type":"Point","coordinates":[2.0,4.0]}}"""); } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_nullable_point_as_GeoJson() => Can_read_and_write_JSON_property_value( b => b.Metadata.SetJsonValueReaderWriterType(typeof(JsonGeoJsonReaderWriter)), @@ -1241,7 +1241,7 @@ public virtual Task Can_read_write_nullable_point_as_GeoJson() null, """{"Prop":null}"""); - [ConditionalFact] + [Fact] public virtual async Task Can_read_write_point_with_Z_as_GeoJson() { var factory = NtsGeometryServices.Instance.CreateGeometryFactory(srid: 4326); @@ -1253,7 +1253,7 @@ await Can_read_and_write_JSON_property_value( """{"Prop":{"type":"Point","coordinates":[2.0,4.0]}}"""); } - [ConditionalFact] + [Fact] public virtual async Task Can_read_write_point_with_M_as_GeoJson() { var factory = NtsGeometryServices.Instance.CreateGeometryFactory(srid: 4326); @@ -1265,7 +1265,7 @@ await Can_read_and_write_JSON_property_value( """{"Prop":{"type":"Point","coordinates":[2.0,4.0]}}"""); } - [ConditionalFact] + [Fact] public virtual async Task Can_read_write_point_with_Z_and_M_as_GeoJson() { var factory = NtsGeometryServices.Instance.CreateGeometryFactory(srid: 4326); @@ -1277,7 +1277,7 @@ await Can_read_and_write_JSON_property_value( """{"Prop":{"type":"Point","coordinates":[1.0,2.0]}}"""); } - [ConditionalFact] + [Fact] public virtual async Task Can_read_write_line_string_as_GeoJson() { var factory = NtsGeometryServices.Instance.CreateGeometryFactory(srid: 4326); @@ -1289,7 +1289,7 @@ await Can_read_and_write_JSON_property_value( """{"Prop":{"type":"LineString","coordinates":[[0.0,0.0],[1.0,0.0]]}}"""); } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_nullable_line_string_as_GeoJson() => Can_read_and_write_JSON_property_value( b => b.Metadata.SetJsonValueReaderWriterType(typeof(JsonGeoJsonReaderWriter)), @@ -1297,7 +1297,7 @@ public virtual Task Can_read_write_nullable_line_string_as_GeoJson() null, """{"Prop":null}"""); - [ConditionalFact] + [Fact] public virtual async Task Can_read_write_multi_line_string_as_GeoJson() { var factory = NtsGeometryServices.Instance.CreateGeometryFactory(srid: 4326); @@ -1315,7 +1315,7 @@ await Can_read_and_write_JSON_property_value Can_read_and_write_JSON_property_value( b => b.Metadata.SetJsonValueReaderWriterType(typeof(JsonGeoJsonReaderWriter)), @@ -1323,7 +1323,7 @@ public virtual Task Can_read_write_nullable_multi_line_string_as_GeoJson() null, """{"Prop":null}"""); - [ConditionalFact] + [Fact] public virtual async Task Can_read_write_polygon_as_GeoJson() { var factory = NtsGeometryServices.Instance.CreateGeometryFactory(srid: 4326); @@ -1335,7 +1335,7 @@ await Can_read_and_write_JSON_property_value( """{"Prop":{"type":"Polygon","coordinates":[[[0.0,0.0],[1.0,0.0],[0.0,1.0],[0.0,0.0]]]}}"""); } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_nullable_polygon_as_GeoJson() => Can_read_and_write_JSON_property_value( b => b.Metadata.SetJsonValueReaderWriterType(typeof(JsonGeoJsonReaderWriter)), @@ -1343,7 +1343,7 @@ public virtual Task Can_read_write_nullable_polygon_as_GeoJson() null, """{"Prop":null}"""); - [ConditionalFact] + [Fact] public virtual async Task Can_read_write_polygon_typed_as_geometry_as_GeoJson() { var factory = NtsGeometryServices.Instance.CreateGeometryFactory(srid: 4326); @@ -1355,7 +1355,7 @@ await Can_read_and_write_JSON_property_value( """{"Prop":{"type":"Polygon","coordinates":[[[0.0,0.0],[1.0,0.0],[0.0,1.0],[0.0,0.0]]]}}"""); } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_polygon_typed_as_nullable_geometry_as_GeoJson() => Can_read_and_write_JSON_property_value( b => b.Metadata.SetJsonValueReaderWriterType(typeof(JsonGeoJsonReaderWriter)), @@ -1363,7 +1363,7 @@ public virtual Task Can_read_write_polygon_typed_as_nullable_geometry_as_GeoJson null, """{"Prop":null}"""); - [ConditionalTheory, InlineData(int.MinValue, """{"Prop":-2147483648}"""), InlineData(int.MaxValue, """{"Prop":2147483647}"""), + [Theory, InlineData(int.MinValue, """{"Prop":-2147483648}"""), InlineData(int.MaxValue, """{"Prop":2147483647}"""), InlineData(0, """{"Prop":0}"""), InlineData(1, """{"Prop":1}""")] public virtual Task Can_read_write_converted_type_JSON_values(int value, string json) => Can_read_and_write_JSON_value( @@ -1377,7 +1377,7 @@ protected class DddIdType public DddId DddId { get; set; } } - [ConditionalTheory, InlineData(int.MinValue, """{"Prop":-2147483648}"""), InlineData(int.MaxValue, """{"Prop":2147483647}"""), + [Theory, InlineData(int.MinValue, """{"Prop":-2147483648}"""), InlineData(int.MaxValue, """{"Prop":2147483647}"""), InlineData(0, """{"Prop":0}"""), InlineData(1, """{"Prop":1}"""), InlineData(null, """{"Prop":null}""")] public virtual Task Can_read_write_nullable_converted_type_JSON_values(int? value, string json) => Can_read_and_write_JSON_value( @@ -1391,7 +1391,7 @@ protected class NullableDddIdType public DddId? DddId { get; set; } } - [ConditionalTheory, InlineData(EnumProperty.FieldA, """{"Prop":"A"}"""), InlineData(EnumProperty.FieldB, """{"Prop":"B"}""")] + [Theory, InlineData(EnumProperty.FieldA, """{"Prop":"A"}"""), InlineData(EnumProperty.FieldB, """{"Prop":"B"}""")] public virtual Task Can_read_write_enum_char_converted_type_JSON_values(int value, string json) => Can_read_and_write_JSON_value( b => b.Entity().HasNoKey().Property(e => e.EnumProperty), @@ -1416,7 +1416,7 @@ protected enum EnumProperty FieldC = 'C', } - [ConditionalTheory, InlineData("127.0.0.1", """{"Prop":"127.0.0.1"}"""), InlineData("0.0.0.0", """{"Prop":"0.0.0.0"}"""), + [Theory, InlineData("127.0.0.1", """{"Prop":"127.0.0.1"}"""), InlineData("0.0.0.0", """{"Prop":"0.0.0.0"}"""), InlineData("255.255.255.255", """{"Prop":"255.255.255.255"}"""), InlineData("192.168.1.156", """{"Prop":"192.168.1.156"}"""), InlineData("::1", """{"Prop":"::1"}"""), InlineData("::", """{"Prop":"::"}"""), InlineData("2a00:23c7:c60f:4f01:ba43:6d5a:e648:7577", """{"Prop":"2a00:23c7:c60f:4f01:ba43:6d5a:e648:7577"}""")] @@ -1451,7 +1451,7 @@ public override int GetHashCode() => Address.GetHashCode(); } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_sbyte_JSON_values() => Can_read_and_write_JSON_value>( nameof(Int8CollectionType.Int8), @@ -1468,7 +1468,7 @@ protected class Int8CollectionType public sbyte[] Int8 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_short_JSON_values() => Can_read_and_write_JSON_value>( nameof(Int16CollectionType.Int16), @@ -1485,7 +1485,7 @@ protected class Int16CollectionType public IReadOnlyCollection Int16 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_int_JSON_values() => Can_read_and_write_JSON_value>( nameof(Int32CollectionType.Int32), @@ -1503,7 +1503,7 @@ protected class Int32CollectionType public ReadOnlyCollection Int32 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_long_JSON_values() => Can_read_and_write_JSON_value>( nameof(Int64CollectionType.Int64), @@ -1520,7 +1520,7 @@ protected class Int64CollectionType public IList Int64 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_byte_JSON_values() => Can_read_and_write_JSON_value>( nameof(UInt8CollectionType.UInt8), @@ -1537,7 +1537,7 @@ protected class UInt8CollectionType public List UInt8 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_ushort_JSON_values() => Can_read_and_write_JSON_value>( nameof(UInt16CollectionType.UInt16), @@ -1554,7 +1554,7 @@ protected class UInt16CollectionType public Collection UInt16 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_uint_JSON_values() => Can_read_and_write_JSON_value>( nameof(UInt32CollectionType.UInt32), @@ -1571,7 +1571,7 @@ protected class UInt32CollectionType public List UInt32 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_ulong_JSON_values() => Can_read_and_write_JSON_value>( nameof(UInt64CollectionType.UInt64), @@ -1589,7 +1589,7 @@ protected class UInt64CollectionType public ObservableCollection UInt64 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_float_JSON_values() => Can_read_and_write_JSON_value>( nameof(FloatCollectionType.Float), @@ -1606,7 +1606,7 @@ protected class FloatCollectionType public float[] Float { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_double_JSON_values() => Can_read_and_write_JSON_value>( nameof(DoubleCollectionType.Double), @@ -1623,7 +1623,7 @@ protected class DoubleCollectionType public double[] Double { get; set; } = null!; } - [ConditionalTheory, InlineData("""{"Prop":[-79228162514264337593543950335,0,79228162514264337593543950335]}""")] + [Theory, InlineData("""{"Prop":[-79228162514264337593543950335,0,79228162514264337593543950335]}""")] public virtual Task Can_read_write_collection_of_decimal_JSON_values(string expected) => Can_read_and_write_JSON_value>( nameof(DecimalCollectionType.Decimal), @@ -1640,7 +1640,7 @@ protected class DecimalCollectionType public decimal[] Decimal { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_DateOnly_JSON_values() => Can_read_and_write_JSON_value>( nameof(DateOnlyCollectionType.DateOnly), @@ -1657,7 +1657,7 @@ protected class DateOnlyCollectionType public IList DateOnly { get; set; } = null!; } - [ConditionalTheory, InlineData("""{"Prop":["00:00:00.0000000","11:05:02.0030040","23:59:59.9999999"]}""")] + [Theory, InlineData("""{"Prop":["00:00:00.0000000","11:05:02.0030040","23:59:59.9999999"]}""")] public virtual Task Can_read_write_collection_of_TimeOnly_JSON_values(string expected) => Can_read_and_write_JSON_value>( nameof(TimeOnlyCollectionType.TimeOnly), @@ -1675,7 +1675,7 @@ protected class TimeOnlyCollectionType public IReadOnlyCollection TimeOnly { get; set; } = null!; } - [ConditionalTheory, InlineData("""{"Prop":["0001-01-01T00:00:00","2023-05-29T10:52:47","9999-12-31T23:59:59.9999999"]}""")] + [Theory, InlineData("""{"Prop":["0001-01-01T00:00:00","2023-05-29T10:52:47","9999-12-31T23:59:59.9999999"]}""")] public virtual Task Can_read_write_collection_of_DateTime_JSON_values(string expected) => Can_read_and_write_JSON_value>( nameof(DateTimeCollectionType.DateTime), @@ -1692,7 +1692,7 @@ protected class DateTimeCollectionType public IList DateTime { get; set; } = null!; } - [ConditionalTheory, InlineData( + [Theory, InlineData( """{"Prop":["0001-01-01T00:00:00+00:00","2023-05-29T10:52:47-02:00","2023-05-29T10:52:47+00:00","2023-05-29T10:52:47+02:00","9999-12-31T23:59:59.9999999+00:00"]}""")] public virtual Task Can_read_write_collection_of_DateTimeOffset_JSON_values(string expected) => Can_read_and_write_JSON_value>( @@ -1712,7 +1712,7 @@ protected class DateTimeOffsetCollectionType public IList DateTimeOffset { get; set; } = null!; } - [ConditionalTheory, InlineData("""{"Prop":["-10675199:2:48:05.4775808","1:2:03:04.005","10675199:2:48:05.4775807"]}""")] + [Theory, InlineData("""{"Prop":["-10675199:2:48:05.4775808","1:2:03:04.005","10675199:2:48:05.4775807"]}""")] public virtual Task Can_read_write_collection_of_TimeSpan_JSON_values(string expected) => Can_read_and_write_JSON_value>( nameof(TimeSpanCollectionType.TimeSpan), @@ -1729,7 +1729,7 @@ protected class TimeSpanCollectionType public IList TimeSpan { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_bool_JSON_values() => Can_read_and_write_JSON_value>( nameof(BooleanCollectionType.Boolean), @@ -1742,7 +1742,7 @@ protected class BooleanCollectionType public IList Boolean { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_char_JSON_values() => Can_read_and_write_JSON_value>( nameof(CharacterCollectionType.Character), @@ -1759,7 +1759,7 @@ protected class CharacterCollectionType public IList Character { get; set; } = null!; } - [ConditionalTheory, InlineData( + [Theory, InlineData( """{"Prop":["00000000-0000-0000-0000-000000000000","8c44242f-8e3f-4a20-8be8-98c7c1aadebd","ffffffff-ffff-ffff-ffff-ffffffffffff"]}""")] public virtual Task Can_read_write_collection_of_GUID_JSON_values(string expected) => Can_read_and_write_JSON_value>( @@ -1777,7 +1777,7 @@ protected class GuidCollectionType public IList Guid { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_string_JSON_values() => Can_read_and_write_JSON_value>( nameof(StringCollectionType.String), @@ -1794,7 +1794,7 @@ protected class StringCollectionType public IReadOnlyCollection String { get; set; } = null!; } - [ConditionalTheory, InlineData("""{"Prop":["AAAAAQ==","/////w==","","AQIDBA=="]}""")] + [Theory, InlineData("""{"Prop":["AAAAAQ==","/////w==","","AQIDBA=="]}""")] public virtual Task Can_read_write_collection_of_binary_JSON_values(string expected) => Can_read_and_write_JSON_value>( nameof(BytesCollectionType.Bytes), @@ -1812,7 +1812,7 @@ protected class BytesCollectionType public IList Bytes { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_URI_JSON_values() => Can_read_and_write_JSON_value>( nameof(UriCollectionType.Uri), @@ -1828,7 +1828,7 @@ protected class UriCollectionType public List Uri { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_IP_address_JSON_values() => Can_read_and_write_JSON_value>( nameof(IpAddressCollectionType.IpAddress), @@ -1850,7 +1850,7 @@ protected class IpAddressCollectionType public ReadOnlyCollection IpAddress { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_physical_address_JSON_values() => Can_read_and_write_JSON_value>( nameof(PhysicalAddressCollectionType.PhysicalAddress), @@ -1868,7 +1868,7 @@ protected class PhysicalAddressCollectionType public List PhysicalAddress { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_sbyte_enum_JSON_values() => Can_read_and_write_JSON_value>( nameof(Enum8CollectionType.Enum8), @@ -1887,7 +1887,7 @@ protected class Enum8CollectionType public List Enum8 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_short_enum_JSON_values() => Can_read_and_write_JSON_value>( nameof(Enum16CollectionType.Enum16), @@ -1906,7 +1906,7 @@ protected class Enum16CollectionType public List Enum16 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_int_enum_JSON_values() => Can_read_and_write_JSON_value>( nameof(Enum32CollectionType.Enum32), @@ -1925,7 +1925,7 @@ protected class Enum32CollectionType public List Enum32 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_long_enum_JSON_values() => Can_read_and_write_JSON_value>( nameof(Enum64CollectionType.Enum64), @@ -1944,7 +1944,7 @@ protected class Enum64CollectionType public List Enum64 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_byte_enum_JSON_values() => Can_read_and_write_JSON_value>( nameof(EnumU8CollectionType.EnumU8), @@ -1963,7 +1963,7 @@ protected class EnumU8CollectionType public IList EnumU8 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_ushort_enum_JSON_values() => Can_read_and_write_JSON_value>( nameof(EnumU16CollectionType.EnumU16), @@ -1982,7 +1982,7 @@ protected class EnumU16CollectionType public IList EnumU16 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_uint_enum_JSON_values() => Can_read_and_write_JSON_value>( nameof(EnumU32CollectionType.EnumU32), @@ -2002,7 +2002,7 @@ protected class EnumU32CollectionType public IList EnumU32 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_ulong_enum_JSON_values() => Can_read_and_write_JSON_value>( nameof(EnumU64CollectionType.EnumU64), @@ -2021,7 +2021,7 @@ protected class EnumU64CollectionType public IList EnumU64 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_sbyte_JSON_values() => Can_read_and_write_JSON_value>( nameof(NullableInt8CollectionType.Int8), @@ -2039,7 +2039,7 @@ protected class NullableInt8CollectionType public sbyte?[] Int8 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_short_JSON_values() => Can_read_and_write_JSON_value>( nameof(NullableInt16CollectionType.Int16), @@ -2057,7 +2057,7 @@ protected class NullableInt16CollectionType public IReadOnlyCollection Int16 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_int_JSON_values() => Can_read_and_write_JSON_value>( nameof(NullableInt32CollectionType.Int32), @@ -2075,7 +2075,7 @@ protected class NullableInt32CollectionType public List Int32 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_long_JSON_values() => Can_read_and_write_JSON_value>( nameof(NullableInt64CollectionType.Int64), @@ -2094,7 +2094,7 @@ protected class NullableInt64CollectionType public ReadOnlyCollection Int64 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_byte_JSON_values() => Can_read_and_write_JSON_value>( nameof(NullableUInt8CollectionType.UInt8), @@ -2112,7 +2112,7 @@ protected class NullableUInt8CollectionType public List UInt8 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_ushort_JSON_values() => Can_read_and_write_JSON_value>( nameof(NullableUInt16CollectionType.UInt16), @@ -2130,7 +2130,7 @@ protected class NullableUInt16CollectionType public Collection UInt16 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_uint_JSON_values() => Can_read_and_write_JSON_value>( nameof(NullableUInt32CollectionType.UInt32), @@ -2148,7 +2148,7 @@ protected class NullableUInt32CollectionType public List UInt32 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_ulong_JSON_values() => Can_read_and_write_JSON_value>( nameof(NullableUInt64CollectionType.UInt64), @@ -2166,7 +2166,7 @@ protected class NullableUInt64CollectionType public ObservableCollection UInt64 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_float_JSON_values() => Can_read_and_write_JSON_value>( nameof(NullableFloatCollectionType.Float), @@ -2184,7 +2184,7 @@ protected class NullableFloatCollectionType public float?[] Float { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_double_JSON_values() => Can_read_and_write_JSON_value>( nameof(NullableDoubleCollectionType.Double), @@ -2202,7 +2202,7 @@ protected class NullableDoubleCollectionType public double?[] Double { get; set; } = null!; } - [ConditionalTheory, InlineData("""{"Prop":[-79228162514264337593543950335,0,null,79228162514264337593543950335]}""")] + [Theory, InlineData("""{"Prop":[-79228162514264337593543950335,0,null,79228162514264337593543950335]}""")] public virtual Task Can_read_write_collection_of_nullable_decimal_JSON_values(string expected) => Can_read_and_write_JSON_value>( nameof(NullableDecimalCollectionType.Decimal), @@ -2220,7 +2220,7 @@ protected class NullableDecimalCollectionType public decimal?[] Decimal { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_DateOnly_JSON_values() => Can_read_and_write_JSON_value>( nameof(NullableDateOnlyCollectionType.DateOnly), @@ -2238,7 +2238,7 @@ protected class NullableDateOnlyCollectionType public IList DateOnly { get; set; } = null!; } - [ConditionalTheory, InlineData("""{"Prop":[null,"00:00:00.0000000","11:05:02.0030040","23:59:59.9999999"]}""")] + [Theory, InlineData("""{"Prop":[null,"00:00:00.0000000","11:05:02.0030040","23:59:59.9999999"]}""")] public virtual Task Can_read_write_collection_of_nullable_TimeOnly_JSON_values(string expected) => Can_read_and_write_JSON_value>( nameof(NullableTimeOnlyCollectionType.TimeOnly), @@ -2256,7 +2256,7 @@ protected class NullableTimeOnlyCollectionType public IReadOnlyList TimeOnly { get; set; } = null!; } - [ConditionalTheory, InlineData("""{"Prop":["0001-01-01T00:00:00",null,"2023-05-29T10:52:47","9999-12-31T23:59:59.9999999"]}""")] + [Theory, InlineData("""{"Prop":["0001-01-01T00:00:00",null,"2023-05-29T10:52:47","9999-12-31T23:59:59.9999999"]}""")] public virtual Task Can_read_write_collection_of_nullable_DateTime_JSON_values(string expected) => Can_read_and_write_JSON_value>( nameof(NullableDateTimeCollectionType.DateTime), @@ -2274,7 +2274,7 @@ protected class NullableDateTimeCollectionType public IList DateTime { get; set; } = null!; } - [ConditionalTheory, InlineData( + [Theory, InlineData( """{"Prop":["0001-01-01T00:00:00+00:00","2023-05-29T10:52:47-02:00","2023-05-29T10:52:47+00:00",null,"2023-05-29T10:52:47+02:00","9999-12-31T23:59:59.9999999+00:00"]}""")] public virtual Task Can_read_write_collection_of_nullable_DateTimeOffset_JSON_values(string expected) => Can_read_and_write_JSON_value>( @@ -2295,7 +2295,7 @@ protected class NullableDateTimeOffsetCollectionType public IReadOnlyList DateTimeOffset { get; set; } = null!; } - [ConditionalTheory, InlineData("""{"Prop":["-10675199:2:48:05.4775808","1:2:03:04.005","10675199:2:48:05.4775807",null]}""")] + [Theory, InlineData("""{"Prop":["-10675199:2:48:05.4775808","1:2:03:04.005","10675199:2:48:05.4775807",null]}""")] public virtual Task Can_read_write_collection_of_nullable_TimeSpan_JSON_values(string expected) => Can_read_and_write_JSON_value>( nameof(NullableTimeSpanCollectionType.TimeSpan), @@ -2313,7 +2313,7 @@ protected class NullableTimeSpanCollectionType public IList TimeSpan { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_bool_JSON_values() => Can_read_and_write_JSON_value>( nameof(NullableBooleanCollectionType.Boolean), @@ -2331,7 +2331,7 @@ protected class NullableBooleanCollectionType public ReadOnlyCollection Boolean { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_char_JSON_values() => Can_read_and_write_JSON_value>( nameof(NullableCharacterCollectionType.Character), @@ -2349,7 +2349,7 @@ protected class NullableCharacterCollectionType public IList Character { get; set; } = null!; } - [ConditionalTheory, InlineData( + [Theory, InlineData( """{"Prop":["00000000-0000-0000-0000-000000000000",null,"8c44242f-8e3f-4a20-8be8-98c7c1aadebd","ffffffff-ffff-ffff-ffff-ffffffffffff"]}""")] public virtual Task Can_read_write_collection_of_nullable_GUID_JSON_values(string expected) => Can_read_and_write_JSON_value>( @@ -2368,7 +2368,7 @@ protected class NullableGuidCollectionType public IList Guid { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_string_JSON_values() => Can_read_and_write_JSON_value>( nameof(NullableStringCollectionType.String), @@ -2386,7 +2386,7 @@ protected class NullableStringCollectionType public IList String { get; set; } = null!; } - [ConditionalTheory, InlineData("""{"Prop":["AAAAAQ==",null,"/////w==","","AQIDBA=="]}""")] + [Theory, InlineData("""{"Prop":["AAAAAQ==",null,"/////w==","","AQIDBA=="]}""")] public virtual Task Can_read_write_collection_of_nullable_binary_JSON_values(string expected) => Can_read_and_write_JSON_value>( nameof(NullableBytesCollectionType.Bytes), @@ -2405,7 +2405,7 @@ protected class NullableBytesCollectionType public IList Bytes { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_URI_JSON_values() => Can_read_and_write_JSON_value>( nameof(NullableUriCollectionType.Uri), @@ -2422,7 +2422,7 @@ protected class NullableUriCollectionType public List Uri { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_IP_address_JSON_values() => Can_read_and_write_JSON_value>( nameof(NullableIpAddressCollectionType.IpAddress), @@ -2444,7 +2444,7 @@ protected class NullableIpAddressCollectionType public List IpAddress { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_physical_address_JSON_values() => Can_read_and_write_JSON_value>( nameof(NullablePhysicalAddressCollectionType.PhysicalAddress), @@ -2463,7 +2463,7 @@ protected class NullablePhysicalAddressCollectionType public List PhysicalAddress { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_sbyte_enum_JSON_values() => Can_read_and_write_JSON_value>( nameof(NullableEnum8CollectionType.Enum8), @@ -2483,7 +2483,7 @@ protected class NullableEnum8CollectionType public List Enum8 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_short_enum_JSON_values() => Can_read_and_write_JSON_value>( nameof(NullableEnum16CollectionType.Enum16), @@ -2503,7 +2503,7 @@ protected class NullableEnum16CollectionType public List Enum16 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_int_enum_JSON_values() => Can_read_and_write_JSON_value>( nameof(NullableEnum32CollectionType.Enum32), @@ -2523,7 +2523,7 @@ protected class NullableEnum32CollectionType public List Enum32 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_long_enum_JSON_values() => Can_read_and_write_JSON_value>( nameof(NullableEnum64CollectionType.Enum64), @@ -2543,7 +2543,7 @@ protected class NullableEnum64CollectionType public List Enum64 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_byte_enum_JSON_values() => Can_read_and_write_JSON_value>( nameof(NullableEnumU8CollectionType.EnumU8), @@ -2563,7 +2563,7 @@ protected class NullableEnumU8CollectionType public IList EnumU8 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_ushort_enum_JSON_values() => Can_read_and_write_JSON_value>( nameof(NullableEnumU16CollectionType.EnumU16), @@ -2583,7 +2583,7 @@ protected class NullableEnumU16CollectionType public IList EnumU16 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_uint_enum_JSON_values() => Can_read_and_write_JSON_value>( nameof(NullableEnumU32CollectionType.EnumU32), @@ -2603,7 +2603,7 @@ protected class NullableEnumU32CollectionType public IList EnumU32 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_ulong_enum_JSON_values() => Can_read_and_write_JSON_value>( nameof(NullableEnumU64CollectionType.EnumU64), @@ -2623,7 +2623,7 @@ protected class NullableEnumU64CollectionType public IList EnumU64 { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_sbyte_values_with_converter_as_JSON_string() => Can_read_and_write_JSON_property_value( b => b.HasConversion, CustomCollectionComparer>(), @@ -2636,7 +2636,7 @@ protected class Int8ConvertedType public sbyte[] Int8Converted { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_int_values_with_converter_as_JSON_string() => Can_read_and_write_JSON_property_value>( b => b.HasConversion, int>, CustomCollectionComparer, int>>(), @@ -2653,7 +2653,7 @@ protected class Int32ConvertedType public List Int32Converted { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_ulong_values_with_converter_as_JSON_string() => Can_read_and_write_JSON_property_value>( b => b.HasConversion, ulong>, @@ -2671,7 +2671,7 @@ protected class UInt64ConvertedType public ObservableCollection UInt64Converted { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_double_values_with_converter_as_JSON_string() => Can_read_and_write_JSON_property_value( b => b.HasConversion, CustomCollectionComparer>(), @@ -2684,7 +2684,7 @@ protected class DoubleConvertedType public double[] DoubleConverted { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_DateOnly_values_with_converter_as_JSON_string() => Can_read_and_write_JSON_property_value>( b => b.HasConversion, DateOnly>, @@ -2703,7 +2703,7 @@ protected class DateOnlyConvertedType public IList DateOnlyConverted { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_DateTime_values_with_converter_as_JSON_string() => Can_read_and_write_JSON_property_value>( b => b @@ -2722,7 +2722,7 @@ protected class DateTimeConvertedType public IList DateTimeConverted { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_bool_values_with_converter_as_JSON_string() => Can_read_and_write_JSON_property_value>( b => b.HasConversion, bool>, CustomCollectionComparer, bool>>(), @@ -2735,7 +2735,7 @@ protected class BooleanConvertedType public IList BooleanConverted { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_char_values_with_converter_as_JSON_string() => Can_read_and_write_JSON_property_value>( b => b.HasConversion, char>, CustomCollectionComparer, char>>(), @@ -2753,7 +2753,7 @@ protected class CharacterConvertedType public IList CharacterConverted { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_string_values_with_converter_as_JSON_string() => Can_read_and_write_JSON_property_value>( b => b.HasConversion, string>, CustomCollectionComparer, string>>(), @@ -2771,7 +2771,7 @@ protected class StringConvertedType public IList StringConverted { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_binary_values_with_converter_as_JSON_string() => Can_read_and_write_JSON_property_value>( b => b.HasConversion, byte[]>, CustomCollectionComparer, byte[]>>(), @@ -2790,7 +2790,7 @@ protected class BytesConvertedType public IList BytesConverted { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_int_enum_values_with_converter_as_JSON_string() => Can_read_and_write_JSON_property_value>( b => b.HasConversion, Enum32>, CustomCollectionComparer, Enum32>>(), @@ -2809,7 +2809,7 @@ protected class Enum32ConvertedType public List Enum32Converted { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_ulong_enum_values_with_converter_as_JSON_string() => Can_read_and_write_JSON_property_value>( b => b.HasConversion, EnumU64>, CustomCollectionComparer, EnumU64>>(), @@ -2829,7 +2829,7 @@ protected class EnumU64ConvertedType public IList EnumU64Converted { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_sbyte_values_with_converter_as_JSON_string() => Can_read_and_write_JSON_property_value( b => b.HasConversion, CustomCollectionComparer>(), @@ -2842,7 +2842,7 @@ protected class NullableInt8ConvertedType public sbyte?[] Int8Converted { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_int_values_with_converter_as_JSON_string() => Can_read_and_write_JSON_property_value>( b => b.HasConversion, int?>, CustomCollectionComparer, int?>>(), @@ -2860,7 +2860,7 @@ protected class NullableInt32ConvertedType public List Int32Converted { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_ulong_values_with_converter_as_JSON_string() => Can_read_and_write_JSON_property_value>( b => b.HasConversion, ulong?>, @@ -2879,7 +2879,7 @@ protected class NullableUInt64ConvertedType public ObservableCollection UInt64Converted { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_double_values_with_converter_as_JSON_string() => Can_read_and_write_JSON_property_value( b => b.HasConversion, CustomCollectionComparer>(), @@ -2892,7 +2892,7 @@ protected class NullableDoubleConvertedType public double?[] DoubleConverted { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_DateOnly_values_with_converter_as_JSON_string() => Can_read_and_write_JSON_property_value>( b => b.HasConversion, DateOnly?>, @@ -2912,7 +2912,7 @@ protected class NullableDateOnlyConvertedType public IList DateOnlyConverted { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_DateTime_values_with_converter_as_JSON_string() => Can_read_and_write_JSON_property_value>( b => b @@ -2933,7 +2933,7 @@ protected class NullableDateTimeConvertedType public IList DateTimeConverted { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_bool_values_with_converter_as_JSON_string() => Can_read_and_write_JSON_property_value>( b => b.HasConversion, bool?>, CustomCollectionComparer, bool?>>(), @@ -2951,7 +2951,7 @@ protected class NullableBooleanConvertedType public IList BooleanConverted { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_char_values_with_converter_as_JSON_string() => Can_read_and_write_JSON_property_value>( b => b.HasConversion, char?>, CustomCollectionComparer, char?>>(), @@ -2970,7 +2970,7 @@ protected class NullableCharacterConvertedType public IList CharacterConverted { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_string_values_with_converter_as_JSON_string() => Can_read_and_write_JSON_property_value>( b => b.HasConversion, string?>, CustomCollectionComparer, string?>>(), @@ -2989,7 +2989,7 @@ protected class NullableStringConvertedType public IList StringConverted { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_binary_values_with_converter_as_JSON_string() => Can_read_and_write_JSON_property_value>( b => b.HasConversion, byte[]?>, CustomCollectionComparer, byte[]?>>(), @@ -3009,7 +3009,7 @@ protected class NullableBytesConvertedType public IList BytesConverted { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_int_enum_values_with_converter_as_JSON_string() => Can_read_and_write_JSON_property_value>( b => b.HasConversion, Enum32?>, CustomCollectionComparer, Enum32?>>(), @@ -3029,7 +3029,7 @@ protected class NullableEnum32ConvertedType public List Enum32Converted { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_ulong_enum_values_with_converter_as_JSON_string() => Can_read_and_write_JSON_property_value>( b => b @@ -3051,7 +3051,7 @@ protected class NullableEnumU64ConvertedType public IList EnumU64Converted { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_int_with_converter_JSON_values() => Can_read_and_write_JSON_collection_value>( b => b.ElementType(b => @@ -3073,7 +3073,7 @@ protected class DddIdCollectionType public IList DddId { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_collection_of_nullable_int_with_converter_JSON_values() => Can_read_and_write_JSON_collection_value>( b => b.ElementType().HasConversion(), @@ -3093,7 +3093,7 @@ protected class NullableDddIdCollectionType public IList DddId { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_binary_as_collection() => Can_read_and_write_JSON_collection_value( _ => { }, @@ -3106,7 +3106,7 @@ protected class BinaryAsJsonType public byte[] BinaryAsJson { get; set; } = null!; } - [ConditionalTheory, InlineData("""{"Prop":[-79228162514264337593543950335,0,79228162514264337593543950335]}""")] + [Theory, InlineData("""{"Prop":[-79228162514264337593543950335,0,79228162514264337593543950335]}""")] public virtual Task Can_read_write_collection_of_decimal_with_precision_and_scale_JSON_values(string expected) => Can_read_and_write_JSON_collection_value>( b => b.ElementType().HasPrecision(12, 6), @@ -3119,7 +3119,7 @@ public virtual Task Can_read_write_collection_of_decimal_with_precision_and_scal expected, facets: new Dictionary { { CoreAnnotationNames.Precision, 12 }, { CoreAnnotationNames.Scale, 6 } }); - [ConditionalTheory, InlineData("""{"Prop":["AAAAAAAAAAAAAAAAAAAAAA==","LyREjD+OIEqL6JjHwarevQ==","/////////////////////w=="]}""")] + [Theory, InlineData("""{"Prop":["AAAAAAAAAAAAAAAAAAAAAA==","LyREjD+OIEqL6JjHwarevQ==","/////////////////////w=="]}""")] public virtual Task Can_read_write_collection_of_Guid_converted_to_bytes_JSON_values(string expected) => Can_read_and_write_JSON_collection_value>( b => b.ElementType().HasConversion(), @@ -3132,7 +3132,7 @@ public virtual Task Can_read_write_collection_of_Guid_converted_to_bytes_JSON_va expected, facets: new Dictionary { { CoreAnnotationNames.ProviderClrType, typeof(byte[]) } }); - [ConditionalFact] + [Fact] public virtual Task Can_read_write_list_of_array_of_int_JSON_values() => Can_read_and_write_JSON_value>( nameof(Int32ArrayListType.Prop), @@ -3150,7 +3150,7 @@ protected class Int32ArrayListType public List Prop { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_list_of_array_of_nullable_int_JSON_values() => Can_read_and_write_JSON_value>( nameof(NullableInt32ArrayListType.Prop), @@ -3168,7 +3168,7 @@ protected class NullableInt32ArrayListType public List Prop { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_list_of_array_of_string_JSON_values() => Can_read_and_write_JSON_value>( nameof(StringArrayListType.Prop), @@ -3185,7 +3185,7 @@ protected class StringArrayListType public List Prop { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_list_of_array_of_IPAddress_JSON_values() => Can_read_and_write_JSON_value>( nameof(IpAddressArrayListType.Prop), @@ -3202,7 +3202,7 @@ protected class IpAddressArrayListType public ObservableCollection Prop { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_list_of_array_of_ulong_JSON_values() => Can_read_and_write_JSON_value>( nameof(ULongArrayListType.Prop), @@ -3219,7 +3219,7 @@ protected class ULongArrayListType public List Prop { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_list_of_array_of_nullable_ulong_JSON_values() => Can_read_and_write_JSON_value>( nameof(NullableULongArrayListType.Prop), @@ -3236,7 +3236,7 @@ protected class NullableULongArrayListType public List Prop { get; set; } = null!; } - [ConditionalTheory, InlineData("""{"Prop":[["AAEC","AQ==","TQ=="],[],["Tg=="]]}""")] + [Theory, InlineData("""{"Prop":[["AAEC","AQ==","TQ=="],[],["Tg=="]]}""")] public virtual Task Can_read_write_list_of_array_of_binary_JSON_values(string expected) => Can_read_and_write_JSON_value>( nameof(BinaryArrayListType.Prop), @@ -3254,7 +3254,7 @@ protected class BinaryArrayListType public IEnumerable Prop { get; set; } = null!; } - [ConditionalTheory, InlineData( + [Theory, InlineData( """{"Prop":[["00000000-0000-0000-0000-000000000000","8c44242f-8e3f-4a20-8be8-98c7c1aadebd"],[],["ffffffff-ffff-ffff-ffff-ffffffffffff"]]}""")] public virtual Task Can_read_write_list_of_array_of_GUID_JSON_values(string expected) => Can_read_and_write_JSON_value>( @@ -3272,7 +3272,7 @@ protected class GuidArrayListType public List Prop { get; set; } = null!; } - [ConditionalTheory, InlineData( + [Theory, InlineData( """{"Prop":[["00000000-0000-0000-0000-000000000000",null,"8c44242f-8e3f-4a20-8be8-98c7c1aadebd"],[],["ffffffff-ffff-ffff-ffff-ffffffffffff"]]}""")] public virtual Task Can_read_write_list_of_array_of_nullable_GUID_JSON_values(string expected) => Can_read_and_write_JSON_value>( @@ -3291,7 +3291,7 @@ protected class NullableGuidArrayListType public List Prop { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_array_of_list_of_int_JSON_values() => Can_read_and_write_JSON_value[]>( nameof(Int32ListArrayType.Prop), @@ -3313,7 +3313,7 @@ protected class Int32ListArrayType public IList[] Prop { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_array_of_list_of_string_JSON_values() => Can_read_and_write_JSON_value[]>( nameof(StringListArrayType.Prop), @@ -3334,7 +3334,7 @@ protected class StringListArrayType public List[] Prop { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_array_of_list_of_IPAddress_JSON_values() => Can_read_and_write_JSON_value[]>( nameof(IpAddressListArrayType.Prop), @@ -3351,7 +3351,7 @@ protected class IpAddressListArrayType public Collection[] Prop { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_array_of_list_of_ulong_JSON_values() => Can_read_and_write_JSON_value[]>( nameof(ULongListArrayType.Prop), @@ -3372,7 +3372,7 @@ protected class ULongListArrayType public List[] Prop { get; set; } = null!; } - [ConditionalTheory, InlineData("""{"Prop":[["AAEC","AQ==","TQ=="],[],["Tg=="]]}""")] + [Theory, InlineData("""{"Prop":[["AAEC","AQ==","TQ=="],[],["Tg=="]]}""")] public virtual Task Can_read_write_array_of_list_of_binary_JSON_values(string expected) => Can_read_and_write_JSON_value[]>( nameof(BinaryListArrayType.Prop), @@ -3393,7 +3393,7 @@ protected class BinaryListArrayType public List[] Prop { get; set; } = null!; } - [ConditionalTheory, InlineData( + [Theory, InlineData( """{"Prop":[["00000000-0000-0000-0000-000000000000","8c44242f-8e3f-4a20-8be8-98c7c1aadebd"],[],["ffffffff-ffff-ffff-ffff-ffffffffffff"]]}""")] public virtual Task Can_read_write_array_of_list_of_GUID_JSON_values(string expected) => Can_read_and_write_JSON_value[]>( @@ -3412,7 +3412,7 @@ protected class GuidListArrayType public ICollection[] Prop { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_list_of_list_of_list_of_int_JSON_values() => Can_read_and_write_JSON_value>>>( nameof(Int32ListListListType.Prop), @@ -3444,7 +3444,7 @@ protected class Int32ListListListType public List>> Prop { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_array_of_array_of_array_of_int_JSON_values() => Can_read_and_write_JSON_value( nameof(Int32ArrayArrayArrayType.Prop), @@ -3461,7 +3461,7 @@ protected class Int32ArrayArrayArrayType public int[][][] Prop { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_list_of_array_of_list_of_string_JSON_values() => Can_read_and_write_JSON_value[]>>( nameof(StringListArrayListType.Prop), @@ -3487,7 +3487,7 @@ protected class StringListArrayListType public List[]> Prop { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_array_of_list_of_array_of_string_JSON_values() => Can_read_and_write_JSON_value[]>( nameof(StringArrayListArrayType.Prop), @@ -3508,7 +3508,7 @@ protected class StringArrayListArrayType public List[] Prop { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_array_of_list_of_array_of_IPAddress_JSON_values() => Can_read_and_write_JSON_value[]>( nameof(IpAddressArrayListArrayType.Prop), @@ -3525,7 +3525,7 @@ protected class IpAddressArrayListArrayType public List[] Prop { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_list_of_array_of_list_of_IPAddress_JSON_values() => Can_read_and_write_JSON_value[]>>( nameof(IpAddressListArrayListType.Prop), @@ -3543,7 +3543,7 @@ protected class IpAddressListArrayListType public List[]> Prop { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Can_read_write_list_of_array_of_list_of_ulong_JSON_values() => Can_read_and_write_JSON_value>>( nameof(ULongListArrayListType.Prop), @@ -3560,7 +3560,7 @@ protected class ULongListArrayListType public List> Prop { get; set; } = null!; } - [ConditionalTheory, InlineData("""{"Prop":[[[["AAEC","AQ==","TQ=="]],[],[[],[]]],[],[[[]],[["AAEC","AQ==","TQ=="]]]]}""")] + [Theory, InlineData("""{"Prop":[[[["AAEC","AQ==","TQ=="]],[],[[],[]]],[],[[[]],[["AAEC","AQ==","TQ=="]]]]}""")] public virtual Task Can_read_write_list_of_array_of_list_of_array_of_binary_JSON_values(string expected) => Can_read_and_write_JSON_value[]>>( nameof(BinaryListArrayArrayListType.Prop), diff --git a/test/EFCore.Specification.Tests/KeysWithConvertersTestBase.cs b/test/EFCore.Specification.Tests/KeysWithConvertersTestBase.cs index 77ce11667eb..910d1c11a25 100644 --- a/test/EFCore.Specification.Tests/KeysWithConvertersTestBase.cs +++ b/test/EFCore.Specification.Tests/KeysWithConvertersTestBase.cs @@ -16,7 +16,7 @@ public abstract class KeysWithConvertersTestBase(TFixture fixture) : I protected DbContext CreateContext() => Fixture.CreateContext(); - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_struct_key_and_optional_dependents() { IntStructKeyPrincipal[] principals = null; @@ -126,7 +126,7 @@ void Validate( d => ((IntStructKeyOptionalDependent)d).Principal); } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_comparable_struct_key_and_optional_dependents() { ComparableIntStructKeyPrincipal[] principals = null; @@ -246,7 +246,7 @@ void Validate( d => ((ComparableIntStructKeyOptionalDependent)d).Principal); } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_generic_comparable_struct_key_and_optional_dependents() { GenericComparableIntStructKeyPrincipal[] principals = null; @@ -370,7 +370,7 @@ void Validate( d => ((GenericComparableIntStructKeyOptionalDependent)d).Principal); } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_struct_key_and_required_dependents() { IntStructKeyPrincipal[] principals = null; @@ -483,7 +483,7 @@ void Validate( d => ((IntStructKeyRequiredDependent)d).Principal); } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_comparable_struct_key_and_required_dependents() { ComparableIntStructKeyPrincipal[] principals = null; @@ -605,7 +605,7 @@ void Validate( d => ((ComparableIntStructKeyRequiredDependent)d).Principal); } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_generic_comparable_struct_key_and_required_dependents() { GenericComparableIntStructKeyPrincipal[] principals = null; @@ -731,7 +731,7 @@ void Validate( d => ((GenericComparableIntStructKeyRequiredDependent)d).Principal); } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_class_key_and_optional_dependents() { IntClassKeyPrincipal[] principals = null; @@ -841,7 +841,7 @@ void Validate( d => ((IntClassKeyOptionalDependent)d).Principal); } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_enumerable_class_key_and_optional_dependents() { EnumerableClassKeyPrincipal[] principals = null; @@ -952,7 +952,7 @@ void Validate( d => ((EnumerableClassKeyOptionalDependent)d).Principal); } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_bare_class_key_and_optional_dependents() { BareIntClassKeyPrincipal[] principals = null; @@ -1062,7 +1062,7 @@ void Validate( d => ((BareIntClassKeyOptionalDependent)d).Principal); } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_comparable_class_key_and_optional_dependents() { ComparableIntClassKeyPrincipal[] principals = null; @@ -1178,7 +1178,7 @@ void Validate( d => ((ComparableIntClassKeyOptionalDependent)d).Principal); } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_struct_binary_key_and_optional_dependents() { BytesStructKeyPrincipal[] principals = null; @@ -1292,7 +1292,7 @@ void Validate( d => ((BytesStructKeyOptionalDependent)d).Principal); } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_structural_struct_binary_key_and_optional_dependents() { StructuralComparableBytesStructKeyPrincipal[] principals = null; @@ -1426,7 +1426,7 @@ void Validate( d => ((StructuralComparableBytesStructKeyOptionalDependent)d).Principal); } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_comparable_struct_binary_key_and_optional_dependents() { ComparableBytesStructKeyPrincipal[] principals = null; @@ -1550,7 +1550,7 @@ void Validate( d => ((ComparableBytesStructKeyOptionalDependent)d).Principal); } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_generic_comparable_struct_binary_key_and_optional_dependents() { GenericComparableBytesStructKeyPrincipal[] principals = null; @@ -1677,7 +1677,7 @@ void Validate( d => ((GenericComparableBytesStructKeyOptionalDependent)d).Principal); } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_struct_binary_key_and_required_dependents() { BytesStructKeyPrincipal[] principals = null; @@ -1795,7 +1795,7 @@ void Validate( d => ((BytesStructKeyRequiredDependent)d).Principal); } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_comparable_struct_binary_key_and_required_dependents() { ComparableBytesStructKeyPrincipal[] principals = null; @@ -1920,7 +1920,7 @@ void Validate( d => ((ComparableBytesStructKeyRequiredDependent)d).Principal); } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_structural_struct_binary_key_and_required_dependents() { StructuralComparableBytesStructKeyPrincipal[] principals = null; @@ -2054,7 +2054,7 @@ void Validate( d => ((StructuralComparableBytesStructKeyRequiredDependent)d).Principal); } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_generic_comparable_struct_binary_key_and_required_dependents() { GenericComparableBytesStructKeyPrincipal[] principals = null; @@ -2183,7 +2183,7 @@ void Validate( d => ((GenericComparableBytesStructKeyRequiredDependent)d).Principal); } - [ConditionalFact] + [Fact] public virtual async Task Can_query_and_update_owned_entity_with_value_converter() { using (var context = CreateContext()) @@ -2221,7 +2221,7 @@ public virtual async Task Can_query_and_update_owned_entity_with_value_converter } } - [ConditionalFact] + [Fact] public virtual async Task Can_query_and_update_owned_entity_with_int_struct_key() { using (var context = CreateContext()) @@ -2249,7 +2249,7 @@ public virtual async Task Can_query_and_update_owned_entity_with_int_struct_key( } } - [ConditionalFact] + [Fact] public virtual async Task Can_query_and_update_owned_entity_with_binary_struct_key() { using (var context = CreateContext()) @@ -2275,7 +2275,7 @@ public virtual async Task Can_query_and_update_owned_entity_with_binary_struct_k } } - [ConditionalFact] + [Fact] public virtual async Task Can_query_and_update_owned_entity_with_comparable_int_struct_key() { using (var context = CreateContext()) @@ -2300,7 +2300,7 @@ public virtual async Task Can_query_and_update_owned_entity_with_comparable_int_ } } - [ConditionalFact] + [Fact] public virtual async Task Can_query_and_update_owned_entity_with_comparable_bytes_struct_key() { using (var context = CreateContext()) @@ -2328,7 +2328,7 @@ public virtual async Task Can_query_and_update_owned_entity_with_comparable_byte } } - [ConditionalFact] + [Fact] public virtual async Task Can_query_and_update_owned_entity_with_generic_comparable_int_struct_key() { using (var context = CreateContext()) @@ -2356,7 +2356,7 @@ public virtual async Task Can_query_and_update_owned_entity_with_generic_compara } } - [ConditionalFact] + [Fact] public virtual async Task Can_query_and_update_owned_entity_with_generic_comparable_bytes_struct_key() { using (var context = CreateContext()) @@ -2385,7 +2385,7 @@ public virtual async Task Can_query_and_update_owned_entity_with_generic_compara } } - [ConditionalFact] + [Fact] public virtual async Task Can_query_and_update_owned_entity_with_structural_generic_comparable_bytes_struct_key() { using (var context = CreateContext()) @@ -2415,7 +2415,7 @@ public virtual async Task Can_query_and_update_owned_entity_with_structural_gene } } - [ConditionalFact] + [Fact] public virtual async Task Can_query_and_update_owned_entity_with_int_class_key() { using (var context = CreateContext()) @@ -2440,7 +2440,7 @@ public virtual async Task Can_query_and_update_owned_entity_with_int_class_key() } } - [ConditionalFact] + [Fact] public virtual async Task Can_query_and_update_owned_entity_with_int_bare_class_key() { using (var context = CreateContext()) @@ -2465,7 +2465,7 @@ public virtual async Task Can_query_and_update_owned_entity_with_int_bare_class_ } } - [ConditionalFact] + [Fact] public virtual async Task Can_query_and_update_owned_entity_with_comparable_int_class_key() { using (var context = CreateContext()) @@ -2490,7 +2490,7 @@ public virtual async Task Can_query_and_update_owned_entity_with_comparable_int_ } } - [ConditionalFact] + [Fact] public virtual async Task Can_query_and_update_owned_entity_with_generic_comparable_int_class_key() { using (var context = CreateContext()) @@ -2517,7 +2517,7 @@ public virtual async Task Can_query_and_update_owned_entity_with_generic_compara } } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_struct_key_and_optional_dependents_with_shadow_FK() { IntStructKeyPrincipalShadow[] principals = null; @@ -2676,7 +2676,7 @@ void Validate( } } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_comparable_struct_key_and_optional_dependents_with_shadow_FK() { ComparableIntStructKeyPrincipalShadow[] principals = null; @@ -2847,7 +2847,7 @@ void Validate( } } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_generic_comparable_struct_key_and_optional_dependents_with_shadow_FK() { GenericComparableIntStructKeyPrincipalShadow[] principals = null; @@ -3037,7 +3037,7 @@ void Validate( } } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_struct_key_and_required_dependents_with_shadow_FK() { IntStructKeyPrincipalShadow[] principals = null; @@ -3197,7 +3197,7 @@ void Validate( } } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_comparable_struct_key_and_required_dependents_with_shadow_FK() { ComparableIntStructKeyPrincipalShadow[] principals = null; @@ -3365,7 +3365,7 @@ void Validate( } } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_generic_comparable_struct_key_and_required_dependents_with_shadow_FK() { GenericComparableIntStructKeyPrincipalShadow[] principals = null; @@ -3556,7 +3556,7 @@ void Validate( } } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_class_key_and_optional_dependents_with_shadow_FK() { IntClassKeyPrincipalShadow[] principals = null; @@ -3714,7 +3714,7 @@ void Validate( } } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_bare_class_key_and_optional_dependents_with_shadow_FK() { BareIntClassKeyPrincipalShadow[] principals = null; @@ -3873,7 +3873,7 @@ void Validate( } } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_comparable_class_key_and_optional_dependents_with_shadow_FK() { ComparableIntClassKeyPrincipalShadow[] principals = null; @@ -4039,7 +4039,7 @@ void Validate( } } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_struct_binary_key_and_optional_dependents_with_shadow_FK() { BytesStructKeyPrincipalShadow[] principals = null; @@ -4206,7 +4206,7 @@ void Validate( } } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_structural_struct_binary_key_and_optional_dependents_with_shadow_FK() { StructuralComparableBytesStructKeyPrincipalShadow[] principals = null; @@ -4406,7 +4406,7 @@ void Validate( } } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_comparable_struct_binary_key_and_optional_dependents_with_shadow_FK() { ComparableBytesStructKeyPrincipalShadow[] principals = null; @@ -4595,7 +4595,7 @@ void Validate( } } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_generic_comparable_struct_binary_key_and_optional_dependents_with_shadow_FK() { GenericComparableBytesStructKeyPrincipalShadow[] principals = null; @@ -4791,7 +4791,7 @@ void Validate( } } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_struct_binary_key_and_required_dependents_with_shadow_FK() { BytesStructKeyPrincipalShadow[] principals = null; @@ -4963,7 +4963,7 @@ void Validate( } } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_comparable_struct_binary_key_and_required_dependents_with_shadow_FK() { ComparableBytesStructKeyPrincipalShadow[] principals = null; @@ -5158,7 +5158,7 @@ void Validate( } } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_structural_struct_binary_key_and_required_dependents_with_shadow_FK() { StructuralComparableBytesStructKeyPrincipalShadow[] principals = null; @@ -5364,7 +5364,7 @@ void Validate( } } - [ConditionalFact] + [Fact] public virtual async Task Can_insert_and_read_back_with_generic_comparable_struct_binary_key_and_required_dependents_with_shadow_FK() { GenericComparableBytesStructKeyPrincipalShadow[] principals = null; diff --git a/test/EFCore.Specification.Tests/LazyLoadProxyTestBase.cs b/test/EFCore.Specification.Tests/LazyLoadProxyTestBase.cs index 652d767d0f2..89f90cff3bf 100644 --- a/test/EFCore.Specification.Tests/LazyLoadProxyTestBase.cs +++ b/test/EFCore.Specification.Tests/LazyLoadProxyTestBase.cs @@ -17,7 +17,7 @@ public abstract class LazyLoadProxyTestBase(TFixture fixture) : IClass { protected TFixture Fixture { get; } = fixture; - [ConditionalTheory, InlineData(false), InlineData(true)] // Issue #32390 + [Theory, InlineData(false), InlineData(true)] // Issue #32390 public virtual void Can_use_proxies_from_multiple_threads_when_navigations_already_loaded(bool noTracking) { using var context = CreateContext(lazyLoadingEnabled: true); @@ -65,7 +65,7 @@ public virtual void Can_use_proxies_from_multiple_threads_when_navigations_alrea Task.WaitAll(tests.Select(Task.Run).ToArray()); } - [ConditionalFact] + [Fact] public virtual void Detected_principal_reference_navigation_changes_are_detected_and_marked_loaded() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -79,7 +79,7 @@ public virtual void Detected_principal_reference_navigation_changes_are_detected Assert.True(context.Entry(parent).Reference(e => e.Single).IsLoaded); } - [ConditionalFact] + [Fact] public virtual void Detected_dependent_reference_navigation_changes_are_detected_and_marked_loaded() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -93,7 +93,7 @@ public virtual void Detected_dependent_reference_navigation_changes_are_detected Assert.True(context.Entry(single).Reference(e => e.Parent).IsLoaded); } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] // Issue #13138 public virtual void Lazy_load_one_to_one_reference_with_recursive_property(EntityState state) { @@ -130,7 +130,7 @@ public virtual void Lazy_load_one_to_one_reference_with_recursive_property(Entit } } - [ConditionalTheory, InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, false), + [Theory, InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, false), InlineData(EntityState.Added, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, true), InlineData(EntityState.Added, true)] public virtual void Attached_references_to_principal_are_marked_as_loaded(EntityState state, bool lazy) @@ -183,7 +183,7 @@ public virtual void Attached_references_to_principal_are_marked_as_loaded(Entity Assert.True(context.Entry(parent).Reference(e => e.SingleCompositeKey).IsLoaded); } - [ConditionalTheory, InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, false), + [Theory, InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, false), InlineData(EntityState.Added, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, true), InlineData(EntityState.Added, true)] public virtual void Attached_references_to_dependents_are_marked_as_loaded(EntityState state, bool lazy) @@ -236,7 +236,7 @@ public virtual void Attached_references_to_dependents_are_marked_as_loaded(Entit Assert.True(context.Entry(parent.SingleCompositeKey).Reference(e => e.Parent).IsLoaded); } - [ConditionalTheory, InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, false), + [Theory, InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, false), InlineData(EntityState.Added, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, true), InlineData(EntityState.Added, true)] public virtual void Attached_collections_are_not_marked_as_loaded(EntityState state, bool lazy) @@ -295,7 +295,7 @@ public virtual void Attached_collections_are_not_marked_as_loaded(EntityState st Assert.False(context.Entry(parent).Collection(e => e.ChildrenCompositeKey!).IsLoaded); } - [ConditionalTheory, InlineData(EntityState.Unchanged, false, false), InlineData(EntityState.Added, false, false), + [Theory, InlineData(EntityState.Unchanged, false, false), InlineData(EntityState.Added, false, false), InlineData(EntityState.Modified, false, false), InlineData(EntityState.Deleted, false, false), InlineData(EntityState.Detached, false, false), InlineData(EntityState.Unchanged, true, false), InlineData(EntityState.Added, true, false), InlineData(EntityState.Modified, true, false), @@ -370,7 +370,7 @@ public virtual void Lazy_load_collection(EntityState state, bool useAttach, bool } } - [ConditionalTheory, InlineData(EntityState.Unchanged, false, false), InlineData(EntityState.Added, false, false), + [Theory, InlineData(EntityState.Unchanged, false, false), InlineData(EntityState.Added, false, false), InlineData(EntityState.Modified, false, false), InlineData(EntityState.Deleted, false, false), InlineData(EntityState.Detached, false, false), InlineData(EntityState.Unchanged, true, false), InlineData(EntityState.Added, true, false), InlineData(EntityState.Modified, true, false), @@ -470,7 +470,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal(EntityState sta } } - [ConditionalTheory, InlineData(EntityState.Unchanged, false, false), InlineData(EntityState.Added, false, false), + [Theory, InlineData(EntityState.Unchanged, false, false), InlineData(EntityState.Added, false, false), InlineData(EntityState.Modified, false, false), InlineData(EntityState.Deleted, false, false), InlineData(EntityState.Detached, false, false), InlineData(EntityState.Unchanged, true, false), InlineData(EntityState.Added, true, false), InlineData(EntityState.Modified, true, false), @@ -570,7 +570,7 @@ public virtual void Lazy_load_one_to_one_reference_to_principal(EntityState stat } } - [ConditionalTheory, InlineData(EntityState.Unchanged, false, false), InlineData(EntityState.Added, false, false), + [Theory, InlineData(EntityState.Unchanged, false, false), InlineData(EntityState.Added, false, false), InlineData(EntityState.Modified, false, false), InlineData(EntityState.Deleted, false, false), InlineData(EntityState.Detached, false, false), InlineData(EntityState.Unchanged, true, false), InlineData(EntityState.Added, true, false), InlineData(EntityState.Modified, true, false), @@ -651,7 +651,7 @@ public virtual void Lazy_load_one_to_one_reference_to_dependent(EntityState stat } } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_one_to_one_PK_to_PK_reference_to_principal(EntityState state) { @@ -713,7 +713,7 @@ public virtual void Lazy_load_one_to_one_PK_to_PK_reference_to_principal(EntityS } } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_one_to_one_PK_to_PK_reference_to_dependent(EntityState state) { @@ -760,7 +760,7 @@ public virtual void Lazy_load_one_to_one_PK_to_PK_reference_to_dependent(EntityS } } - [ConditionalFact] + [Fact] public virtual void Eager_load_one_to_one_non_virtual_reference_to_owned_type() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -773,7 +773,7 @@ public virtual void Eager_load_one_to_one_non_virtual_reference_to_owned_type() Assert.Equal("Paradise Alley", owner.Address!.Street); } - [ConditionalFact] + [Fact] public virtual void Eager_load_one_to_one_virtual_reference_to_owned_type() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -786,7 +786,7 @@ public virtual void Eager_load_one_to_one_virtual_reference_to_owned_type() Assert.Equal("Dead End", owner.Address!.Street); } - [ConditionalFact] + [Fact] public virtual void Eager_load_one_to_many_non_virtual_collection_of_owned_types() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -799,7 +799,7 @@ public virtual void Eager_load_one_to_many_non_virtual_collection_of_owned_types Assert.Single(owner.Addresses!); } - [ConditionalFact] + [Fact] public virtual void Eager_load_one_to_many_virtual_collection_of_owned_types() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -812,7 +812,7 @@ public virtual void Eager_load_one_to_many_virtual_collection_of_owned_types() Assert.Equal(3, owner.Addresses!.Count); } - [ConditionalFact] + [Fact] public virtual void Eager_load_one_to_many_non_virtual_collection_of_owned_types_with_explicit_lazy_load() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -825,7 +825,7 @@ public virtual void Eager_load_one_to_many_non_virtual_collection_of_owned_types Assert.Single(owner.Addresses); } - [ConditionalFact] + [Fact] public virtual void Eager_load_one_to_many_virtual_collection_of_owned_types_with_explicit_lazy_load() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -839,7 +839,7 @@ public virtual void Eager_load_one_to_many_virtual_collection_of_owned_types_wit } // Tests issue https://github.com/dotnet/efcore/issues/19847 (non-virtual) - [ConditionalFact] + [Fact] public virtual void Setting_reference_to_owned_type_to_null_is_allowed_on_non_virtual_navigation() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -857,7 +857,7 @@ public virtual void Setting_reference_to_owned_type_to_null_is_allowed_on_non_vi } // Tests issue https://github.com/dotnet/efcore/issues/19847 (virtual) - [ConditionalFact] + [Fact] public virtual void Setting_reference_to_owned_type_to_null_is_allowed_on_virtual_navigation() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -874,7 +874,7 @@ public virtual void Setting_reference_to_owned_type_to_null_is_allowed_on_virtua Assert.Null(owner.Address); } - [ConditionalFact] + [Fact] public virtual void Non_virtual_one_to_one_reference_to_principal_is_not_lazy_loaded() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -891,7 +891,7 @@ public virtual void Non_virtual_one_to_one_reference_to_principal_is_not_lazy_lo Assert.Null(child.SingleParent); } - [ConditionalFact] + [Fact] public virtual void Non_virtual_one_to_many_reference_to_principal_is_not_lazy_loaded() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -908,7 +908,7 @@ public virtual void Non_virtual_one_to_many_reference_to_principal_is_not_lazy_l Assert.Null(child.CollectionParent); } - [ConditionalFact] + [Fact] public virtual void Non_virtual_reference_to_dependent_is_not_lazy_loaded() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -925,7 +925,7 @@ public virtual void Non_virtual_reference_to_dependent_is_not_lazy_loaded() Assert.Null(parent.Child); } - [ConditionalFact] + [Fact] public virtual void Non_virtual_collection_is_not_lazy_loaded() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -942,7 +942,7 @@ public virtual void Non_virtual_collection_is_not_lazy_loaded() Assert.Empty(parent.Children); } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_many_to_one_reference_to_principal_null_FK(EntityState state) { @@ -980,7 +980,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_null_FK(EntityS Assert.Null(child.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_one_to_one_reference_to_principal_null_FK(EntityState state) { @@ -1019,7 +1019,7 @@ public virtual void Lazy_load_one_to_one_reference_to_principal_null_FK(EntitySt Assert.Null(single.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_many_to_one_reference_to_principal_changed_non_found_FK(EntityState state) { @@ -1102,7 +1102,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_changed_non_fou } } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_many_to_one_reference_to_principal_changed_found_FK(EntityState state) { @@ -1183,7 +1183,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_changed_found_F } } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_collection_not_found(EntityState state) { @@ -1222,7 +1222,7 @@ public virtual void Lazy_load_collection_not_found(EntityState state) Assert.Single(context.ChangeTracker.Entries()); } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_many_to_one_reference_to_principal_not_found(EntityState state) { @@ -1261,7 +1261,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_not_found(Entit Assert.Null(child.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_one_to_one_reference_to_principal_not_found(EntityState state) { @@ -1301,7 +1301,7 @@ public virtual void Lazy_load_one_to_one_reference_to_principal_not_found(Entity Assert.Null(single.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_one_to_one_reference_to_dependent_not_found(EntityState state) { @@ -1341,7 +1341,7 @@ public virtual void Lazy_load_one_to_one_reference_to_dependent_not_found(Entity Assert.Null(parent.Single); } - [ConditionalTheory, InlineData(EntityState.Unchanged, CascadeTiming.OnSaveChanges), + [Theory, InlineData(EntityState.Unchanged, CascadeTiming.OnSaveChanges), InlineData(EntityState.Added, CascadeTiming.OnSaveChanges), InlineData(EntityState.Modified, CascadeTiming.OnSaveChanges), InlineData(EntityState.Deleted, CascadeTiming.OnSaveChanges), InlineData(EntityState.Detached, CascadeTiming.OnSaveChanges), InlineData(EntityState.Unchanged, CascadeTiming.Immediate), InlineData(EntityState.Added, CascadeTiming.Immediate), @@ -1395,7 +1395,7 @@ public virtual void Lazy_load_collection_already_loaded(EntityState state, Casca Assert.Equal(state == EntityState.Detached ? 0 : 3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_collection_already_partially_loaded(EntityState state) { @@ -1441,7 +1441,7 @@ public virtual void Lazy_load_collection_already_partially_loaded(EntityState st Assert.Equal(state == EntityState.Detached ? 0 : 3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(QueryTrackingBehavior.NoTracking), InlineData(QueryTrackingBehavior.NoTrackingWithIdentityResolution)] + [Theory, InlineData(QueryTrackingBehavior.NoTracking), InlineData(QueryTrackingBehavior.NoTrackingWithIdentityResolution)] public virtual void Lazy_load_collection_already_partially_loaded_no_tracking(QueryTrackingBehavior queryTrackingBehavior) { using var context = CreateContext(lazyLoadingEnabled: true); @@ -1484,7 +1484,7 @@ public virtual void Lazy_load_collection_already_partially_loaded_no_tracking(Qu Assert.Empty(context.ChangeTracker.Entries()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, CascadeTiming.OnSaveChanges), + [Theory, InlineData(EntityState.Unchanged, CascadeTiming.OnSaveChanges), InlineData(EntityState.Added, CascadeTiming.OnSaveChanges), InlineData(EntityState.Modified, CascadeTiming.OnSaveChanges), InlineData(EntityState.Deleted, CascadeTiming.OnSaveChanges), InlineData(EntityState.Unchanged, CascadeTiming.Immediate), InlineData(EntityState.Added, CascadeTiming.Immediate), InlineData(EntityState.Modified, CascadeTiming.Immediate), @@ -1540,7 +1540,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_already_loaded( } } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_one_to_one_reference_to_principal_already_loaded(EntityState state) { @@ -1587,7 +1587,7 @@ public virtual void Lazy_load_one_to_one_reference_to_principal_already_loaded(E } } - [ConditionalTheory, InlineData(EntityState.Unchanged, CascadeTiming.OnSaveChanges), + [Theory, InlineData(EntityState.Unchanged, CascadeTiming.OnSaveChanges), InlineData(EntityState.Added, CascadeTiming.OnSaveChanges), InlineData(EntityState.Modified, CascadeTiming.OnSaveChanges), InlineData(EntityState.Deleted, CascadeTiming.OnSaveChanges), InlineData(EntityState.Unchanged, CascadeTiming.Immediate), InlineData(EntityState.Added, CascadeTiming.Immediate), InlineData(EntityState.Modified, CascadeTiming.Immediate), @@ -1653,7 +1653,7 @@ public virtual void Lazy_load_one_to_one_reference_to_dependent_already_loaded( } } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_one_to_one_PK_to_PK_reference_to_principal_already_loaded(EntityState state) { @@ -1700,7 +1700,7 @@ public virtual void Lazy_load_one_to_one_PK_to_PK_reference_to_principal_already } } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_one_to_one_PK_to_PK_reference_to_dependent_already_loaded(EntityState state) { @@ -1747,7 +1747,7 @@ public virtual void Lazy_load_one_to_one_PK_to_PK_reference_to_dependent_already } } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_many_to_one_reference_to_principal_alternate_key(EntityState state) { @@ -1803,7 +1803,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_alternate_key(E } } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_one_to_one_reference_to_principal_alternate_key(EntityState state) { @@ -1859,7 +1859,7 @@ public virtual void Lazy_load_one_to_one_reference_to_principal_alternate_key(En } } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_one_to_one_reference_to_dependent_alternate_key(EntityState state) { @@ -1900,7 +1900,7 @@ public virtual void Lazy_load_one_to_one_reference_to_dependent_alternate_key(En } } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_many_to_one_reference_to_principal_null_FK_alternate_key(EntityState state) { @@ -1932,7 +1932,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_null_FK_alterna Assert.Null(child.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_one_to_one_reference_to_principal_null_FK_alternate_key(EntityState state) { @@ -1965,7 +1965,7 @@ public virtual void Lazy_load_one_to_one_reference_to_principal_null_FK_alternat Assert.Null(single.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_collection_shadow_fk(EntityState state) { @@ -1996,7 +1996,7 @@ public virtual void Lazy_load_collection_shadow_fk(EntityState state) Assert.Equal(state == EntityState.Detached ? 0 : 3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_many_to_one_reference_to_principal_shadow_fk(EntityState state) { @@ -2055,7 +2055,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_shadow_fk(Entit } } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_one_to_one_reference_to_principal_shadow_fk(EntityState state) { @@ -2114,7 +2114,7 @@ public virtual void Lazy_load_one_to_one_reference_to_principal_shadow_fk(Entity } } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_one_to_one_reference_to_dependent_shadow_fk(EntityState state) { @@ -2155,7 +2155,7 @@ public virtual void Lazy_load_one_to_one_reference_to_dependent_shadow_fk(Entity } } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_many_to_one_reference_to_principal_null_FK_shadow_fk(EntityState state) { @@ -2188,7 +2188,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_null_FK_shadow_ Assert.Null(child.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_one_to_one_reference_to_principal_null_FK_shadow_fk(EntityState state) { @@ -2222,7 +2222,7 @@ public virtual void Lazy_load_one_to_one_reference_to_principal_null_FK_shadow_f Assert.Null(single.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_collection_composite_key(EntityState state) { @@ -2253,7 +2253,7 @@ public virtual void Lazy_load_collection_composite_key(EntityState state) Assert.Equal(state == EntityState.Detached ? 0 : 3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_many_to_one_reference_to_principal_composite_key(EntityState state) { @@ -2309,7 +2309,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_composite_key(E } } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_one_to_one_reference_to_principal_composite_key(EntityState state) { @@ -2365,7 +2365,7 @@ public virtual void Lazy_load_one_to_one_reference_to_principal_composite_key(En } } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_one_to_one_reference_to_dependent_composite_key(EntityState state) { @@ -2406,7 +2406,7 @@ public virtual void Lazy_load_one_to_one_reference_to_dependent_composite_key(En } } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_many_to_one_reference_to_principal_null_FK_composite_key(EntityState state) { @@ -2439,7 +2439,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_null_FK_composi Assert.Null(child.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Deleted), InlineData(EntityState.Detached)] public virtual void Lazy_load_one_to_one_reference_to_principal_null_FK_composite_key(EntityState state) { @@ -2473,7 +2473,7 @@ public virtual void Lazy_load_one_to_one_reference_to_principal_null_FK_composit Assert.Null(single.Parent); } - [ConditionalFact] + [Fact] public virtual void Lazy_load_collection_for_detached_is_no_op() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -2484,7 +2484,7 @@ public virtual void Lazy_load_collection_for_detached_is_no_op() Assert.Null(parent.Children); } - [ConditionalFact] + [Fact] public virtual void Lazy_load_reference_to_principal_for_detached_is_no_op() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -2495,7 +2495,7 @@ public virtual void Lazy_load_reference_to_principal_for_detached_is_no_op() Assert.Null(child.Parent); } - [ConditionalFact] + [Fact] public virtual void Lazy_load_reference_to_dependent_for_detached_is_no_op() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -2506,7 +2506,7 @@ public virtual void Lazy_load_reference_to_dependent_for_detached_is_no_op() Assert.Null(parent.Single); } - [ConditionalFact] + [Fact] public virtual void Lazy_load_collection_for_no_tracking_does_not_throw_if_populated() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -2519,7 +2519,7 @@ public virtual void Lazy_load_collection_for_no_tracking_does_not_throw_if_popul Assert.Empty(parent.Children); } - [ConditionalFact] + [Fact] public virtual void Lazy_load_reference_to_principal_for_no_tracking_does_not_throw_if_populated() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -2532,7 +2532,7 @@ public virtual void Lazy_load_reference_to_principal_for_no_tracking_does_not_th Assert.Null(child.Parent); } - [ConditionalFact] + [Fact] public virtual void Lazy_load_reference_to_dependent_for_no_tracking_does_not_throw_if_populated() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -2545,7 +2545,7 @@ public virtual void Lazy_load_reference_to_dependent_for_no_tracking_does_not_th Assert.Null(parent.Single); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] public virtual async Task Load_collection(EntityState state, bool async) @@ -2584,7 +2584,7 @@ public virtual async Task Load_collection(EntityState state, bool async) Assert.Equal(state == EntityState.Detached ? 0 : 3, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public virtual void Can_serialize_proxies_to_JSON() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -4555,7 +4555,7 @@ protected virtual string SerializedBlogs1 // ] // """; - [ConditionalFact] + [Fact] public virtual void Lazy_loading_finds_correct_entity_type_with_already_loaded_owned_types() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -4580,7 +4580,7 @@ private static void VerifyBlogs(List blogs) } } - [ConditionalFact] + [Fact] public virtual void Lazy_loading_finds_correct_entity_type_with_multiple_queries() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -4593,7 +4593,7 @@ public virtual void Lazy_loading_finds_correct_entity_type_with_multiple_queries Assert.Equal(12, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public virtual void Lazy_loading_finds_correct_entity_type_with_opaque_predicate_and_multiple_queries() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -4611,7 +4611,7 @@ bool opaquePredicate(Blog _) Assert.Equal(12, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public virtual void Lazy_loading_finds_correct_entity_type_with_multiple_queries_using_Count() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -4624,7 +4624,7 @@ public virtual void Lazy_loading_finds_correct_entity_type_with_multiple_queries Assert.Empty(context.ChangeTracker.Entries()); } - [ConditionalFact] + [Fact] public virtual void Lazy_loading_shares_service_property_on_derived_types() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -4650,7 +4650,7 @@ public virtual void Lazy_loading_shares_service_property_on_derived_types() entity.BaseNoses.Select(b => b.Size).OrderBy(h => h)); } - [ConditionalFact] + [Fact] public virtual void Lazy_loading_handles_shadow_nullable_GUID_FK_in_TPH_model() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -4662,7 +4662,7 @@ public virtual void Lazy_loading_handles_shadow_nullable_GUID_FK_in_TPH_model() Assert.Equal(new DateTime(1973, 9, 3), ((Quest)tribes[0]).Birthday); } - [ConditionalFact] + [Fact] public virtual void Lazy_loading_finds_correct_entity_type_with_alternate_model() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -4684,7 +4684,7 @@ public virtual void Lazy_loading_finds_correct_entity_type_with_alternate_model( Assert.Same(address, person.Address); } - [ConditionalFact] + [Fact] public virtual void Top_level_projection_track_entities_before_passing_to_client_method() { using var context = CreateContext(lazyLoadingEnabled: true); @@ -4697,7 +4697,7 @@ orderby p.Id Assert.NotNull(((dynamic)query!).Single); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Entity_equality_with_proxy_parameter(bool async) { using var context = CreateContext(lazyLoadingEnabled: true); diff --git a/test/EFCore.Specification.Tests/LazyLoadTestBase.cs b/test/EFCore.Specification.Tests/LazyLoadTestBase.cs index d53710d4cef..548138576d0 100644 --- a/test/EFCore.Specification.Tests/LazyLoadTestBase.cs +++ b/test/EFCore.Specification.Tests/LazyLoadTestBase.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract partial class LoadTestBase { - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll, false), @@ -80,7 +80,7 @@ public virtual async Task Lazy_load_collection(EntityState state, QueryTrackingB } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll, false), @@ -186,7 +186,7 @@ public virtual async Task Lazy_load_many_to_one_reference_to_principal( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll, false), @@ -292,7 +292,7 @@ public virtual async Task Lazy_load_one_to_one_reference_to_principal( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll, false), @@ -383,7 +383,7 @@ public virtual async Task Lazy_load_one_to_one_reference_to_dependent( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -467,7 +467,7 @@ public virtual void Lazy_load_one_to_one_PK_to_PK_reference_to_principal(EntityS } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -533,7 +533,7 @@ public virtual void Lazy_load_one_to_one_PK_to_PK_reference_to_dependent(EntityS } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll, false), @@ -605,7 +605,7 @@ public virtual async Task Lazy_load_many_to_one_reference_to_principal_null_FK( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll, false), @@ -678,7 +678,7 @@ public virtual async Task Lazy_load_one_to_one_reference_to_principal_null_FK( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll, false), @@ -751,7 +751,7 @@ public virtual async Task Lazy_load_collection_not_found(EntityState state, Quer } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll, false), @@ -823,7 +823,7 @@ public virtual async Task Lazy_load_many_to_one_reference_to_principal_not_found } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll, false), @@ -896,7 +896,7 @@ public virtual async Task Lazy_load_one_to_one_reference_to_principal_not_found( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll, false), @@ -969,7 +969,7 @@ public virtual async Task Lazy_load_one_to_one_reference_to_dependent_not_found( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll, false), + [Theory, InlineData(EntityState.Unchanged, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Deleted, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll, false), @@ -1076,7 +1076,7 @@ public virtual async Task Lazy_load_collection_already_loaded( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll, false), @@ -1162,7 +1162,7 @@ public virtual async Task Lazy_load_collection_already_partially_loaded( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll, false), @@ -1244,7 +1244,7 @@ public virtual async Task Lazy_load_many_to_one_reference_to_principal_already_l } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll, false), @@ -1326,7 +1326,7 @@ public virtual async Task Lazy_load_one_to_one_reference_to_principal_already_lo } } - [ConditionalTheory, InlineData(EntityState.Unchanged, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll, false), + [Theory, InlineData(EntityState.Unchanged, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Deleted, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll, false), @@ -1437,7 +1437,7 @@ public virtual async Task Lazy_load_one_to_one_reference_to_dependent_already_lo } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -1491,7 +1491,7 @@ public virtual void Lazy_load_one_to_one_PK_to_PK_reference_to_principal_already } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -1545,7 +1545,7 @@ public virtual void Lazy_load_one_to_one_PK_to_PK_reference_to_dependent_already } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -1625,7 +1625,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_alternate_key( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -1705,7 +1705,7 @@ public virtual void Lazy_load_one_to_one_reference_to_principal_alternate_key( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -1767,7 +1767,7 @@ public virtual void Lazy_load_one_to_one_reference_to_dependent_alternate_key( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -1813,7 +1813,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_null_FK_alterna } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -1860,7 +1860,7 @@ public virtual void Lazy_load_one_to_one_reference_to_principal_null_FK_alternat } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -1913,7 +1913,7 @@ public virtual void Lazy_load_collection_shadow_fk(EntityState state, QueryTrack } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -1997,7 +1997,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_shadow_fk( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -2081,7 +2081,7 @@ public virtual void Lazy_load_one_to_one_reference_to_principal_shadow_fk( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -2143,7 +2143,7 @@ public virtual void Lazy_load_one_to_one_reference_to_dependent_shadow_fk( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -2208,7 +2208,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_null_FK_shadow_ } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -2274,7 +2274,7 @@ public virtual void Lazy_load_one_to_one_reference_to_principal_null_FK_shadow_f } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -2327,7 +2327,7 @@ public virtual void Lazy_load_collection_composite_key(EntityState state, QueryT } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -2407,7 +2407,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_composite_key( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -2487,7 +2487,7 @@ public virtual void Lazy_load_one_to_one_reference_to_principal_composite_key( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -2549,7 +2549,7 @@ public virtual void Lazy_load_one_to_one_reference_to_dependent_composite_key( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -2595,7 +2595,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_null_FK_composi } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -2642,7 +2642,7 @@ public virtual void Lazy_load_one_to_one_reference_to_principal_null_FK_composit } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll, false), @@ -2724,7 +2724,7 @@ public virtual async Task Lazy_load_collection_full_loader_constructor_injection } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll, false), @@ -2830,7 +2830,7 @@ public virtual async Task Lazy_load_many_to_one_reference_to_principal_full_load } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll, false), @@ -2936,7 +2936,7 @@ public virtual async Task Lazy_load_one_to_one_reference_to_principal_full_loade } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll, false), @@ -3027,7 +3027,7 @@ public virtual async Task Lazy_load_one_to_one_reference_to_dependent_full_loade } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll, false), @@ -3099,7 +3099,7 @@ public virtual async Task Lazy_load_many_to_one_reference_to_principal_null_FK_f } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll, false), @@ -3172,7 +3172,7 @@ public virtual async Task Lazy_load_one_to_one_reference_to_principal_null_FK_fu } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll, false), @@ -3248,7 +3248,7 @@ public virtual async Task Lazy_load_collection_not_found_full_loader_constructor } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll, false), @@ -3320,7 +3320,7 @@ public virtual async Task Lazy_load_many_to_one_reference_to_principal_not_found } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll, false), @@ -3393,7 +3393,7 @@ public virtual async Task Lazy_load_one_to_one_reference_to_principal_not_found_ } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll, false), @@ -3466,7 +3466,7 @@ public virtual async Task Lazy_load_one_to_one_reference_to_dependent_not_found_ } } - [ConditionalTheory, InlineData(EntityState.Unchanged, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll, false), + [Theory, InlineData(EntityState.Unchanged, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Deleted, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll, false), @@ -3573,7 +3573,7 @@ public virtual async Task Lazy_load_collection_already_loaded_full_loader_constr } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll, false), @@ -3655,7 +3655,7 @@ public virtual async Task Lazy_load_many_to_one_reference_to_principal_already_l } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll, false), @@ -3737,7 +3737,7 @@ public virtual async Task Lazy_load_one_to_one_reference_to_principal_already_lo } } - [ConditionalTheory, InlineData(EntityState.Unchanged, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll, true), + [Theory, InlineData(EntityState.Unchanged, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll, true), InlineData(EntityState.Added, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll, true), InlineData(EntityState.Modified, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll, true), InlineData(EntityState.Deleted, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll, true), @@ -3848,7 +3848,7 @@ public virtual async Task Lazy_load_one_to_one_reference_to_dependent_already_lo } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Modified, QueryTrackingBehavior.NoTracking), @@ -3926,7 +3926,7 @@ public virtual void Lazy_load_collection_already_partially_loaded_full_loader_co } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -3981,7 +3981,7 @@ public virtual void Lazy_load_collection_delegate_loader_constructor_injection( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -4060,7 +4060,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_delegate_loader } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -4139,7 +4139,7 @@ public virtual void Lazy_load_one_to_one_reference_to_principal_delegate_loader_ } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -4203,7 +4203,7 @@ public virtual void Lazy_load_one_to_one_reference_to_dependent_delegate_loader_ } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -4247,7 +4247,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_null_FK_delegat Assert.Null(child.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -4292,7 +4292,7 @@ public virtual void Lazy_load_one_to_one_reference_to_principal_null_FK_delegate Assert.Null(single.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -4334,7 +4334,7 @@ public virtual void Lazy_load_collection_not_found_delegate_loader_constructor_i Assert.Equal(state == EntityState.Detached ? 0 : 1, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -4378,7 +4378,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_not_found_deleg Assert.Null(child.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -4423,7 +4423,7 @@ public virtual void Lazy_load_one_to_one_reference_to_principal_not_found_delega Assert.Null(single.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -4468,7 +4468,7 @@ public virtual void Lazy_load_one_to_one_reference_to_dependent_not_found_delega Assert.Equal(state == EntityState.Detached ? 0 : 1, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), @@ -4557,7 +4557,7 @@ public virtual void Lazy_load_collection_already_loaded_delegate_loader_construc } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -4621,7 +4621,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_already_loaded_ } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -4683,7 +4683,7 @@ public virtual void Lazy_load_one_to_one_reference_to_principal_already_loaded_d } } - [ConditionalTheory, InlineData(EntityState.Unchanged, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), @@ -4763,7 +4763,7 @@ public virtual void Lazy_load_one_to_one_reference_to_dependent_already_loaded_d } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Modified, QueryTrackingBehavior.NoTracking), @@ -4831,7 +4831,7 @@ public virtual void Lazy_load_collection_already_partially_loaded_delegate_loade } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -4893,7 +4893,7 @@ public virtual void Lazy_load_collection_delegate_loader_property_injection( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -4979,7 +4979,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_delegate_loader } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -5065,7 +5065,7 @@ public virtual void Lazy_load_one_to_one_reference_to_principal_delegate_loader_ } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -5136,7 +5136,7 @@ public virtual void Lazy_load_one_to_one_reference_to_dependent_delegate_loader_ } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -5188,7 +5188,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_null_FK_delegat } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -5241,7 +5241,7 @@ public virtual void Lazy_load_one_to_one_reference_to_principal_null_FK_delegate } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -5297,7 +5297,7 @@ public virtual void Lazy_load_collection_not_found_delegate_loader_property_inje } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -5349,7 +5349,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_not_found_deleg } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -5402,7 +5402,7 @@ public virtual void Lazy_load_one_to_one_reference_to_principal_not_found_delega } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -5455,7 +5455,7 @@ public virtual void Lazy_load_one_to_one_reference_to_dependent_not_found_delega } } - [ConditionalTheory, InlineData(EntityState.Unchanged, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), @@ -5553,7 +5553,7 @@ public virtual void Lazy_load_collection_already_loaded_delegate_loader_property } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -5615,7 +5615,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_already_loaded_ } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -5677,7 +5677,7 @@ public virtual void Lazy_load_one_to_one_reference_to_principal_already_loaded_d } } - [ConditionalTheory, InlineData(EntityState.Unchanged, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), @@ -5757,7 +5757,7 @@ public virtual void Lazy_load_one_to_one_reference_to_dependent_already_loaded_d } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Modified, QueryTrackingBehavior.NoTracking), @@ -5827,7 +5827,7 @@ public virtual void Lazy_load_collection_already_partially_loaded_delegate_loade } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -5889,7 +5889,7 @@ public virtual void Lazy_load_collection_delegate_loader_with_state_property_inj } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -5975,7 +5975,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_delegate_loader } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -6061,7 +6061,7 @@ public virtual void Lazy_load_one_to_one_reference_to_principal_delegate_loader_ } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -6132,7 +6132,7 @@ public virtual void Lazy_load_one_to_one_reference_to_dependent_delegate_loader_ } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -6184,7 +6184,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_null_FK_delegat } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -6237,7 +6237,7 @@ public virtual void Lazy_load_one_to_one_reference_to_principal_null_FK_delegate } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -6293,7 +6293,7 @@ public virtual void Lazy_load_collection_not_found_delegate_loader_with_state_pr } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -6345,7 +6345,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_not_found_deleg } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -6398,7 +6398,7 @@ public virtual void Lazy_load_one_to_one_reference_to_principal_not_found_delega } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -6451,7 +6451,7 @@ public virtual void Lazy_load_one_to_one_reference_to_dependent_not_found_delega } } - [ConditionalTheory, InlineData(EntityState.Unchanged, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), @@ -6527,7 +6527,7 @@ public virtual void Lazy_load_collection_already_loaded_delegate_loader_with_sta } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -6589,7 +6589,7 @@ public virtual void Lazy_load_many_to_one_reference_to_principal_already_loaded_ } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), @@ -6651,7 +6651,7 @@ public virtual void Lazy_load_one_to_one_reference_to_principal_already_loaded_d } } - [ConditionalTheory, InlineData(EntityState.Unchanged, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Deleted, CascadeTiming.Immediate, QueryTrackingBehavior.TrackAll), @@ -6731,7 +6731,7 @@ public virtual void Lazy_load_one_to_one_reference_to_dependent_already_loaded_d } } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Detached, QueryTrackingBehavior.TrackAll), InlineData(EntityState.Unchanged, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Added, QueryTrackingBehavior.NoTracking), InlineData(EntityState.Modified, QueryTrackingBehavior.NoTracking), @@ -6809,7 +6809,7 @@ public virtual void Lazy_load_collection_already_partially_loaded_delegate_loade } } - [ConditionalFact] + [Fact] public virtual void Lazy_loading_uses_field_access_when_abstract_base_class_navigation() { using var context = CreateContext(lazyLoadingEnabled: true); diff --git a/test/EFCore.Specification.Tests/LoadTestBase.cs b/test/EFCore.Specification.Tests/LoadTestBase.cs index 7a417993ce3..1e2fa898084 100644 --- a/test/EFCore.Specification.Tests/LoadTestBase.cs +++ b/test/EFCore.Specification.Tests/LoadTestBase.cs @@ -15,7 +15,7 @@ public abstract partial class LoadTestBase(TFixture fixture) : IClassF { protected TFixture Fixture { get; } = fixture; - [ConditionalTheory, InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, false), + [Theory, InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, false), InlineData(EntityState.Added, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, true), InlineData(EntityState.Added, true)] public virtual void Attached_references_to_principal_are_marked_as_loaded(EntityState state, bool lazy) @@ -56,7 +56,7 @@ public virtual void Attached_references_to_principal_are_marked_as_loaded(Entity Assert.True(context.Entry(parent).Reference(e => e.SingleCompositeKey).IsLoaded); } - [ConditionalTheory, InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, false), + [Theory, InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, false), InlineData(EntityState.Added, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, true), InlineData(EntityState.Added, true)] public virtual void Attached_references_to_dependents_are_marked_as_loaded(EntityState state, bool lazy) @@ -99,7 +99,7 @@ public virtual void Attached_references_to_dependents_are_marked_as_loaded(Entit Assert.True(context.Entry(parent.SingleCompositeKey).Reference(e => e.Parent).IsLoaded); } - [ConditionalTheory, InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, false), + [Theory, InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, false), InlineData(EntityState.Added, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, true), InlineData(EntityState.Added, true)] public virtual void Attached_collections_are_not_marked_as_loaded(EntityState state, bool lazy) @@ -140,7 +140,7 @@ public virtual void Attached_collections_are_not_marked_as_loaded(EntityState st Assert.False(context.Entry(parent).Collection(e => e.ChildrenCompositeKey).IsLoaded); } - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, true), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, true), InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, true), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, false), @@ -205,7 +205,7 @@ public virtual async Task Load_collection(EntityState state, QueryTrackingBehavi Assert.Equal(state == EntityState.Detached ? 0 : 3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -259,7 +259,7 @@ public virtual async Task Load_many_to_one_reference_to_principal(EntityState st } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -313,7 +313,7 @@ public virtual async Task Load_one_to_one_reference_to_principal(EntityState sta } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -369,7 +369,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_when_NoTracking } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -412,7 +412,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent(EntityState sta } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -461,7 +461,7 @@ public virtual async Task Load_one_to_one_PK_to_PK_reference_to_principal(Entity } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -502,7 +502,7 @@ public virtual async Task Load_one_to_one_PK_to_PK_reference_to_dependent(Entity } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -544,7 +544,7 @@ public virtual async Task Load_collection_using_Query(EntityState state, bool as } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -588,7 +588,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_using_Query(En } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -632,7 +632,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_using_Query(Ent } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -668,7 +668,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_using_Query(Ent } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -712,7 +712,7 @@ public virtual async Task Load_one_to_one_PK_to_PK_reference_to_principal_using_ } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -748,7 +748,7 @@ public virtual async Task Load_one_to_one_PK_to_PK_reference_to_dependent_using_ } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -782,7 +782,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_null_FK(Entity Assert.Null(child.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -817,7 +817,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_null_FK(EntityS Assert.Null(single.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -848,7 +848,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_using_Query_nu Assert.Equal(state == EntityState.Detached ? 0 : 1, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -879,7 +879,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_using_Query_nul Assert.Equal(state == EntityState.Detached ? 0 : 1, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -913,7 +913,7 @@ public virtual async Task Load_collection_not_found(EntityState state, bool asyn Assert.Equal(state == EntityState.Detached ? 0 : 1, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -947,7 +947,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_not_found(Enti Assert.Null(child.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -982,7 +982,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_not_found(Entit Assert.Null(single.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -1017,7 +1017,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_not_found(Entit Assert.Null(parent.Single); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -1048,7 +1048,7 @@ public virtual async Task Load_collection_using_Query_not_found(EntityState stat Assert.Equal(state == EntityState.Detached ? 0 : 1, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -1079,7 +1079,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_using_Query_no Assert.Equal(state == EntityState.Detached ? 0 : 1, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -1110,7 +1110,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_using_Query_not Assert.Equal(state == EntityState.Detached ? 0 : 1, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -1141,7 +1141,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_using_Query_not Assert.Equal(state == EntityState.Detached ? 0 : 1, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), + [Theory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, false, CascadeTiming.Immediate), InlineData(EntityState.Modified, true, CascadeTiming.Immediate), InlineData(EntityState.Modified, false, CascadeTiming.Immediate), InlineData(EntityState.Deleted, true, CascadeTiming.Immediate), InlineData(EntityState.Deleted, false, CascadeTiming.Immediate), InlineData(EntityState.Detached, true, CascadeTiming.Immediate), @@ -1192,7 +1192,7 @@ public virtual async Task Load_collection_already_loaded(EntityState state, bool Assert.Equal(state == EntityState.Detached ? 0 : 3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -1234,7 +1234,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_already_loaded } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), + [Theory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, false, CascadeTiming.Immediate), InlineData(EntityState.Modified, true, CascadeTiming.Immediate), InlineData(EntityState.Modified, false, CascadeTiming.Immediate), InlineData(EntityState.Deleted, true, CascadeTiming.Immediate), InlineData(EntityState.Deleted, false, CascadeTiming.Immediate), InlineData(EntityState.Detached, true, CascadeTiming.Immediate), @@ -1289,7 +1289,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_already_loaded( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), + [Theory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, false, CascadeTiming.Immediate), InlineData(EntityState.Modified, true, CascadeTiming.Immediate), InlineData(EntityState.Modified, false, CascadeTiming.Immediate), InlineData(EntityState.Deleted, true, CascadeTiming.Immediate), InlineData(EntityState.Deleted, false, CascadeTiming.Immediate), InlineData(EntityState.Detached, true, CascadeTiming.Immediate), @@ -1344,7 +1344,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_already_loaded( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -1386,7 +1386,7 @@ public virtual async Task Load_one_to_one_PK_to_PK_reference_to_principal_alread } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -1428,7 +1428,7 @@ public virtual async Task Load_one_to_one_PK_to_PK_reference_to_dependent_alread } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), + [Theory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, false, CascadeTiming.Immediate), InlineData(EntityState.Modified, true, CascadeTiming.Immediate), InlineData(EntityState.Modified, false, CascadeTiming.Immediate), InlineData(EntityState.Deleted, true, CascadeTiming.Immediate), InlineData(EntityState.Deleted, false, CascadeTiming.Immediate), InlineData(EntityState.Detached, true, CascadeTiming.Immediate), @@ -1489,7 +1489,7 @@ public virtual async Task Load_collection_using_Query_already_loaded( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -1529,7 +1529,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_using_Query_al } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -1569,7 +1569,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_using_Query_alr Assert.Equal(state == EntityState.Detached ? 0 : 2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), + [Theory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, false, CascadeTiming.Immediate), InlineData(EntityState.Modified, true, CascadeTiming.Immediate), InlineData(EntityState.Modified, false, CascadeTiming.Immediate), InlineData(EntityState.Deleted, true, CascadeTiming.Immediate), InlineData(EntityState.Deleted, false, CascadeTiming.Immediate), InlineData(EntityState.Detached, true, CascadeTiming.Immediate), @@ -1620,7 +1620,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_using_Query_alr } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -1657,7 +1657,7 @@ public virtual async Task Load_one_to_one_PK_to_PK_reference_to_principal_using_ } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -1694,7 +1694,7 @@ public virtual async Task Load_one_to_one_PK_to_PK_reference_to_dependent_using_ } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] public virtual async Task Load_collection_untyped(EntityState state, bool async) @@ -1729,7 +1729,7 @@ public virtual async Task Load_collection_untyped(EntityState state, bool async) Assert.Equal(state == EntityState.Detached ? 0 : 3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -1783,7 +1783,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_untyped(Entity } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -1832,7 +1832,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_untyped(EntityS } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -1873,7 +1873,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_untyped(EntityS } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -1916,7 +1916,7 @@ public virtual async Task Load_collection_using_Query_untyped(EntityState state, } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -1961,7 +1961,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_using_Query_un } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -2006,7 +2006,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_using_Query_unt } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -2043,7 +2043,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_using_Query_unt } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -2077,7 +2077,7 @@ public virtual async Task Load_collection_not_found_untyped(EntityState state, b Assert.Equal(state == EntityState.Detached ? 0 : 1, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -2111,7 +2111,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_not_found_unty Assert.Null(child.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -2146,7 +2146,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_not_found_untyp Assert.Null(single.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -2181,7 +2181,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_not_found_untyp Assert.Null(parent.Single); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -2213,7 +2213,7 @@ public virtual async Task Load_collection_using_Query_not_found_untyped(EntitySt Assert.Equal(state == EntityState.Detached ? 0 : 1, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -2245,7 +2245,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_using_Query_no Assert.Equal(state == EntityState.Detached ? 0 : 1, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -2277,7 +2277,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_using_Query_not Assert.Equal(state == EntityState.Detached ? 0 : 1, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -2309,7 +2309,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_using_Query_not Assert.Equal(state == EntityState.Detached ? 0 : 1, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), + [Theory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, false, CascadeTiming.Immediate), InlineData(EntityState.Modified, true, CascadeTiming.Immediate), InlineData(EntityState.Modified, false, CascadeTiming.Immediate), InlineData(EntityState.Deleted, true, CascadeTiming.Immediate), InlineData(EntityState.Deleted, false, CascadeTiming.Immediate), InlineData(EntityState.Detached, true, CascadeTiming.Immediate), @@ -2360,7 +2360,7 @@ public virtual async Task Load_collection_already_loaded_untyped(EntityState sta Assert.Equal(state == EntityState.Detached ? 0 : 3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -2402,7 +2402,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_already_loaded } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -2444,7 +2444,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_already_loaded_ } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), + [Theory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, false, CascadeTiming.Immediate), InlineData(EntityState.Modified, true, CascadeTiming.Immediate), InlineData(EntityState.Modified, false, CascadeTiming.Immediate), InlineData(EntityState.Deleted, true, CascadeTiming.Immediate), InlineData(EntityState.Deleted, false, CascadeTiming.Immediate), InlineData(EntityState.Detached, true, CascadeTiming.Immediate), @@ -2499,7 +2499,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_already_loaded_ } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), + [Theory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, false, CascadeTiming.Immediate), InlineData(EntityState.Modified, true, CascadeTiming.Immediate), InlineData(EntityState.Modified, false, CascadeTiming.Immediate), InlineData(EntityState.Deleted, true, CascadeTiming.Immediate), InlineData(EntityState.Deleted, false, CascadeTiming.Immediate), InlineData(EntityState.Detached, true, CascadeTiming.Immediate), @@ -2561,7 +2561,7 @@ public virtual async Task Load_collection_using_Query_already_loaded_untyped( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -2602,7 +2602,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_using_Query_al } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -2643,7 +2643,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_using_Query_alr Assert.Equal(state == EntityState.Detached ? 0 : 2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), + [Theory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, false, CascadeTiming.Immediate), InlineData(EntityState.Modified, true, CascadeTiming.Immediate), InlineData(EntityState.Modified, false, CascadeTiming.Immediate), InlineData(EntityState.Deleted, true, CascadeTiming.Immediate), InlineData(EntityState.Deleted, false, CascadeTiming.Immediate), InlineData(EntityState.Detached, true, CascadeTiming.Immediate), @@ -2700,7 +2700,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_using_Query_alr } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -2736,7 +2736,7 @@ public virtual async Task Load_collection_alternate_key(EntityState state, bool Assert.Equal(state == EntityState.Detached ? 0 : 3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -2785,7 +2785,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_alternate_key( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -2834,7 +2834,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_alternate_key(E } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -2875,7 +2875,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_alternate_key(E } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -2917,7 +2917,7 @@ public virtual async Task Load_collection_using_Query_alternate_key(EntityState } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -2961,7 +2961,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_using_Query_al } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -3005,7 +3005,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_using_Query_alt } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -3041,7 +3041,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_using_Query_alt } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -3075,7 +3075,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_null_FK_altern Assert.Null(child.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -3110,7 +3110,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_null_FK_alterna Assert.Null(single.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -3141,7 +3141,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_using_Query_nu Assert.Equal(state == EntityState.Detached ? 0 : 1, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -3172,7 +3172,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_using_Query_nul Assert.Equal(state == EntityState.Detached ? 0 : 1, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -3208,7 +3208,7 @@ public virtual async Task Load_collection_shadow_fk(EntityState state, bool asyn Assert.Equal(state == EntityState.Detached ? 0 : 3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -3272,7 +3272,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_shadow_fk(Enti } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -3337,7 +3337,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_shadow_fk(Entit } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -3378,7 +3378,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_shadow_fk(Entit } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -3420,7 +3420,7 @@ public virtual async Task Load_collection_using_Query_shadow_fk(EntityState stat } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -3475,7 +3475,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_using_Query_sh } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -3530,7 +3530,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_using_Query_sha } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -3566,7 +3566,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_using_Query_sha } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -3619,7 +3619,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_null_FK_shadow } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -3674,7 +3674,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_null_FK_shadow_ } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -3720,7 +3720,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_using_Query_nu } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -3766,7 +3766,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_using_Query_nul } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -3802,7 +3802,7 @@ public virtual async Task Load_collection_composite_key(EntityState state, bool Assert.Equal(state == EntityState.Detached ? 0 : 3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -3851,7 +3851,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_composite_key( } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -3900,7 +3900,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_composite_key(E } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -3941,7 +3941,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_composite_key(E } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -3983,7 +3983,7 @@ public virtual async Task Load_collection_using_Query_composite_key(EntityState } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -4027,7 +4027,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_using_Query_co } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -4071,7 +4071,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_using_Query_com } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -4107,7 +4107,7 @@ public virtual async Task Load_one_to_one_reference_to_dependent_using_Query_com } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -4141,7 +4141,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_null_FK_compos Assert.Null(child.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -4176,7 +4176,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_null_FK_composi Assert.Null(single.Parent); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -4207,7 +4207,7 @@ public virtual async Task Load_many_to_one_reference_to_principal_using_Query_nu Assert.Equal(state == EntityState.Detached ? 0 : 1, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -4238,7 +4238,7 @@ public virtual async Task Load_one_to_one_reference_to_principal_using_Query_nul Assert.Equal(state == EntityState.Detached ? 0 : 1, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public virtual void Can_change_IsLoaded_flag_for_collection() { using var context = CreateContext(); @@ -4272,7 +4272,7 @@ public virtual void Can_change_IsLoaded_flag_for_collection() Assert.True(collectionEntry.IsLoaded); } - [ConditionalFact] + [Fact] public virtual void Can_change_IsLoaded_flag_for_reference_only_if_null() { using var context = CreateContext(); @@ -4307,7 +4307,7 @@ public virtual void Can_change_IsLoaded_flag_for_reference_only_if_null() Assert.Throws(() => referenceEntry.IsLoaded = false).Message); } - [ConditionalFact] // Issue #27497 + [Fact] // Issue #27497 public virtual void Fixup_reference_after_FK_change_without_DetectChanges() { using var context = CreateContext(); @@ -4323,7 +4323,7 @@ public virtual void Fixup_reference_after_FK_change_without_DetectChanges() Assert.Equal(497, child.ParentId); } - [ConditionalFact] // Issue #27497 + [Fact] // Issue #27497 public virtual void Fixup_one_to_one_reference_after_FK_change_without_DetectChanges() { using var context = CreateContext(); @@ -4339,7 +4339,7 @@ public virtual void Fixup_one_to_one_reference_after_FK_change_without_DetectCha Assert.Equal(497, child.ParentId); } - [ConditionalFact] + [Fact] public virtual void Setting_navigation_to_null_is_detected_by_local_DetectChanges() // Issue #26937 { using var context = CreateContext(); @@ -4363,7 +4363,7 @@ public virtual void Setting_navigation_to_null_is_detected_by_local_DetectChange Assert.Equal(EntityState.Deleted, childEntry.State); } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] // Issue #35528 + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] // Issue #35528 public virtual async Task Lazy_loading_is_thread_safe(bool noTracking, bool async) { using var context = CreateContext(lazyLoadingEnabled: true); diff --git a/test/EFCore.Specification.Tests/LoggingTestBase.cs b/test/EFCore.Specification.Tests/LoggingTestBase.cs index 77f1841f2a7..df279f5c013 100644 --- a/test/EFCore.Specification.Tests/LoggingTestBase.cs +++ b/test/EFCore.Specification.Tests/LoggingTestBase.cs @@ -10,17 +10,17 @@ namespace Microsoft.EntityFrameworkCore; public abstract class LoggingTestBase { - [ConditionalFact] + [Fact] public void Logs_context_initialization_default_options() => Assert.Equal(ExpectedMessage(DefaultOptions), ActualMessage(CreateOptionsBuilder)); - [ConditionalFact] + [Fact] public void Logs_context_initialization_no_tracking() => Assert.Equal( ExpectedMessage("NoTracking " + DefaultOptions), ActualMessage(s => CreateOptionsBuilder(s).UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking))); - [ConditionalFact] + [Fact] public void Logs_context_initialization_sensitive_data_logging() => Assert.Equal( ExpectedMessage("SensitiveDataLoggingEnabled " + DefaultOptions), @@ -34,7 +34,7 @@ protected virtual string ExpectedMessage(string optionsFragment) ProviderVersion, optionsFragment ?? "None").Trim(); - [ConditionalFact] + [Fact] public virtual void InvalidIncludePathError_throws_by_default() { using var context = new InvalidIncludePathErrorContext(CreateOptionsBuilder(new ServiceCollection())); diff --git a/test/EFCore.Specification.Tests/ManyToManyFieldsLoadTestBase.cs b/test/EFCore.Specification.Tests/ManyToManyFieldsLoadTestBase.cs index 7ac1be206d7..ffef9d0d488 100644 --- a/test/EFCore.Specification.Tests/ManyToManyFieldsLoadTestBase.cs +++ b/test/EFCore.Specification.Tests/ManyToManyFieldsLoadTestBase.cs @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract class ManyToManyFieldsLoadTestBase(TFixture fixture) : IClassFixture where TFixture : ManyToManyFieldsLoadTestBase.ManyToManyFieldsLoadFixtureBase { - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, true), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, true), InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, true), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, false), @@ -70,7 +70,7 @@ public virtual async Task Load_collection(EntityState state, QueryTrackingBehavi Assert.Equal(1 + 7 + 7, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_using_Query(EntityState state, bool async) @@ -110,7 +110,7 @@ public virtual async Task Load_collection_using_Query(EntityState state, bool as Assert.Equal(1 + 3 + 3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Modified), InlineData(EntityState.Added)] + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Modified), InlineData(EntityState.Added)] public virtual void Attached_collections_are_not_marked_as_loaded(EntityState state) { using var context = Fixture.CreateContext(); @@ -155,7 +155,7 @@ public virtual void Attached_collections_are_not_marked_as_loaded(EntityState st Assert.False(context.Entry(left).Collection(e => e.ThreeSkipPayloadFullShared).IsLoaded); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_already_loaded(EntityState state, bool async) @@ -198,7 +198,7 @@ public virtual async Task Load_collection_already_loaded(EntityState state, bool Assert.Equal(1 + 4 + 4, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_using_Query_already_loaded(EntityState state, bool async) @@ -238,7 +238,7 @@ public virtual async Task Load_collection_using_Query_already_loaded(EntityState Assert.Equal(1 + 7 + 7, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_untyped(EntityState state, bool async) @@ -281,7 +281,7 @@ public virtual async Task Load_collection_untyped(EntityState state, bool async) Assert.Equal(1 + 7 + 7, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_using_Query_untyped(EntityState state, bool async) @@ -321,7 +321,7 @@ public virtual async Task Load_collection_using_Query_untyped(EntityState state, Assert.Equal(1 + 3 + 3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_not_found_untyped(EntityState state, bool async) @@ -355,7 +355,7 @@ public virtual async Task Load_collection_not_found_untyped(EntityState state, b Assert.Single(context.ChangeTracker.Entries()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_using_Query_not_found_untyped(EntityState state, bool async) @@ -386,7 +386,7 @@ public virtual async Task Load_collection_using_Query_not_found_untyped(EntitySt Assert.Single(context.ChangeTracker.Entries()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), + [Theory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, false, CascadeTiming.Immediate), InlineData(EntityState.Modified, true, CascadeTiming.Immediate), InlineData(EntityState.Modified, false, CascadeTiming.Immediate), InlineData(EntityState.Deleted, true, CascadeTiming.Immediate), InlineData(EntityState.Deleted, false, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, true, CascadeTiming.OnSaveChanges), @@ -437,7 +437,7 @@ public virtual async Task Load_collection_already_loaded_untyped(EntityState sta Assert.Equal(1 + 4 + 4, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), + [Theory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, false, CascadeTiming.Immediate), InlineData(EntityState.Modified, true, CascadeTiming.Immediate), InlineData(EntityState.Modified, false, CascadeTiming.Immediate), InlineData(EntityState.Deleted, true, CascadeTiming.Immediate), InlineData(EntityState.Deleted, false, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, true, CascadeTiming.OnSaveChanges), @@ -489,7 +489,7 @@ public virtual async Task Load_collection_using_Query_already_loaded_untyped( Assert.Equal(1 + 7 + 7, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_composite_key(EntityState state, bool async) @@ -532,7 +532,7 @@ public virtual async Task Load_collection_composite_key(EntityState state, bool Assert.Equal(1 + 2 + 2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_using_Query_composite_key(EntityState state, bool async) @@ -572,7 +572,7 @@ public virtual async Task Load_collection_using_Query_composite_key(EntityState Assert.Equal(1 + 2 + 2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(true, QueryTrackingBehavior.NoTracking), InlineData(true, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(true, QueryTrackingBehavior.NoTracking), InlineData(true, QueryTrackingBehavior.TrackAll), InlineData(true, QueryTrackingBehavior.NoTrackingWithIdentityResolution), InlineData(false, QueryTrackingBehavior.NoTracking), InlineData(false, QueryTrackingBehavior.TrackAll), InlineData(false, QueryTrackingBehavior.NoTrackingWithIdentityResolution)] public virtual async Task Load_collection_for_detached_throws(bool async, QueryTrackingBehavior queryTrackingBehavior) @@ -598,7 +598,7 @@ public virtual async Task Load_collection_for_detached_throws(bool async, QueryT } } - [ConditionalTheory, InlineData(QueryTrackingBehavior.NoTracking), InlineData(QueryTrackingBehavior.TrackAll), + [Theory, InlineData(QueryTrackingBehavior.NoTracking), InlineData(QueryTrackingBehavior.TrackAll), InlineData(QueryTrackingBehavior.NoTrackingWithIdentityResolution)] public virtual void Query_collection_for_detached_throws(QueryTrackingBehavior queryTrackingBehavior) { @@ -616,7 +616,7 @@ public virtual void Query_collection_for_detached_throws(QueryTrackingBehavior q var query = collectionEntry.Query(); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Load_collection_using_Query_with_Include(bool async) { using var context = Fixture.CreateContext(); @@ -662,7 +662,7 @@ public virtual async Task Load_collection_using_Query_with_Include(bool async) Assert.Equal(21, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Load_collection_using_Query_with_Include_for_inverse(bool async) { using var context = Fixture.CreateContext(); @@ -698,7 +698,7 @@ public virtual async Task Load_collection_using_Query_with_Include_for_inverse(b Assert.Equal(7, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Load_collection_using_Query_with_Include_for_same_collection(bool async) { using var context = Fixture.CreateContext(); @@ -734,7 +734,7 @@ public virtual async Task Load_collection_using_Query_with_Include_for_same_coll Assert.Equal(7, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Load_collection_using_Query_with_filtered_Include(bool async) { using var context = Fixture.CreateContext(); @@ -781,7 +781,7 @@ public virtual async Task Load_collection_using_Query_with_filtered_Include(bool Assert.Equal(9, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Load_collection_using_Query_with_filtered_Include_and_projection(bool async) { using var context = Fixture.CreateContext(); @@ -833,7 +833,7 @@ public virtual async Task Load_collection_using_Query_with_filtered_Include_and_ Assert.Equal(2, projected[2].Count3); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Load_collection_using_Query_with_join(bool async) { using var context = Fixture.CreateContext(); @@ -868,7 +868,7 @@ on t.Id equals s.Id } } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Query_with_Include_marks_only_left_as_loaded(bool async) { using var context = Fixture.CreateContext(); @@ -888,7 +888,7 @@ public virtual async Task Query_with_Include_marks_only_left_as_loaded(bool asyn } } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Query_with_filtered_Include_marks_only_left_as_loaded(bool async) { using var context = Fixture.CreateContext(); diff --git a/test/EFCore.Specification.Tests/ManyToManyLoadTestBase.cs b/test/EFCore.Specification.Tests/ManyToManyLoadTestBase.cs index e686dfb091b..e78cc9f77c2 100644 --- a/test/EFCore.Specification.Tests/ManyToManyLoadTestBase.cs +++ b/test/EFCore.Specification.Tests/ManyToManyLoadTestBase.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract partial class ManyToManyLoadTestBase(TFixture fixture) : IClassFixture where TFixture : ManyToManyLoadTestBase.ManyToManyLoadFixtureBase { - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, true), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, true), InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, true), InlineData(EntityState.Added, QueryTrackingBehavior.TrackAll, false), @@ -100,7 +100,7 @@ public virtual async Task Load_collection(EntityState state, QueryTrackingBehavi Assert.Equal(state == EntityState.Detached ? 0 : 1 + 7 + 7, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -145,7 +145,7 @@ public virtual async Task Load_collection_using_Query(EntityState state, bool as } } - [ConditionalTheory, InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, false), + [Theory, InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, false), InlineData(EntityState.Added, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, true), InlineData(EntityState.Added, true)] public virtual void Attached_collections_are_not_marked_as_loaded(EntityState state, bool lazy) @@ -208,7 +208,7 @@ public virtual void Attached_collections_are_not_marked_as_loaded(EntityState st Assert.False(context.Entry(left).Collection(e => e.ThreeSkipPayloadFullShared).IsLoaded); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -266,7 +266,7 @@ public virtual async Task Load_collection_already_loaded(EntityState state, bool Assert.Equal(state == EntityState.Detached ? 0 : 1 + 4 + 4, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -320,7 +320,7 @@ public virtual async Task Load_collection_using_Query_already_loaded(EntityState Assert.Equal(state == EntityState.Detached ? 0 : 1 + 7 + 7, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, false, true), InlineData(EntityState.Unchanged, false, false), + [Theory, InlineData(EntityState.Unchanged, false, true), InlineData(EntityState.Unchanged, false, false), InlineData(EntityState.Added, false, true), InlineData(EntityState.Added, false, false), InlineData(EntityState.Modified, false, true), InlineData(EntityState.Modified, false, false), InlineData(EntityState.Deleted, false, true), InlineData(EntityState.Deleted, false, false), InlineData(EntityState.Detached, false, true), @@ -405,7 +405,7 @@ public virtual async Task Load_collection_partially_loaded(EntityState state, bo } } - [ConditionalTheory, InlineData(EntityState.Unchanged, false, true), InlineData(EntityState.Unchanged, false, false), + [Theory, InlineData(EntityState.Unchanged, false, true), InlineData(EntityState.Unchanged, false, false), InlineData(EntityState.Added, false, true), InlineData(EntityState.Added, false, false), InlineData(EntityState.Modified, false, true), InlineData(EntityState.Modified, false, false), InlineData(EntityState.Deleted, false, true), InlineData(EntityState.Deleted, false, false), InlineData(EntityState.Detached, false, true), @@ -490,7 +490,7 @@ public virtual async Task Load_collection_partially_loaded_no_explicit_join(Enti } } - [ConditionalTheory, InlineData(QueryTrackingBehavior.NoTracking), InlineData(QueryTrackingBehavior.NoTrackingWithIdentityResolution)] + [Theory, InlineData(QueryTrackingBehavior.NoTracking), InlineData(QueryTrackingBehavior.NoTrackingWithIdentityResolution)] public virtual void Load_collection_partially_loaded_no_tracking(QueryTrackingBehavior queryTrackingBehavior) { using var context = Fixture.CreateContext(); @@ -540,7 +540,7 @@ public virtual void Load_collection_partially_loaded_no_tracking(QueryTrackingBe Assert.Empty(context.ChangeTracker.Entries()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -600,7 +600,7 @@ public virtual async Task Load_collection_untyped(EntityState state, bool async) Assert.Equal(state == EntityState.Detached ? 0 : 1 + 7 + 7, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -645,7 +645,7 @@ public virtual async Task Load_collection_using_Query_untyped(EntityState state, } } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -700,7 +700,7 @@ public virtual async Task Load_collection_not_found_untyped(EntityState state, b Assert.Equal(state == EntityState.Detached ? 0 : 1, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -736,7 +736,7 @@ public virtual async Task Load_collection_using_Query_not_found_untyped(EntitySt Assert.Equal(state == EntityState.Detached ? 0 : 1, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), + [Theory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, false, CascadeTiming.Immediate), InlineData(EntityState.Added, true, CascadeTiming.Immediate), InlineData(EntityState.Added, false, CascadeTiming.Immediate), InlineData(EntityState.Modified, true, CascadeTiming.Immediate), InlineData(EntityState.Modified, false, CascadeTiming.Immediate), InlineData(EntityState.Deleted, true, CascadeTiming.Immediate), @@ -806,7 +806,7 @@ public virtual async Task Load_collection_already_loaded_untyped(EntityState sta Assert.Equal(state == EntityState.Detached ? 0 : 1 + 4 + 4, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), + [Theory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, false, CascadeTiming.Immediate), InlineData(EntityState.Added, true, CascadeTiming.Immediate), InlineData(EntityState.Added, false, CascadeTiming.Immediate), InlineData(EntityState.Modified, true, CascadeTiming.Immediate), InlineData(EntityState.Modified, false, CascadeTiming.Immediate), InlineData(EntityState.Deleted, true, CascadeTiming.Immediate), @@ -876,7 +876,7 @@ public virtual async Task Load_collection_using_Query_already_loaded_untyped( Assert.Equal(state == EntityState.Detached ? 0 : 1 + 7 + 7, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -936,7 +936,7 @@ public virtual async Task Load_collection_composite_key(EntityState state, bool Assert.Equal(state == EntityState.Detached ? 0 : 1 + 2 + 2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -981,7 +981,7 @@ public virtual async Task Load_collection_using_Query_composite_key(EntityState } } - [ConditionalTheory, InlineData(true, QueryTrackingBehavior.NoTracking), InlineData(true, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(true, QueryTrackingBehavior.NoTracking), InlineData(true, QueryTrackingBehavior.TrackAll), InlineData(true, QueryTrackingBehavior.NoTrackingWithIdentityResolution), InlineData(false, QueryTrackingBehavior.NoTracking), InlineData(false, QueryTrackingBehavior.TrackAll), InlineData(false, QueryTrackingBehavior.NoTrackingWithIdentityResolution)] public virtual async Task Load_collection_for_detached_throws(bool async, QueryTrackingBehavior queryTrackingBehavior) @@ -1007,7 +1007,7 @@ public virtual async Task Load_collection_for_detached_throws(bool async, QueryT } } - [ConditionalTheory, InlineData(QueryTrackingBehavior.NoTracking), InlineData(QueryTrackingBehavior.TrackAll), + [Theory, InlineData(QueryTrackingBehavior.NoTracking), InlineData(QueryTrackingBehavior.TrackAll), InlineData(QueryTrackingBehavior.NoTrackingWithIdentityResolution)] public virtual void Query_collection_for_detached_throws(QueryTrackingBehavior queryTrackingBehavior) { @@ -1025,7 +1025,7 @@ public virtual void Query_collection_for_detached_throws(QueryTrackingBehavior q var query = collectionEntry.Query(); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Load_collection_using_Query_with_Include(bool async) { using var context = Fixture.CreateContext(); @@ -1072,7 +1072,7 @@ public virtual async Task Load_collection_using_Query_with_Include(bool async) Assert.Equal(21, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Load_collection_using_Query_with_Include_for_inverse(bool async) { using var context = Fixture.CreateContext(); @@ -1109,7 +1109,7 @@ public virtual async Task Load_collection_using_Query_with_Include_for_inverse(b Assert.Equal(7, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Load_collection_using_Query_with_Include_for_same_collection(bool async) { using var context = Fixture.CreateContext(); @@ -1146,7 +1146,7 @@ public virtual async Task Load_collection_using_Query_with_Include_for_same_coll Assert.Equal(7, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Load_collection_using_Query_with_filtered_Include(bool async) { using var context = Fixture.CreateContext(); @@ -1194,7 +1194,7 @@ public virtual async Task Load_collection_using_Query_with_filtered_Include(bool Assert.Equal(9, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Load_collection_using_Query_with_filtered_Include_and_projection(bool async) { using var context = Fixture.CreateContext(); @@ -1247,7 +1247,7 @@ public virtual async Task Load_collection_using_Query_with_filtered_Include_and_ Assert.Equal(2, projected[2].Count3); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Load_collection_using_Query_with_join(bool async) { using var context = Fixture.CreateContext(); @@ -1283,7 +1283,7 @@ on t.Id equals s.Id } } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Query_with_Include_marks_only_left_as_loaded(bool async) { using var context = Fixture.CreateContext(); @@ -1305,7 +1305,7 @@ public virtual async Task Query_with_Include_marks_only_left_as_loaded(bool asyn } } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Query_with_filtered_Include_marks_only_left_as_loaded(bool async) { using var context = Fixture.CreateContext(); diff --git a/test/EFCore.Specification.Tests/ManyToManyTrackingTestBase.cs b/test/EFCore.Specification.Tests/ManyToManyTrackingTestBase.cs index 82d622b3482..8ec81344040 100644 --- a/test/EFCore.Specification.Tests/ManyToManyTrackingTestBase.cs +++ b/test/EFCore.Specification.Tests/ManyToManyTrackingTestBase.cs @@ -12,7 +12,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract partial class ManyToManyTrackingTestBase(TFixture fixture) : IClassFixture where TFixture : ManyToManyTrackingTestBase.ManyToManyTrackingFixtureBase { - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Can_insert_many_to_many_composite_with_navs(bool async) { List keys = null; @@ -134,7 +134,7 @@ void ValidateFixup(DbContext context, IList leftEntities, IL } } - [ConditionalFact] + [Fact] public virtual Task Can_update_many_to_many_composite_with_navs() { return ExecuteWithStrategyInTransactionAsync( @@ -301,7 +301,7 @@ void ValidateFixup( } } - [ConditionalFact] + [Fact] public virtual Task Can_delete_with_many_to_many_composite_with_navs() { var key1 = 0; @@ -459,7 +459,7 @@ static void ValidateJoinNavigations(DbContext context) } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Can_insert_many_to_many_composite_shared_with_navs(bool async) { List keys = null; @@ -568,7 +568,7 @@ void ValidateFixup(DbContext context, IList leftEntities, IL } } - [ConditionalFact] + [Fact] public virtual Task Can_update_many_to_many_composite_shared_with_navs() { List rootKeys = null; @@ -731,7 +731,7 @@ void ValidateFixup( } } - [ConditionalFact] + [Fact] public virtual Task Can_delete_with_many_to_many_composite_shared_with_navs() { var key1 = 0; @@ -839,7 +839,7 @@ void ValidateNavigations( } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Can_insert_many_to_many_composite_additional_pk_with_navs(bool async) { List keys = null; @@ -979,7 +979,7 @@ void ValidateFixup(DbContext context, IList leftEntities, IL } } - [ConditionalFact] + [Fact] public virtual Task Can_update_many_to_many_composite_additional_pk_with_navs() { List threeIds = null; @@ -1160,7 +1160,7 @@ void ValidateFixup( } } - [ConditionalFact] + [Fact] public virtual Task Can_delete_with_many_to_many_composite_additional_pk_with_navs() { var threeId = 0; @@ -1306,7 +1306,7 @@ static void ValidateJoinNavigations(DbContext context) } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Can_insert_many_to_many_self_shared(bool async) { List leftKeys = null; @@ -1410,7 +1410,7 @@ void ValidateFixup(DbContext context, IList leftEntities, IList ids = null; @@ -1562,7 +1562,7 @@ void ValidateFixup( } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Can_insert_many_to_many_with_navs(bool async) { List keys = null; @@ -1663,7 +1663,7 @@ void ValidateFixup(DbContext context, IList leftEntities, IList keys = null; @@ -1909,7 +1909,7 @@ void ValidateFixup(DbContext context, IList leftEntities, IList leftKeys = null; @@ -2177,7 +2177,7 @@ void ValidateFixup(DbContext context, IList leftEntities, IList keys = null; @@ -2366,7 +2366,7 @@ void ValidateFixup( } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Can_insert_many_to_many_shared_with_payload(bool async) { List keys = null; @@ -2467,7 +2467,7 @@ void ValidateFixup(DbContext context, IList leftEntities, IList keys = null; @@ -2751,7 +2751,7 @@ void ValidateFixup(DbContext context, IList leftEntities, IList keys = null; @@ -3009,7 +3009,7 @@ void ValidateFixup(DbContext context, IList leftEntities, IList keys = null; @@ -3420,7 +3420,7 @@ void ValidateFixup(DbContext context, IList leftEntities, IList leftEntities, IList leftEntities, IList oneIds = null; @@ -3884,7 +3884,7 @@ void ValidateFixup( } } - [ConditionalFact] + [Fact] public virtual Task Can_delete_with_many_to_many() { var oneId = 0; @@ -3975,7 +3975,7 @@ void ValidateNavigations(List ones, List twos) } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Can_insert_many_to_many_fully_by_convention(bool async) { List keys = null; @@ -4075,7 +4075,7 @@ void ValidateFixup(DbContext context, IList leftEntities, I } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Can_insert_many_to_many_fully_by_convention_generated_keys(bool async) { await ExecuteWithStrategyInTransactionAsync( @@ -4171,7 +4171,7 @@ void ValidateFixup(DbContext context, IList leftEntities, ILi } } - [ConditionalTheory, InlineData(true, false), InlineData(false, false), InlineData(true, true), InlineData(false, true)] + [Theory, InlineData(true, false), InlineData(false, false), InlineData(true, true), InlineData(false, true)] public virtual async Task Can_Attach_or_Update_a_many_to_many_with_mixed_set_and_unset_keys(bool useUpdate, bool async) { var existingLeftId = -1; @@ -4322,7 +4322,7 @@ void ValidateFixup(DbContext context, IList leftEntities, ILi } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Initial_tracking_uses_skip_navigations(bool async) { List keys = null; @@ -4405,7 +4405,7 @@ void ValidateFixup(DbContext context, IList leftEntities, I } } - [ConditionalTheory, InlineData(new[] { 1, 2, 3 }), InlineData(new[] { 2, 1, 3 }), InlineData(new[] { 3, 1, 2 }), + [Theory, InlineData(new[] { 1, 2, 3 }), InlineData(new[] { 2, 1, 3 }), InlineData(new[] { 3, 1, 2 }), InlineData(new[] { 3, 2, 1 }), InlineData(new[] { 1, 3, 2 }), InlineData(new[] { 2, 3, 1 })] public virtual void Can_load_entities_in_any_order(int[] order) { @@ -4454,7 +4454,7 @@ public virtual void Can_load_entities_in_any_order(int[] order) Assert.Equal(112, (joinCount / 2) + deleted); } - [ConditionalFact] + [Fact] public virtual Task Can_insert_update_delete_shared_type_entity_type() => ExecuteWithStrategyInTransactionAsync( context => @@ -4496,7 +4496,7 @@ await context.Set>("JoinOneToThreePayloadFullShared") .AnyAsync(e => (int)e["OneId"] == 1 && (int)e["ThreeId"] == 1)); }); - [ConditionalFact] + [Fact] public virtual Task Can_insert_update_delete_proxyable_shared_type_entity_type() { var id = 0; @@ -4543,7 +4543,7 @@ public virtual Task Can_insert_update_delete_proxyable_shared_type_entity_type() }); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Can_insert_many_to_many_with_navs_by_join_entity(bool async) { await ExecuteWithStrategyInTransactionAsync( @@ -4678,7 +4678,7 @@ static void ValidateFixup(DbContext context, IList leftEntities, ILis } } - [ConditionalTheory, InlineData(false, false, false, false), InlineData(false, true, false, false), + [Theory, InlineData(false, false, false, false), InlineData(false, true, false, false), InlineData(true, false, false, false), InlineData(true, true, false, false), InlineData(false, false, true, false), InlineData(false, true, true, false), InlineData(true, false, true, false), InlineData(true, true, true, false), InlineData(false, false, true, true), InlineData(false, true, true, true), InlineData(true, false, true, true), @@ -4781,7 +4781,7 @@ public virtual Task Can_add_and_remove_a_new_relationship(bool modifyLeft, bool }); } - [ConditionalTheory, InlineData(false, false, false), InlineData(false, true, false), InlineData(true, false, false), + [Theory, InlineData(false, false, false), InlineData(false, true, false), InlineData(true, false, false), InlineData(true, true, false), InlineData(false, false, true), InlineData(false, true, true), InlineData(true, false, true), InlineData(true, true, true)] public virtual Task Can_add_and_remove_a_new_relationship_self(bool modifyLeft, bool modifyRight, bool useJoin) @@ -4864,7 +4864,7 @@ public virtual Task Can_add_and_remove_a_new_relationship_self(bool modifyLeft, }); } - [ConditionalTheory, InlineData(false, false, false, false), InlineData(false, true, false, false), + [Theory, InlineData(false, false, false, false), InlineData(false, true, false, false), InlineData(true, false, false, false), InlineData(true, true, false, false), InlineData(false, false, true, false), InlineData(false, true, true, false), InlineData(true, false, true, false), InlineData(true, true, true, false), InlineData(false, false, true, true), InlineData(false, true, true, true), InlineData(true, false, true, true), @@ -5005,7 +5005,7 @@ public virtual Task Can_add_and_remove_a_new_relationship_composite_with_navs( }); } - [ConditionalTheory, InlineData(false, false, false, false), InlineData(false, true, false, false), + [Theory, InlineData(false, false, false, false), InlineData(false, true, false, false), InlineData(true, false, false, false), InlineData(true, true, false, false), InlineData(false, false, true, false), InlineData(false, true, true, false), InlineData(true, false, true, false), InlineData(true, true, true, false), InlineData(false, false, true, true), InlineData(false, true, true, true), InlineData(true, false, true, true), @@ -5146,7 +5146,7 @@ public virtual Task Can_add_and_remove_a_new_relationship_composite_additional_p }); } - [ConditionalTheory, InlineData(false, false, false), InlineData(false, true, false), InlineData(true, false, false), + [Theory, InlineData(false, false, false), InlineData(false, true, false), InlineData(true, false, false), InlineData(true, true, false), InlineData(false, false, true), InlineData(false, true, true), InlineData(true, false, true), InlineData(true, true, true)] public virtual Task Can_add_and_remove_a_new_relationship_with_inheritance(bool modifyLeft, bool modifyRight, bool useJoin) @@ -5235,7 +5235,7 @@ public virtual Task Can_add_and_remove_a_new_relationship_with_inheritance(bool }); } - [ConditionalTheory, InlineData(false, false, false), InlineData(false, true, false), InlineData(true, false, false), + [Theory, InlineData(false, false, false), InlineData(false, true, false), InlineData(true, false, false), InlineData(true, true, false), InlineData(false, false, true), InlineData(false, true, true), InlineData(true, false, true), InlineData(true, true, true)] public virtual Task Can_add_and_remove_a_new_relationship_shared_with_payload(bool modifyLeft, bool modifyRight, bool useJoin) @@ -5322,7 +5322,7 @@ public virtual Task Can_add_and_remove_a_new_relationship_shared_with_payload(bo }); } - [ConditionalTheory, InlineData(false, false, false), InlineData(false, true, false), InlineData(true, false, false), + [Theory, InlineData(false, false, false), InlineData(false, true, false), InlineData(true, false, false), InlineData(true, true, false), InlineData(false, false, true), InlineData(false, true, true), InlineData(true, false, true), InlineData(true, true, true)] public virtual Task Can_add_and_remove_a_new_relationship_shared(bool modifyLeft, bool modifyRight, bool useJoin) @@ -5405,7 +5405,7 @@ public virtual Task Can_add_and_remove_a_new_relationship_shared(bool modifyLeft }); } - [ConditionalTheory, InlineData(false, false, false, false), InlineData(false, true, false, false), + [Theory, InlineData(false, false, false, false), InlineData(false, true, false, false), InlineData(true, false, false, false), InlineData(true, true, false, false), InlineData(false, false, true, false), InlineData(false, true, true, false), InlineData(true, false, true, false), InlineData(true, true, true, false), InlineData(false, false, true, true), InlineData(false, true, true, true), InlineData(true, false, true, true), @@ -5516,7 +5516,7 @@ public virtual Task Can_add_and_remove_a_new_relationship_with_payload( }); } - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] public virtual async Task Can_replace_dependent_with_many_to_many(bool createNewCollection, bool async) { var principalKey = 0; diff --git a/test/EFCore.Specification.Tests/MaterializationInterceptionTestBase.cs b/test/EFCore.Specification.Tests/MaterializationInterceptionTestBase.cs index 033ee2aeb8d..2570d913755 100644 --- a/test/EFCore.Specification.Tests/MaterializationInterceptionTestBase.cs +++ b/test/EFCore.Specification.Tests/MaterializationInterceptionTestBase.cs @@ -10,7 +10,7 @@ public abstract class MaterializationInterceptionTestBase(NonSharedFix protected override string NonSharedStoreName => "MaterializationInterception"; - [ConditionalTheory, ClassData(typeof(DataGenerator))] + [Theory, ClassData(typeof(DataGenerator))] public virtual async Task Binding_interceptors_are_used_by_queries(bool inject, bool usePooling) { var interceptors = new[] @@ -35,7 +35,7 @@ public virtual async Task Binding_interceptors_are_used_by_queries(bool inject, Assert.All(interceptors, i => Assert.Equal(1, i.CalledCount)); } - [ConditionalTheory, ClassData(typeof(DataGenerator))] + [Theory, ClassData(typeof(DataGenerator))] public virtual async Task Binding_interceptors_are_used_when_creating_instances(bool inject, bool usePooling) { var interceptors = new[] @@ -56,7 +56,7 @@ public virtual async Task Binding_interceptors_are_used_when_creating_instances( Assert.All(interceptors, i => Assert.Equal(1, i.CalledCount)); } - [ConditionalTheory, ClassData(typeof(DataGenerator))] + [Theory, ClassData(typeof(DataGenerator))] public virtual async Task Intercept_query_materialization_for_empty_constructor(bool inject, bool usePooling) { var creatingInstanceCount = 0; @@ -162,7 +162,7 @@ public virtual async Task Intercept_query_materialization_for_empty_constructor( private static int _id = 1; - [ConditionalTheory, ClassData(typeof(DataGenerator))] // Issue #30244 + [Theory, ClassData(typeof(DataGenerator))] // Issue #30244 public virtual async Task Intercept_query_materialization_with_owned_types(bool async, bool usePooling) { var creatingInstanceCounts = new Dictionary(); @@ -248,7 +248,7 @@ public virtual async Task Intercept_query_materialization_with_owned_types(bool } } - [ConditionalTheory, ClassData(typeof(DataGenerator))] // Issue #31365 + [Theory, ClassData(typeof(DataGenerator))] // Issue #31365 public virtual async Task Intercept_query_materialization_with_owned_types_projecting_collection(bool async, bool usePooling) { var creatingInstanceCounts = new Dictionary(); @@ -336,7 +336,7 @@ public virtual async Task Intercept_query_materialization_with_owned_types_proje } } - [ConditionalTheory, ClassData(typeof(DataGenerator))] + [Theory, ClassData(typeof(DataGenerator))] public virtual async Task Intercept_query_materialization_for_full_constructor(bool inject, bool usePooling) { var creatingInstanceCount = 0; @@ -437,7 +437,7 @@ public virtual async Task Intercept_query_materialization_for_full_constructor(b } } - [ConditionalTheory, ClassData(typeof(DataGenerator))] + [Theory, ClassData(typeof(DataGenerator))] public virtual async Task Multiple_materialization_interceptors_can_be_used(bool inject, bool usePooling) { var interceptors = new ISingletonInterceptor[] diff --git a/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.ComplexCollections.cs b/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.ComplexCollections.cs index 6c775bff78d..ef59d3cf0f7 100644 --- a/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.ComplexCollections.cs +++ b/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.ComplexCollections.cs @@ -19,7 +19,7 @@ protected virtual TestComplexCollectionBuilder ConfigureComplexCollect where TElement : notnull => builder; - [ConditionalFact] + [Fact] public virtual void Can_set_complex_property_annotation() { var modelBuilder = CreateModelBuilder(); @@ -53,7 +53,7 @@ public virtual void Can_set_complex_property_annotation() Notes (List) Element type: string Required", complexCollection.ToDebugString(), ignoreLineEndingDifferences: true); } - [ConditionalFact] + [Fact] public virtual void Can_set_property_annotation() { var modelBuilder = CreateModelBuilder(); @@ -76,7 +76,7 @@ public virtual void Can_set_property_annotation() Assert.Equal("bar", property["foo"]); } - [ConditionalFact] + [Fact] public virtual void Can_set_property_annotation_when_no_clr_property() { var modelBuilder = CreateModelBuilder(); @@ -99,7 +99,7 @@ public virtual void Can_set_property_annotation_when_no_clr_property() Assert.Equal("bar", property["foo"]); } - [ConditionalFact] + [Fact] public virtual void Can_set_property_annotation_by_type() { var modelBuilder = CreateModelBuilder(c => c.Properties().HaveAnnotation("foo", "bar")); @@ -122,7 +122,7 @@ public virtual void Can_set_property_annotation_by_type() Assert.Equal("bar", property["foo"]); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Properties_are_required_by_default_only_if_CLR_type_is_nullable() { var modelBuilder = CreateModelBuilder(); @@ -155,7 +155,7 @@ public virtual void Properties_are_required_by_default_only_if_CLR_type_is_nulla Assert.True(complexType.FindProperty("Bottom").IsNullable); } - [ConditionalFact] + [Fact] public virtual void Properties_can_be_ignored() { var modelBuilder = CreateModelBuilder(); @@ -186,7 +186,7 @@ public virtual void Properties_can_be_ignored() Assert.DoesNotContain(nameof(Quarks.Down), complexType.GetProperties().Select(p => p.Name)); } - [ConditionalFact] + [Fact] public virtual void Properties_can_be_ignored_by_type() { var modelBuilder = CreateModelBuilder(c => c.IgnoreAny()); @@ -203,7 +203,7 @@ public virtual void Properties_can_be_ignored_by_type() Assert.Null(complexType.FindProperty(nameof(Customer.AlternateKey))); } - [ConditionalFact] + [Fact] public virtual void Can_ignore_shadow_properties_when_they_have_been_added_explicitly() { var modelBuilder = CreateModelBuilder(); @@ -224,7 +224,7 @@ public virtual void Can_ignore_shadow_properties_when_they_have_been_added_expli Assert.Null(complexType.FindProperty("Shadow")); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Can_add_shadow_properties_when_they_have_been_ignored() { var modelBuilder = CreateModelBuilder(); @@ -251,7 +251,7 @@ public virtual void Can_add_shadow_properties_when_they_have_been_ignored() Assert.NotNull(complexType.FindProperty("Shadow")); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Properties_can_be_made_required() { var modelBuilder = CreateModelBuilder(); @@ -284,7 +284,7 @@ public virtual void Properties_can_be_made_required() Assert.False(complexType.FindProperty("Bottom").IsNullable); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Properties_can_be_made_optional() { var modelBuilder = CreateModelBuilder(); @@ -314,7 +314,7 @@ public virtual void Properties_can_be_made_optional() Assert.True(complexType.FindProperty("Bottom").IsNullable); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Non_nullable_properties_cannot_be_made_optional() { var modelBuilder = CreateModelBuilder(); @@ -349,7 +349,7 @@ public virtual void Non_nullable_properties_cannot_be_made_optional() Assert.False(complexType.FindProperty("Top").IsNullable); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Properties_specified_by_string_are_shadow_properties_unless_already_known_to_be_CLR_properties() { var modelBuilder = CreateModelBuilder(); @@ -384,7 +384,7 @@ public virtual void Properties_specified_by_string_are_shadow_properties_unless_ Assert.NotEqual(complexType.FindProperty("Gluon").GetShadowIndex(), complexType.FindProperty("Photon").GetShadowIndex()); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Properties_can_have_access_mode_set() { var modelBuilder = CreateModelBuilder(); @@ -421,7 +421,7 @@ public virtual void Properties_can_have_access_mode_set() Assert.Equal(PropertyAccessMode.FieldDuringConstruction, quarksType.FindProperty("Strange")!.GetPropertyAccessMode()); } - [ConditionalFact] + [Fact] public virtual void Access_mode_can_be_overridden_at_entity_and_property_levels() { var modelBuilder = CreateModelBuilder(); @@ -462,7 +462,7 @@ public virtual void Access_mode_can_be_overridden_at_entity_and_property_levels( Assert.Equal(PropertyAccessMode.Property, quarksType.FindProperty("Up")!.GetPropertyAccessMode()); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Properties_can_have_provider_type_set() => Properties_can_have_provider_type_set(); @@ -516,7 +516,7 @@ protected virtual void Properties_can_have_provider_type_set() Assert.True(top.GetProviderValueComparer() is ValueComparer); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Properties_can_have_provider_type_set_for_type() { var modelBuilder = CreateModelBuilder(c => c.Properties().HaveConversion()); @@ -545,7 +545,7 @@ public virtual void Properties_can_have_provider_type_set_for_type() Assert.Same(typeof(byte[]), complexType.FindProperty("Strange")!.GetProviderClrType()); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Properties_can_have_non_generic_value_converter_set() => Properties_can_have_non_generic_value_converter_set(); @@ -590,7 +590,7 @@ protected virtual void Properties_can_have_non_generic_value_converter_set Properties_can_have_custom_type_value_converter_type_set(); @@ -644,7 +644,7 @@ protected class UTF8StringToBytesConverter() : StringToBytesConverter(Encoding.U protected class CustomValueComparer() : ValueComparer(false); - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Properties_can_have_value_converter_set_inline() { var modelBuilder = CreateModelBuilder(); @@ -690,7 +690,7 @@ public virtual void Properties_can_have_value_converter_set_inline() Assert.IsType>(strange.GetProviderValueComparer()); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Properties_can_have_value_converter_set() { var modelBuilder = CreateModelBuilder(); @@ -739,7 +739,7 @@ public virtual void Properties_can_have_value_converter_set() Assert.IsType>(strange.GetProviderValueComparer()); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Value_converter_configured_on_non_nullable_type_is_applied() { var modelBuilder = CreateModelBuilder(c => @@ -771,7 +771,7 @@ public virtual void Value_converter_configured_on_non_nullable_type_is_applied() Assert.IsType>(wierd.GetValueComparer()); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Value_converter_configured_on_nullable_type_overrides_non_nullable() { var modelBuilder = CreateModelBuilder(c => @@ -807,7 +807,7 @@ public virtual void Value_converter_configured_on_nullable_type_overrides_non_nu Assert.IsType>(wierd.GetProviderValueComparer()); } - [ConditionalFact] + [Fact] public virtual void Value_converter_type_is_checked() { var modelBuilder = CreateModelBuilder(); @@ -832,7 +832,7 @@ public virtual void Value_converter_type_is_checked() Assert.Null(complexType.FindProperty("Up").GetValueConverter()); } - [ConditionalFact] + [Fact] public virtual void Properties_can_have_field_set() { var modelBuilder = CreateModelBuilder(); @@ -859,7 +859,7 @@ public virtual void Properties_can_have_field_set() Assert.Equal("_forWierd", complexType.FindProperty("_forWierd").GetFieldName()); } - [ConditionalFact] + [Fact] public virtual void HasField_throws_if_field_is_not_found() { var modelBuilder = CreateModelBuilder(); @@ -876,7 +876,7 @@ public virtual void HasField_throws_if_field_is_not_found() }); } - [ConditionalFact] + [Fact] public virtual void HasField_throws_if_field_is_wrong_type() { var modelBuilder = CreateModelBuilder(); @@ -893,7 +893,7 @@ public virtual void HasField_throws_if_field_is_wrong_type() }); } - [ConditionalFact] + [Fact] protected virtual void Throws_for_incompatible_type() { var modelBuilder = CreateModelBuilder(); @@ -905,7 +905,7 @@ protected virtual void Throws_for_incompatible_type() .ComplexCollection, Customer>(nameof(ComplexProperties.Customer))).Message); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Can_set_max_length_for_property_type() { var modelBuilder = CreateModelBuilder(c => @@ -941,7 +941,7 @@ public virtual void Can_set_max_length_for_property_type() Assert.Equal(100, complexType.FindProperty("Bottom").GetMaxLength()); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Can_set_sentinel_for_properties() { var modelBuilder = CreateModelBuilder(); @@ -975,7 +975,7 @@ public virtual void Can_set_sentinel_for_properties() Assert.Equal("100", complexType.FindProperty("Bottom")!.Sentinel); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Can_set_sentinel_for_property_type() { var modelBuilder = CreateModelBuilder(c => @@ -1011,7 +1011,7 @@ public virtual void Can_set_sentinel_for_property_type() Assert.Equal("100", complexType.FindProperty("Bottom")!.Sentinel); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Can_set_unbounded_max_length_for_property_type() { var modelBuilder = CreateModelBuilder(c => @@ -1047,7 +1047,7 @@ public virtual void Can_set_unbounded_max_length_for_property_type() Assert.Equal(-1, complexType.FindProperty("Bottom").GetMaxLength()); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Can_set_precision_and_scale_for_property_type() { var modelBuilder = CreateModelBuilder(c => @@ -1090,7 +1090,7 @@ public virtual void Can_set_precision_and_scale_for_property_type() Assert.Equal(10, complexType.FindProperty("Bottom").GetScale()); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Can_set_custom_value_generator_for_properties() { var modelBuilder = CreateModelBuilder(); @@ -1138,7 +1138,7 @@ public override ValueGenerator Create(IProperty property, ITypeBase entityType) => new CustomValueGenerator(); } - [ConditionalFact] + [Fact] public virtual void Throws_for_bad_value_generator_type() { var modelBuilder = CreateModelBuilder(); @@ -1155,7 +1155,7 @@ public virtual void Throws_for_bad_value_generator_type() }); } - [ConditionalFact] + [Fact] public virtual void Throws_for_value_generator_that_cannot_be_constructed() { var modelBuilder = CreateModelBuilder(); @@ -1198,7 +1198,7 @@ protected class StringCollectionEntity public ICollection Property { get; set; } } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Can_set_unicode_for_properties() { var modelBuilder = CreateModelBuilder(); @@ -1232,7 +1232,7 @@ public virtual void Can_set_unicode_for_properties() Assert.False(complexType.FindProperty("Bottom").IsUnicode()); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Can_set_unicode_for_property_type() { var modelBuilder = CreateModelBuilder(c => @@ -1268,7 +1268,7 @@ public virtual void Can_set_unicode_for_property_type() Assert.False(complexType.FindProperty("Bottom").IsUnicode()); } - [ConditionalFact] + [Fact] public virtual void PropertyBuilder_methods_can_be_chained() => CreateModelBuilder() .Entity() @@ -1284,7 +1284,7 @@ public virtual void PropertyBuilder_methods_can_be_chained() .HasValueGeneratorFactory(typeof(CustomValueGeneratorFactory)) .IsRequired(); - [ConditionalFact(Skip = "Issue #31411")] + [Fact(Skip = "Issue #31411")] public virtual void Can_map_a_tuple_collection() { var modelBuilder = CreateModelBuilder(); @@ -1309,7 +1309,7 @@ public virtual void Can_map_a_tuple_collection() Assert.Equal(2, tupleType.GetProperties().Count()); } - [ConditionalFact] + [Fact] protected virtual void Mapping_throws_for_non_ignored_navigations_on_complex_types() { var modelBuilder = CreateModelBuilder(); @@ -1324,7 +1324,7 @@ protected virtual void Mapping_throws_for_non_ignored_navigations_on_complex_typ Assert.Throws(modelBuilder.FinalizeModel).Message); } - [ConditionalFact] + [Fact] protected virtual void Mapping_throws_for_empty_complex_types() { var modelBuilder = CreateModelBuilder(); @@ -1345,7 +1345,7 @@ protected virtual void Mapping_throws_for_empty_complex_types() Assert.Throws(modelBuilder.FinalizeModel).Message); } - [ConditionalFact] + [Fact] public virtual void PrimitiveCollectionBuilder_methods_can_be_chained() => CreateModelBuilder() .Entity() @@ -1383,7 +1383,7 @@ public virtual void PrimitiveCollectionBuilder_methods_can_be_chained() .HasValueGeneratorFactory(typeof(CustomValueGeneratorFactory)) .IsRequired(); - [ConditionalFact] + [Fact] public virtual void Dotted_complex_collection_string_configures_nested_collection() { var modelBuilder = CreateModelBuilder(); diff --git a/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.ComplexType.cs b/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.ComplexType.cs index 62f45f39f67..4fa3141c2ff 100644 --- a/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.ComplexType.cs +++ b/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.ComplexType.cs @@ -16,7 +16,7 @@ public abstract partial class ModelBuilderTest { public abstract class ComplexTypeTestBase(ModelBuilderFixtureBase fixture) : ModelBuilderTestBase(fixture) { - [ConditionalFact] + [Fact] public virtual void Can_set_complex_property_annotation() { var modelBuilder = CreateModelBuilder(); @@ -49,7 +49,7 @@ public virtual void Can_set_complex_property_annotation() Notes (List) Element type: string Required", complexProperty.ToDebugString(), ignoreLineEndingDifferences: true); } - [ConditionalFact] + [Fact] public virtual void Can_set_property_annotation() { var modelBuilder = CreateModelBuilder(); @@ -71,7 +71,7 @@ public virtual void Can_set_property_annotation() Assert.Equal("bar", property["foo"]); } - [ConditionalFact] + [Fact] public virtual void Can_set_property_annotation_when_no_clr_property() { var modelBuilder = CreateModelBuilder(); @@ -93,7 +93,7 @@ public virtual void Can_set_property_annotation_when_no_clr_property() Assert.Equal("bar", property["foo"]); } - [ConditionalFact] + [Fact] public virtual void Can_set_property_annotation_by_type() { var modelBuilder = CreateModelBuilder(c => c.Properties().HaveAnnotation("foo", "bar")); @@ -115,7 +115,7 @@ public virtual void Can_set_property_annotation_by_type() Assert.Equal("bar", property["foo"]); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Properties_are_required_by_default_only_if_CLR_type_is_nullable() { var modelBuilder = CreateModelBuilder(); @@ -147,7 +147,7 @@ public virtual void Properties_are_required_by_default_only_if_CLR_type_is_nulla Assert.True(complexType.FindProperty("Bottom").IsNullable); } - [ConditionalFact] + [Fact] public virtual void Properties_can_be_ignored() { var modelBuilder = CreateModelBuilder(); @@ -177,7 +177,7 @@ public virtual void Properties_can_be_ignored() Assert.DoesNotContain(nameof(Quarks.Down), complexType.GetProperties().Select(p => p.Name)); } - [ConditionalFact] + [Fact] public virtual void Properties_can_be_ignored_by_type() { var modelBuilder = CreateModelBuilder(c => c.IgnoreAny()); @@ -194,7 +194,7 @@ public virtual void Properties_can_be_ignored_by_type() Assert.Null(complexType.FindProperty(nameof(Customer.AlternateKey))); } - [ConditionalFact] + [Fact] public virtual void Can_ignore_shadow_properties_when_they_have_been_added_explicitly() { var modelBuilder = CreateModelBuilder(); @@ -213,7 +213,7 @@ public virtual void Can_ignore_shadow_properties_when_they_have_been_added_expli Assert.Null(complexType.FindProperty("Shadow")); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Can_add_shadow_properties_when_they_have_been_ignored() { var modelBuilder = CreateModelBuilder(); @@ -239,7 +239,7 @@ public virtual void Can_add_shadow_properties_when_they_have_been_ignored() Assert.NotNull(complexType.FindProperty("Shadow")); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Properties_can_be_made_required() { var modelBuilder = CreateModelBuilder(); @@ -271,7 +271,7 @@ public virtual void Properties_can_be_made_required() Assert.False(complexType.FindProperty("Bottom").IsNullable); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Properties_can_be_made_optional() { var modelBuilder = CreateModelBuilder(); @@ -297,7 +297,7 @@ public virtual void Properties_can_be_made_optional() Assert.True(complexType.FindProperty("Bottom").IsNullable); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Non_nullable_properties_cannot_be_made_optional() { var modelBuilder = CreateModelBuilder(); @@ -331,7 +331,7 @@ public virtual void Non_nullable_properties_cannot_be_made_optional() Assert.False(complexType.FindProperty("Top").IsNullable); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Properties_specified_by_string_are_shadow_properties_unless_already_known_to_be_CLR_properties() { var modelBuilder = CreateModelBuilder(); @@ -365,7 +365,7 @@ public virtual void Properties_specified_by_string_are_shadow_properties_unless_ Assert.NotEqual(complexType.FindProperty("Gluon").GetShadowIndex(), complexType.FindProperty("Photon").GetShadowIndex()); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Properties_can_be_made_concurrency_tokens() { var modelBuilder = CreateModelBuilder(); @@ -410,7 +410,7 @@ public virtual void Properties_can_be_made_concurrency_tokens() Assert.Equal(ChangeTrackingStrategy.ChangingAndChangedNotifications, complexType.GetChangeTrackingStrategy()); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Properties_can_have_access_mode_set() { var modelBuilder = CreateModelBuilder(); @@ -455,7 +455,7 @@ public virtual void Properties_can_have_access_mode_set() Assert.Equal(PropertyAccessMode.FieldDuringConstruction, quarksType.FindProperty("Down")!.GetPropertyAccessMode()); } - [ConditionalFact] + [Fact] public virtual void Access_mode_can_be_overridden_at_entity_and_property_levels() { var modelBuilder = CreateModelBuilder(); @@ -507,7 +507,7 @@ public virtual void Access_mode_can_be_overridden_at_entity_and_property_levels( Assert.Equal(PropertyAccessMode.Property, quarksType.FindProperty("Up")!.GetPropertyAccessMode()); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Properties_can_have_provider_type_set() => Properties_can_have_provider_type_set(); @@ -560,7 +560,7 @@ protected virtual void Properties_can_have_provider_type_set() Assert.True(top.GetProviderValueComparer() is ValueComparer); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Properties_can_have_provider_type_set_for_type() { var modelBuilder = CreateModelBuilder(c => c.Properties().HaveConversion()); @@ -588,7 +588,7 @@ public virtual void Properties_can_have_provider_type_set_for_type() Assert.Same(typeof(byte[]), complexType.FindProperty("Strange")!.GetProviderClrType()); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Properties_can_have_non_generic_value_converter_set() => Properties_can_have_non_generic_value_converter_set(); @@ -632,7 +632,7 @@ protected virtual void Properties_can_have_non_generic_value_converter_set Properties_can_have_custom_type_value_converter_type_set(); @@ -685,7 +685,7 @@ protected class UTF8StringToBytesConverter() : StringToBytesConverter(Encoding.U protected class CustomValueComparer() : ValueComparer(false); - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Properties_can_have_value_converter_set_inline() { var modelBuilder = CreateModelBuilder(); @@ -730,7 +730,7 @@ public virtual void Properties_can_have_value_converter_set_inline() Assert.IsType>(strange.GetProviderValueComparer()); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Properties_can_have_value_converter_set() { var modelBuilder = CreateModelBuilder(); @@ -778,7 +778,7 @@ public virtual void Properties_can_have_value_converter_set() Assert.IsType>(strange.GetProviderValueComparer()); } - [ConditionalFact] + [Fact] public virtual void IEnumerable_properties_with_value_converter_set_are_not_discovered_as_complex_properties() { var modelBuilder = CreateModelBuilder(); @@ -822,7 +822,7 @@ private class ExpandoObjectConverter() : ValueConverter( private class ExpandoObjectComparer() : ValueComparer((v1, v2) => v1.SequenceEqual(v2), v => v.GetHashCode()); - [ConditionalFact] + [Fact] public virtual void Properties_can_have_value_converter_configured_by_type() { var modelBuilder = CreateModelBuilder(c => @@ -848,7 +848,7 @@ public virtual void Properties_can_have_value_converter_configured_by_type() Assert.IsType>(wrappedProperty.GetValueComparer()); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Value_converter_configured_on_non_nullable_type_is_applied() { var modelBuilder = CreateModelBuilder(c => @@ -879,7 +879,7 @@ public virtual void Value_converter_configured_on_non_nullable_type_is_applied() Assert.IsType>(wierd.GetValueComparer()); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Value_converter_configured_on_nullable_type_overrides_non_nullable() { var modelBuilder = CreateModelBuilder(c => @@ -917,7 +917,7 @@ public virtual void Value_converter_configured_on_nullable_type_overrides_non_nu private class WrappedStringToStringConverter() : ValueConverter(v => v.Value, v => new WrappedString { Value = v }); - [ConditionalFact] + [Fact] public virtual void Value_converter_type_is_checked() { var modelBuilder = CreateModelBuilder(); @@ -941,7 +941,7 @@ public virtual void Value_converter_type_is_checked() Assert.Null(complexType.FindProperty("Up").GetValueConverter()); } - [ConditionalFact] + [Fact] public virtual void Properties_can_have_field_set() { var modelBuilder = CreateModelBuilder(); @@ -967,7 +967,7 @@ public virtual void Properties_can_have_field_set() Assert.Equal("_forWierd", complexType.FindProperty("_forWierd").GetFieldName()); } - [ConditionalFact] + [Fact] public virtual void HasField_throws_if_field_is_not_found() { var modelBuilder = CreateModelBuilder(); @@ -984,7 +984,7 @@ public virtual void HasField_throws_if_field_is_not_found() }); } - [ConditionalFact] + [Fact] public virtual void HasField_throws_if_field_is_wrong_type() { var modelBuilder = CreateModelBuilder(); @@ -1001,7 +1001,7 @@ public virtual void HasField_throws_if_field_is_wrong_type() }); } - [ConditionalFact] + [Fact] protected virtual void Throws_for_incompatible_type() { var modelBuilder = CreateModelBuilder(); @@ -1013,7 +1013,7 @@ protected virtual void Throws_for_incompatible_type() .ComplexProperty>(nameof(ComplexProperties.Customer))).Message); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Properties_can_be_set_to_generate_values_on_Add() { var modelBuilder = CreateModelBuilder(); @@ -1046,7 +1046,7 @@ public virtual void Properties_can_be_set_to_generate_values_on_Add() Assert.Equal(ValueGenerated.OnUpdate, complexType.FindProperty("Bottom").ValueGenerated); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Properties_can_set_row_version() { var modelBuilder = CreateModelBuilder(); @@ -1077,7 +1077,7 @@ public virtual void Properties_can_set_row_version() Assert.True(complexType.FindProperty("Charm").IsConcurrencyToken); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Can_set_max_length_for_properties() { var modelBuilder = CreateModelBuilder(); @@ -1110,7 +1110,7 @@ public virtual void Can_set_max_length_for_properties() Assert.Equal(100, complexType.FindProperty("Bottom").GetMaxLength()); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Can_set_max_length_for_property_type() { var modelBuilder = CreateModelBuilder(c => @@ -1145,7 +1145,7 @@ public virtual void Can_set_max_length_for_property_type() Assert.Equal(100, complexType.FindProperty("Bottom").GetMaxLength()); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Can_set_sentinel_for_properties() { var modelBuilder = CreateModelBuilder(); @@ -1178,7 +1178,7 @@ public virtual void Can_set_sentinel_for_properties() Assert.Equal("100", complexType.FindProperty("Bottom")!.Sentinel); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Can_set_sentinel_for_property_type() { var modelBuilder = CreateModelBuilder(c => @@ -1213,7 +1213,7 @@ public virtual void Can_set_sentinel_for_property_type() Assert.Equal("100", complexType.FindProperty("Bottom")!.Sentinel); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Can_set_unbounded_max_length_for_property_type() { var modelBuilder = CreateModelBuilder(c => @@ -1248,7 +1248,7 @@ public virtual void Can_set_unbounded_max_length_for_property_type() Assert.Equal(-1, complexType.FindProperty("Bottom").GetMaxLength()); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Can_set_precision_and_scale_for_properties() { var modelBuilder = CreateModelBuilder(); @@ -1288,7 +1288,7 @@ public virtual void Can_set_precision_and_scale_for_properties() Assert.Equal(10, complexType.FindProperty("Bottom").GetScale()); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Can_set_precision_and_scale_for_property_type() { var modelBuilder = CreateModelBuilder(c => @@ -1330,7 +1330,7 @@ public virtual void Can_set_precision_and_scale_for_property_type() Assert.Equal(10, complexType.FindProperty("Bottom").GetScale()); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Can_set_custom_value_generator_for_properties() { var modelBuilder = CreateModelBuilder(); @@ -1377,7 +1377,7 @@ public override ValueGenerator Create(IProperty property, ITypeBase entityType) => new CustomValueGenerator(); } - [ConditionalFact] + [Fact] public virtual void Throws_for_bad_value_generator_type() { var modelBuilder = CreateModelBuilder(); @@ -1394,7 +1394,7 @@ public virtual void Throws_for_bad_value_generator_type() }); } - [ConditionalFact] + [Fact] public virtual void Throws_for_value_generator_that_cannot_be_constructed() { var modelBuilder = CreateModelBuilder(); @@ -1437,7 +1437,7 @@ protected class StringCollectionEntity public ICollection Property { get; set; } } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Can_set_unicode_for_properties() { var modelBuilder = CreateModelBuilder(); @@ -1470,7 +1470,7 @@ public virtual void Can_set_unicode_for_properties() Assert.False(complexType.FindProperty("Bottom").IsUnicode()); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Can_set_unicode_for_property_type() { var modelBuilder = CreateModelBuilder(c => @@ -1505,7 +1505,7 @@ public virtual void Can_set_unicode_for_property_type() Assert.False(complexType.FindProperty("Bottom").IsUnicode()); } - [ConditionalFact] + [Fact] public virtual void PropertyBuilder_methods_can_be_chained() => CreateModelBuilder() .Entity() @@ -1528,7 +1528,7 @@ public virtual void PropertyBuilder_methods_can_be_chained() .HasValueGeneratorFactory(typeof(CustomValueGeneratorFactory)) .IsRequired(); - [ConditionalFact] + [Fact] public virtual void Can_call_Property_on_a_field() { var modelBuilder = CreateModelBuilder(); @@ -1547,7 +1547,7 @@ public virtual void Can_call_Property_on_a_field() Assert.NotNull(property.FieldInfo); } - [ConditionalFact] + [Fact] public virtual void Can_ignore_a_field() { var modelBuilder = CreateModelBuilder(c => c.ComplexProperties()); @@ -1566,7 +1566,7 @@ public virtual void Can_ignore_a_field() Assert.Single(complexProperty.ComplexType.GetComplexProperties()); } - [ConditionalFact] + [Fact] public virtual void Complex_properties_not_discovered_by_convention() { var modelBuilder = CreateModelBuilder(); @@ -1629,7 +1629,7 @@ public virtual void Complex_properties_not_discovered_by_convention() Assert.Equal(typeof(Customer), oldLabelCustomerProperty.ClrType); } - [ConditionalFact] + [Fact] public virtual void Complex_properties_can_be_configured_by_type() { var modelBuilder = CreateModelBuilder(m => m.ComplexProperties()); @@ -1648,7 +1648,7 @@ public virtual void Complex_properties_can_be_configured_by_type() p => Assert.Equal(typeof(Customer), p.ComplexType.ClrType)); } - [ConditionalFact] + [Fact] public virtual void Complex_properties_can_be_configured_as_optional() { var modelBuilder = CreateModelBuilder(); @@ -1667,7 +1667,7 @@ public virtual void Complex_properties_can_be_configured_as_optional() Assert.True(complexProperty.IsNullable); } - [ConditionalFact] + [Fact] public virtual void Can_map_a_tuple() { var modelBuilder = CreateModelBuilder(); @@ -1692,7 +1692,7 @@ public virtual void Can_map_a_tuple() Assert.Equal(2, tupleType.GetProperties().Count()); } - [ConditionalFact] + [Fact] protected virtual void Mapping_throws_for_non_ignored_navigations_on_complex_types() { var modelBuilder = CreateModelBuilder(); @@ -1707,7 +1707,7 @@ protected virtual void Mapping_throws_for_non_ignored_navigations_on_complex_typ Assert.Throws(modelBuilder.FinalizeModel).Message); } - [ConditionalFact] + [Fact] protected virtual void Mapping_throws_for_empty_complex_types() { var modelBuilder = CreateModelBuilder(); @@ -1728,7 +1728,7 @@ protected virtual void Mapping_throws_for_empty_complex_types() Assert.Throws(modelBuilder.FinalizeModel).Message); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Can_set_primitive_collection_annotation_when_no_clr_property() { var modelBuilder = CreateModelBuilder(); @@ -1750,7 +1750,7 @@ public virtual void Can_set_primitive_collection_annotation_when_no_clr_property Assert.Equal("bar", property["foo"]); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Primitive_collections_are_required_by_default_only_if_CLR_type_is_nullable() { var modelBuilder = CreateModelBuilder(); @@ -1778,7 +1778,7 @@ public virtual void Primitive_collections_are_required_by_default_only_if_CLR_ty Assert.True(complexType.FindProperty("Strange")!.IsNullable); } - [ConditionalFact] + [Fact] public virtual void Can_ignore_shadow_primitive_collections_when_they_have_been_added_explicitly() { var modelBuilder = CreateModelBuilder(); @@ -1797,7 +1797,7 @@ public virtual void Can_ignore_shadow_primitive_collections_when_they_have_been_ Assert.Null(complexType.FindProperty("Shadow")); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Can_add_shadow_primitive_collections_when_they_have_been_ignored() { var modelBuilder = CreateModelBuilder(); @@ -1823,7 +1823,7 @@ public virtual void Can_add_shadow_primitive_collections_when_they_have_been_ign Assert.NotNull(complexType.FindProperty("Shadow")); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Primitive_collections_can_be_made_required() { var modelBuilder = CreateModelBuilder(); @@ -1851,7 +1851,7 @@ public virtual void Primitive_collections_can_be_made_required() Assert.False(complexType.FindProperty("Strange")!.IsNullable); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Primitive_collections_can_be_made_optional() { var modelBuilder = CreateModelBuilder(); @@ -1879,7 +1879,7 @@ public virtual void Primitive_collections_can_be_made_optional() Assert.True(complexType.FindProperty("Strange")!.IsNullable); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Primitive_collections_specified_by_string_are_shadow_properties_unless_already_known_to_be_CLR_properties() { var modelBuilder = CreateModelBuilder(); @@ -1912,7 +1912,7 @@ public virtual void Primitive_collections_specified_by_string_are_shadow_propert Assert.NotEqual(-1, complexType.FindProperty("Strange")!.GetShadowIndex()); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Primitive_collections_can_be_made_concurrency_tokens() { var modelBuilder = CreateModelBuilder(); @@ -1943,7 +1943,7 @@ public virtual void Primitive_collections_can_be_made_concurrency_tokens() Assert.Equal(ChangeTrackingStrategy.ChangingAndChangedNotifications, complexType.GetChangeTrackingStrategy()); } - [ConditionalFact] + [Fact] public virtual void Primitive_collections_can_have_field_set() { var modelBuilder = CreateModelBuilder(); @@ -1969,7 +1969,7 @@ public virtual void Primitive_collections_can_have_field_set() Assert.Equal("_forWierd", complexType.FindProperty("_forWierd")!.GetFieldName()); } - [ConditionalFact] + [Fact] public virtual void HasField_for_primitive_collection_throws_if_field_is_not_found() { var modelBuilder = CreateModelBuilder(); @@ -1987,7 +1987,7 @@ public virtual void HasField_for_primitive_collection_throws_if_field_is_not_fou }); } - [ConditionalFact] + [Fact] public virtual void HasField_for_primitive_collection_throws_if_field_is_wrong_type() { var modelBuilder = CreateModelBuilder(); @@ -2006,7 +2006,7 @@ public virtual void HasField_for_primitive_collection_throws_if_field_is_wrong_t }); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Primitive_collections_can_be_set_to_generate_values_on_Add() { var modelBuilder = CreateModelBuilder(); @@ -2038,7 +2038,7 @@ public virtual void Primitive_collections_can_be_set_to_generate_values_on_Add() Assert.Equal(ValueGenerated.OnUpdate, complexType.FindProperty("Bottom")!.ValueGenerated); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Can_set_max_length_for_primitive_collections() { var modelBuilder = CreateModelBuilder(); @@ -2070,7 +2070,7 @@ public virtual void Can_set_max_length_for_primitive_collections() Assert.Equal(100, complexType.FindProperty("Bottom")!.GetMaxLength()); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Can_set_sentinel_for_primitive_collections() { var modelBuilder = CreateModelBuilder(); @@ -2103,7 +2103,7 @@ public virtual void Can_set_sentinel_for_primitive_collections() Assert.Equal(new List { "" }, complexType.FindProperty("Bottom")!.Sentinel); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Can_set_custom_value_generator_for_primitive_collections() { var modelBuilder = CreateModelBuilder(); @@ -2134,7 +2134,7 @@ public virtual void Can_set_custom_value_generator_for_primitive_collections() Assert.IsType(complexType.FindProperty("Bottom")!.GetValueGeneratorFactory()!(null!, null!)); } - [ConditionalFact] + [Fact] public virtual void Throws_for_primitive_collection_with_bad_value_generator_type() { var modelBuilder = CreateModelBuilder(); @@ -2151,7 +2151,7 @@ public virtual void Throws_for_primitive_collection_with_bad_value_generator_typ }); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Can_set_unicode_for_primitive_collections() { var modelBuilder = CreateModelBuilder(); @@ -2183,7 +2183,7 @@ public virtual void Can_set_unicode_for_primitive_collections() Assert.False(complexType.FindProperty("Bottom")!.IsUnicode()); } - [ConditionalFact] + [Fact] public virtual void PrimitiveCollectionBuilder_methods_can_be_chained() => CreateModelBuilder() .Entity() @@ -2221,7 +2221,7 @@ public virtual void PrimitiveCollectionBuilder_methods_can_be_chained() .HasValueGeneratorFactory(typeof(CustomValueGeneratorFactory)) .IsRequired(); - [ConditionalFact] + [Fact] public virtual void Can_call_PrimitiveCollection_on_a_field() { var modelBuilder = CreateModelBuilder(); @@ -2240,7 +2240,7 @@ public virtual void Can_call_PrimitiveCollection_on_a_field() Assert.NotNull(property.FieldInfo); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Can_specify_discriminator_without_explicit_value() { var modelBuilder = CreateModelBuilder(); @@ -2264,7 +2264,7 @@ public virtual void Can_specify_discriminator_without_explicit_value() Assert.NotNull(discriminator.GetValueGeneratorFactory()); } - [ConditionalFact(Skip = "Issue #35613")] + [Fact(Skip = "Issue #35613")] public virtual void Can_specify_discriminator_value() { var modelBuilder = CreateModelBuilder(); @@ -2286,7 +2286,7 @@ public virtual void Can_specify_discriminator_value() Assert.Equal(BasicEnum.Two, complexType.GetDiscriminatorValue()); } - [ConditionalFact] + [Fact] public virtual void Chained_property_lambda_configures_nested_complex_property() { var modelBuilder = CreateModelBuilder(); @@ -2312,7 +2312,7 @@ public virtual void Chained_property_lambda_configures_nested_complex_property() Assert.False(nameProperty.IsNullable); } - [ConditionalFact] + [Fact] public virtual void Chained_property_lambda_auto_creates_intermediate_complex_property() { var modelBuilder = CreateModelBuilder(); @@ -2342,7 +2342,7 @@ public virtual void Chained_property_lambda_auto_creates_intermediate_complex_pr Assert.Equal(50, detailsComplex!.ComplexType.FindProperty("CustomerId")!.GetMaxLength()); } - [ConditionalFact] + [Fact] public virtual void Chained_complex_property_lambda_configures_nested_complex() { var modelBuilder = CreateModelBuilder(); @@ -2372,7 +2372,7 @@ public virtual void Chained_complex_property_lambda_configures_nested_complex() Assert.Equal(3, customerIdProperty.GetMaxLength()); } - [ConditionalFact] + [Fact] public virtual void Chained_ignore_lambda_ignores_nested_member() { var modelBuilder = CreateModelBuilder(); @@ -2401,7 +2401,7 @@ public virtual void Chained_ignore_lambda_ignores_nested_member() Assert.Null(detailsComplex); } - [ConditionalFact] + [Fact] public virtual void Nested_chained_property_lambda_resolves_through_complex() { var modelBuilder = CreateModelBuilder(); @@ -2431,7 +2431,7 @@ public virtual void Nested_chained_property_lambda_resolves_through_complex() Assert.Equal(50, customerIdProperty.GetMaxLength()); } - [ConditionalFact] + [Fact] public virtual void Nested_chained_ignore_lambda_ignores_nested_member() { var modelBuilder = CreateModelBuilder(); @@ -2460,7 +2460,7 @@ public virtual void Nested_chained_ignore_lambda_ignores_nested_member() Assert.Null(detailsType.FindProperty("CustomerId")); } - [ConditionalFact] + [Fact] public virtual void Chained_primitive_collection_lambda_configures_nested_collection() { var modelBuilder = CreateModelBuilder(); @@ -2486,7 +2486,7 @@ public virtual void Chained_primitive_collection_lambda_configures_nested_collec Assert.Equal(50, notesProperty.GetMaxLength()); } - [ConditionalFact] + [Fact] public virtual void Dotted_string_throws_for_nonexistent_intermediate_complex() { var modelBuilder = CreateModelBuilder(); @@ -2504,7 +2504,7 @@ public virtual void Dotted_string_throws_for_nonexistent_intermediate_complex() })).Message); } - [ConditionalFact] + [Fact] public virtual void Dotted_string_throws_for_empty_segment() { var modelBuilder = CreateModelBuilder(); @@ -2522,7 +2522,7 @@ public virtual void Dotted_string_throws_for_empty_segment() })).Message); } - [ConditionalFact] + [Fact] public virtual void Dotted_string_throws_for_trailing_dot() { var modelBuilder = CreateModelBuilder(); @@ -2540,7 +2540,7 @@ public virtual void Dotted_string_throws_for_trailing_dot() })).Message); } - [ConditionalFact] + [Fact] public virtual void Dotted_string_throws_for_leading_dot() { var modelBuilder = CreateModelBuilder(); @@ -2558,7 +2558,7 @@ public virtual void Dotted_string_throws_for_leading_dot() })).Message); } - [ConditionalFact] + [Fact] public virtual void Dotted_string_throws_when_intermediate_is_navigation() { var modelBuilder = CreateModelBuilder(); @@ -2579,7 +2579,7 @@ public virtual void Dotted_string_throws_when_intermediate_is_navigation() })).Message); } - [ConditionalFact] + [Fact] public virtual void Dotted_string_throws_when_intermediate_is_scalar_property() { var modelBuilder = CreateModelBuilder(); @@ -2601,7 +2601,7 @@ public virtual void Dotted_string_throws_when_intermediate_is_scalar_property() })).Message); } - [ConditionalFact] + [Fact] public virtual void Dotted_string_throws_when_intermediate_is_skip_navigation() { var modelBuilder = CreateModelBuilder(); @@ -2622,7 +2622,7 @@ public virtual void Dotted_string_throws_when_intermediate_is_skip_navigation() })).Message); } - [ConditionalFact] + [Fact] public virtual void Dotted_string_throws_when_intermediate_is_service_property() { var modelBuilder = CreateModelBuilder(); diff --git a/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.Inheritance.cs b/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.Inheritance.cs index e20a9fb5c7d..e01ce89ced0 100644 --- a/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.Inheritance.cs +++ b/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.Inheritance.cs @@ -14,7 +14,7 @@ public abstract partial class ModelBuilderTest { public abstract class InheritanceTestBase(ModelBuilderFixtureBase fixture) : ModelBuilderTestBase(fixture) { - [ConditionalFact] + [Fact] public virtual void Can_map_derived_types_first() { var modelBuilder = CreateModelBuilder(); @@ -46,7 +46,7 @@ public virtual void Can_map_derived_types_first() Assert.NotNull(model.FindEntityType(typeof(SpecialBookLabel)).FindProperty(nameof(BookLabel.BookId))); } - [ConditionalFact] + [Fact] public virtual void Base_types_are_mapped_correctly_if_discovered_last() { var modelBuilder = CreateModelBuilder(); @@ -66,7 +66,7 @@ public virtual void Base_types_are_mapped_correctly_if_discovered_last() Assert.Same(derived, moreDerived.BaseType); } - [ConditionalFact] + [Fact] public virtual void Can_specify_discriminator_without_derived_types() { var modelBuilder = CreateModelBuilder(); @@ -79,7 +79,7 @@ public virtual void Can_specify_discriminator_without_derived_types() Assert.Equal("Q", model.FindEntityType(typeof(Q)).GetDiscriminatorValue()); } - [ConditionalFact] + [Fact] public virtual void Can_specify_discriminator_values_first() { var modelBuilder = CreateModelBuilder(); @@ -101,7 +101,7 @@ public virtual void Can_specify_discriminator_values_first() Assert.Equal(2, model.FindEntityType(typeof(Q)).GetDiscriminatorValue()); } - [ConditionalFact] + [Fact] public virtual void Can_map_derived_self_ref_many_to_one() { var modelBuilder = CreateModelBuilder(); @@ -120,7 +120,7 @@ public virtual void Can_map_derived_self_ref_many_to_one() Assert.True(fk.IsRequired); } - [ConditionalFact] + [Fact] public virtual void Can_set_and_remove_base_type() { var modelBuilder = CreateModelBuilder(); @@ -199,7 +199,7 @@ public virtual void Can_set_and_remove_base_type() Assert.Equal(initialReferencingForeignKeys.Count(), ingredient.GetReferencingForeignKeys().Count()); } - [ConditionalFact] + [Fact] public virtual void Setting_base_type_to_null_fixes_relationships() { var modelBuilder = CreateModelBuilder(); @@ -247,7 +247,7 @@ public virtual void Setting_base_type_to_null_fixes_relationships() Assert.Empty(principalEntityBuilder.Metadata.GetNavigations()); } - [ConditionalFact] + [Fact] public virtual void Pulling_relationship_to_a_derived_type_creates_relationships_on_other_derived_types() { var modelBuilder = CreateModelBuilder(); @@ -320,7 +320,7 @@ public virtual void Pulling_relationship_to_a_derived_type_creates_relationships Assert.Equal(nameof(Order.CustomerId), otherDerivedFk.Properties.Single().Name); } - [ConditionalFact] + [Fact] public virtual void Pulling_relationship_to_a_derived_type_reverted_creates_relationships_on_other_derived_types() { var modelBuilder = CreateModelBuilder(); @@ -357,7 +357,7 @@ public virtual void Pulling_relationship_to_a_derived_type_reverted_creates_rela Assert.Equal(nameof(Order.CustomerId), otherDerivedFk.Properties.Single().Name); } - [ConditionalFact] + [Fact] public virtual void Can_match_navigation_to_derived_type_with_inverse_on_base() { var modelBuilder = CreateModelBuilder(); @@ -387,7 +387,7 @@ public virtual void Can_match_navigation_to_derived_type_with_inverse_on_base() Assert.Same(principalEntityBuilder.Metadata, newFk.PrincipalEntityType); } - [ConditionalFact] + [Fact] public virtual void Pulling_relationship_to_a_derived_type_many_to_one_creates_relationships_on_other_derived_types() { var modelBuilder = CreateModelBuilder(); @@ -417,7 +417,7 @@ public virtual void Pulling_relationship_to_a_derived_type_many_to_one_creates_r Assert.Equal(nameof(OtherCustomer.Orders), otherDerivedFk.PrincipalToDependent.Name); } - [ConditionalFact] + [Fact] public virtual void Pulling_relationship_to_a_derived_type_one_to_one_creates_relationship_on_base() { var modelBuilder = CreateModelBuilder(); @@ -444,7 +444,7 @@ public virtual void Pulling_relationship_to_a_derived_type_one_to_one_creates_re Assert.Same(derivedDependentEntityBuilder.Metadata, newFk.DeclaringEntityType); } - [ConditionalFact] + [Fact] public virtual void Pulling_relationship_to_a_derived_type_one_to_one_with_fk_creates_relationship_on_base() { var modelBuilder = CreateModelBuilder(); @@ -471,7 +471,7 @@ public virtual void Pulling_relationship_to_a_derived_type_one_to_one_with_fk_cr Assert.Same(derivedDependentEntityBuilder.Metadata, newFk.DeclaringEntityType); } - [ConditionalFact] + [Fact] public virtual void Pulling_relationship_to_a_derived_type_with_fk_creates_relationships_on_other_derived_types() { var modelBuilder = CreateModelBuilder(); @@ -504,7 +504,7 @@ public virtual void Pulling_relationship_to_a_derived_type_with_fk_creates_relat Assert.Equal(nameof(Order.CustomerId), otherDerivedFk.Properties.Single().Name); } - [ConditionalFact] + [Fact] public virtual void Can_promote_shadow_fk_to_the_base_type() { var modelBuilder = CreateModelBuilder(); @@ -533,7 +533,7 @@ public virtual void Can_promote_shadow_fk_to_the_base_type() Assert.Equal(nameof(SpecialOrder.SpecialCustomerId), newFk.Properties.Single().Name); } - [ConditionalFact] + [Fact] public virtual void Removing_a_key_triggers_fk_discovery_on_derived_types() { var modelBuilder = CreateModelBuilder(); @@ -568,7 +568,7 @@ public virtual void Removing_a_key_triggers_fk_discovery_on_derived_types() Assert.Same(derivedPrincipalEntityBuilder.Metadata, newFk.PrincipalEntityType); } - [ConditionalFact] + [Fact] public virtual void Index_removed_when_covered_by_an_inherited_foreign_key() { if (!Fixture.ForeignKeysHaveIndexes) @@ -651,7 +651,7 @@ public virtual void Index_removed_when_covered_by_an_inherited_foreign_key() Assert.Empty(derivedDependentEntityType.GetDeclaredIndexes()); } - [ConditionalFact] + [Fact] public virtual void Index_removed_when_covered_by_an_inherited_index() { if (!Fixture.ForeignKeysHaveIndexes) @@ -721,7 +721,7 @@ public virtual void Index_removed_when_covered_by_an_inherited_index() Assert.Equal(1, modelBuilder.ModelLoggerFactory.Log.Count(l => l.Message == indexRemoveMessage)); } - [ConditionalFact] + [Fact] public virtual void Setting_base_type_handles_require_value_generator_properly() { var modelBuilder = CreateModelBuilder(); @@ -733,7 +733,7 @@ public virtual void Setting_base_type_handles_require_value_generator_properly() Assert.Equal(ValueGenerated.Never, fkProperty.ValueGenerated); } - [ConditionalFact] + [Fact] public virtual void Can_create_relationship_between_base_type_and_derived_type() { var modelBuilder = CreateModelBuilder(); @@ -750,7 +750,7 @@ public virtual void Can_create_relationship_between_base_type_and_derived_type() Assert.Equal(nameof(SpecialBookLabel.Id), relationshipBuilder.Metadata.PrincipalKey.Properties.Single().Name); } - [ConditionalFact] + [Fact] public virtual void Removing_derived_removes_it_from_directly_derived_type() { var modelBuilder = CreateModelBuilder(); @@ -762,7 +762,7 @@ public virtual void Removing_derived_removes_it_from_directly_derived_type() Assert.Empty(modelBuilder.Model.FindEntityType(typeof(BookLabel).FullName).GetDirectlyDerivedTypes()); } - [ConditionalFact] + [Fact] public virtual void Can_ignore_base_entity_type() { var modelBuilder = CreateModelBuilder(); @@ -784,7 +784,7 @@ public virtual void Can_ignore_base_entity_type() } } - [ConditionalFact] + [Fact] public virtual void Relationships_are_discovered_on_the_base_entity_type() { var modelBuilder = CreateModelBuilder(); @@ -800,7 +800,7 @@ public virtual void Relationships_are_discovered_on_the_base_entity_type() Assert.Null(anotherNavigation.Inverse); } - [ConditionalFact] + [Fact] public virtual void Can_reconfigure_inherited_intraHierarchical_relationship() { var modelBuilder = CreateModelBuilder(); @@ -823,7 +823,7 @@ public virtual void Can_reconfigure_inherited_intraHierarchical_relationship() Assert.Equal([fk], extraSpecialBookLabelEntityBuilder.Metadata.GetForeignKeys()); } - [ConditionalFact] + [Fact] public virtual void Relationships_on_derived_types_are_discovered_first_if_base_is_one_sided() { var modelBuilder = CreateModelBuilder(); @@ -855,7 +855,7 @@ public virtual void Relationships_on_derived_types_are_discovered_first_if_base_ modelBuilder.FinalizeModel(); } - [ConditionalFact] + [Fact] public virtual void Can_remove_objects_in_derived_type_which_was_set_using_data_annotation_while_setting_base_type_by_convention() { @@ -872,7 +872,7 @@ public virtual void Assert.Equal(ConfigurationSource.Convention, derivedEntityType.GetBaseTypeConfigurationSource()); } - [ConditionalFact] + [Fact] public virtual void Cannot_remove_objects_in_derived_type_which_was_set_using_explicit_while_setting_base_type_by_convention() { var modelBuilder = CreateModelBuilder(); @@ -895,7 +895,7 @@ public virtual void Cannot_remove_objects_in_derived_type_which_was_set_using_ex Assert.Equal(ConfigurationSource.Explicit, derivedEntityType.GetPrimaryKeyConfigurationSource()); } - [ConditionalFact] + [Fact] public virtual void Ordering_of_entityType_discovery_does_not_affect_key_convention() { var modelBuilder = CreateModelBuilder(); @@ -914,7 +914,7 @@ public virtual void Ordering_of_entityType_discovery_does_not_affect_key_convent Assert.NotNull(baseEntity2.FindPrimaryKey()); } - [ConditionalFact] // #7049 + [Fact] // #7049 public virtual void Base_type_can_be_discovered_after_creating_foreign_keys_on_derived() { var mb = CreateModelBuilder(); @@ -924,7 +924,7 @@ public virtual void Base_type_can_be_discovered_after_creating_foreign_keys_on_d Assert.Equal(ValueGenerated.OnAdd, mb.Model.FindEntityType(typeof(Q)).FindProperty(nameof(Q.ID)).ValueGenerated); } - [ConditionalFact] + [Fact] public virtual void Can_get_set_discriminator_mapping_is_complete() { var mb = CreateModelBuilder(); diff --git a/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.ManyToMany.cs b/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.ManyToMany.cs index 3dcdd67a0d6..a2cfc2b2d8f 100644 --- a/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.ManyToMany.cs +++ b/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.ManyToMany.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.ComponentModel.DataAnnotations.Schema; @@ -11,7 +11,7 @@ public abstract partial class ModelBuilderTest { public abstract class ManyToManyTestBase(ModelBuilderFixtureBase fixture) : ModelBuilderTestBase(fixture) { - [ConditionalFact] + [Fact] public virtual void Discovers_navigations() { var modelBuilder = CreateModelBuilder(); @@ -43,7 +43,7 @@ public virtual void Discovers_navigations() Assert.Equal(2, productCategoryType.GetForeignKeys().Count()); } - [ConditionalFact] + [Fact] public virtual void Finds_existing_navigations_and_uses_associated_FK() { var modelBuilder = CreateModelBuilder(); @@ -88,7 +88,7 @@ public virtual void Finds_existing_navigations_and_uses_associated_FK() Assert.Equal(2, productCategoryType.GetForeignKeys().Count()); } - [ConditionalFact] + [Fact] public virtual void Finds_existing_navigations_and_uses_associated_FK_with_implicit_relationships() { var modelBuilder = CreateModelBuilder(); @@ -132,7 +132,7 @@ public virtual void Finds_existing_navigations_and_uses_associated_FK_with_impli Assert.Equal(2, productCategoryType.GetForeignKeys().Count()); } - [ConditionalFact] + [Fact] public virtual void Finds_existing_navigations_and_uses_associated_FK_with_fields() { var modelBuilder = CreateModelBuilder(); @@ -195,7 +195,7 @@ public virtual void Finds_existing_navigations_and_uses_associated_FK_with_field Assert.Same(dependentToPrincipalFk, joinEntityType.GetForeignKeys().First()); } - [ConditionalFact] + [Fact] public virtual void Join_type_is_automatically_configured_by_convention() { var modelBuilder = CreateModelBuilder(); @@ -237,7 +237,7 @@ public virtual void Join_type_is_automatically_configured_by_convention() Assert.DoesNotContain(joinEntityType.GetProperties(), p => !p.IsIndexerProperty()); } - [ConditionalFact] + [Fact] public virtual void Join_type_is_not_automatically_configured_when_navigations_are_ambiguous() { var modelBuilder = CreateModelBuilder(); @@ -258,7 +258,7 @@ public virtual void Join_type_is_not_automatically_configured_when_navigations_a } } - [ConditionalFact] + [Fact] public virtual void Can_configure_join_type() { var modelBuilder = CreateModelBuilder(); @@ -297,7 +297,7 @@ public virtual void Can_configure_join_type() key.Properties.Select(p => p.Name)); } - [ConditionalFact] + [Fact] public virtual void Can_configure_join_type_with_implicit_join_relationships() { var modelBuilder = CreateModelBuilder(); @@ -330,7 +330,7 @@ public virtual void Can_configure_join_type_with_implicit_join_relationships() key.Properties.Select(p => p.Name)); } - [ConditionalFact] + [Fact] public virtual void Can_configure_shared_join_type_with_implicit_join_relationships() { var modelBuilder = CreateModelBuilder(); @@ -373,7 +373,7 @@ public virtual void Can_configure_shared_join_type_with_implicit_join_relationsh key.Properties.Select(p => p.Name)); } - [ConditionalFact] + [Fact] public virtual void Can_ignore_existing_navigations() { var modelBuilder = CreateModelBuilder(); @@ -395,7 +395,7 @@ public virtual void Can_ignore_existing_navigations() Assert.Empty(categoryType.GetSkipNavigations()); } - [ConditionalFact] + [Fact] public virtual void Throws_for_conflicting_many_to_one_on_left() { var modelBuilder = CreateModelBuilder(); @@ -416,7 +416,7 @@ public virtual void Throws_for_conflicting_many_to_one_on_left() .HasMany(o => o.Products).WithMany(c => c.Categories)).Message); } - [ConditionalFact] + [Fact] public virtual void Throws_for_conflicting_many_to_one_on_right() { var modelBuilder = CreateModelBuilder(); @@ -437,7 +437,7 @@ public virtual void Throws_for_conflicting_many_to_one_on_right() .HasMany(o => o.Categories).WithMany(c => c.Products)).Message); } - [ConditionalFact] + [Fact] public virtual void Many_to_many_with_only_Has_navigation_configured() { var modelBuilder = CreateModelBuilder(); @@ -478,7 +478,7 @@ public virtual void Many_to_many_with_only_Has_navigation_configured() Assert.DoesNotContain(joinEntityType.GetProperties(), p => !p.IsIndexerProperty()); } - [ConditionalFact] + [Fact] public virtual void Many_to_many_with_no_navigations_configured() { var modelBuilder = CreateModelBuilder(); @@ -519,7 +519,7 @@ public virtual void Many_to_many_with_no_navigations_configured() Assert.DoesNotContain(joinEntityType.GetProperties(), p => !p.IsIndexerProperty()); } - [ConditionalFact] + [Fact] public virtual void Many_to_many_with_a_shadow_navigation() { var modelBuilder = CreateModelBuilder(); @@ -566,7 +566,7 @@ public virtual void Many_to_many_with_a_shadow_navigation() Assert.DoesNotContain(joinEntityType.GetProperties(), p => !p.IsIndexerProperty()); } - [ConditionalFact] + [Fact] public virtual void Many_to_many_with_only_With_navigation_configured() { var modelBuilder = CreateModelBuilder(); @@ -607,7 +607,7 @@ public virtual void Many_to_many_with_only_With_navigation_configured() Assert.DoesNotContain(joinEntityType.GetProperties(), p => !p.IsIndexerProperty()); } - [ConditionalFact] + [Fact] public virtual void Throws_for_self_ref_with_same_navigation() { var modelBuilder = CreateModelBuilder(); @@ -620,7 +620,7 @@ public virtual void Throws_for_self_ref_with_same_navigation() .WithMany(e => e.SelfRef2)).Message); } - [ConditionalFact] + [Fact] public virtual void Throws_for_self_ref_using_self() { var modelBuilder = CreateModelBuilder(); @@ -637,7 +637,7 @@ public virtual void Throws_for_self_ref_using_self() Assert.Throws(() => modelBuilder.FinalizeModel()).Message); } - [ConditionalFact] + [Fact] public virtual void ForeignKeyAttribute_configures_the_properties() { var modelBuilder = CreateModelBuilder(); @@ -659,7 +659,7 @@ public virtual void ForeignKeyAttribute_configures_the_properties() Assert.Equal(2, joinEntityType.GetForeignKeys().Count()); } - [ConditionalFact] + [Fact] public virtual void Overrides_ForeignKeyAttribute() { var modelBuilder = CreateModelBuilder(); @@ -704,7 +704,7 @@ protected class CategoryWithAttribute public virtual ICollection? Products { get; set; } } - [ConditionalFact] // Issue #27990 + [Fact] // Issue #27990 public virtual void ForeignKeyAttribute_does_not_force_convention_join_table_inclusion_matching_key_names() { var modelBuilder = CreateModelBuilder(); @@ -777,7 +777,7 @@ protected class MotorBauartMatching public virtual ICollection MotorArtMatching { get; set; } = null!; } - [ConditionalFact] // Issue #27990 + [Fact] // Issue #27990 public virtual void ForeignKeyAttribute_does_not_force_convention_join_table_inclusion_mismatching_key_names() { var modelBuilder = CreateModelBuilder(); @@ -850,7 +850,7 @@ protected class MotorBauartMismatching public virtual ICollection MotorArtMismatching { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual void Navigation_properties_can_set_access_mode() { var modelBuilder = CreateModelBuilder(); @@ -880,7 +880,7 @@ public virtual void Navigation_properties_can_set_access_mode() Assert.Equal(PropertyAccessMode.Property, dependent.FindSkipNavigation("ManyToManyPrincipals")!.GetPropertyAccessMode()); } - [ConditionalFact] + [Fact] public virtual void Skip_navigation_field_can_be_set_via_attribute() { var modelBuilder = CreateModelBuilder(); @@ -897,7 +897,7 @@ public virtual void Skip_navigation_field_can_be_set_via_attribute() "_randomField", model.FindEntityType(typeof(ManyToManyNavPrincipal))!.FindSkipNavigation("Dependents")!.GetFieldName()); } - [ConditionalFact] + [Fact] public virtual void IsRequired_throws() { var modelBuilder = CreateModelBuilder(); @@ -913,7 +913,7 @@ public virtual void IsRequired_throws() .IsRequired()).Message); } - [ConditionalFact] + [Fact] public virtual void Can_use_shared_type_as_join_entity() { var modelBuilder = CreateModelBuilder(); @@ -975,7 +975,7 @@ public virtual void Can_use_shared_type_as_join_entity() modelBuilder.FinalizeModel(); } - [ConditionalFact] + [Fact] public virtual void Can_use_implicit_shared_type_as_join_entity() { var modelBuilder = CreateModelBuilder(); @@ -1037,7 +1037,7 @@ public virtual void Can_use_implicit_shared_type_as_join_entity() modelBuilder.FinalizeModel(); } - [ConditionalFact] + [Fact] public virtual void Can_use_implicit_shared_type_with_default_name_as_join_entity() { var modelBuilder = CreateModelBuilder(); @@ -1101,7 +1101,7 @@ public virtual void Can_use_implicit_shared_type_with_default_name_as_join_entit modelBuilder.FinalizeModel(); } - [ConditionalFact] + [Fact] public virtual void Can_use_implicit_shared_type_with_implicit_relationships_as_join_entity() { var modelBuilder = CreateModelBuilder(); @@ -1158,7 +1158,7 @@ public virtual void Can_use_implicit_shared_type_with_implicit_relationships_as_ modelBuilder.FinalizeModel(); } - [ConditionalFact] + [Fact] public virtual void Can_use_implicit_shared_type_with_default_name_and_implicit_relationships_as_join_entity() { var modelBuilder = CreateModelBuilder(); @@ -1226,7 +1226,7 @@ public virtual void Can_use_implicit_shared_type_with_default_name_and_implicit_ Assert.Equal(6, model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public virtual void FK_properties_matching_navigations_are_discovered_on_explicit_join_entity() { var modelBuilder = CreateModelBuilder(); @@ -1248,7 +1248,7 @@ public virtual void FK_properties_matching_navigations_are_discovered_on_explici joinType.FindPrimaryKey()!.Properties); } - [ConditionalFact] + [Fact] public virtual void FK_properties_matching_types_are_discovered_on_explicit_join_entity() { var modelBuilder = CreateModelBuilder(); @@ -1274,7 +1274,7 @@ public virtual void FK_properties_matching_types_are_discovered_on_explicit_join joinType.FindPrimaryKey()!.Properties); } - [ConditionalFact] + [Fact] public virtual void UsingEntity_with_shared_type_passed_when_marked_as_shared_type() { var modelBuilder = CreateModelBuilder(); @@ -1301,7 +1301,7 @@ public virtual void UsingEntity_with_shared_type_passed_when_marked_as_shared_ty Assert.Equal(typeof(ManyToManyJoinWithFields), joinEntityType.ClrType); } - [ConditionalFact] + [Fact] public virtual void UsingEntity_with_shared_type_passes_when_configured_as_shared() { var modelBuilder = CreateModelBuilder(); @@ -1328,7 +1328,7 @@ public virtual void UsingEntity_with_shared_type_passes_when_configured_as_share Assert.Equal(typeof(ManyToManyJoinWithFields), joinEntityType.ClrType); } - [ConditionalFact] + [Fact] public virtual void Unconfigured_many_to_many_navigations_throw() { var modelBuilder = CreateModelBuilder(); diff --git a/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.ManyToOne.cs b/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.ManyToOne.cs index 49e184ea132..e0fce7c8693 100644 --- a/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.ManyToOne.cs +++ b/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.ManyToOne.cs @@ -11,7 +11,7 @@ public abstract partial class ModelBuilderTest { public abstract class ManyToOneTestBase(ModelBuilderFixtureBase fixture) : ModelBuilderTestBase(fixture) { - [ConditionalFact] + [Fact] public virtual void Finds_existing_navigations_and_uses_associated_FK() { var modelBuilder = CreateModelBuilder(); @@ -58,7 +58,7 @@ public virtual void Finds_existing_navigations_and_uses_associated_FK() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Finds_existing_navigations_and_uses_associated_FK_with_fields() { var modelBuilder = CreateModelBuilder(); @@ -124,7 +124,7 @@ public virtual void Finds_existing_navigations_and_uses_associated_FK_with_field Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Finds_existing_navigation_to_principal_and_uses_associated_FK() { var modelBuilder = CreateModelBuilder(); @@ -167,7 +167,7 @@ public virtual void Finds_existing_navigation_to_principal_and_uses_associated_F Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Finds_existing_navigation_to_dependent_and_uses_associated_FK() { var modelBuilder = CreateModelBuilder(); @@ -213,7 +213,7 @@ public virtual void Finds_existing_navigation_to_dependent_and_uses_associated_F Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_does_not_use_existing_FK() { var modelBuilder = CreateModelBuilder(); @@ -257,7 +257,7 @@ public virtual void Creates_both_navigations_and_does_not_use_existing_FK() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_creates_new_FK() { var modelBuilder = CreateModelBuilder(); @@ -305,7 +305,7 @@ public virtual void Creates_both_navigations_and_creates_new_FK() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_relationship_with_navigation_to_principal() { var modelBuilder = CreateModelBuilder(); @@ -347,7 +347,7 @@ public virtual void Creates_relationship_with_navigation_to_principal() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_relationship_with_navigation_to_dependent() { var modelBuilder = CreateModelBuilder(); @@ -388,7 +388,7 @@ public virtual void Creates_relationship_with_navigation_to_dependent() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_relationship_with_no_navigations() { var modelBuilder = CreateModelBuilder(); @@ -434,7 +434,7 @@ public virtual void Creates_relationship_with_no_navigations() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_uses_specified_FK_even_if_found_by_convention() { var modelBuilder = CreateModelBuilder(); @@ -484,7 +484,7 @@ public virtual void Creates_both_navigations_and_uses_specified_FK_even_if_found Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_with_existing_FK_not_found_by_convention() { var modelBuilder = CreateModelBuilder(); @@ -530,7 +530,7 @@ public virtual void Creates_both_navigations_with_existing_FK_not_found_by_conve Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_creates_FK_specified() { var modelBuilder = CreateModelBuilder(); @@ -577,7 +577,7 @@ public virtual void Creates_both_navigations_and_creates_FK_specified() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_specified_FK_with_navigation_to_principal() { var modelBuilder = CreateModelBuilder(); @@ -620,7 +620,7 @@ public virtual void Creates_specified_FK_with_navigation_to_principal() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_specified_FK_with_navigation_to_dependent() { var modelBuilder = CreateModelBuilder(); @@ -665,7 +665,7 @@ public virtual void Creates_specified_FK_with_navigation_to_dependent() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_relationship_with_no_navigations_and_specified_FK() { var modelBuilder = CreateModelBuilder(); @@ -711,7 +711,7 @@ public virtual void Creates_relationship_with_no_navigations_and_specified_FK() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_creates_shadow_FK() { var modelBuilder = CreateModelBuilder(); @@ -757,7 +757,7 @@ public virtual void Creates_both_navigations_and_creates_shadow_FK() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_shadow_FK_with_navigation_to_principal() { var modelBuilder = CreateModelBuilder(); @@ -800,7 +800,7 @@ public virtual void Creates_shadow_FK_with_navigation_to_principal() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_shadow_FK_with_navigation_to_dependent() { var modelBuilder = CreateModelBuilder(); @@ -843,7 +843,7 @@ public virtual void Creates_shadow_FK_with_navigation_to_dependent() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_shadow_FK_with_no_navigations_with() { var modelBuilder = CreateModelBuilder(); @@ -888,7 +888,7 @@ public virtual void Creates_shadow_FK_with_no_navigations_with() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_matches_shadow_FK_by_convention() { var modelBuilder = CreateModelBuilder(); @@ -931,7 +931,7 @@ public virtual void Creates_both_navigations_and_matches_shadow_FK_by_convention Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_overrides_existing_FK_if_uniqueness_does_not_match() { var modelBuilder = CreateModelBuilder(); @@ -976,7 +976,7 @@ public virtual void Creates_both_navigations_and_overrides_existing_FK_if_unique Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Resolves_ambiguous_navigations() { var modelBuilder = CreateModelBuilder(); @@ -990,7 +990,7 @@ public virtual void Resolves_ambiguous_navigations() Assert.Equal(2, model.FindEntityType(typeof(Friendship)).GetNavigations().Count()); } - [ConditionalFact] + [Fact] public virtual void Can_use_explicitly_specified_PK() { var modelBuilder = CreateModelBuilder(); @@ -1040,7 +1040,7 @@ public virtual void Can_use_explicitly_specified_PK() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_use_non_PK_principal() { var modelBuilder = CreateModelBuilder(); @@ -1101,7 +1101,7 @@ public virtual void Can_use_non_PK_principal() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_have_both_convention_properties_specified() { var modelBuilder = CreateModelBuilder(); @@ -1152,7 +1152,7 @@ public virtual void Can_have_both_convention_properties_specified() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_have_both_convention_properties_specified_in_any_order() { var modelBuilder = CreateModelBuilder(); @@ -1203,7 +1203,7 @@ public virtual void Can_have_both_convention_properties_specified_in_any_order() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_have_FK_by_convention_specified_with_explicit_principal_key() { var modelBuilder = CreateModelBuilder(); @@ -1258,7 +1258,7 @@ public virtual void Can_have_FK_by_convention_specified_with_explicit_principal_ Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_have_FK_by_convention_specified_with_explicit_principal_key_in_any_order() { var modelBuilder = CreateModelBuilder(); @@ -1313,7 +1313,7 @@ public virtual void Can_have_FK_by_convention_specified_with_explicit_principal_ Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_have_principal_key_by_convention_specified_with_explicit_PK() { var modelBuilder = CreateModelBuilder(); @@ -1368,7 +1368,7 @@ public virtual void Can_have_principal_key_by_convention_specified_with_explicit Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_have_principal_key_by_convention_specified_with_explicit_PK_in_any_order() { var modelBuilder = CreateModelBuilder(); @@ -1423,7 +1423,7 @@ public virtual void Can_have_principal_key_by_convention_specified_with_explicit Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] //Issue#13300 + [Fact] //Issue#13300 public virtual void Explicitly_set_shadow_FK_name_is_preserved_with_HasPrincipalKey() { var modelBuilder = CreateModelBuilder(); @@ -1463,7 +1463,7 @@ protected class Profile13300 public User13300 User { get; set; } } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_finds_existing_composite_FK() { var modelBuilder = CreateModelBuilder(); @@ -1510,7 +1510,7 @@ public virtual void Creates_both_navigations_and_finds_existing_composite_FK() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_creates_composite_FK_specified() { var modelBuilder = CreateModelBuilder(); @@ -1560,7 +1560,7 @@ public virtual void Creates_both_navigations_and_creates_composite_FK_specified( Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_use_alternate_composite_key() { var modelBuilder = CreateModelBuilder(); @@ -1620,7 +1620,7 @@ public virtual void Can_use_alternate_composite_key() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_use_alternate_composite_key_in_any_order() { var modelBuilder = CreateModelBuilder(); @@ -1680,7 +1680,7 @@ public virtual void Can_use_alternate_composite_key_in_any_order() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_specified_composite_FK_with_navigation_to_principal() { var modelBuilder = CreateModelBuilder(); @@ -1728,7 +1728,7 @@ public virtual void Creates_specified_composite_FK_with_navigation_to_principal( Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_specified_composite_FK_with_navigation_to_dependent() { var modelBuilder = CreateModelBuilder(); @@ -1776,7 +1776,7 @@ public virtual void Creates_specified_composite_FK_with_navigation_to_dependent( Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_relationship_with_no_navigations_and_specified_composite_FK() { var modelBuilder = CreateModelBuilder(); @@ -1831,7 +1831,7 @@ public virtual void Creates_relationship_with_no_navigations_and_specified_compo Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_relationship_on_existing_FK_is_using_different_principal_key() { var modelBuilder = CreateModelBuilder(); @@ -1883,7 +1883,7 @@ public virtual void Creates_relationship_on_existing_FK_is_using_different_princ Assert.Throws(() => modelBuilder.FinalizeModel()).Message); } - [ConditionalFact] + [Fact] public virtual void Creates_relationship_on_existing_FK_is_using_different_principal_key_different_order() { var modelBuilder = CreateModelBuilder(); @@ -1928,7 +1928,7 @@ public virtual void Creates_relationship_on_existing_FK_is_using_different_princ } } - [ConditionalFact] + [Fact] public virtual void Throws_on_existing_one_to_one_relationship() { var modelBuilder = HobNobBuilder(); @@ -1950,7 +1950,7 @@ public virtual void Throws_on_existing_one_to_one_relationship() modelBuilder.Entity().HasOne(e => e.Nob).WithMany(e => e.Hobs)).Message); } - [ConditionalFact] + [Fact] public virtual void Removes_existing_unidirectional_one_to_one_relationship() { var modelBuilder = HobNobBuilder(); @@ -1991,7 +1991,7 @@ public virtual void Removes_existing_unidirectional_one_to_one_relationship() Assert.False(oldFk.IsUnique); } - [ConditionalFact] + [Fact] public virtual void Relationships_discovered_when_ambiguity_on_the_inverse_is_resolved() { var modelBuilder = HobNobBuilder(); @@ -2011,7 +2011,7 @@ public virtual void Relationships_discovered_when_ambiguity_on_the_inverse_is_re Assert.DoesNotContain(nobType.GetNavigations(), n => n.Name == nameof(Nob.Hobs)); } - [ConditionalFact] + [Fact] public virtual void Can_add_annotations() { var modelBuilder = CreateModelBuilder(); @@ -2031,7 +2031,7 @@ public virtual void Can_add_annotations() Assert.Equal("Ro", fk["Fus"]); } - [ConditionalFact] + [Fact] public virtual void Nullable_FK_are_optional_by_default() { var modelBuilder = HobNobBuilder(); @@ -2053,7 +2053,7 @@ public virtual void Nullable_FK_are_optional_by_default() Assert.Contains(fkProperty2, fk.Properties); } - [ConditionalFact] + [Fact] public virtual void Non_nullable_FK_are_required_by_default() { var modelBuilder = HobNobBuilder(); @@ -2075,7 +2075,7 @@ public virtual void Non_nullable_FK_are_required_by_default() Assert.Contains(fkProperty2, fk.Properties); } - [ConditionalFact] + [Fact] public virtual void Nullable_FK_can_be_made_required() { var modelBuilder = HobNobBuilder(); @@ -2098,7 +2098,7 @@ public virtual void Nullable_FK_can_be_made_required() Assert.Contains(fkProperty2, fk.Properties); } - [ConditionalFact] + [Fact] public virtual void Non_nullable_FK_can_be_made_optional() { var modelBuilder = HobNobBuilder(); @@ -2121,7 +2121,7 @@ public virtual void Non_nullable_FK_can_be_made_optional() Assert.Contains(fkProperty2, fk.Properties); } - [ConditionalFact] + [Fact] public virtual void Non_nullable_FK_can_be_made_optional_separately() { var modelBuilder = HobNobBuilder(); @@ -2147,7 +2147,7 @@ public virtual void Non_nullable_FK_can_be_made_optional_separately() Assert.Contains(fkProperty2, fk.Properties); } - [ConditionalFact] + [Fact] public virtual void Can_change_delete_behavior() { var modelBuilder = HobNobBuilder(); @@ -2172,7 +2172,7 @@ public virtual void Can_change_delete_behavior() Assert.Equal(DeleteBehavior.SetNull, dependentType.GetForeignKeys().Single().DeleteBehavior); } - [ConditionalFact] + [Fact] public virtual void Can_set_foreign_key_property_when_matching_property_added() { var modelBuilder = CreateModelBuilder(); @@ -2188,7 +2188,7 @@ public virtual void Can_set_foreign_key_property_when_matching_property_added() Assert.Equal("PrincipalEntityId", newForeignKey.Properties.Single().Name); } - [ConditionalFact] + [Fact] public virtual void Creates_shadow_property_for_foreign_key_according_to_navigation_to_principal_name_when_present() { var modelBuilder = CreateModelBuilder(); @@ -2203,7 +2203,7 @@ public virtual void Creates_shadow_property_for_foreign_key_according_to_navigat Assert.Equal("SecondNavId", beta.FindNavigation("SecondNav").ForeignKey.Properties.First().Name); } - [ConditionalFact] + [Fact] public virtual void Creates_shadow_property_for_foreign_key_according_to_target_type_when_navigation_to_principal_name_not_present() { @@ -2213,7 +2213,7 @@ public virtual void Assert.Equal("GammaId", gamma.FindNavigation("Alphas").ForeignKey.Properties.First().Name); } - [ConditionalFact] + [Fact] public virtual void Creates_shadow_FK_property_with_non_shadow_PK() { var modelBuilder = CreateModelBuilder(); @@ -2239,7 +2239,7 @@ public virtual void Creates_shadow_FK_property_with_non_shadow_PK() Assert.Equal("foo", fk["Test"]); } - [ConditionalFact] + [Fact] public virtual void Creates_shadow_FK_property_with_shadow_PK() { var modelBuilder = CreateModelBuilder(); @@ -2262,7 +2262,7 @@ public virtual void Creates_shadow_FK_property_with_shadow_PK() modelBuilder.Model.FindEntityType(typeof(Beta)).FindNavigation("FirstNav").ForeignKey.Properties.Single().Name); } - [ConditionalFact] + [Fact] public virtual void Handles_identity_correctly_while_removing_navigation() { var modelBuilder = CreateModelBuilder(); @@ -2275,7 +2275,7 @@ public virtual void Handles_identity_correctly_while_removing_navigation() Assert.Equal(ValueGenerated.Never, property.ValueGenerated); } - [ConditionalFact] + [Fact] public virtual void One_to_many_relationship_has_no_ambiguity_explicit() { var modelBuilder = CreateModelBuilder(); @@ -2292,7 +2292,7 @@ public virtual void One_to_many_relationship_has_no_ambiguity_explicit() .Name); } - [ConditionalFact] + [Fact] public virtual void Navigation_properties_can_set_access_mode() { var modelBuilder = CreateModelBuilder(); @@ -2317,7 +2317,7 @@ public virtual void Navigation_properties_can_set_access_mode() Assert.Equal(PropertyAccessMode.Property, dependent.FindNavigation("OneToManyPrincipal").GetPropertyAccessMode()); } - [ConditionalFact] + [Fact] public virtual void Access_mode_can_be_overridden_at_entity_and_navigation_property_levels() { var modelBuilder = CreateModelBuilder(); diff --git a/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.NonRelationship.cs b/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.NonRelationship.cs index bcef39f8bb8..7661c56d847 100644 --- a/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.NonRelationship.cs +++ b/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.NonRelationship.cs @@ -16,7 +16,7 @@ public abstract partial class ModelBuilderTest { public abstract class NonRelationshipTestBase(ModelBuilderFixtureBase fixture) : ModelBuilderTestBase(fixture) { - [ConditionalFact] + [Fact] public void Can_set_model_annotation() { var modelBuilder = CreateModelBuilder(); @@ -28,7 +28,7 @@ public void Can_set_model_annotation() Assert.Equal("Ro", model.FindAnnotation("Fus")!.Value); } - [ConditionalFact] + [Fact] public void Model_is_readonly_after_Finalize() { var modelBuilder = CreateModelBuilder(); @@ -38,7 +38,7 @@ public void Model_is_readonly_after_Finalize() Assert.ThrowsAny(() => modelBuilder.HasAnnotation("Fus", "Ro")); } - [ConditionalFact] + [Fact] public virtual void Can_get_entity_builder_for_clr_type() { var modelBuilder = CreateModelBuilder(); @@ -50,7 +50,7 @@ public virtual void Can_get_entity_builder_for_clr_type() Assert.Equal(typeof(Customer).FullName, model.FindEntityType(typeof(Customer))!.Name); } - [ConditionalFact] + [Fact] public virtual void Can_set_entity_key_from_clr_property() { var modelBuilder = CreateModelBuilder(); @@ -64,7 +64,7 @@ public virtual void Can_set_entity_key_from_clr_property() Assert.Equal(Customer.IdProperty.Name, entity.FindPrimaryKey()!.Properties.First().Name); } - [ConditionalFact] + [Fact] public virtual void Entity_key_on_shadow_property_is_discovered_by_convention() { var modelBuilder = CreateModelBuilder(); @@ -78,7 +78,7 @@ public virtual void Entity_key_on_shadow_property_is_discovered_by_convention() Assert.Equal("Id", entity.FindPrimaryKey()!.Properties.Single().Name); } - [ConditionalFact] + [Fact] public virtual void Entity_key_on_secondary_property_is_discovered_by_convention_when_first_ignored() { var modelBuilder = CreateModelBuilder(); @@ -93,7 +93,7 @@ public virtual void Entity_key_on_secondary_property_is_discovered_by_convention Assert.Equal(nameof(SelfRef.SelfRefId), entity.FindPrimaryKey()!.Properties.Single().Name); } - [ConditionalFact] + [Fact] public virtual void Can_set_entity_key_from_property_name_when_no_clr_property() { var modelBuilder = CreateModelBuilder(); @@ -113,7 +113,7 @@ public virtual void Can_set_entity_key_from_property_name_when_no_clr_property() Assert.Equal(Customer.IdProperty.Name + 1, entity.FindPrimaryKey()!.Properties.First().Name); } - [ConditionalFact] + [Fact] public virtual void Can_set_entity_key_from_clr_property_when_property_ignored_on_keyless() { var modelBuilder = CreateModelBuilder(); @@ -131,7 +131,7 @@ public virtual void Can_set_entity_key_from_clr_property_when_property_ignored_o Assert.Equal(Customer.IdProperty.Name, entity.FindPrimaryKey()!.Properties.First().Name); } - [ConditionalFact] + [Fact] public virtual void Can_set_composite_entity_key_from_clr_properties() { var modelBuilder = CreateModelBuilder(); @@ -148,7 +148,7 @@ public virtual void Can_set_composite_entity_key_from_clr_properties() Assert.Equal(Customer.NameProperty.Name, entity.FindPrimaryKey()!.Properties.Last().Name); } - [ConditionalFact] + [Fact] public virtual void Can_set_composite_entity_key_from_property_names_when_mixed_properties() { var modelBuilder = CreateModelBuilder(); @@ -169,7 +169,7 @@ public virtual void Can_set_composite_entity_key_from_property_names_when_mixed_ Assert.Equal(Customer.NameProperty.Name + "Shadow", entity.FindPrimaryKey()!.Properties.Last().Name); } - [ConditionalFact] + [Fact] public virtual void Can_set_entity_key_with_annotations() { var modelBuilder = CreateModelBuilder(); @@ -190,7 +190,7 @@ public virtual void Can_set_entity_key_with_annotations() Assert.Equal("V2", keyBuilder.Metadata["A2"]); } - [ConditionalFact] + [Fact] public virtual void Can_upgrade_candidate_key_to_primary_key() { var modelBuilder = CreateModelBuilder(); @@ -215,7 +215,7 @@ public virtual void Can_upgrade_candidate_key_to_primary_key() Assert.Equal(ValueGenerated.Never, idProperty.ValueGenerated); } - [ConditionalFact] + [Fact] public virtual void Can_set_alternate_key_from_clr_property() { var modelBuilder = CreateModelBuilder(); @@ -230,7 +230,7 @@ public virtual void Can_set_alternate_key_from_clr_property() entity.GetKeys().First(key => key != entity.FindPrimaryKey()).Properties.First().Name); } - [ConditionalFact] + [Fact] public virtual void Can_set_alternate_key_from_property_name_when_no_clr_property() { var modelBuilder = CreateModelBuilder(); @@ -249,7 +249,7 @@ public virtual void Can_set_alternate_key_from_property_name_when_no_clr_propert entity.GetKeys().First(key => key != entity.FindPrimaryKey()).Properties.First().Name); } - [ConditionalFact] + [Fact] public virtual void Can_set_alternate_key_from_clr_property_when_property_ignored() { var modelBuilder = CreateModelBuilder(); @@ -266,7 +266,7 @@ public virtual void Can_set_alternate_key_from_clr_property_when_property_ignore entity.GetKeys().First(key => key != entity.FindPrimaryKey()).Properties.First().Name); } - [ConditionalFact] + [Fact] public virtual void Setting_alternate_key_makes_properties_required() { var modelBuilder = CreateModelBuilder(); @@ -281,7 +281,7 @@ public virtual void Setting_alternate_key_makes_properties_required() Assert.False(alternateKeyProperty.IsNullable); } - [ConditionalFact] + [Fact] public virtual void Can_set_entity_annotation() { var modelBuilder = CreateModelBuilder(); @@ -293,7 +293,7 @@ public virtual void Can_set_entity_annotation() Assert.Equal("bar", entityBuilder.Metadata["foo"]); } - [ConditionalFact] + [Fact] public virtual void Can_set_property_annotation() { var modelBuilder = CreateModelBuilder(); @@ -308,7 +308,7 @@ public virtual void Can_set_property_annotation() Assert.Equal("bar", property["foo"]); } - [ConditionalFact] + [Fact] public virtual void Can_set_property_annotation_when_no_clr_property() { var modelBuilder = CreateModelBuilder(); @@ -323,7 +323,7 @@ public virtual void Can_set_property_annotation_when_no_clr_property() Assert.Equal("bar", property["foo"]); } - [ConditionalFact] + [Fact] public virtual void Can_set_property_annotation_by_type() { var modelBuilder = CreateModelBuilder(c => c.Properties().HaveAnnotation("foo", "bar")); @@ -338,7 +338,7 @@ public virtual void Can_set_property_annotation_by_type() Assert.Equal("bar", property["foo"]); } - [ConditionalFact] + [Fact] public virtual void Properties_are_required_by_default_only_if_CLR_type_is_nullable() { var modelBuilder = CreateModelBuilder(); @@ -363,7 +363,7 @@ public virtual void Properties_are_required_by_default_only_if_CLR_type_is_nulla Assert.True(entityType.FindProperty("Bottom")!.IsNullable); } - [ConditionalFact] + [Fact] public virtual void Properties_can_be_ignored() { var modelBuilder = CreateModelBuilder(); @@ -385,7 +385,7 @@ public virtual void Properties_can_be_ignored() Assert.DoesNotContain(nameof(Quarks.Down), entityType.GetProperties().Select(p => p.Name)); } - [ConditionalFact] + [Fact] public virtual void Properties_can_be_ignored_by_type() { var modelBuilder = CreateModelBuilder(c => c.IgnoreAny()); @@ -397,7 +397,7 @@ public virtual void Properties_can_be_ignored_by_type() Assert.Null(entityType.FindProperty(nameof(Customer.AlternateKey))); } - [ConditionalFact] + [Fact] public virtual void Conventions_can_be_added() { var modelBuilder = CreateModelBuilder(c => c.Conventions.Add(s => new TestConvention())); @@ -407,7 +407,7 @@ public virtual void Conventions_can_be_added() Assert.Equal("bar", model["foo"]); } - [ConditionalFact] + [Fact] public virtual void Conventions_can_be_removed() { var modelBuilder = CreateModelBuilder(c => @@ -421,7 +421,7 @@ public virtual void Conventions_can_be_removed() Assert.Null(model["foo"]); } - [ConditionalFact] + [Fact] public virtual void Conventions_can_be_removed_by_generic_method() { var modelBuilder = CreateModelBuilder(c => @@ -435,7 +435,7 @@ public virtual void Conventions_can_be_removed_by_generic_method() Assert.Null(model["foo"]); } - [ConditionalFact] + [Fact] public virtual void Conventions_can_be_replaced() { var modelBuilder = CreateModelBuilder(c => @@ -464,19 +464,19 @@ public override void ProcessModelInitialized( => modelBuilder.HasAnnotation("foo", "bar"); } - [ConditionalFact] + [Fact] public virtual void Int32_cannot_be_ignored() => Assert.Equal( CoreStrings.UnconfigurableType("int?", "Ignored", "Property", "int"), Assert.Throws(() => CreateModelBuilder(c => c.IgnoreAny())).Message); - [ConditionalFact] + [Fact] public virtual void Object_cannot_be_ignored() => Assert.Equal( CoreStrings.UnconfigurableType("string", "Ignored", "Property", "object"), Assert.Throws(() => CreateModelBuilder(c => c.IgnoreAny())).Message); - [ConditionalFact] + [Fact] public virtual void Can_ignore_a_property_that_is_part_of_explicit_entity_key() { var modelBuilder = CreateModelBuilder(); @@ -488,7 +488,7 @@ public virtual void Can_ignore_a_property_that_is_part_of_explicit_entity_key() Assert.Null(entityBuilder.Metadata.FindProperty(Customer.IdProperty.Name)); } - [ConditionalFact] + [Fact] public virtual void Can_ignore_shadow_properties_when_they_have_been_added_explicitly() { var modelBuilder = CreateModelBuilder(); @@ -500,7 +500,7 @@ public virtual void Can_ignore_shadow_properties_when_they_have_been_added_expli Assert.Null(entityBuilder.Metadata.FindProperty("Shadow")); } - [ConditionalFact] + [Fact] public virtual void Can_add_shadow_properties_when_they_have_been_ignored() { var modelBuilder = CreateModelBuilder(); @@ -517,7 +517,7 @@ public virtual void Can_add_shadow_properties_when_they_have_been_ignored() Assert.NotNull(model.FindEntityType(typeof(Customer))!.FindProperty("Shadow")); } - [ConditionalFact] + [Fact] public virtual void Can_override_navigations_as_properties() { var modelBuilder = CreateModelBuilder(); @@ -533,7 +533,7 @@ public virtual void Can_override_navigations_as_properties() Assert.NotNull(customer.FindProperty(nameof(Customer.Orders))); } - [ConditionalFact] + [Fact] public virtual void Ignoring_a_navigation_property_removes_discovered_entity_types() { var modelBuilder = CreateModelBuilder(); @@ -549,7 +549,7 @@ public virtual void Ignoring_a_navigation_property_removes_discovered_entity_typ Assert.Single(model.GetEntityTypes()); } - [ConditionalFact] + [Fact] public virtual void Ignoring_a_navigation_property_removes_discovered_relationship() { var modelBuilder = CreateModelBuilder(); @@ -568,7 +568,7 @@ public virtual void Ignoring_a_navigation_property_removes_discovered_relationsh Assert.Equal(2, model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public virtual void Ignoring_a_base_type_removes_relationships() { var modelBuilder = CreateModelBuilder(c => c.IgnoreAny()); @@ -580,7 +580,7 @@ public virtual void Ignoring_a_base_type_removes_relationships() Assert.Empty(model.GetEntityTypes().Single().GetForeignKeys()); } - [ConditionalFact] + [Fact] public virtual void Properties_can_be_made_required() { var modelBuilder = CreateModelBuilder(); @@ -606,7 +606,7 @@ public virtual void Properties_can_be_made_required() Assert.False(entityType.FindProperty("Bottom")!.IsNullable); } - [ConditionalFact] + [Fact] public virtual void Properties_can_be_made_optional() { var modelBuilder = CreateModelBuilder(); @@ -626,7 +626,7 @@ public virtual void Properties_can_be_made_optional() Assert.True(entityType.FindProperty("Bottom")!.IsNullable); } - [ConditionalFact] + [Fact] public virtual void Key_properties_cannot_be_made_optional() => Assert.Equal( CoreStrings.KeyPropertyCannotBeNullable(nameof(Quarks.Down), nameof(Quarks), "{'" + nameof(Quarks.Down) + "'}"), @@ -637,7 +637,7 @@ public virtual void Key_properties_cannot_be_made_optional() b.Property(e => e.Down).IsRequired(false); })).Message); - [ConditionalFact] + [Fact] public virtual void Non_nullable_properties_cannot_be_made_optional() { var modelBuilder = CreateModelBuilder(); @@ -665,7 +665,7 @@ public virtual void Non_nullable_properties_cannot_be_made_optional() Assert.False(entityType.FindProperty("Top")!.IsNullable); } - [ConditionalFact] + [Fact] public virtual void Properties_specified_by_string_are_shadow_properties_unless_already_known_to_be_CLR_properties() { var modelBuilder = CreateModelBuilder(); @@ -693,7 +693,7 @@ public virtual void Properties_specified_by_string_are_shadow_properties_unless_ Assert.NotEqual(entityType.FindProperty("Gluon")!.GetShadowIndex(), entityType.FindProperty("Photon")!.GetShadowIndex()); } - [ConditionalFact] + [Fact] public virtual void Properties_can_be_made_concurrency_tokens() { var modelBuilder = CreateModelBuilder(); @@ -731,7 +731,7 @@ public virtual void Properties_can_be_made_concurrency_tokens() Assert.Equal(ChangeTrackingStrategy.ChangingAndChangedNotifications, entityType.GetChangeTrackingStrategy()); } - [ConditionalFact] + [Fact] public virtual void Properties_can_have_access_mode_set() { var modelBuilder = CreateModelBuilder(); @@ -753,7 +753,7 @@ public virtual void Properties_can_have_access_mode_set() Assert.Equal(PropertyAccessMode.FieldDuringConstruction, entityType.FindProperty("Strange")!.GetPropertyAccessMode()); } - [ConditionalFact] + [Fact] public virtual void Access_mode_can_be_overridden_at_entity_and_property_levels() { var modelBuilder = CreateModelBuilder(); @@ -786,7 +786,7 @@ public virtual void Access_mode_can_be_overridden_at_entity_and_property_levels( Assert.Equal(PropertyAccessMode.Property, quarksType.FindProperty("Up")!.GetPropertyAccessMode()); } - [ConditionalFact] + [Fact] public virtual void Properties_can_have_provider_type_set() => Properties_can_have_provider_type_set(); @@ -833,7 +833,7 @@ protected virtual void Properties_can_have_provider_type_set() Assert.IsType>(top.GetProviderValueComparer()); } - [ConditionalFact] + [Fact] public virtual void Properties_can_have_provider_type_set_for_type() { var modelBuilder = CreateModelBuilder(c => c.Properties().HaveConversion()); @@ -855,7 +855,7 @@ public virtual void Properties_can_have_provider_type_set_for_type() Assert.Same(typeof(byte[]), entityType.FindProperty("Strange")!.GetProviderClrType()); } - [ConditionalFact] + [Fact] public virtual void Properties_can_have_non_generic_value_converter_set() => Properties_can_have_non_generic_value_converter_set(); @@ -893,7 +893,7 @@ protected virtual void Properties_can_have_non_generic_value_converter_set Properties_can_have_custom_type_value_converter_type_set(); @@ -940,7 +940,7 @@ protected class UTF8StringToBytesConverter() : StringToBytesConverter(Encoding.U protected class CustomValueComparer() : ValueComparer(false); - [ConditionalFact] + [Fact] public virtual void Properties_can_have_value_converter_set_inline() { var modelBuilder = CreateModelBuilder(); @@ -979,7 +979,7 @@ public virtual void Properties_can_have_value_converter_set_inline() Assert.IsType>(strange.GetProviderValueComparer()); } - [ConditionalFact] + [Fact] public virtual void Properties_can_have_value_converter_set() { var modelBuilder = CreateModelBuilder(); @@ -1021,7 +1021,7 @@ public virtual void Properties_can_have_value_converter_set() Assert.IsType>(strange.GetProviderValueComparer()); } - [ConditionalFact] + [Fact] public virtual void IEnumerable_properties_with_value_converter_set_are_not_discovered_as_navigations() { var modelBuilder = CreateModelBuilder(); @@ -1058,7 +1058,7 @@ private class ExpandoObjectConverter() : ValueConverter( private class ExpandoObjectComparer() : ValueComparer((v1, v2) => v1!.SequenceEqual(v2!), v => v.GetHashCode()); - [ConditionalFact] + [Fact] public virtual void Properties_can_have_value_converter_configured_by_type() { var modelBuilder = CreateModelBuilder(c => @@ -1080,7 +1080,7 @@ public virtual void Properties_can_have_value_converter_configured_by_type() Assert.IsType>(wrappedProperty.GetValueComparer()); } - [ConditionalFact] + [Fact] public virtual void Value_converter_configured_on_non_nullable_type_is_applied() { var modelBuilder = CreateModelBuilder(c @@ -1100,7 +1100,7 @@ public virtual void Value_converter_configured_on_non_nullable_type_is_applied() Assert.IsType>(wierd.GetValueComparer()); } - [ConditionalFact] + [Fact] public virtual void Value_converter_configured_on_nullable_type_overrides_non_nullable() { var modelBuilder = CreateModelBuilder(c => @@ -1129,7 +1129,7 @@ public virtual void Value_converter_configured_on_nullable_type_overrides_non_nu Assert.IsType>(wierd.GetProviderValueComparer()); } - [ConditionalFact] + [Fact] public virtual void Value_converter_configured_on_base_type_is_not_applied() { var modelBuilder = CreateModelBuilder(c => @@ -1150,7 +1150,7 @@ public virtual void Value_converter_configured_on_base_type_is_not_applied() private class WrappedStringToStringConverter() : ValueConverter(v => v.Value!, v => new WrappedString { Value = v }); - [ConditionalFact] + [Fact] public virtual void Throws_for_conflicting_base_configurations_by_type() { var modelBuilder = CreateModelBuilder(c => @@ -1166,7 +1166,7 @@ public virtual void Throws_for_conflicting_base_configurations_by_type() Assert.Throws(() => modelBuilder.Entity()).Message); } - [ConditionalFact] + [Fact] public virtual void Value_converter_type_is_checked() { var modelBuilder = CreateModelBuilder(); @@ -1184,7 +1184,7 @@ public virtual void Value_converter_type_is_checked() Assert.Null(entityType.FindProperty("Up")!.GetValueConverter()); } - [ConditionalFact] + [Fact] public virtual void Properties_can_have_field_set() { var modelBuilder = CreateModelBuilder(); @@ -1204,7 +1204,7 @@ public virtual void Properties_can_have_field_set() Assert.Equal("_forWierd", entityType.FindProperty("_forWierd")!.GetFieldName()); } - [ConditionalFact] + [Fact] public virtual void HasField_throws_if_field_is_not_found() { var modelBuilder = CreateModelBuilder(); @@ -1217,7 +1217,7 @@ public virtual void HasField_throws_if_field_is_not_found() }); } - [ConditionalFact] + [Fact] public virtual void HasField_throws_if_field_is_wrong_type() { var modelBuilder = CreateModelBuilder(); @@ -1230,7 +1230,7 @@ public virtual void HasField_throws_if_field_is_wrong_type() }); } - [ConditionalFact] + [Fact] public virtual void Properties_can_be_set_to_generate_values_on_Add() { var modelBuilder = CreateModelBuilder(); @@ -1257,7 +1257,7 @@ public virtual void Properties_can_be_set_to_generate_values_on_Add() Assert.Equal(ValueGenerated.OnUpdate, entityType.FindProperty("Bottom")!.ValueGenerated); } - [ConditionalFact] + [Fact] public virtual void Properties_can_set_row_version() { var modelBuilder = CreateModelBuilder(); @@ -1283,7 +1283,7 @@ public virtual void Properties_can_set_row_version() Assert.True(entityType.FindProperty("Charm")!.IsConcurrencyToken); } - [ConditionalFact] + [Fact] public virtual void Can_set_max_length_for_properties() { var modelBuilder = CreateModelBuilder(); @@ -1310,7 +1310,7 @@ public virtual void Can_set_max_length_for_properties() Assert.Equal(100, entityType.FindProperty("Bottom")!.GetMaxLength()); } - [ConditionalFact] + [Fact] public virtual void Can_set_max_length_for_property_type() { var modelBuilder = CreateModelBuilder(c => @@ -1339,7 +1339,7 @@ public virtual void Can_set_max_length_for_property_type() Assert.Equal(100, entityType.FindProperty("Bottom")!.GetMaxLength()); } - [ConditionalFact] + [Fact] public virtual void Can_set_sentinel_for_properties() { var modelBuilder = CreateModelBuilder(); @@ -1366,7 +1366,7 @@ public virtual void Can_set_sentinel_for_properties() Assert.Null(entityType.FindProperty("Bottom")!.Sentinel); } - [ConditionalFact] + [Fact] public virtual void Setting_sentinel_throws_for_null_on_nonnullable() { var modelBuilder = CreateModelBuilder(); @@ -1381,7 +1381,7 @@ public virtual void Setting_sentinel_throws_for_null_on_nonnullable() }); } - [ConditionalFact] + [Fact] public virtual void Setting_sentinel_throws_for_noncompatible() { var modelBuilder = CreateModelBuilder(); @@ -1395,7 +1395,7 @@ public virtual void Setting_sentinel_throws_for_noncompatible() }); } - [ConditionalFact] + [Fact] public virtual void Can_set_sentinel_for_property_type() { var modelBuilder = CreateModelBuilder(c => @@ -1424,7 +1424,7 @@ public virtual void Can_set_sentinel_for_property_type() Assert.Equal("100", entityType.FindProperty("Bottom")!.Sentinel); } - [ConditionalFact] + [Fact] public virtual void Can_set_unbounded_max_length_for_property_type() { var modelBuilder = CreateModelBuilder(c => @@ -1453,7 +1453,7 @@ public virtual void Can_set_unbounded_max_length_for_property_type() Assert.Equal(-1, entityType.FindProperty("Bottom")!.GetMaxLength()); } - [ConditionalFact] + [Fact] public virtual void Can_set_precision_and_scale_for_properties() { var modelBuilder = CreateModelBuilder(); @@ -1487,7 +1487,7 @@ public virtual void Can_set_precision_and_scale_for_properties() Assert.Equal(10, entityType.FindProperty("Bottom")!.GetScale()); } - [ConditionalFact] + [Fact] public virtual void Can_set_precision_and_scale_for_property_type() { var modelBuilder = CreateModelBuilder(c => @@ -1523,7 +1523,7 @@ public virtual void Can_set_precision_and_scale_for_property_type() Assert.Equal(10, entityType.FindProperty("Bottom")!.GetScale()); } - [ConditionalFact] + [Fact] public virtual void Can_set_custom_value_generator_for_properties() { var modelBuilder = CreateModelBuilder(); @@ -1566,7 +1566,7 @@ public override ValueGenerator Create(IProperty property, ITypeBase entityType) => new CustomValueGenerator(); } - [ConditionalFact] + [Fact] public virtual void Throws_for_bad_value_generator_type() { var modelBuilder = CreateModelBuilder(); @@ -1579,7 +1579,7 @@ public virtual void Throws_for_bad_value_generator_type() }); } - [ConditionalFact] + [Fact] public virtual void Throws_for_value_generator_that_cannot_be_constructed() { var modelBuilder = CreateModelBuilder(); @@ -1617,13 +1617,13 @@ protected class StringCollectionEntity public ICollection? Property { get; set; } } - [ConditionalFact] + [Fact] public virtual void Object_cannot_be_configured_as_property() => Assert.Equal( CoreStrings.UnconfigurableType("Dictionary", "Property", "SharedTypeEntityType", "object"), Assert.Throws(() => CreateModelBuilder(c => c.Properties())).Message); - [ConditionalFact] + [Fact] public virtual void Property_bag_cannot_be_configured_as_property() { Assert.Equal( @@ -1639,7 +1639,7 @@ public virtual void Property_bag_cannot_be_configured_as_property() .Message); } - [ConditionalFact] + [Fact] protected virtual void Mapping_ignores_ignored_array() { var modelBuilder = CreateModelBuilder(); @@ -1651,7 +1651,7 @@ protected virtual void Mapping_ignores_ignored_array() Assert.Null(model.FindEntityType(typeof(OneDee))!.FindProperty("One")); } - [ConditionalFact] + [Fact] protected virtual void Mapping_ignores_ignored_two_dimensional_array() { var modelBuilder = CreateModelBuilder(); @@ -1663,7 +1663,7 @@ protected virtual void Mapping_ignores_ignored_two_dimensional_array() Assert.Null(model.FindEntityType(typeof(TwoDee))!.FindProperty("Two")); } - [ConditionalFact] + [Fact] protected virtual void Mapping_throws_for_non_ignored_three_dimensional_array() { var modelBuilder = CreateModelBuilder(); @@ -1676,7 +1676,7 @@ protected virtual void Mapping_throws_for_non_ignored_three_dimensional_array() Assert.Throws(modelBuilder.FinalizeModel).Message); } - [ConditionalFact] + [Fact] protected virtual void Mapping_ignores_ignored_three_dimensional_array() { var modelBuilder = CreateModelBuilder(); @@ -1688,7 +1688,7 @@ protected virtual void Mapping_ignores_ignored_three_dimensional_array() Assert.Null(model.FindEntityType(typeof(ThreeDee))!.FindProperty("Three")); } - [ConditionalFact] + [Fact] public virtual void Private_property_is_not_discovered_by_convention() { var modelBuilder = CreateModelBuilder(); @@ -1703,7 +1703,7 @@ public virtual void Private_property_is_not_discovered_by_convention() p => p.Name == "PrivateProperty"); } - [ConditionalFact] + [Fact] protected virtual void Throws_for_int_keyed_dictionary() { var modelBuilder = CreateModelBuilder(); @@ -1722,7 +1722,7 @@ protected class IntDict public Dictionary? Notes { get; set; } } - [ConditionalFact] + [Fact] public virtual void Can_set_unicode_for_properties() { var modelBuilder = CreateModelBuilder(); @@ -1749,7 +1749,7 @@ public virtual void Can_set_unicode_for_properties() Assert.False(entityType.FindProperty("Bottom")!.IsUnicode()); } - [ConditionalFact] + [Fact] public virtual void Can_set_unicode_for_property_type() { var modelBuilder = CreateModelBuilder(c => @@ -1778,7 +1778,7 @@ public virtual void Can_set_unicode_for_property_type() Assert.False(entityType.FindProperty("Bottom")!.IsUnicode()); } - [ConditionalFact] + [Fact] public virtual void PropertyBuilder_methods_can_be_chained() => CreateModelBuilder() .Entity() @@ -1801,7 +1801,7 @@ public virtual void PropertyBuilder_methods_can_be_chained() .HasValueGenerator((_, __) => null!) .IsRequired(); - [ConditionalFact] + [Fact] public virtual void Can_add_index() { var modelBuilder = CreateModelBuilder(); @@ -1818,7 +1818,7 @@ public virtual void Can_add_index() Assert.Equal(Customer.NameProperty.Name, index.Properties.Single().Name); } - [ConditionalFact] + [Fact] public virtual void Can_add_index_when_no_clr_property() { var modelBuilder = CreateModelBuilder(); @@ -1838,7 +1838,7 @@ public virtual void Can_add_index_when_no_clr_property() Assert.Equal("Index", index.Properties.Single().Name); } - [ConditionalFact] + [Fact] public virtual void Can_add_multiple_indexes() { var modelBuilder = CreateModelBuilder(); @@ -1869,7 +1869,7 @@ public virtual void Can_add_multiple_indexes() Assert.Equal([], descendingIndex.IsDescending); } - [ConditionalFact] + [Fact] public virtual void Can_add_contained_indexes() { var modelBuilder = CreateModelBuilder(); @@ -1887,7 +1887,7 @@ public virtual void Can_add_contained_indexes() Assert.False(secondIndexBuilder.Metadata.IsUnique); } - [ConditionalFact] + [Fact] public virtual void Can_set_primary_key_by_convention_for_user_specified_shadow_property() { var modelBuilder = CreateModelBuilder(); @@ -1905,7 +1905,7 @@ public virtual void Can_set_primary_key_by_convention_for_user_specified_shadow_ Assert.Equal(["Id"], entityType.FindPrimaryKey()!.Properties.Select(p => p.Name)); } - [ConditionalFact] + [Fact] public virtual void Can_ignore_explicit_interface_implementation_property() { var modelBuilder = CreateModelBuilder(); @@ -1922,7 +1922,7 @@ public virtual void Can_ignore_explicit_interface_implementation_property() modelBuilder.Model.FindEntityType(typeof(EntityBase))!.GetProperties().Select(p => p.Name)); } - [ConditionalFact] + [Fact] public virtual void Can_set_key_on_an_entity_with_fields() { var modelBuilder = CreateModelBuilder(); @@ -1939,7 +1939,7 @@ public virtual void Can_set_key_on_an_entity_with_fields() Assert.NotNull(property.FieldInfo); } - [ConditionalFact] + [Fact] public virtual void Can_set_composite_key_on_an_entity_with_fields() { var modelBuilder = CreateModelBuilder(); @@ -1960,7 +1960,7 @@ public virtual void Can_set_composite_key_on_an_entity_with_fields() Assert.NotNull(second.FieldInfo); } - [ConditionalFact] + [Fact] public virtual void Can_set_alternate_key_on_an_entity_with_fields() { var modelBuilder = CreateModelBuilder(); @@ -1979,7 +1979,7 @@ public virtual void Can_set_alternate_key_on_an_entity_with_fields() Assert.Equal(properties, key.Properties); } - [ConditionalFact] + [Fact] public virtual void Can_set_composite_alternate_key_on_an_entity_with_fields() { var modelBuilder = CreateModelBuilder(); @@ -2001,7 +2001,7 @@ public virtual void Can_set_composite_alternate_key_on_an_entity_with_fields() Assert.NotNull(second.FieldInfo); } - [ConditionalFact] + [Fact] public virtual void Can_call_Property_on_an_entity_with_fields() { var modelBuilder = CreateModelBuilder(); @@ -2016,7 +2016,7 @@ public virtual void Can_call_Property_on_an_entity_with_fields() Assert.NotNull(property.FieldInfo); } - [ConditionalFact] + [Fact] public virtual void Can_set_index_on_an_entity_with_fields() { var modelBuilder = CreateModelBuilder(); @@ -2031,7 +2031,7 @@ public virtual void Can_set_index_on_an_entity_with_fields() Assert.NotNull(property.FieldInfo); } - [ConditionalFact] + [Fact] public virtual void Can_set_composite_index_on_an_entity_with_fields() { var modelBuilder = CreateModelBuilder(); @@ -2053,7 +2053,7 @@ public virtual void Can_set_composite_index_on_an_entity_with_fields() Assert.NotNull(second.FieldInfo); } - [ConditionalFact] + [Fact] public virtual void Can_ignore_a_field_on_an_entity_with_fields() { var modelBuilder = CreateModelBuilder(); @@ -2068,7 +2068,7 @@ public virtual void Can_ignore_a_field_on_an_entity_with_fields() Assert.Equal(nameof(EntityWithFields.Id), property.Name); } - [ConditionalFact] + [Fact] public virtual void Can_ignore_a_field_on_a_keyless_entity_with_fields() { var modelBuilder = CreateModelBuilder(); @@ -2084,7 +2084,7 @@ public virtual void Can_ignore_a_field_on_a_keyless_entity_with_fields() Assert.Equal(nameof(KeylessEntityWithFields.LastName), property.Name); } - [ConditionalFact] + [Fact] public virtual void Can_add_seed_data_objects() { var modelBuilder = CreateModelBuilder(); @@ -2109,7 +2109,7 @@ public virtual void Can_add_seed_data_objects() var _ = finalModel.ToDebugString(); } - [ConditionalFact] + [Fact] public virtual void Can_add_seed_data_anonymous_objects() { var modelBuilder = CreateModelBuilder(); @@ -2131,7 +2131,7 @@ public virtual void Can_add_seed_data_anonymous_objects() Assert.Equal(-2, data.Last().Values.Single()); } - [ConditionalFact] + [Fact] public virtual void Can_add_seed_data_objects_indexed_property() { var modelBuilder = CreateModelBuilder(); @@ -2153,7 +2153,7 @@ public virtual void Can_add_seed_data_objects_indexed_property() Assert.Null(data["Optional"]); } - [ConditionalFact] + [Fact] public virtual void Can_add_seed_data_anonymous_objects_indexed_property() { var modelBuilder = CreateModelBuilder(); @@ -2174,7 +2174,7 @@ public virtual void Can_add_seed_data_anonymous_objects_indexed_property() Assert.False(data.ContainsKey("Optional")); } - [ConditionalFact] + [Fact] public virtual void Can_add_seed_data_objects_indexed_property_dictionary() { var modelBuilder = CreateModelBuilder(); @@ -2195,7 +2195,7 @@ public virtual void Can_add_seed_data_objects_indexed_property_dictionary() Assert.Null(data["Optional"]); } - [ConditionalFact] + [Fact] public virtual void Can_add_seed_data_anonymous_objects_indexed_property_dictionary() { var modelBuilder = CreateModelBuilder(); @@ -2215,7 +2215,7 @@ public virtual void Can_add_seed_data_anonymous_objects_indexed_property_diction Assert.False(data.ContainsKey("Optional")); } - [ConditionalFact, UseCulture("de-DE")] //Issue#12617 + [Fact, UseCulture("de-DE")] //Issue#12617 public virtual void EntityType_name_is_stored_culture_invariantly() { var modelBuilder = CreateModelBuilder(); @@ -2241,7 +2241,7 @@ protected class Entityss public Entityß? Navigationss { get; set; } } - [ConditionalFact] + [Fact] public virtual void Can_add_shared_type_entity_type() { var modelBuilder = CreateModelBuilder(); @@ -2283,7 +2283,7 @@ public virtual void Can_add_shared_type_entity_type() Assert.Same(indexer, shared2.FindIndexerPropertyInfo()); } - [ConditionalFact] + [Fact] public virtual void Cannot_add_shared_type_when_non_shared_exists() { var modelBuilder = CreateModelBuilder(); @@ -2295,7 +2295,7 @@ public virtual void Cannot_add_shared_type_when_non_shared_exists() Assert.Throws(() => modelBuilder.SharedTypeEntity("Shared1")).Message); } - [ConditionalFact] + [Fact] public virtual void Can_set_primitive_collection_annotation() { var modelBuilder = CreateModelBuilder(); @@ -2310,7 +2310,7 @@ public virtual void Can_set_primitive_collection_annotation() Assert.Equal("bar", property["foo"]); } - [ConditionalFact] + [Fact] public virtual void Can_set_primitive_collection_annotation_when_no_clr_property() { var modelBuilder = CreateModelBuilder(); @@ -2325,7 +2325,7 @@ public virtual void Can_set_primitive_collection_annotation_when_no_clr_property Assert.Equal("bar", property["foo"]); } - [ConditionalFact] + [Fact] public virtual void Can_set_primitive_collection_annotation_by_type() { var modelBuilder = CreateModelBuilder(c => c.Properties().HaveAnnotation("foo", "bar")); @@ -2340,7 +2340,7 @@ public virtual void Can_set_primitive_collection_annotation_by_type() Assert.Equal("bar", property["foo"]); } - [ConditionalFact] + [Fact] public virtual void Primitive_collections_are_required_by_default_only_if_CLR_type_is_nullable() { var modelBuilder = CreateModelBuilder(); @@ -2361,7 +2361,7 @@ public virtual void Primitive_collections_are_required_by_default_only_if_CLR_ty Assert.True(entityType.FindProperty("Strange")!.IsNullable); } - [ConditionalFact] + [Fact] public virtual void Primitive_collections_can_be_ignored() { var modelBuilder = CreateModelBuilder(); @@ -2380,7 +2380,7 @@ public virtual void Primitive_collections_can_be_ignored() Assert.DoesNotContain(nameof(CollectionQuarks.Down), entityType.GetProperties().Select(p => p.Name)); } - [ConditionalFact] + [Fact] public virtual void Can_override_navigations_as_primitive_collections() { var modelBuilder = CreateModelBuilder(); @@ -2398,7 +2398,7 @@ public virtual void Can_override_navigations_as_primitive_collections() Assert.NotNull(property.GetElementType()); } - [ConditionalFact] + [Fact] public virtual void Primitive_collections_can_be_made_required() { var modelBuilder = CreateModelBuilder(); @@ -2420,7 +2420,7 @@ public virtual void Primitive_collections_can_be_made_required() Assert.False(entityType.FindProperty("Strange")!.IsNullable); } - [ConditionalFact] + [Fact] public virtual void Primitive_collections_can_be_made_optional() { var modelBuilder = CreateModelBuilder(); @@ -2442,7 +2442,7 @@ public virtual void Primitive_collections_can_be_made_optional() Assert.True(entityType.FindProperty("Strange")!.IsNullable); } - [ConditionalFact] + [Fact] public virtual void PrimitiveCollection_Key_properties_cannot_be_made_optional() => Assert.Equal( CoreStrings.KeyPropertyCannotBeNullable( @@ -2454,7 +2454,7 @@ public virtual void PrimitiveCollection_Key_properties_cannot_be_made_optional() b.PrimitiveCollection(e => e.Down).IsRequired(false); })).Message); - [ConditionalFact] + [Fact] public virtual void Primitive_collections_specified_by_string_are_shadow_properties_unless_already_known_to_be_CLR_properties() { var modelBuilder = CreateModelBuilder(); @@ -2481,7 +2481,7 @@ public virtual void Primitive_collections_specified_by_string_are_shadow_propert Assert.NotEqual(-1, entityType.FindProperty("Strange")!.GetShadowIndex()); } - [ConditionalFact] + [Fact] public virtual void Primitive_collections_can_be_made_concurrency_tokens() { var modelBuilder = CreateModelBuilder(); @@ -2506,7 +2506,7 @@ public virtual void Primitive_collections_can_be_made_concurrency_tokens() Assert.Equal(ChangeTrackingStrategy.ChangingAndChangedNotifications, entityType.GetChangeTrackingStrategy()); } - [ConditionalFact] + [Fact] public virtual void Primitive_collections_can_have_access_mode_set() { var modelBuilder = CreateModelBuilder(); @@ -2529,7 +2529,7 @@ public virtual void Primitive_collections_can_have_access_mode_set() Assert.Equal(PropertyAccessMode.FieldDuringConstruction, entityType.FindProperty("Strange")!.GetPropertyAccessMode()); } - [ConditionalFact] + [Fact] public virtual void Access_mode_can_be_overridden_at_entity_and_primitive_collection_levels() { var modelBuilder = CreateModelBuilder(); @@ -2552,7 +2552,7 @@ public virtual void Access_mode_can_be_overridden_at_entity_and_primitive_collec Assert.Equal(PropertyAccessMode.Property, collectionQuarksType.FindProperty("Up")!.GetPropertyAccessMode()); } - [ConditionalFact] + [Fact] public virtual void Primitive_collections_can_have_field_set() { var modelBuilder = CreateModelBuilder(); @@ -2572,7 +2572,7 @@ public virtual void Primitive_collections_can_have_field_set() Assert.Equal("_forWierd", entityType.FindProperty("_forWierd")!.GetFieldName()); } - [ConditionalFact] + [Fact] public virtual void HasField_for_primitive_collection_throws_if_field_is_not_found() { var modelBuilder = CreateModelBuilder(); @@ -2585,7 +2585,7 @@ public virtual void HasField_for_primitive_collection_throws_if_field_is_not_fou }); } - [ConditionalFact] + [Fact] public virtual void HasField_for_primitive_collection_throws_if_field_is_wrong_type() { var modelBuilder = CreateModelBuilder(); @@ -2600,7 +2600,7 @@ public virtual void HasField_for_primitive_collection_throws_if_field_is_wrong_t }); } - [ConditionalFact] + [Fact] public virtual void Primitive_collections_can_be_set_to_generate_values_on_Add() { var modelBuilder = CreateModelBuilder(); @@ -2626,7 +2626,7 @@ public virtual void Primitive_collections_can_be_set_to_generate_values_on_Add() Assert.Equal(ValueGenerated.OnUpdate, entityType.FindProperty("Bottom")!.ValueGenerated); } - [ConditionalFact] + [Fact] public virtual void Can_set_max_length_for_primitive_collections() { var modelBuilder = CreateModelBuilder(); @@ -2653,7 +2653,7 @@ public virtual void Can_set_max_length_for_primitive_collections() Assert.Equal(100, entityType.FindProperty("Bottom")!.GetMaxLength()); } - [ConditionalFact] + [Fact] public virtual void Can_set_sentinel_for_primitive_collections() { var modelBuilder = CreateModelBuilder(); @@ -2680,7 +2680,7 @@ public virtual void Can_set_sentinel_for_primitive_collections() Assert.Equal(new List { "" }, entityType.FindProperty("Bottom")!.Sentinel); } - [ConditionalFact] + [Fact] public virtual void Can_set_custom_value_generator_for_primitive_collections() { var modelBuilder = CreateModelBuilder(); @@ -2706,7 +2706,7 @@ public virtual void Can_set_custom_value_generator_for_primitive_collections() Assert.IsType(entityType.FindProperty("Bottom")!.GetValueGeneratorFactory()!(null!, null!)); } - [ConditionalFact] + [Fact] public virtual void Throws_for_bad_value_generator_type_for_primitive_collection() { var modelBuilder = CreateModelBuilder(); @@ -2720,7 +2720,7 @@ public virtual void Throws_for_bad_value_generator_type_for_primitive_collection }); } - [ConditionalFact] + [Fact] public virtual void Throws_for_primitive_collection_for_value_generator_that_cannot_be_constructed() { var modelBuilder = CreateModelBuilder(); @@ -2745,7 +2745,7 @@ public virtual void Throws_for_primitive_collection_for_value_generator_that_can .Message); } - [ConditionalFact] + [Fact] public virtual void Nested_primitive_collection_are_discovered_by_convention() { var modelBuilder = CreateModelBuilder(); @@ -2760,7 +2760,7 @@ public virtual void Nested_primitive_collection_are_discovered_by_convention() p => p.Name == "PrivateCollection"); } - [ConditionalFact] + [Fact] protected virtual void Mapping_for_primitive_collection_ignores_ignored_array() { var modelBuilder = CreateModelBuilder(); @@ -2772,7 +2772,7 @@ protected virtual void Mapping_for_primitive_collection_ignores_ignored_array() Assert.Null(model.FindEntityType(typeof(OneDee))!.FindProperty("One")); } - [ConditionalFact] + [Fact] public virtual void Private_primitive_collection_is_not_discovered_by_convention() { var modelBuilder = CreateModelBuilder(); @@ -2787,7 +2787,7 @@ public virtual void Private_primitive_collection_is_not_discovered_by_convention p => p.Name == "PrivateCollection"); } - [ConditionalFact] + [Fact] public virtual void Can_set_unicode_for_primitive_collections() { var modelBuilder = CreateModelBuilder(); @@ -2814,7 +2814,7 @@ public virtual void Can_set_unicode_for_primitive_collections() Assert.False(entityType.FindProperty("Bottom")!.IsUnicode()); } - [ConditionalFact] + [Fact] public virtual void PrimitiveCollectionBuilder_methods_can_be_chained() => CreateModelBuilder() .Entity() @@ -2851,7 +2851,7 @@ public virtual void PrimitiveCollectionBuilder_methods_can_be_chained() .HasValueGeneratorFactory() .HasValueGeneratorFactory(typeof(CustomValueGeneratorFactory)); - [ConditionalFact] + [Fact] public virtual void Can_set_primary_key_by_convention_for_user_specified_shadow_primitive_collection() { var modelBuilder = CreateModelBuilder(); @@ -2869,7 +2869,7 @@ public virtual void Can_set_primary_key_by_convention_for_user_specified_shadow_ Assert.Equal(["Id"], entityType.FindPrimaryKey()!.Properties.Select(p => p.Name)); } - [ConditionalFact] + [Fact] public virtual void Can_set_key_for_primitive_collection_on_an_entity_with_fields() { var modelBuilder = CreateModelBuilder(); @@ -2886,7 +2886,7 @@ public virtual void Can_set_key_for_primitive_collection_on_an_entity_with_field Assert.NotNull(property.FieldInfo); } - [ConditionalFact] + [Fact] public virtual void Can_set_composite_key_for_primitive_collection_on_an_entity_with_fields() { var modelBuilder = CreateModelBuilder(); @@ -2914,7 +2914,7 @@ public virtual void Can_set_composite_key_for_primitive_collection_on_an_entity_ Assert.NotNull(second.GetElementType()); } - [ConditionalFact] + [Fact] public virtual void Can_set_alternate_key_for_primitive_collection_on_an_entity_with_fields() { var modelBuilder = CreateModelBuilder(); @@ -2939,7 +2939,7 @@ public virtual void Can_set_alternate_key_for_primitive_collection_on_an_entity_ Assert.Single(keys, k => k.Properties.All(p => p == property)); } - [ConditionalFact] + [Fact] public virtual void Can_call_PrimitiveCollection_on_an_entity_with_fields() { var modelBuilder = CreateModelBuilder(); @@ -2955,7 +2955,7 @@ public virtual void Can_call_PrimitiveCollection_on_an_entity_with_fields() Assert.NotNull(property.GetElementType()); } - [ConditionalFact] + [Fact] public virtual void Can_set_element_type_annotation() { var modelBuilder = CreateModelBuilder(); @@ -2975,7 +2975,7 @@ public virtual void Can_set_element_type_annotation() Assert.Equal("bar", elementType["foo"]); } - [ConditionalFact] + [Fact] public virtual void Element_types_are_nullable_by_default_if_the_type_is_nullable() { var modelBuilder = CreateModelBuilder(); @@ -2998,7 +2998,7 @@ public virtual void Element_types_are_nullable_by_default_if_the_type_is_nullabl Assert.True(entityType.FindProperty("Stranger")!.GetElementType()!.IsNullable); } - [ConditionalFact] + [Fact] public virtual void Element_types_can_be_made_required() { var modelBuilder = CreateModelBuilder(); @@ -3022,7 +3022,7 @@ public virtual void Element_types_can_be_made_required() Assert.False(entityType.FindProperty("Stranger")!.GetElementType()!.IsNullable); } - [ConditionalFact] + [Fact] public virtual void Element_types_have_no_max_length_by_default() { var modelBuilder = CreateModelBuilder(); @@ -3043,7 +3043,7 @@ public virtual void Element_types_have_no_max_length_by_default() Assert.Null(entityType.FindProperty("Stranger")!.GetElementType()!.GetMaxLength()); } - [ConditionalFact] + [Fact] public virtual void Element_types_can_have_max_length() { var modelBuilder = CreateModelBuilder(); @@ -3065,7 +3065,7 @@ public virtual void Element_types_can_have_max_length() Assert.Equal(int.MaxValue, entityType.FindProperty("Stranger")!.GetElementType()!.GetMaxLength()); } - [ConditionalFact] + [Fact] public virtual void Element_types_have_default_precision_and_scale() { var modelBuilder = CreateModelBuilder(); @@ -3096,7 +3096,7 @@ public virtual void Element_types_have_default_precision_and_scale() Assert.Null(property.GetElementType()!.GetScale()); } - [ConditionalFact] + [Fact] public virtual void Element_types_can_have_precision_and_scale() { var modelBuilder = CreateModelBuilder(); @@ -3131,7 +3131,7 @@ public virtual void Element_types_can_have_precision_and_scale() Assert.Null(elementType.GetScale()); } - [ConditionalFact] + [Fact] public virtual void Element_types_have_default_unicode() { var modelBuilder = CreateModelBuilder(); @@ -3152,7 +3152,7 @@ public virtual void Element_types_have_default_unicode() Assert.Null(entityType.FindProperty("Stranger")!.GetElementType()!.IsUnicode()); } - [ConditionalFact] + [Fact] public virtual void Element_types_can_have_unicode_set() { var modelBuilder = CreateModelBuilder(); @@ -3174,7 +3174,7 @@ public virtual void Element_types_can_have_unicode_set() Assert.False(entityType.FindProperty("Stranger")!.GetElementType()!.IsUnicode()); } - [ConditionalFact] + [Fact] public virtual void Conversion_on_base_property_prevents_primitive_collection() { var modelBuilder = CreateModelBuilder(); @@ -3193,7 +3193,7 @@ public virtual void Conversion_on_base_property_prevents_primitive_collection() Assert.NotNull(property.GetValueConverter()); } - [ConditionalFact] + [Fact] public virtual void Conversion_on_base_property_prevents_primitive_collection_when_base_first() { var modelBuilder = CreateModelBuilder(); @@ -3216,7 +3216,7 @@ public virtual void Conversion_on_base_property_prevents_primitive_collection_wh Assert.NotNull(property.GetValueConverter()); } - [ConditionalFact] + [Fact] public virtual void Element_types_can_have_provider_type_set() { var modelBuilder = CreateModelBuilder(); @@ -3253,7 +3253,7 @@ public virtual void Element_types_can_have_provider_type_set() Assert.IsType>(top.GetValueComparer()); } - [ConditionalFact] + [Fact] public virtual void Element_types_can_have_non_generic_value_converter_set() { var modelBuilder = CreateModelBuilder(); @@ -3286,7 +3286,7 @@ public virtual void Element_types_can_have_non_generic_value_converter_set() Assert.Null(entityType.FindProperty("Strange")!.GetElementType()!.GetValueConverter()); } - [ConditionalFact] + [Fact] public virtual void Element_types_can_have_custom_type_value_converter_type_set() { var modelBuilder = CreateModelBuilder(); @@ -3329,7 +3329,7 @@ public virtual void Element_types_can_have_custom_type_value_converter_type_set( Assert.IsType>(top.GetValueComparer()); } - [ConditionalFact] + [Fact] public virtual void Primitive_collections_can_have_value_converter_set() { var modelBuilder = CreateModelBuilder(); @@ -3366,7 +3366,7 @@ public virtual void Primitive_collections_can_have_value_converter_set() Assert.IsType>(strange.GetValueComparer()); } - [ConditionalFact] + [Fact] public virtual void Value_converter_type_on_primitive_collection_is_checked() { var modelBuilder = CreateModelBuilder(); diff --git a/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.OneToMany.cs b/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.OneToMany.cs index abe9823f6bc..a11063f2f0f 100644 --- a/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.OneToMany.cs +++ b/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.OneToMany.cs @@ -11,7 +11,7 @@ public abstract partial class ModelBuilderTest { public abstract class OneToManyTestBase(ModelBuilderFixtureBase fixture) : ModelBuilderTestBase(fixture) { - [ConditionalFact] + [Fact] public virtual void Finds_existing_navigations_and_uses_associated_FK() { var modelBuilder = CreateModelBuilder(); @@ -61,7 +61,7 @@ public virtual void Finds_existing_navigations_and_uses_associated_FK() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Finds_existing_navigations_and_uses_associated_FK_with_fields() { var modelBuilder = CreateModelBuilder(); @@ -127,7 +127,7 @@ public virtual void Finds_existing_navigations_and_uses_associated_FK_with_field Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Finds_existing_navigation_to_principal_and_uses_associated_FK() { var modelBuilder = CreateModelBuilder(); @@ -170,7 +170,7 @@ public virtual void Finds_existing_navigation_to_principal_and_uses_associated_F Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Finds_existing_navigation_to_dependent_and_uses_associated_FK() { var modelBuilder = CreateModelBuilder(); @@ -214,7 +214,7 @@ public virtual void Finds_existing_navigation_to_dependent_and_uses_associated_F Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_uses_existing_FK() { var modelBuilder = CreateModelBuilder(); @@ -261,7 +261,7 @@ public virtual void Creates_both_navigations_and_uses_existing_FK() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_relationship_with_both_navigations() { var modelBuilder = CreateModelBuilder(); @@ -309,7 +309,7 @@ public virtual void Creates_relationship_with_both_navigations() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_relationship_with_navigation_to_dependent() { var modelBuilder = CreateModelBuilder(); @@ -349,7 +349,7 @@ public virtual void Creates_relationship_with_navigation_to_dependent() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_relationship_with_navigation_to_principal() { var modelBuilder = CreateModelBuilder(); @@ -390,7 +390,7 @@ public virtual void Creates_relationship_with_navigation_to_principal() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_relationship_with_no_navigations() { var modelBuilder = CreateModelBuilder(); @@ -437,7 +437,7 @@ public virtual void Creates_relationship_with_no_navigations() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_uses_specified_FK_even_if_found_by_convention() { var modelBuilder = CreateModelBuilder(); @@ -487,7 +487,7 @@ public virtual void Creates_both_navigations_and_uses_specified_FK_even_if_found Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_uses_existing_FK_not_found_by_convention() { var modelBuilder = CreateModelBuilder(); @@ -534,7 +534,7 @@ public virtual void Creates_both_navigations_and_uses_existing_FK_not_found_by_c Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_creates_FK_specified() { var modelBuilder = CreateModelBuilder(); @@ -581,7 +581,7 @@ public virtual void Creates_both_navigations_and_creates_FK_specified() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_specified_FK_with_navigation_to_dependent() { var modelBuilder = CreateModelBuilder(); @@ -625,7 +625,7 @@ public virtual void Creates_specified_FK_with_navigation_to_dependent() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_specified_FK_with_navigation_to_principal() { var modelBuilder = CreateModelBuilder(); @@ -667,7 +667,7 @@ public virtual void Creates_specified_FK_with_navigation_to_principal() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_relationship_with_no_navigations_and_specified_FK() { var modelBuilder = CreateModelBuilder(); @@ -713,7 +713,7 @@ public virtual void Creates_relationship_with_no_navigations_and_specified_FK() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_creates_shadow_FK() { var modelBuilder = CreateModelBuilder(); @@ -761,7 +761,7 @@ public virtual void Creates_both_navigations_and_creates_shadow_FK() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_shadow_FK_with_navigation_to_dependent() { var modelBuilder = CreateModelBuilder(); @@ -805,7 +805,7 @@ public virtual void Creates_shadow_FK_with_navigation_to_dependent() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_shadow_FK_with_navigation_to_principal() { var modelBuilder = CreateModelBuilder(); @@ -850,7 +850,7 @@ public virtual void Creates_shadow_FK_with_navigation_to_principal() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_shadow_FK_with_no_navigation() { var modelBuilder = CreateModelBuilder(); @@ -896,7 +896,7 @@ public virtual void Creates_shadow_FK_with_no_navigation() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_matches_shadow_FK_property_by_convention() { var modelBuilder = CreateModelBuilder(); @@ -941,7 +941,7 @@ public virtual void Creates_both_navigations_and_matches_shadow_FK_property_by_c Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_overrides_existing_FK_when_uniqueness_does_not_match() { var modelBuilder = CreateModelBuilder(); @@ -990,7 +990,7 @@ public virtual void Creates_both_navigations_and_overrides_existing_FK_when_uniq Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Resolves_ambiguous_navigations() { var modelBuilder = CreateModelBuilder(); @@ -1004,7 +1004,7 @@ public virtual void Resolves_ambiguous_navigations() Assert.Equal(2, model.FindEntityType(typeof(Friendship)).GetNavigations().Count()); } - [ConditionalFact] + [Fact] public virtual void Can_use_explicitly_specified_PK() { var modelBuilder = CreateModelBuilder(); @@ -1057,7 +1057,7 @@ public virtual void Can_use_explicitly_specified_PK() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_use_non_PK_principal() { var modelBuilder = CreateModelBuilder(); @@ -1114,7 +1114,7 @@ public virtual void Can_use_non_PK_principal() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Throws_on_keyless_type_as_principal() { var modelBuilder = CreateModelBuilder(); @@ -1132,7 +1132,7 @@ public virtual void Throws_on_keyless_type_as_principal() .WithOne(o => o.Customer)).Message); } - [ConditionalFact] + [Fact] public virtual void Keyless_type_with_unmapped_collection_navigations_does_not_throw() { var modelBuilder = CreateModelBuilder(); @@ -1149,7 +1149,7 @@ public virtual void Keyless_type_with_unmapped_collection_navigations_does_not_t Assert.Null(model.FindEntityType(typeof(Order))); } - [ConditionalFact] + [Fact] public virtual void Keyless_type_discovered_before_referenced_entity_type_does_not_leave_temp_id() { var modelBuilder = CreateModelBuilder(); @@ -1171,7 +1171,7 @@ public virtual void Keyless_type_discovered_before_referenced_entity_type_does_n Assert.Same(keyless, customerNavigation.ForeignKey.DeclaringEntityType); } - [ConditionalFact] + [Fact] public virtual void Can_have_both_convention_properties_specified() { var modelBuilder = CreateModelBuilder(); @@ -1224,7 +1224,7 @@ public virtual void Can_have_both_convention_properties_specified() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_have_both_convention_properties_specified_in_any_order() { var modelBuilder = CreateModelBuilder(); @@ -1277,7 +1277,7 @@ public virtual void Can_have_both_convention_properties_specified_in_any_order() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_have_FK_by_convention_specified_with_explicit_principal_key() { var modelBuilder = CreateModelBuilder(); @@ -1332,7 +1332,7 @@ public virtual void Can_have_FK_by_convention_specified_with_explicit_principal_ Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_have_FK_by_convention_specified_with_explicit_principal_key_in_any_order() { var modelBuilder = CreateModelBuilder(); @@ -1387,7 +1387,7 @@ public virtual void Can_have_FK_by_convention_specified_with_explicit_principal_ Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_have_FK_semi_specified_with_explicit_PK() { var modelBuilder = CreateModelBuilder(); @@ -1445,7 +1445,7 @@ public virtual void Can_have_FK_semi_specified_with_explicit_PK() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_specify_requiredness_after_OnDelete() { var modelBuilder = CreateModelBuilder(); @@ -1499,7 +1499,7 @@ public virtual void Can_specify_requiredness_after_OnDelete() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_have_principal_key_by_convention_specified_with_explicit_PK() { var modelBuilder = CreateModelBuilder(); @@ -1554,7 +1554,7 @@ public virtual void Can_have_principal_key_by_convention_specified_with_explicit Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_have_principal_key_by_convention_specified_with_explicit_PK_in_any_order() { var modelBuilder = CreateModelBuilder(); @@ -1609,7 +1609,7 @@ public virtual void Can_have_principal_key_by_convention_specified_with_explicit Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_have_principal_key_by_convention_replaced_with_primary_key() { var modelBuilder = CreateModelBuilder(); @@ -1662,7 +1662,7 @@ public virtual void Can_have_principal_key_by_convention_replaced_with_primary_k Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Principal_key_by_convention_is_not_replaced_with_new_incompatible_primary_key() { var modelBuilder = CreateModelBuilder(); @@ -1716,7 +1716,7 @@ public virtual void Principal_key_by_convention_is_not_replaced_with_new_incompa Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Explicit_principal_key_is_not_replaced_with_new_primary_key() { var modelBuilder = CreateModelBuilder(); @@ -1764,7 +1764,7 @@ public virtual void Explicit_principal_key_is_not_replaced_with_new_primary_key( Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_uses_existing_composite_FK() { var modelBuilder = CreateModelBuilder(); @@ -1810,7 +1810,7 @@ public virtual void Creates_both_navigations_and_uses_existing_composite_FK() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_creates_composite_FK_specified() { var modelBuilder = CreateModelBuilder(); @@ -1860,7 +1860,7 @@ public virtual void Creates_both_navigations_and_creates_composite_FK_specified( Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_use_alternate_composite_key() { var modelBuilder = CreateModelBuilder(); @@ -1920,7 +1920,7 @@ public virtual void Can_use_alternate_composite_key() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_use_alternate_composite_key_in_any_order() { var modelBuilder = CreateModelBuilder(); @@ -1980,7 +1980,7 @@ public virtual void Can_use_alternate_composite_key_in_any_order() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_specified_composite_FK_with_navigation_to_dependent() { var modelBuilder = CreateModelBuilder(); @@ -2031,7 +2031,7 @@ public virtual void Creates_specified_composite_FK_with_navigation_to_dependent( Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_specified_composite_FK_with_navigation_to_principal() { var modelBuilder = CreateModelBuilder(); @@ -2076,7 +2076,7 @@ public virtual void Creates_specified_composite_FK_with_navigation_to_principal( Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_relationship_with_no_navigations_and_specified_composite_FK() { var modelBuilder = CreateModelBuilder(); @@ -2126,7 +2126,7 @@ public virtual void Creates_relationship_with_no_navigations_and_specified_compo Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_relationship_on_existing_FK_is_using_different_principal_key() { var modelBuilder = CreateModelBuilder(); @@ -2180,7 +2180,7 @@ public virtual void Creates_relationship_on_existing_FK_is_using_different_princ Assert.Throws(() => modelBuilder.FinalizeModel()).Message); } - [ConditionalFact] + [Fact] public virtual void Creates_relationship_on_existing_FK_is_using_different_principal_key_different_order() { var modelBuilder = CreateModelBuilder(); @@ -2226,7 +2226,7 @@ public virtual void Creates_relationship_on_existing_FK_is_using_different_princ } } - [ConditionalFact] + [Fact] public virtual void Creates_overlapping_foreign_keys_with_different_nullability() { var modelBuilder = CreateModelBuilder(); @@ -2270,7 +2270,7 @@ public virtual void Creates_overlapping_foreign_keys_with_different_nullability( Assert.True(index.IsUnique); } - [ConditionalFact] + [Fact] public virtual void Throws_on_existing_many_to_many() { var modelBuilder = CreateModelBuilder(); @@ -2290,7 +2290,7 @@ public virtual void Throws_on_existing_many_to_many() .HasMany(o => o.Products).WithOne()).Message); } - [ConditionalFact] + [Fact] public virtual void Throws_on_existing_one_to_one_relationship() { var modelBuilder = HobNobBuilder(); @@ -2319,7 +2319,7 @@ public virtual void Throws_on_existing_one_to_one_relationship() modelBuilder.Entity().HasMany(e => e.Hobs).WithOne(e => e.Nob)).Message); } - [ConditionalFact] + [Fact] public virtual void HasMany_with_a_collection_navigation_CLR_property_to_derived_type_throws() { var modelBuilder = CreateModelBuilder(); @@ -2329,7 +2329,7 @@ public virtual void HasMany_with_a_collection_navigation_CLR_property_to_derived Assert.Throws(() => modelBuilder.Entity().HasMany(d => d.Jrs)).Message); } - [ConditionalFact] + [Fact] public virtual void Removes_existing_unidirectional_one_to_one_relationship() { var modelBuilder = HobNobBuilder(); @@ -2376,7 +2376,7 @@ public virtual void Removes_existing_unidirectional_one_to_one_relationship() } } - [ConditionalFact] + [Fact] public virtual void Can_add_annotations() { var modelBuilder = CreateModelBuilder(); @@ -2396,7 +2396,7 @@ public virtual void Can_add_annotations() Assert.Equal("Ro", fk["Fus"]); } - [ConditionalFact] + [Fact] public virtual void Annotations_are_preserved_when_rebuilding() { var modelBuilder = CreateModelBuilder(); @@ -2412,7 +2412,7 @@ public virtual void Annotations_are_preserved_when_rebuilding() Assert.Equal("Ro", builder.Metadata["Fus"]); } - [ConditionalFact] + [Fact] public virtual void Nullable_FK_are_optional_by_default() { var modelBuilder = HobNobBuilder(); @@ -2434,7 +2434,7 @@ public virtual void Nullable_FK_are_optional_by_default() Assert.Contains(fkProperty2, fk.Properties); } - [ConditionalFact] + [Fact] public virtual void Non_nullable_FK_are_required_by_default() { var modelBuilder = HobNobBuilder(); @@ -2456,7 +2456,7 @@ public virtual void Non_nullable_FK_are_required_by_default() Assert.Contains(fkProperty2, fk.Properties); } - [ConditionalFact] + [Fact] public virtual void Nullable_FK_can_be_made_required() { var modelBuilder = HobNobBuilder(); @@ -2479,7 +2479,7 @@ public virtual void Nullable_FK_can_be_made_required() Assert.Contains(fkProperty2, fk.Properties); } - [ConditionalFact] + [Fact] public virtual void Non_nullable_FK_can_be_made_optional() { var modelBuilder = HobNobBuilder(); @@ -2502,7 +2502,7 @@ public virtual void Non_nullable_FK_can_be_made_optional() Assert.Contains(fkProperty2, fk.Properties); } - [ConditionalFact] + [Fact] public virtual void Non_nullable_FK_can_be_made_optional_separately() { var modelBuilder = HobNobBuilder(); @@ -2528,7 +2528,7 @@ public virtual void Non_nullable_FK_can_be_made_optional_separately() Assert.Contains(fkProperty2, fk.Properties); } - [ConditionalFact] + [Fact] public virtual void Nullable_FK_overrides_NRT_navigation() { var modelBuilder = CreateModelBuilder(); @@ -2549,7 +2549,7 @@ public virtual void Nullable_FK_overrides_NRT_navigation() Assert.Contains(fkProperty, fk.Properties); } - [ConditionalFact] + [Fact] public virtual void Can_change_delete_behavior() { var modelBuilder = HobNobBuilder(); @@ -2574,7 +2574,7 @@ public virtual void Can_change_delete_behavior() Assert.Equal(DeleteBehavior.SetNull, dependentType.GetForeignKeys().Single().DeleteBehavior); } - [ConditionalFact] + [Fact] public virtual void Can_set_foreign_key_property_when_matching_property_added() { var modelBuilder = CreateModelBuilder(); @@ -2590,7 +2590,7 @@ public virtual void Can_set_foreign_key_property_when_matching_property_added() Assert.Equal("PrincipalEntityId", newForeignKey.Properties.Single().Name); } - [ConditionalFact] + [Fact] public virtual void Creates_shadow_property_for_foreign_key_according_to_navigation_to_principal_name_when_present() { var modelBuilder = CreateModelBuilder(); @@ -2605,7 +2605,7 @@ public virtual void Creates_shadow_property_for_foreign_key_according_to_navigat Assert.Equal("SecondNavId", entityB.FindNavigation("SecondNav").ForeignKey.Properties.First().Name); } - [ConditionalFact] + [Fact] public virtual void Creates_shadow_property_for_foreign_key_according_to_target_type_when_navigation_to_principal_name_not_present() { @@ -2615,7 +2615,7 @@ public virtual void Assert.Equal("GammaId", gamma.FindNavigation("Alphas").ForeignKey.Properties.First().Name); } - [ConditionalFact] + [Fact] public virtual void Creates_shadow_FK_property_with_non_shadow_PK() { var modelBuilder = CreateModelBuilder(); @@ -2635,7 +2635,7 @@ public virtual void Creates_shadow_FK_property_with_non_shadow_PK() modelBuilder.Model.FindEntityType(typeof(Beta)).FindNavigation("FirstNav").ForeignKey.Properties.Single().Name); } - [ConditionalFact] + [Fact] public virtual void Creates_shadow_FK_property_with_shadow_PK() { var modelBuilder = CreateModelBuilder(); @@ -2655,7 +2655,7 @@ public virtual void Creates_shadow_FK_property_with_shadow_PK() modelBuilder.Model.FindEntityType(typeof(Beta)).FindNavigation("FirstNav").ForeignKey.Properties.Single().Name); } - [ConditionalFact] + [Fact] public virtual void Handles_identity_correctly_while_removing_navigation() { var modelBuilder = CreateModelBuilder(); @@ -2670,7 +2670,7 @@ public virtual void Handles_identity_correctly_while_removing_navigation() Assert.Equal(ValueGenerated.Never, property.ValueGenerated); } - [ConditionalFact] + [Fact] public virtual void Throws_when_foreign_key_references_shadow_key() { var modelBuilder = CreateModelBuilder(); @@ -2686,7 +2686,7 @@ public virtual void Throws_when_foreign_key_references_shadow_key() Assert.Throws(() => modelBuilder.FinalizeModel()).Message); } - [ConditionalFact] + [Fact] public virtual void Can_exclude_navigation_pointed_by_foreign_key_attribute_from_explicit_configuration() { var modelBuilder = CreateModelBuilder(); @@ -2718,7 +2718,7 @@ public virtual void Can_exclude_navigation_pointed_by_foreign_key_attribute_from Assert.Equal("Id", kappaFk.Properties.First().Name); } - [ConditionalFact] + [Fact] public virtual void Can_exclude_navigation_with_foreign_key_attribute_from_explicit_configuration() { var modelBuilder = CreateModelBuilder(); @@ -2741,7 +2741,7 @@ public virtual void Can_exclude_navigation_with_foreign_key_attribute_from_expli Assert.Equal(nameof(Alpha) + nameof(Alpha.Id), etasFk.Properties.First().Name); } - [ConditionalFact] + [Fact] public virtual void Can_exclude_navigation_with_foreign_key_attribute_on_principal_type_from_explicit_configuration() { var modelBuilder = CreateModelBuilder(); @@ -2766,7 +2766,7 @@ public virtual void Can_exclude_navigation_with_foreign_key_attribute_on_princip Assert.Equal(nameof(Alpha) + nameof(Alpha.Id), alphaFk.Properties.First().Name); } - [ConditionalFact] + [Fact] public virtual void Creates_one_to_many_relationship_with_single_ref_as_dependent_to_principal_if_no_matching_properties_either_side() { @@ -2796,7 +2796,7 @@ public virtual void Assert.True(fk.Properties.Single().IsShadowProperty()); } - [ConditionalFact] + [Fact] public virtual void Creates_one_to_many_relationship_with_single_ref_as_dependent_to_principal_if_matching_navigation_name_properties_are_on_navigation_side() { @@ -2823,7 +2823,7 @@ public virtual void Assert.Equal(OneToOneDependentEntity.NavigationMatchingProperty.Name, fk.Properties.Single().Name); } - [ConditionalFact] + [Fact] public virtual void Creates_one_to_many_relationship_with_single_ref_as_dependent_to_principal_if_matching_entity_name_properties_are_on_navigation_side() { @@ -2850,7 +2850,7 @@ public virtual void Assert.Equal(OneToOneDependentEntity.EntityMatchingProperty.Name, fk.Properties.Single().Name); } - [ConditionalFact] + [Fact] public virtual void Creates_one_to_many_relationship_with_single_ref_as_dependent_to_principal_if_matching_properties_are_on_both_sides() { @@ -2872,7 +2872,7 @@ public virtual void Assert.True(fk.Properties.Single().IsShadowProperty()); } - [ConditionalFact] + [Fact] public virtual void Ambiguous_relationship_candidate_does_not_block_creating_further_relationships() { var modelBuilder = CreateModelBuilder(); @@ -2883,7 +2883,7 @@ public virtual void Ambiguous_relationship_candidate_does_not_block_creating_fur Assert.Same(theta.FindNavigation("NavTheta").ForeignKey, theta.FindNavigation("InverseNavThetas").ForeignKey); } - [ConditionalFact] + [Fact] public virtual void Shadow_property_created_for_foreign_key_is_nullable() { var modelBuilder = CreateModelBuilder(); @@ -2893,7 +2893,7 @@ public virtual void Shadow_property_created_for_foreign_key_is_nullable() Assert.Equal(typeof(int?), modelBuilder.Model.FindEntityType(typeof(Order)).FindProperty("MyShadowFk").ClrType); } - [ConditionalFact] + [Fact] public virtual void One_to_many_relationship_has_no_ambiguity_convention() { var modelBuilder = CreateModelBuilder(); @@ -2906,7 +2906,7 @@ public virtual void One_to_many_relationship_has_no_ambiguity_convention() .Name); } - [ConditionalFact] + [Fact] public virtual void One_to_many_relationship_has_no_ambiguity_explicit() { var modelBuilder = CreateModelBuilder(); @@ -2922,7 +2922,7 @@ public virtual void One_to_many_relationship_has_no_ambiguity_explicit() .Name); } - [ConditionalFact] + [Fact] public virtual void RemoveKey_does_not_add_back_foreign_key_pointing_to_the_same_key() { var modelBuilder = CreateModelBuilder(); @@ -2939,7 +2939,7 @@ public virtual void RemoveKey_does_not_add_back_foreign_key_pointing_to_the_same Assert.Equal(nameof(Alpha.AnotherId), entityTypeBuilder.Metadata.FindPrimaryKey().Properties.Single().Name); } - [ConditionalFact] + [Fact] public virtual void Creates_shadow_fk_configuring_using_ForeignKeyAttribute() { var modelBuilder = CreateModelBuilder(); @@ -2952,7 +2952,7 @@ public virtual void Creates_shadow_fk_configuring_using_ForeignKeyAttribute() modelBuilder.Model.FindEntityType(typeof(DependentShadowFk)).GetForeignKeys().Single().Properties[0].Name); } - [ConditionalFact] + [Fact] public virtual void Do_not_match_non_unique_FK_when_overlap_with_PK() { var modelBuilder = CreateModelBuilder(); @@ -2967,7 +2967,7 @@ public virtual void Do_not_match_non_unique_FK_when_overlap_with_PK() Assert.Equal("ParentId", fk.Properties[0].Name); } - [ConditionalFact] + [Fact] public virtual void Navigation_properties_can_set_access_mode() { var modelBuilder = CreateModelBuilder(); @@ -2992,7 +2992,7 @@ public virtual void Navigation_properties_can_set_access_mode() Assert.Equal(PropertyAccessMode.Property, dependent.FindNavigation("OneToManyPrincipal").GetPropertyAccessMode()); } - [ConditionalFact] + [Fact] public virtual void Attempt_to_configure_Navigation_property_which_is_actually_a_Property_throws() { var modelBuilder = CreateModelBuilder(); @@ -3010,7 +3010,7 @@ public virtual void Attempt_to_configure_Navigation_property_which_is_actually_a ).Message); } - [ConditionalFact] + [Fact] public virtual void Navigation_to_shared_type_is_not_discovered_by_convention() { var modelBuilder = CreateModelBuilder(); @@ -3022,7 +3022,7 @@ public virtual void Navigation_to_shared_type_is_not_discovered_by_convention() Assert.Throws(modelBuilder.FinalizeModel).Message); } - [ConditionalFact] + [Fact] public virtual void WithMany_call_on_keyless_entity_throws() { var modelBuilder = CreateModelBuilder(); @@ -3036,7 +3036,7 @@ public virtual void WithMany_call_on_keyless_entity_throws() => modelBuilder.Entity().HasNoKey().HasMany(e => e.Stores)).Message); } - [ConditionalFact] + [Fact] public virtual void WithMany_pointing_to_keyless_entity_throws() { var modelBuilder = CreateModelBuilder(); @@ -3049,7 +3049,7 @@ public virtual void WithMany_pointing_to_keyless_entity_throws() .HasOne(e => e.Reference).WithMany(e => e.Collection)).Message); } - [ConditionalFact] + [Fact] public virtual void HasNoKey_call_on_principal_entity_throws() { var modelBuilder = CreateModelBuilder(); @@ -3062,7 +3062,7 @@ public virtual void HasNoKey_call_on_principal_entity_throws() Assert.Throws(() => modelBuilder.Entity().HasNoKey()).Message); } - [ConditionalFact] + [Fact] public virtual void HasNoKey_call_on_principal_with_navigation_throws() { var modelBuilder = CreateModelBuilder(); @@ -3078,7 +3078,7 @@ public virtual void HasNoKey_call_on_principal_with_navigation_throws() Assert.Throws(() => modelBuilder.Entity().HasNoKey()).Message); } - [ConditionalFact] + [Fact] public virtual void Reference_navigation_from_keyless_entity_type_works() { var modelBuilder = CreateModelBuilder(); diff --git a/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.OneToOne.cs b/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.OneToOne.cs index 9cedb5df661..ca103b908d6 100644 --- a/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.OneToOne.cs +++ b/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.OneToOne.cs @@ -13,7 +13,7 @@ public abstract partial class ModelBuilderTest { public abstract class OneToOneTestBase(ModelBuilderFixtureBase fixture) : ModelBuilderTestBase(fixture) { - [ConditionalFact] + [Fact] public virtual void Finds_existing_navigations_and_uses_associated_FK() { var modelBuilder = CreateModelBuilder(); @@ -47,7 +47,7 @@ public virtual void Finds_existing_navigations_and_uses_associated_FK() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Finds_existing_navigations_and_uses_associated_FK_with_fields() { var modelBuilder = CreateModelBuilder(); @@ -100,7 +100,7 @@ public virtual void Finds_existing_navigations_and_uses_associated_FK_with_field Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_create_two_FKs_using_the_same_property() { var modelBuilder = CreateModelBuilder(); @@ -127,7 +127,7 @@ public virtual void Can_create_two_FKs_using_the_same_property() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Replaces_existing_navigation_to_principal() { var modelBuilder = CreateModelBuilder(); @@ -161,7 +161,7 @@ public virtual void Replaces_existing_navigation_to_principal() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Finds_existing_navigation_to_dependent_and_uses_associated_FK() { var modelBuilder = CreateModelBuilder(); @@ -187,7 +187,7 @@ public virtual void Finds_existing_navigation_to_dependent_and_uses_associated_F Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_shadow_FK_if_existing_FK() { var modelBuilder = CreateModelBuilder(); @@ -233,7 +233,7 @@ public virtual void Creates_both_navigations_and_shadow_FK_if_existing_FK() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_new_FK() { var modelBuilder = CreateModelBuilder(); @@ -270,7 +270,7 @@ public virtual void Creates_both_navigations_and_new_FK() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_removes_existing_FK_when_not_specified() { var modelBuilder = CreateModelBuilder(); @@ -296,7 +296,7 @@ public virtual void Creates_both_navigations_and_removes_existing_FK_when_not_sp Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_creates_new_FK_when_not_specified() { var modelBuilder = CreateModelBuilder(); @@ -341,7 +341,7 @@ public virtual void Creates_both_navigations_and_creates_new_FK_when_not_specifi Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_new_FK_over_PK_by_convention() { var modelBuilder = CreateModelBuilder(); @@ -382,7 +382,7 @@ public virtual void Creates_both_navigations_and_new_FK_over_PK_by_convention() Assert.True(fk.IsRequired); } - [ConditionalFact] + [Fact] public virtual void Creates_relationship_with_navigation_to_dependent_and_new_FK_from_principal() { var modelBuilder = CreateModelBuilder(); @@ -414,7 +414,7 @@ public virtual void Creates_relationship_with_navigation_to_dependent_and_new_FK } } - [ConditionalFact] + [Fact] public virtual void Creates_relationship_with_navigation_to_dependent_and_new_FK_from_dependent() { var modelBuilder = CreateModelBuilder(); @@ -449,7 +449,7 @@ public virtual void Creates_relationship_with_navigation_to_dependent_and_new_FK Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_relationship_with_no_navigations() { var modelBuilder = CreateModelBuilder(); @@ -490,7 +490,7 @@ public virtual void Creates_relationship_with_no_navigations() Assert.Equal(principalType.GetForeignKeys().Count(), principalType.GetIndexes().Count()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_uses_specified_FK_even_if_found_by_convention() { var modelBuilder = CreateModelBuilder(); @@ -536,7 +536,7 @@ public virtual void Creates_both_navigations_and_uses_specified_FK_even_if_found Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_uses_specified_FK_even_if_PK() { var modelBuilder = CreateModelBuilder(); @@ -571,7 +571,7 @@ public virtual void Creates_both_navigations_and_uses_specified_FK_even_if_PK() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_uses_existing_FK_not_found_by_convention() { var modelBuilder = CreateModelBuilder(); @@ -616,7 +616,7 @@ public virtual void Creates_both_navigations_and_uses_existing_FK_not_found_by_c Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_specified_FK() { var modelBuilder = CreateModelBuilder(); @@ -661,7 +661,7 @@ public virtual void Creates_both_navigations_and_specified_FK() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_relationship_with_specified_FK_with_navigation_to_dependent() { var modelBuilder = CreateModelBuilder(); @@ -703,7 +703,7 @@ public virtual void Creates_relationship_with_specified_FK_with_navigation_to_de Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_relationship_with_specified_FK_with_navigation_to_principal() { var modelBuilder = CreateModelBuilder(); @@ -748,7 +748,7 @@ public virtual void Creates_relationship_with_specified_FK_with_navigation_to_pr } } - [ConditionalFact] + [Fact] public virtual void Creates_relationship_with_specified_FK_with_no_navigations() { var modelBuilder = CreateModelBuilder(); @@ -793,7 +793,7 @@ public virtual void Creates_relationship_with_specified_FK_with_no_navigations() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_overrides_existing_FK_when_uniqueness_does_not_match() { var modelBuilder = CreateModelBuilder(); @@ -838,7 +838,7 @@ public virtual void Creates_both_navigations_and_overrides_existing_FK_when_uniq Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Removes_existing_FK_when_specified() { var modelBuilder = CreateModelBuilder(); @@ -876,7 +876,7 @@ public virtual void Removes_existing_FK_when_specified() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_FK_when_specified_on_dependent() { var modelBuilder = CreateModelBuilder(); @@ -925,7 +925,7 @@ public virtual void Creates_FK_when_specified_on_dependent() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_FK_when_specified_on_principal() { var modelBuilder = CreateModelBuilder(); @@ -964,7 +964,7 @@ public virtual void Creates_FK_when_specified_on_principal() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_FK_when_specified_on_principal_with_navigation_to_dependent() { var modelBuilder = CreateModelBuilder(); @@ -996,7 +996,7 @@ public virtual void Creates_FK_when_specified_on_principal_with_navigation_to_de Assert.Null(dependentType.FindIndex(fk.Properties)); } - [ConditionalFact] + [Fact] public virtual void Creates_FK_when_specified_on_dependent_with_navigation_to_principal() { var modelBuilder = CreateModelBuilder(); @@ -1036,7 +1036,7 @@ public virtual void Creates_FK_when_specified_on_dependent_with_navigation_to_pr } } - [ConditionalFact] + [Fact] public virtual void Creates_FK_when_specified_on_principal_with_navigation_to_principal() { var modelBuilder = CreateModelBuilder(); @@ -1079,7 +1079,7 @@ public virtual void Creates_FK_when_specified_on_principal_with_navigation_to_pr } } - [ConditionalFact] + [Fact] public virtual void Creates_FK_when_specified_on_dependent_with_navigation_to_dependent() { var modelBuilder = CreateModelBuilder(); @@ -1120,7 +1120,7 @@ public virtual void Creates_FK_when_specified_on_dependent_with_navigation_to_de Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_FK_when_specified_on_dependent_with_no_navigations() { var modelBuilder = CreateModelBuilder(); @@ -1162,7 +1162,7 @@ public virtual void Creates_FK_when_specified_on_dependent_with_no_navigations() } } - [ConditionalFact] + [Fact] public virtual void Creates_FK_when_specified_on_principal_with_no_navigations() { var modelBuilder = CreateModelBuilder(); @@ -1211,7 +1211,7 @@ public virtual void Creates_FK_when_specified_on_principal_with_no_navigations() } } - [ConditionalFact] + [Fact] public virtual void Can_use_PK_FK() { var modelBuilder = CreateModelBuilder(); @@ -1245,7 +1245,7 @@ public virtual void Can_use_PK_FK() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void OneToOne_can_have_PK_explicitly_specified() { var modelBuilder = CreateModelBuilder(); @@ -1293,7 +1293,7 @@ public virtual void OneToOne_can_have_PK_explicitly_specified() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_use_alternate_principal_key() { var modelBuilder = CreateModelBuilder(); @@ -1341,7 +1341,7 @@ public virtual void Can_use_alternate_principal_key() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_have_both_keys_specified_explicitly() { var modelBuilder = CreateModelBuilder(); @@ -1396,7 +1396,7 @@ public virtual void Can_have_both_keys_specified_explicitly() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_have_both_keys_specified_explicitly_in_any_order() { var modelBuilder = CreateModelBuilder(); @@ -1451,7 +1451,7 @@ public virtual void Can_have_both_keys_specified_explicitly_in_any_order() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_have_both_alternate_keys_specified_explicitly() { var modelBuilder = CreateModelBuilder(); @@ -1504,7 +1504,7 @@ public virtual void Can_have_both_alternate_keys_specified_explicitly() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_have_both_alternate_keys_specified_explicitly_in_any_order() { var modelBuilder = CreateModelBuilder(); @@ -1557,7 +1557,7 @@ public virtual void Can_have_both_alternate_keys_specified_explicitly_in_any_ord Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_have_dependent_side_specified_explicitly_on_optional() { var modelBuilder = CreateModelBuilder(); @@ -1588,7 +1588,7 @@ public virtual void Can_have_dependent_side_specified_explicitly_on_optional() Assert.Same(dependentKey, dependentType.FindPrimaryKey()); } - [ConditionalFact] + [Fact] public virtual void Does_not_use_existing_FK_when_principal_key_specified() { var modelBuilder = CreateModelBuilder(); @@ -1638,7 +1638,7 @@ public virtual void Does_not_use_existing_FK_when_principal_key_specified() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_principal_key_when_specified_on_dependent() { var modelBuilder = CreateModelBuilder(); @@ -1688,7 +1688,7 @@ public virtual void Creates_principal_key_when_specified_on_dependent() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_principal_key_when_specified_on_principal() { var modelBuilder = CreateModelBuilder(); @@ -1729,7 +1729,7 @@ public virtual void Creates_principal_key_when_specified_on_principal() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_FK_when_principal_and_foreign_key_specified_on_dependent() { var modelBuilder = CreateModelBuilder(); @@ -1779,7 +1779,7 @@ public virtual void Creates_FK_when_principal_and_foreign_key_specified_on_depen Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_FK_when_principal_and_foreign_key_specified_on_dependent_in_reverse_order() { var modelBuilder = CreateModelBuilder(); @@ -1829,7 +1829,7 @@ public virtual void Creates_FK_when_principal_and_foreign_key_specified_on_depen Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_FK_when_principal_and_foreign_key_specified_on_principal() { var modelBuilder = CreateModelBuilder(); @@ -1870,7 +1870,7 @@ public virtual void Creates_FK_when_principal_and_foreign_key_specified_on_princ Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Principal_and_dependent_cannot_be_flipped_twice() { var modelBuilder = CreateModelBuilder(); @@ -1889,7 +1889,7 @@ public virtual void Principal_and_dependent_cannot_be_flipped_twice() .HasPrincipalKey(e => e.OrderId)).Message); } - [ConditionalFact] + [Fact] public virtual void Principal_and_dependent_can_be_flipped_twice_separately() { var modelBuilder = CreateModelBuilder(); @@ -1934,7 +1934,7 @@ public virtual void Principal_and_dependent_can_be_flipped_twice_separately() Assert.True(fk.IsRequiredDependent); } - [ConditionalFact] + [Fact] public virtual void Principal_and_dependent_cannot_be_flipped_twice_in_reverse_order() { var modelBuilder = CreateModelBuilder(); @@ -1953,7 +1953,7 @@ public virtual void Principal_and_dependent_cannot_be_flipped_twice_in_reverse_o .HasForeignKey(e => e.OrderId)).Message); } - [ConditionalFact] + [Fact] public virtual void Principal_and_dependent_can_be_flipped_twice_in_reverse_order_separately() { var modelBuilder = CreateModelBuilder(); @@ -1987,7 +1987,7 @@ public virtual void Principal_and_dependent_can_be_flipped_twice_in_reverse_orde Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void IsRequired_throws_principal_end_is_ambiguous() { var modelBuilder = CreateModelBuilder(); @@ -2013,7 +2013,7 @@ public virtual void IsRequired_throws_principal_end_is_ambiguous() .Entity().Navigation(e => e.Details).IsRequired()).Message); } - [ConditionalFact] + [Fact] public virtual void Throws_if_not_principal_or_dependent_specified() { var modelBuilder = CreateModelBuilder(); @@ -2042,7 +2042,7 @@ public virtual void Throws_if_not_principal_or_dependent_specified() Assert.Throws(() => relationship.HasPrincipalKey(e => e.OrderId)).Message); } - [ConditionalFact] + [Fact] public virtual void Configuring_principal_type_as_keyless_inverts_the_relationship() { var modelBuilder = CreateModelBuilder(); @@ -2064,7 +2064,7 @@ public virtual void Configuring_principal_type_as_keyless_inverts_the_relationsh Assert.True(orderEntityType.FindNavigation(nameof(Order.Details)).IsOnDependent); } - [ConditionalFact] + [Fact] public virtual void Configuring_principal_type_as_keyless_throws_if_not_invertible() { var modelBuilder = CreateModelBuilder(); @@ -2087,7 +2087,7 @@ public virtual void Configuring_principal_type_as_keyless_throws_if_not_invertib Assert.Throws(() => modelBuilder.Entity().HasNoKey()).Message); } - [ConditionalFact] + [Fact] public virtual void Configuring_principal_type_as_keyless_throws_when_there_is_an_explicit_navigation() { var modelBuilder = CreateModelBuilder(); @@ -2107,7 +2107,7 @@ public virtual void Configuring_principal_type_as_keyless_throws_when_there_is_a Assert.Throws(() => modelBuilder.Entity().HasNoKey()).Message); } - [ConditionalFact] + [Fact] public virtual void Creates_principal_key_when_specified_on_principal_with_navigation_to_dependent() { var modelBuilder = CreateModelBuilder(); @@ -2146,7 +2146,7 @@ public virtual void Creates_principal_key_when_specified_on_principal_with_navig Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_principal_key_when_specified_on_dependent_with_navigation_to_principal() { var modelBuilder = CreateModelBuilder(); @@ -2184,7 +2184,7 @@ public virtual void Creates_principal_key_when_specified_on_dependent_with_navig } } - [ConditionalFact] + [Fact] public virtual void Creates_principal_key_when_specified_on_principal_with_navigation_to_principal() { var modelBuilder = CreateModelBuilder(); @@ -2221,7 +2221,7 @@ public virtual void Creates_principal_key_when_specified_on_principal_with_navig } } - [ConditionalFact] + [Fact] public virtual void Creates_principal_key_when_specified_on_dependent_with_navigation_to_dependent() { var modelBuilder = CreateModelBuilder(); @@ -2261,7 +2261,7 @@ public virtual void Creates_principal_key_when_specified_on_dependent_with_navig Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_principal_key_when_specified_on_principal_with_no_navigations() { var modelBuilder = CreateModelBuilder(); @@ -2312,7 +2312,7 @@ public virtual void Creates_principal_key_when_specified_on_principal_with_no_na Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_principal_key_when_specified_on_dependent_with_no_navigations() { var modelBuilder = CreateModelBuilder(); @@ -2358,7 +2358,7 @@ public virtual void Creates_principal_key_when_specified_on_dependent_with_no_na Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_uses_existing_composite_FK() { var modelBuilder = CreateModelBuilder(); @@ -2403,7 +2403,7 @@ public virtual void Creates_both_navigations_and_uses_existing_composite_FK() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_both_navigations_and_creates_composite_FK_specified() { var modelBuilder = CreateModelBuilder(); @@ -2450,7 +2450,7 @@ public virtual void Creates_both_navigations_and_creates_composite_FK_specified( Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_use_alternate_composite_key() { var modelBuilder = CreateModelBuilder(); @@ -2508,7 +2508,7 @@ public virtual void Can_use_alternate_composite_key() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Can_use_alternate_composite_key_in_any_order() { var modelBuilder = CreateModelBuilder(); @@ -2566,7 +2566,7 @@ public virtual void Can_use_alternate_composite_key_in_any_order() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Uses_composite_PK_for_FK_by_convention() { var modelBuilder = CreateModelBuilder(); @@ -2607,7 +2607,7 @@ public virtual void Uses_composite_PK_for_FK_by_convention() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Principal_and_dependent_can_be_flipped_and_composite_PK_is_still_used_by_convention() { var modelBuilder = CreateModelBuilder(); @@ -2647,7 +2647,7 @@ public virtual void Principal_and_dependent_can_be_flipped_and_composite_PK_is_s Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Principal_and_dependent_can_be_flipped_using_principal_and_composite_PK_is_still_used_by_convention() { var modelBuilder = CreateModelBuilder(); @@ -2687,7 +2687,7 @@ public virtual void Principal_and_dependent_can_be_flipped_using_principal_and_c Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_composite_FK_when_specified_on_principal_with_navigation_to_dependent() { var modelBuilder = CreateModelBuilder(); @@ -2733,7 +2733,7 @@ public virtual void Creates_composite_FK_when_specified_on_principal_with_naviga Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_composite_FK_when_specified_on_principal_with_navigation_to_principal() { var modelBuilder = CreateModelBuilder(); @@ -2781,7 +2781,7 @@ public virtual void Creates_composite_FK_when_specified_on_principal_with_naviga } } - [ConditionalFact] + [Fact] public virtual void Creates_composite_FK_when_specified_on_principal_with_no_navigations() { var modelBuilder = CreateModelBuilder(); @@ -2829,7 +2829,7 @@ public virtual void Creates_composite_FK_when_specified_on_principal_with_no_nav } } - [ConditionalFact] + [Fact] public virtual void Principal_and_dependent_can_be_flipped_when_self_referencing() { var modelBuilder = CreateModelBuilder(); @@ -2868,7 +2868,7 @@ public virtual void Principal_and_dependent_can_be_flipped_when_self_referencing modelBuilder.FinalizeModel(); } - [ConditionalFact] + [Fact] public virtual void Creates_self_referencing_FK_with_navigation_to_principal() { var modelBuilder = CreateModelBuilder(); @@ -2903,7 +2903,7 @@ public virtual void Creates_self_referencing_FK_with_navigation_to_principal() } } - [ConditionalFact] + [Fact] public virtual void Creates_self_referencing_FK_with_navigation_to_dependent() { var modelBuilder = CreateModelBuilder(); @@ -2938,7 +2938,7 @@ public virtual void Creates_self_referencing_FK_with_navigation_to_dependent() } } - [ConditionalFact] + [Fact] public virtual void Creates_self_referencing_FK_on_PK() { var modelBuilder = CreateModelBuilder(); @@ -2961,7 +2961,7 @@ public virtual void Creates_self_referencing_FK_on_PK() Assert.Single(fk.DeclaringEntityType.GetForeignKeys()); } - [ConditionalFact] + [Fact] public virtual void Principal_and_dependent_can_be_flipped_when_self_referencing_with_navigation_to_principal() { var modelBuilder = CreateModelBuilder(); @@ -3004,7 +3004,7 @@ public virtual void Principal_and_dependent_can_be_flipped_when_self_referencing } } - [ConditionalFact] + [Fact] public virtual void Principal_and_dependent_can_be_flipped_when_self_referencing_with_navigation_to_dependent() { var modelBuilder = CreateModelBuilder(); @@ -3044,7 +3044,7 @@ public virtual void Principal_and_dependent_can_be_flipped_when_self_referencing } } - [ConditionalFact] + [Fact] public virtual void Throws_on_duplicate_navigation_when_self_referencing() { var modelBuilder = CreateModelBuilder(); @@ -3055,7 +3055,7 @@ public virtual void Throws_on_duplicate_navigation_when_self_referencing() => modelBuilder.Entity().HasOne(e => e.SelfRef1).WithOne(e => e.SelfRef1)).Message); } - [ConditionalFact] + [Fact] public virtual void Creates_self_referencing_FK_by_convention() { var modelBuilder = CreateModelBuilder(); @@ -3086,7 +3086,7 @@ public virtual void Creates_self_referencing_FK_by_convention() } } - [ConditionalFact] + [Fact] public virtual void Creates_self_referencing_FK_by_convention_inverted() { var modelBuilder = CreateModelBuilder(); @@ -3115,7 +3115,7 @@ public virtual void Creates_self_referencing_FK_by_convention_inverted() } } - [ConditionalFact] + [Fact] public virtual void Throws_on_ambiguous_FK_when_self_referencing() { var modelBuilder = CreateModelBuilder(); @@ -3127,7 +3127,7 @@ public virtual void Throws_on_ambiguous_FK_when_self_referencing() Assert.Throws(modelBuilder.FinalizeModel).Message); } - [ConditionalFact] + [Fact] public virtual void Throws_on_two_ambiguous_FK_when_self_referencing() { var modelBuilder = CreateModelBuilder(); @@ -3141,7 +3141,7 @@ public virtual void Throws_on_two_ambiguous_FK_when_self_referencing() Assert.Throws(modelBuilder.FinalizeModel).Message); } - [ConditionalFact] + [Fact] public virtual void Can_create_relationship_if_navigations_have_same_name() { var modelBuilder = CreateModelBuilder(); @@ -3161,7 +3161,7 @@ public virtual void Can_create_relationship_if_navigations_have_same_name() Assert.Equal(nameof(BaseTypeWithKeyAnnotation.Navigation), foreignKey1.PrincipalToDependent?.Name); } - [ConditionalFact] + [Fact] public virtual void Can_specify_shadow_fk_before_configuring_principal_PK() { var modelBuilder = CreateModelBuilder(); @@ -3184,7 +3184,7 @@ public virtual void Can_specify_shadow_fk_before_configuring_principal_PK() typeof(string), modelBuilder.Model.FindEntityType(typeof(Hob)).GetForeignKeys().Single().Properties.Single().ClrType); } - [ConditionalFact] + [Fact] public virtual void Can_specify_shadow_fk_before_reconfiguring_principal_PK() { var modelBuilder = CreateModelBuilder(); @@ -3211,7 +3211,7 @@ public virtual void Can_specify_shadow_fk_before_reconfiguring_principal_PK() typeof(string), modelBuilder.Model.FindEntityType(typeof(Hob)).GetForeignKeys().Single().Properties.Single().ClrType); } - [ConditionalFact] + [Fact] public virtual void Can_specify_shadow_identifying_fk() { var modelBuilder = CreateModelBuilder(); @@ -3247,7 +3247,7 @@ public virtual void Can_specify_shadow_identifying_fk() Assert.Equal(typeof(Guid), fk.Properties.Single().ClrType); } - [ConditionalFact] + [Fact] public virtual void Throws_if_specified_FK_types_do_not_match() { var modelBuilder = CreateModelBuilder(); @@ -3264,7 +3264,7 @@ public virtual void Throws_if_specified_FK_types_do_not_match() .HasForeignKey("GuidProperty")).Message); } - [ConditionalFact] + [Fact] public virtual void Overrides_PK_if_specified_FK_types_do_not_match_separately() { var modelBuilder = CreateModelBuilder(); @@ -3287,7 +3287,7 @@ public virtual void Overrides_PK_if_specified_FK_types_do_not_match_separately() Assert.Equal(typeof(Guid), fk.PrincipalKey.Properties.Single().ClrType); } - [ConditionalFact] + [Fact] public virtual void Throws_if_specified_PK_types_do_not_match() { var modelBuilder = CreateModelBuilder(); @@ -3305,7 +3305,7 @@ public virtual void Throws_if_specified_PK_types_do_not_match() .HasPrincipalKey("Id")).Message); } - [ConditionalFact] + [Fact] public virtual void Overrides_FK_if_specified_PK_types_do_not_match_separately() { var modelBuilder = CreateModelBuilder(); @@ -3330,7 +3330,7 @@ public virtual void Overrides_FK_if_specified_PK_types_do_not_match_separately() Assert.Equal(typeof(int?), fk.Properties.Single().ClrType); } - [ConditionalFact] + [Fact] public virtual void Throws_if_specified_FK_count_does_not_match() { var modelBuilder = CreateModelBuilder(); @@ -3347,7 +3347,7 @@ public virtual void Throws_if_specified_FK_count_does_not_match() .HasForeignKey("Id", "GuidProperty")).Message); } - [ConditionalFact] + [Fact] public virtual void Overrides_PK_if_specified_FK_count_does_not_match_separately() { var modelBuilder = CreateModelBuilder(); @@ -3370,7 +3370,7 @@ public virtual void Overrides_PK_if_specified_FK_count_does_not_match_separately Assert.Equal(2, fk.PrincipalKey.Properties.Count); } - [ConditionalFact] + [Fact] public virtual void Throws_if_specified_PK_count_does_not_match() { var modelBuilder = CreateModelBuilder(); @@ -3387,7 +3387,7 @@ public virtual void Throws_if_specified_PK_count_does_not_match() .HasPrincipalKey("Id")).Message); } - [ConditionalFact] + [Fact] public virtual void Overrides_FK_if_specified_PK_count_does_not_match_separately() { var modelBuilder = CreateModelBuilder(); @@ -3410,7 +3410,7 @@ public virtual void Overrides_FK_if_specified_PK_count_does_not_match_separately Assert.Single(fk.Properties); } - [ConditionalFact] + [Fact] public virtual void Foreign_key_properties_are_not_discovered_for_one_to_one_relationship_with_ambiguous_principal_end() { var modelBuilder = HobNobBuilder(); @@ -3433,7 +3433,7 @@ public virtual void Foreign_key_properties_are_not_discovered_for_one_to_one_rel Assert.Throws(() => modelBuilder.FinalizeModel()).Message); } - [ConditionalFact] + [Fact] public virtual void Creates_relationship_on_existing_FK_if_using_different_principal_key() { var modelBuilder = CreateModelBuilder(); @@ -3482,7 +3482,7 @@ public virtual void Creates_relationship_on_existing_FK_if_using_different_princ Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_relationship_on_existing_FK_if_using_different_principal_key_different_order() { var modelBuilder = CreateModelBuilder(); @@ -3530,7 +3530,7 @@ public virtual void Creates_relationship_on_existing_FK_if_using_different_princ Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Creates_index_even_if_covered_by_an_alternate_key() { var modelBuilder = CreateModelBuilder(); @@ -3577,7 +3577,7 @@ public virtual void Creates_index_even_if_covered_by_an_alternate_key() Assert.Empty(principalType.GetIndexes()); } - [ConditionalFact] + [Fact] public virtual void Throws_on_existing_many_to_one_relationship() { var modelBuilder = HobNobBuilder(); @@ -3597,7 +3597,7 @@ public virtual void Throws_on_existing_many_to_one_relationship() modelBuilder.Entity().HasOne(e => e.Hob).WithOne(e => e.Nob)).Message); } - [ConditionalFact] + [Fact] public virtual void Removes_existing_unidirectional_many_to_one_relationship() { var modelBuilder = HobNobBuilder(); @@ -3623,7 +3623,7 @@ public virtual void Removes_existing_unidirectional_many_to_one_relationship() Assert.Same(dependentKey, dependentType.FindPrimaryKey()); } - [ConditionalFact] + [Fact] public virtual void Throws_on_existing_one_to_many_relationship() { var modelBuilder = HobNobBuilder(); @@ -3643,7 +3643,7 @@ public virtual void Throws_on_existing_one_to_many_relationship() modelBuilder.Entity().HasOne(e => e.Hob).WithOne(e => e.Nob)).Message); } - [ConditionalFact] + [Fact] public virtual void Removes_existing_unidirectional_one_to_many_relationship() { var modelBuilder = HobNobBuilder(); @@ -3671,7 +3671,7 @@ public virtual void Removes_existing_unidirectional_one_to_many_relationship() Assert.Same(dependentKey, dependentType.FindPrimaryKey()); } - [ConditionalFact] + [Fact] public virtual void Can_add_annotations() { var modelBuilder = CreateModelBuilder(); @@ -3690,7 +3690,7 @@ public virtual void Can_add_annotations() Assert.Equal("Ro", fk["Fus"]); } - [ConditionalFact] + [Fact] public virtual void Nullable_FK_are_optional_by_default() { var modelBuilder = HobNobBuilder(); @@ -3707,7 +3707,7 @@ public virtual void Nullable_FK_are_optional_by_default() || entityType.FindProperty(nameof(Nob.HobId2)).IsNullable); } - [ConditionalFact] + [Fact] public virtual void Non_nullable_FK_are_required_by_default() { var modelBuilder = HobNobBuilder(); @@ -3723,7 +3723,7 @@ public virtual void Non_nullable_FK_are_required_by_default() Assert.True(entityType.GetForeignKeys().Single().IsRequired); } - [ConditionalFact] + [Fact] public virtual void Nullable_FK_can_be_made_required() { var modelBuilder = HobNobBuilder(); @@ -3761,7 +3761,7 @@ public virtual void Nullable_FK_can_be_made_required() AssertEqual(expectedDependentProperties, dependentType.GetProperties()); } - [ConditionalFact] + [Fact] public virtual void Non_nullable_FK_can_be_made_optional() { var modelBuilder = HobNobBuilder(); @@ -3791,7 +3791,7 @@ public virtual void Non_nullable_FK_can_be_made_optional() Assert.Contains(fkProperty2, fk.Properties); } - [ConditionalFact] + [Fact] public virtual void Non_nullable_FK_can_be_made_optional_separately() { var modelBuilder = HobNobBuilder(); @@ -3825,7 +3825,7 @@ public virtual void Non_nullable_FK_can_be_made_optional_separately() Assert.Contains(fkProperty2, fk.Properties); } - [ConditionalFact] + [Fact] public virtual void Unspecified_FK_can_be_made_optional() { var modelBuilder = HobNobBuilder(); @@ -3846,7 +3846,7 @@ public virtual void Unspecified_FK_can_be_made_optional() AssertEqual(expectedDependentProperties, dependentType.GetProperties()); } - [ConditionalFact] + [Fact] public virtual void Unspecified_FK_can_be_made_optional_in_any_order() { var modelBuilder = HobNobBuilder(); @@ -3867,7 +3867,7 @@ public virtual void Unspecified_FK_can_be_made_optional_in_any_order() AssertEqual(expectedDependentProperties, dependentType.GetProperties()); } - [ConditionalFact] + [Fact] public virtual void Unspecified_FK_can_be_made_required() { var modelBuilder = HobNobBuilder(); @@ -3889,7 +3889,7 @@ public virtual void Unspecified_FK_can_be_made_required() AssertEqual(expectedDependentProperties, dependentType.GetProperties()); } - [ConditionalFact] + [Fact] public virtual void Throws_if_ambiguous_FK_made_required() { var modelBuilder = HobNobBuilder(); @@ -3910,7 +3910,7 @@ public virtual void Throws_if_ambiguous_FK_made_required() Assert.Throws(() => foreignKeyBuilder.HasForeignKey()).Message); } - [ConditionalFact] + [Fact] public virtual void Can_be_defined_before_the_PK_from_principal() { var modelBuilder = CreateModelBuilder(); @@ -3936,7 +3936,7 @@ public virtual void Can_be_defined_before_the_PK_from_principal() AssertEqual(fk.PrincipalKey.Properties, principalEntityType.FindPrimaryKey().Properties); } - [ConditionalFact] + [Fact] public virtual void Can_be_defined_before_the_PK_from_dependent() { var modelBuilder = CreateModelBuilder(); @@ -3962,7 +3962,7 @@ public virtual void Can_be_defined_before_the_PK_from_dependent() AssertEqual(fk.PrincipalKey.Properties, principalEntityType.FindPrimaryKey().Properties); } - [ConditionalFact] + [Fact] public virtual void Can_change_delete_behavior() { var modelBuilder = HobNobBuilder(); @@ -3987,7 +3987,7 @@ public virtual void Can_change_delete_behavior() Assert.Equal(DeleteBehavior.SetNull, dependentType.GetNavigations().Single().ForeignKey.DeleteBehavior); } - [ConditionalFact] + [Fact] public virtual void Configuring_FK_properties_as_PK_sets_DeleteBehavior_Cascade() { var modelBuilder = HobNobBuilder(); @@ -4005,7 +4005,7 @@ public virtual void Configuring_FK_properties_as_PK_sets_DeleteBehavior_Cascade( Assert.Equal(DeleteBehavior.Cascade, dependentType.GetNavigations().Single().ForeignKey.DeleteBehavior); } - [ConditionalFact] + [Fact] public virtual void Creates_shadow_FK_property_with_non_shadow_PK() { var modelBuilder = CreateModelBuilder(); @@ -4025,7 +4025,7 @@ public virtual void Creates_shadow_FK_property_with_non_shadow_PK() modelBuilder.Model.FindEntityType(typeof(Beta)).FindNavigation("FirstNav").ForeignKey.Properties.Single().Name); } - [ConditionalFact] + [Fact] public virtual void Creates_shadow_FK_property_with_shadow_PK() { var modelBuilder = CreateModelBuilder(); @@ -4044,7 +4044,7 @@ public virtual void Creates_shadow_FK_property_with_shadow_PK() modelBuilder.Model.FindEntityType(typeof(Beta)).FindNavigation("FirstNav").ForeignKey.Properties.Single().Name); } - [ConditionalFact] + [Fact] public virtual void Creates_field_backed_FK_property() { var modelBuilder = CreateModelBuilder(); @@ -4059,7 +4059,7 @@ public virtual void Creates_field_backed_FK_property() Assert.Equal("_forUp", fkProperty.FieldInfo.Name); } - [ConditionalFact] + [Fact] public virtual void Handles_identity_correctly_while_removing_navigation() { var modelBuilder = CreateModelBuilder(); @@ -4070,7 +4070,7 @@ public virtual void Handles_identity_correctly_while_removing_navigation() Assert.Equal(ValueGenerated.Never, property.ValueGenerated); } - [ConditionalFact] + [Fact] public virtual void Throws_if_multiple_navigations_are_pointing_to_same_foreign_key_property() { var modelBuilder = CreateModelBuilder(); @@ -4079,7 +4079,7 @@ public virtual void Throws_if_multiple_navigations_are_pointing_to_same_foreign_ Assert.Throws(() => modelBuilder.Entity().HasOne().WithOne()).Message); } - [ConditionalFact] + [Fact] public virtual void Can_create_self_referencing_relationship_without_navigations() { var modelBuilder = CreateModelBuilder(); @@ -4100,7 +4100,7 @@ public virtual void Can_create_self_referencing_relationship_without_navigations Assert.Null(relationship.DependentToPrincipal); } - [ConditionalFact] + [Fact] public virtual void Can_create_relationship_if_dependent_has_matching_property_with_navigation_name() { var modelBuilder = CreateModelBuilder(); @@ -4124,7 +4124,7 @@ public virtual void Can_create_relationship_if_dependent_has_matching_property_w Assert.Equal("NavOneToOnePrincipalEntityId", fk.Properties.First().Name); } - [ConditionalFact] + [Fact] public virtual void Can_create_relationship_if_dependent_has_matching_property_with_entity_type_name() { var modelBuilder = CreateModelBuilder(); @@ -4148,7 +4148,7 @@ public virtual void Can_create_relationship_if_dependent_has_matching_property_w Assert.Equal("OneToOnePrincipalEntityId", fk.Properties.First().Name); } - [ConditionalFact] + [Fact] public virtual void Can_invert_relationship_if_principal_has_matching_property_with_navigation_name() { var modelBuilder = CreateModelBuilder(); @@ -4172,7 +4172,7 @@ public virtual void Can_invert_relationship_if_principal_has_matching_property_w Assert.Equal("NavOneToOneDependentEntityId", fk.Properties.First().Name); } - [ConditionalFact] + [Fact] public virtual void Can_invert_relationship_if_principal_has_matching_property_with_entity_type_name() { var modelBuilder = CreateModelBuilder(); @@ -4196,7 +4196,7 @@ public virtual void Can_invert_relationship_if_principal_has_matching_property_w Assert.Equal("OneToOneDependentEntityId", fk.Properties.First().Name); } - [ConditionalFact] + [Fact] public virtual void Ignoring_properties_resolves_ambiguity() { var modelBuilder = CreateModelBuilder(); @@ -4215,7 +4215,7 @@ public virtual void Ignoring_properties_resolves_ambiguity() modelBuilder.FinalizeModel(); } - [ConditionalFact] + [Fact] public virtual void Ignoring_properties_on_principal_resolves_ambiguity() { var modelBuilder = CreateModelBuilder(); @@ -4234,7 +4234,7 @@ public virtual void Ignoring_properties_on_principal_resolves_ambiguity() modelBuilder.FinalizeModel(); } - [ConditionalFact] + [Fact] public virtual void Throws_for_one_to_one_relationship_if_no_side_has_matching_property() { var modelBuilder = CreateModelBuilder(); @@ -4259,7 +4259,7 @@ public virtual void Throws_for_one_to_one_relationship_if_no_side_has_matching_p Assert.Throws(() => modelBuilder.FinalizeModel()).Message); } - [ConditionalFact] + [Fact] public virtual void Throws_for_one_to_one_relationship_if_no_side_has_matching_property_anymore() { var modelBuilder = CreateModelBuilder(); @@ -4286,7 +4286,7 @@ public virtual void Throws_for_one_to_one_relationship_if_no_side_has_matching_p Assert.Throws(() => modelBuilder.FinalizeModel()).Message); } - [ConditionalFact] + [Fact] public virtual void Throws_for_one_to_one_relationship_if_both_sides_have_matching_property_with_navigation_name() { var modelBuilder = CreateModelBuilder(); @@ -4303,7 +4303,7 @@ public virtual void Throws_for_one_to_one_relationship_if_both_sides_have_matchi Assert.Throws(() => modelBuilder.FinalizeModel()).Message); } - [ConditionalFact] + [Fact] public virtual void Throws_for_one_to_one_relationship_if_both_sides_have_matching_property_with_entity_type_name() { var modelBuilder = CreateModelBuilder(); @@ -4320,7 +4320,7 @@ public virtual void Throws_for_one_to_one_relationship_if_both_sides_have_matchi Assert.Throws(() => modelBuilder.FinalizeModel()).Message); } - [ConditionalFact] + [Fact] public virtual void Throws_for_one_to_one_relationship_if_both_sides_have_matching_property_mixed() { var modelBuilder = CreateModelBuilder(); @@ -4337,7 +4337,7 @@ public virtual void Throws_for_one_to_one_relationship_if_both_sides_have_matchi Assert.Throws(() => modelBuilder.FinalizeModel()).Message); } - [ConditionalFact] + [Fact] public virtual void Throws_for_one_to_one_relationship_if_both_sides_have_matching_PKs() { var modelBuilder = CreateModelBuilder(); @@ -4368,7 +4368,7 @@ public virtual void Throws_for_one_to_one_relationship_if_both_sides_have_matchi Assert.Throws(() => modelBuilder.FinalizeModel()).Message); } - [ConditionalFact] + [Fact] public virtual void Can_create_relationship_if_user_specify_foreign_key_property() { var modelBuilder = CreateModelBuilder(); @@ -4388,7 +4388,7 @@ public virtual void Can_create_relationship_if_user_specify_foreign_key_property Assert.Equal("NavOneToOnePrincipalEntityId", fk.Properties.First().Name); } - [ConditionalFact] + [Fact] public virtual void Can_create_relationship_if_user_specifies_principal_key_property() { var modelBuilder = CreateModelBuilder(); @@ -4410,7 +4410,7 @@ public virtual void Can_create_relationship_if_user_specifies_principal_key_prop Assert.Equal(nameof(OneToOnePrincipalEntity.NavOneToOneDependentEntityId), fk.Properties.First().Name); } - [ConditionalFact] + [Fact] public virtual void Can_create_relationship_if_foreign_key_attribute_is_used() { var modelBuilder = CreateModelBuilder(); @@ -4430,7 +4430,7 @@ public virtual void Can_create_relationship_if_foreign_key_attribute_is_used() Assert.Equal("FkProperty", fk.Properties.First().Name); } - [ConditionalFact] + [Fact] public virtual void Can_use_pk_as_fk_if_principal_end_is_specified() { var modelBuilder = CreateModelBuilder(); @@ -4446,7 +4446,7 @@ public virtual void Can_use_pk_as_fk_if_principal_end_is_specified() .Single().Name); } - [ConditionalFact] + [Fact] public virtual void Does_not_use_pk_as_fk_if_principal_end_is_not_specified() { var modelBuilder = CreateModelBuilder(); @@ -4459,7 +4459,7 @@ public virtual void Does_not_use_pk_as_fk_if_principal_end_is_not_specified() Assert.NotEqual("Id", fk.Properties.Single().Name); } - [ConditionalFact] + [Fact] public virtual void Creates_one_to_one_relationship_with_single_ref_as_principal_to_dependent_if_matching_properties_are_on_the_other_side() { @@ -4484,7 +4484,7 @@ public virtual void Assert.Equal(OneToOnePrincipalEntity.EntityMatchingProperty.Name, fk.Properties.Single().Name); } - [ConditionalFact] + [Fact] public virtual void Multiple_self_referencing_navigations_throw_as_ambiguous() { var modelBuilder = CreateModelBuilder(); @@ -4496,7 +4496,7 @@ public virtual void Multiple_self_referencing_navigations_throw_as_ambiguous() Assert.Throws(() => modelBuilder.FinalizeModel()).Message); } - [ConditionalFact] + [Fact] public virtual void Navigation_properties_can_set_access_mode() { var modelBuilder = CreateModelBuilder(); @@ -4521,7 +4521,7 @@ public virtual void Navigation_properties_can_set_access_mode() Assert.Equal(PropertyAccessMode.Property, dependent.FindNavigation("OneToOnePrincipal").GetPropertyAccessMode()); } - [ConditionalFact] + [Fact] public virtual void Navigation_to_shared_type_is_not_discovered_by_convention() { var modelBuilder = CreateModelBuilder(); @@ -4533,7 +4533,7 @@ public virtual void Navigation_to_shared_type_is_not_discovered_by_convention() Assert.Throws(() => modelBuilder.FinalizeModel()).Message); } - [ConditionalFact] + [Fact] public virtual void Inverse_discovered_after_entity_unignored() { var modelBuilder = CreateModelBuilder(); diff --git a/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.OwnedTypes.cs b/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.OwnedTypes.cs index dd0e37daf36..7a1e78a83fb 100644 --- a/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.OwnedTypes.cs +++ b/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.OwnedTypes.cs @@ -11,7 +11,7 @@ public abstract partial class ModelBuilderTest { public abstract class OwnedTypesTestBase(ModelBuilderFixtureBase fixture) : ModelBuilderTestBase(fixture) { - [ConditionalFact] + [Fact] public virtual void Can_configure_owned_type() { var modelBuilder = CreateModelBuilder(); @@ -44,7 +44,7 @@ public virtual void Can_configure_owned_type() Assert.Equal(1, model.GetEntityTypes().Count(e => e.ClrType == typeof(CustomerDetails))); } - [ConditionalFact] + [Fact] public virtual void Can_configure_owned_type_using_nested_closure() { var modelBuilder = CreateModelBuilder(); @@ -65,7 +65,7 @@ public virtual void Can_configure_owned_type_using_nested_closure() Assert.Single(owned.GetForeignKeys()); } - [ConditionalFact] + [Fact] public virtual void Can_configure_one_to_one_owned_type_with_fields() { var modelBuilder = CreateModelBuilder(); @@ -111,7 +111,7 @@ public virtual void Can_configure_one_to_one_owned_type_with_fields() Assert.Equal(1, model.GetEntityTypes().Count(e => e.ClrType == typeof(OneToOneOwnedWithField))); } - [ConditionalFact] + [Fact] public virtual void Can_configure_one_to_many_owned_type_with_fields() { var modelBuilder = CreateModelBuilder(); @@ -156,7 +156,7 @@ public virtual void Can_configure_one_to_many_owned_type_with_fields() Assert.Equal(1, model.GetEntityTypes().Count(e => e.ClrType == typeof(OneToManyOwnedWithField))); } - [ConditionalFact] + [Fact] public virtual void Can_configure_owned_type_inverse() { var modelBuilder = CreateModelBuilder(); @@ -182,7 +182,7 @@ public virtual void Can_configure_owned_type_inverse() Assert.Single(ownership.DeclaringEntityType.GetForeignKeys()); } - [ConditionalFact] + [Fact] public virtual void Can_configure_owned_type_properties() { var modelBuilder = CreateModelBuilder(); @@ -204,7 +204,7 @@ public virtual void Can_configure_owned_type_properties() Assert.Equal(ChangeTrackingStrategy.ChangedNotifications, owned.GetChangeTrackingStrategy()); } - [ConditionalFact] + [Fact] public virtual void Can_configure_owned_type_key() { var modelBuilder = CreateModelBuilder(); @@ -220,7 +220,7 @@ public virtual void Can_configure_owned_type_key() Assert.Equal(nameof(CustomerDetails.Id), owned.FindPrimaryKey().Properties.Single().Name); } - [ConditionalFact] + [Fact] public virtual void Can_configure_ownership_foreign_key() { var modelBuilder = CreateModelBuilder(); @@ -239,7 +239,7 @@ public virtual void Can_configure_ownership_foreign_key() Assert.Single(ownership.DeclaringEntityType.GetForeignKeys()); } - [ConditionalFact] + [Fact] public virtual void Can_configure_another_relationship_to_owner() { var modelBuilder = CreateModelBuilder(); @@ -273,7 +273,7 @@ public virtual void Can_configure_another_relationship_to_owner() Assert.Equal(1, model.GetEntityTypes().Count(e => e.ClrType == typeof(CustomerDetails))); } - [ConditionalFact] + [Fact] public virtual void Changing_ownership_uniqueness_throws() { var modelBuilder = CreateModelBuilder(); @@ -293,7 +293,7 @@ public virtual void Changing_ownership_uniqueness_throws() })).Message); } - [ConditionalFact] + [Fact] public virtual void Can_configure_on_derived_type_first() { var modelBuilder = CreateModelBuilder(); @@ -311,7 +311,7 @@ public virtual void Can_configure_on_derived_type_first() Assert.Single(ownership.DeclaringEntityType.GetForeignKeys()); } - [ConditionalFact] + [Fact] public virtual void Can_configure_on_derived_types_first() { var modelBuilder = CreateModelBuilder(); @@ -330,7 +330,7 @@ public virtual void Can_configure_on_derived_types_first() Assert.Single(ownership.DeclaringEntityType.GetForeignKeys()); } - [ConditionalFact] + [Fact] public virtual void Can_configure_multiple_ownerships() { var modelBuilder = CreateModelBuilder(); @@ -352,7 +352,7 @@ public virtual void Can_configure_multiple_ownerships() Assert.Single(ownership2.DeclaringEntityType.GetForeignKeys()); } - [ConditionalFact] + [Fact] public virtual void Can_configure_one_to_one_relationship_from_an_owned_type() { var modelBuilder = CreateModelBuilder(); @@ -379,7 +379,7 @@ public virtual void Can_configure_one_to_one_relationship_from_an_owned_type() Assert.Equal(2, ownership.DeclaringEntityType.GetForeignKeys().Count()); } - [ConditionalFact] + [Fact] public virtual void Can_configure_owned_type_collection_from_an_owned_type() { var modelBuilder = CreateModelBuilder(); @@ -428,7 +428,7 @@ public virtual void Can_configure_owned_type_collection_from_an_owned_type() Assert.Equal(3, model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public virtual void Can_configure_owned_type_collection() { var modelBuilder = CreateModelBuilder(); @@ -490,7 +490,7 @@ public virtual void Can_configure_owned_type_collection() Assert.Single(owned.GetNavigations()); } - [ConditionalFact] + [Fact] public virtual void Can_configure_owned_type_collection_using_nested_closure() { var modelBuilder = CreateModelBuilder(); @@ -537,7 +537,7 @@ public virtual void Can_configure_owned_type_collection_using_nested_closure() Assert.Equal(nameof(Order.Customer), ownership.DependentToPrincipal.Name); } - [ConditionalFact] + [Fact] public virtual void Can_configure_one_to_one_relationship_from_an_owned_type_collection() { var modelBuilder = CreateModelBuilder(); @@ -585,7 +585,7 @@ public virtual void Can_configure_one_to_one_relationship_from_an_owned_type_col Assert.Null(model.FindEntityType(typeof(SpecialOrder))); } - [ConditionalFact] + [Fact] public virtual void Can_call_Owner_fluent_api_after_calling_Entity() { var modelBuilder = CreateModelBuilder(); @@ -611,7 +611,7 @@ public enum HasDataOverload Params = 4 } - [ConditionalTheory, InlineData(HasDataOverload.Array), InlineData(HasDataOverload.Array | HasDataOverload.Params), + [Theory, InlineData(HasDataOverload.Array), InlineData(HasDataOverload.Array | HasDataOverload.Params), InlineData(HasDataOverload.Array | HasDataOverload.Generic), InlineData(HasDataOverload.Array | HasDataOverload.Params | HasDataOverload.Generic), InlineData(HasDataOverload.Enumerable), InlineData(HasDataOverload.Enumerable | HasDataOverload.Generic)] @@ -673,7 +673,7 @@ public virtual void Can_configure_owned_type_from_an_owned_type_collection(HasDa Assert.Equal(4, model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public virtual void Can_chain_owned_type_collection_configurations() { var modelBuilder = CreateModelBuilder(); @@ -725,7 +725,7 @@ public virtual void Can_chain_owned_type_collection_configurations() Assert.Equal(4, model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public virtual void Can_configure_owned_type_collection_without_explicit_key() { var modelBuilder = CreateModelBuilder(); @@ -769,7 +769,7 @@ public virtual void Can_configure_owned_type_collection_without_explicit_key() Assert.Equal(4, model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public virtual void Can_configure_owned_type_collection_without_explicit_key_or_candidate() { var modelBuilder = CreateModelBuilder(); @@ -816,7 +816,7 @@ public virtual void Can_configure_owned_type_collection_without_explicit_key_or_ Assert.Equal(4, model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public virtual void Ambiguous_relationship_between_owned_types_throws() { var modelBuilder = CreateModelBuilder(); @@ -832,7 +832,7 @@ public virtual void Ambiguous_relationship_between_owned_types_throws() Assert.Throws(() => modelBuilder.FinalizeModel()).Message); } - [ConditionalFact] + [Fact] public virtual void Can_configure_owned_type_collection_with_one_call() { var modelBuilder = CreateModelBuilder(); @@ -887,7 +887,7 @@ public virtual void Can_configure_owned_type_collection_with_one_call() Assert.Null(conventionModel.FindIgnoredConfigurationSource(typeof(SpecialCustomer))); } - [ConditionalFact] + [Fact] public virtual void Can_configure_owned_type_collection_with_one_call_afterwards() { var modelBuilder = CreateModelBuilder(); @@ -934,7 +934,7 @@ public virtual void Can_configure_owned_type_collection_with_one_call_afterwards Assert.Null(conventionModel.FindIgnoredConfigurationSource(typeof(SpecialCustomer))); } - [ConditionalFact] + [Fact] public virtual void Can_configure_single_owned_type_using_attribute() { var modelBuilder = CreateModelBuilder(); @@ -955,7 +955,7 @@ public virtual void Can_configure_single_owned_type_using_attribute() Assert.NotNull(ownership.DeclaringEntityType.FindProperty(nameof(StreetAddress.Street))); } - [ConditionalFact] + [Fact] public virtual void Can_configure_fk_on_multiple_ownerships() { var modelBuilder = CreateModelBuilder(); @@ -994,7 +994,7 @@ public virtual void Can_configure_fk_on_multiple_ownerships() Assert.Equal(3, model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public virtual void Can_map_base_of_owned_type() { var modelBuilder = CreateModelBuilder(); @@ -1021,7 +1021,7 @@ public virtual void Can_map_base_of_owned_type() Assert.Single(owned.GetForeignKeys()); } - [ConditionalFact] + [Fact] public virtual void Can_map_base_of_owned_type_first() { var modelBuilder = CreateModelBuilder(); @@ -1048,7 +1048,7 @@ public virtual void Can_map_base_of_owned_type_first() Assert.Single(owned.GetForeignKeys()); } - [ConditionalFact] + [Fact] public virtual void Can_map_derived_of_owned_type() { var modelBuilder = CreateModelBuilder(); @@ -1085,7 +1085,7 @@ public virtual void Can_map_derived_of_owned_type() modelBuilder.FinalizeModel(); } - [ConditionalFact] + [Fact] public virtual void Can_map_derived_of_owned_type_first() { var modelBuilder = CreateModelBuilder(); @@ -1120,7 +1120,7 @@ public virtual void Can_map_derived_of_owned_type_first() modelBuilder.FinalizeModel(); } - [ConditionalFact] + [Fact] public virtual void Can_configure_relationship_with_PK_ValueConverter_shadow_FK() { var modelBuilder = CreateModelBuilder(); @@ -1159,7 +1159,7 @@ public virtual void Can_configure_relationship_with_PK_ValueConverter_shadow_FK( Assert.Equal(3, model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public virtual void Can_configure_relationship_with_PK_ValueConverter() { var modelBuilder = CreateModelBuilder(); @@ -1190,7 +1190,7 @@ public virtual void Can_configure_relationship_with_PK_ValueConverter() Assert.Equal(2, model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public virtual void Throws_on_FK_matching_two_relationships() { var modelBuilder = CreateModelBuilder(); @@ -1211,7 +1211,7 @@ public virtual void Throws_on_FK_matching_two_relationships() Assert.Throws(() => modelBuilder.FinalizeModel()).Message); } - [ConditionalFact] + [Fact] public virtual void Can_configure_chained_ownerships() { var modelBuilder = CreateModelBuilder(); @@ -1263,7 +1263,7 @@ public virtual void Can_configure_chained_ownerships() VerifyOwnedBookLabelModel(model); } - [ConditionalFact] + [Fact] public virtual void Can_configure_chained_ownerships_different_order() { var modelBuilder = CreateModelBuilder(); @@ -1322,7 +1322,7 @@ public virtual void Can_configure_chained_ownerships_different_order() VerifyOwnedBookLabelModel(model); } - [ConditionalFact] + [Fact] public virtual void Can_configure_hierarchy_with_reference_navigations_as_owned() { var modelBuilder = CreateModelBuilder(); @@ -1372,7 +1372,7 @@ public virtual void Can_configure_hierarchy_with_reference_navigations_as_owned( VerifyOwnedBookLabelModel(model); } - [ConditionalFact] + [Fact] public virtual void Can_configure_hierarchy_with_reference_navigations_as_owned_afterwards() { var modelBuilder = CreateModelBuilder(); @@ -1475,7 +1475,7 @@ protected virtual void VerifyOwnedBookLabelModel(IReadOnlyModel model) Assert.Equal(4, model.GetEntityTypes().Count(e => e.ClrType == typeof(SpecialBookLabel))); } - [ConditionalFact] + [Fact] public virtual void Removing_ambiguous_inverse_allows_navigations_to_be_discovered() { var modelBuilder = CreateModelBuilder(); @@ -1529,7 +1529,7 @@ public virtual void Removing_ambiguous_inverse_allows_navigations_to_be_discover Assert.Equal(2, model.GetEntityTypes().Count(e => e.ClrType == typeof(SpecialBookLabel))); } - [ConditionalFact] + [Fact] public virtual void Can_configure_self_ownership() { var modelBuilder = CreateModelBuilder(); @@ -1550,7 +1550,7 @@ public virtual void Can_configure_self_ownership() Assert.Equal(2, model.GetEntityTypes().Count(e => e.ClrType == typeof(AnotherBookLabel))); } - [ConditionalTheory, InlineData(16, 2, 16, 4, 16, 4, 16, 4, 16, 4), InlineData(16, 2, 17, 4, 17, 4, 17, 4, 17, 4), + [Theory, InlineData(16, 2, 16, 4, 16, 4, 16, 4, 16, 4), InlineData(16, 2, 17, 4, 17, 4, 17, 4, 17, 4), InlineData(null, null, 16, 4, 16, 4, 16, 4, 16, 4), InlineData(null, null, 16, 4, 15, 3, 14, 2, 13, 1), InlineData(null, null, 16, null, 15, null, 14, null, 13, null), InlineData(17, null, 16, null, 15, null, 14, null, 13, null), InlineData(17, 5, 16, 4, 15, 3, 14, 2, 13, 1), InlineData(17, 5, null, null, null, null, null, null, null, null)] // Issue #28091 @@ -1658,7 +1658,7 @@ protected class Office public List DepartmentIds { get; set; } } - [ConditionalFact] + [Fact] public virtual void Can_configure_property_and_owned_entity_of_same_type() { var modelBuilder = CreateModelBuilder(); @@ -1692,7 +1692,7 @@ public virtual void Can_configure_property_and_owned_entity_of_same_type() Assert.Same(departmentIdProperty.GetValueConverter(), departmentIdFkProperty.GetValueConverter()); } - [ConditionalFact] + [Fact] public virtual void Can_configure_owned_entity_and_property_of_same_type() { var modelBuilder = CreateModelBuilder(); @@ -1727,7 +1727,7 @@ public virtual void Can_configure_owned_entity_and_property_of_same_type() Assert.Same(departmentIdProperty.GetValueConverter(), departmentIdFkProperty.GetValueConverter()); } - [ConditionalFact] + [Fact] public virtual void Reconfiguring_entity_type_as_owned_throws() { var modelBuilder = CreateModelBuilder(); @@ -1740,7 +1740,7 @@ public virtual void Reconfiguring_entity_type_as_owned_throws() Assert.Throws(() => modelBuilder.Entity().OwnsOne(c => c.Details)).Message); } - [ConditionalFact] + [Fact] public virtual void Reconfiguring_owned_type_as_non_owned_throws() { var modelBuilder = CreateModelBuilder(); @@ -1753,7 +1753,7 @@ public virtual void Reconfiguring_owned_type_as_non_owned_throws() Assert.Throws(() => modelBuilder.Entity().HasOne(c => c.Details)).Message); } - [ConditionalFact] + [Fact] public virtual void Deriving_from_owned_type_throws() { var modelBuilder = CreateModelBuilder(); @@ -1775,7 +1775,7 @@ public virtual void Deriving_from_owned_type_throws() Assert.Throws(() => modelBuilder.Entity().HasBaseType()).Message); } - [ConditionalFact] + [Fact] public virtual void Configuring_base_type_as_owned_throws() { var modelBuilder = CreateModelBuilder(); @@ -1791,7 +1791,7 @@ public virtual void Configuring_base_type_as_owned_throws() Assert.Throws(() => modelBuilder.Entity().OwnsOne(c => c.Label)).Message); } - [ConditionalFact] + [Fact] public virtual void CLR_base_type_can_be_owned_when_not_in_hierarchy() { var modelBuilder = CreateModelBuilder(); @@ -1823,7 +1823,7 @@ public virtual void CLR_base_type_can_be_owned_when_not_in_hierarchy() Assert.Null(model.FindEntityType(typeof(AnotherBookLabel)).BaseType); } - [ConditionalFact] + [Fact] public virtual void OwnedType_can_derive_from_Collection() { var modelBuilder = CreateModelBuilder(); @@ -1834,7 +1834,7 @@ public virtual void OwnedType_can_derive_from_Collection() Assert.Single(model.FindEntityTypes(typeof(MyList))); } - [ConditionalFact] + [Fact] public virtual void Shared_type_entity_types_with_FK_to_another_entity_works() { var modelBuilder = CreateModelBuilder(); @@ -1867,7 +1867,7 @@ public virtual void Shared_type_entity_types_with_FK_to_another_entity_works() Assert.Equal(Fixture.ForeignKeysHaveIndexes ? 1 : 0, bill2.GetIndexes().Count()); } - [ConditionalFact] + [Fact] public virtual void Can_have_multiple_owned_types_on_base() { var modelBuilder = CreateModelBuilder(); @@ -1890,7 +1890,7 @@ public virtual void Can_have_multiple_owned_types_on_base() Assert.Same(owner, ownership3.DependentToPrincipal.TargetEntityType); } - [ConditionalFact] + [Fact] public virtual void Navigations_on_owned_type_can_set_access_mode_using_expressions() { var modelBuilder = CreateModelBuilder(); @@ -1917,7 +1917,7 @@ public virtual void Navigations_on_owned_type_can_set_access_mode_using_expressi Assert.Equal(PropertyAccessMode.Property, dependent.FindNavigation("OneToOneOwner").GetPropertyAccessMode()); } - [ConditionalFact] + [Fact] public virtual void Navigations_on_owned_type_collection_can_set_access_mode() { var modelBuilder = CreateModelBuilder(); @@ -1944,7 +1944,7 @@ public virtual void Navigations_on_owned_type_collection_can_set_access_mode() Assert.Equal(PropertyAccessMode.Property, dependent.FindNavigation("OneToManyOwner").GetPropertyAccessMode()); } - [ConditionalFact] + [Fact] public virtual void Attempt_to_create_OwnsMany_on_a_reference_throws() { var modelBuilder = CreateModelBuilder(); @@ -1960,7 +1960,7 @@ public virtual void Attempt_to_create_OwnsMany_on_a_reference_throws() ); } - [ConditionalFact] + [Fact] public virtual void Attempt_to_create_OwnsOne_on_a_collection_throws() { var modelBuilder = CreateModelBuilder(); @@ -1975,7 +1975,7 @@ public virtual void Attempt_to_create_OwnsOne_on_a_collection_throws() .OwnsOne("OwnedDependents")).Message); } - [ConditionalFact] + [Fact] public virtual void Shared_type_can_be_used_as_owned_type() { var modelBuilder = CreateModelBuilder(); @@ -2029,7 +2029,7 @@ public virtual void Shared_type_can_be_used_as_owned_type() }); } - [ConditionalFact] + [Fact] public virtual void Shared_type_used_as_owned_type_throws_for_same_name() { var modelBuilder = CreateModelBuilder(); @@ -2046,7 +2046,7 @@ public virtual void Shared_type_used_as_owned_type_throws_for_same_name() }); } - [ConditionalFact] + [Fact] public virtual void PrimitiveCollectionBuilder_methods_can_be_chained() => CreateModelBuilder() .Entity() @@ -2084,7 +2084,7 @@ public virtual void PrimitiveCollectionBuilder_methods_can_be_chained() .HasValueGeneratorFactory(typeof(CustomValueGeneratorFactory)) .IsRequired(); - [ConditionalFact] + [Fact] public virtual void PrimitiveCollectionBuilder_methods_can_be_chained_on_collection() => CreateModelBuilder() .Entity() @@ -2139,7 +2139,7 @@ public override ValueGenerator Create(IProperty property, ITypeBase entityType) private class CustomValueComparer() : ValueComparer(false); - [ConditionalFact] + [Fact] public virtual void Lambda_throws_when_intermediate_is_owned_navigation() { var modelBuilder = CreateModelBuilder(); @@ -2153,7 +2153,7 @@ public virtual void Lambda_throws_when_intermediate_is_owned_navigation() () => modelBuilder.Entity().Property(c => c.Details.CustomerId)).Message); } - [ConditionalFact] + [Fact] public virtual void Dotted_string_throws_when_intermediate_is_nested_owned_navigation() { var modelBuilder = CreateModelBuilder(); diff --git a/test/EFCore.Specification.Tests/ModelBuilding101ManyToManyTestBase.cs b/test/EFCore.Specification.Tests/ModelBuilding101ManyToManyTestBase.cs index 4af87d42906..14a5e447f6c 100644 --- a/test/EFCore.Specification.Tests/ModelBuilding101ManyToManyTestBase.cs +++ b/test/EFCore.Specification.Tests/ModelBuilding101ManyToManyTestBase.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract partial class ModelBuilding101TestBase { - [ConditionalFact] + [Fact] public virtual void BasicManyToManyTest() => Model101Test(); @@ -56,7 +56,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void UnidirectionalManyToManyTest() => Model101Test(); @@ -103,7 +103,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void ManyToManyNamedJoinTableTest() => Model101Test(); @@ -150,7 +150,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void ManyToManyNamedForeignKeyColumnsTest() => Model101Test(); @@ -199,7 +199,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void ManyToManyWithJoinClassTest() => Model101Test(); @@ -262,7 +262,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void ManyToManyWithNavsToJoinClassTest() => Model101Test(); @@ -327,7 +327,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void ManyToManyWithNavsToAndFromJoinClassTest() => Model101Test(); @@ -394,7 +394,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void ManyToManyWithNamedFksAndNavsToAndFromJoinClassTest() => Model101Test(); @@ -454,7 +454,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void ManyToManyAlternateKeysTest() => Model101Test(); @@ -506,7 +506,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void ManyToManyWithNavsAndAlternateKeysTest() => Model101Test(); @@ -568,7 +568,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void ManyToManyWithJoinClassHavingPrimaryKeyTest() => Model101Test(); @@ -621,7 +621,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void ManyToManyWithPrimaryKeyInJoinEntityTest() => Model101Test(); @@ -676,7 +676,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void ManyToManyWithPayloadAndNavsToJoinClassTest() => Model101Test(); @@ -734,7 +734,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void ManyToManyWithPayloadAndNavsToJoinClassShadowFKsTest() => Model101Test(); @@ -789,7 +789,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void ManyToManyWithNoCascadeDeleteTest() => Model101Test(); @@ -840,7 +840,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void SelfReferencingManyToManyTest() => Model101Test(); @@ -881,7 +881,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void SelfReferencingUnidirectionalManyToManyTest() => Model101Test(); @@ -918,7 +918,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void ManyToManyWithCustomSharedTypeEntityTypeTest() => Model101Test(); diff --git a/test/EFCore.Specification.Tests/ModelBuilding101OneToManyNrtTestBase.cs b/test/EFCore.Specification.Tests/ModelBuilding101OneToManyNrtTestBase.cs index 6ee8a4fed5b..0be4fee5dfc 100644 --- a/test/EFCore.Specification.Tests/ModelBuilding101OneToManyNrtTestBase.cs +++ b/test/EFCore.Specification.Tests/ModelBuilding101OneToManyNrtTestBase.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract partial class ModelBuilding101TestBase { - [ConditionalFact] + [Fact] public virtual void OneToManyRequiredNrtTest() => Model101Test(); @@ -96,7 +96,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManyOptionalNrtTest() => Model101Test(); @@ -183,7 +183,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManyRequiredWithShadowFkNrtTest() => Model101Test(); @@ -266,7 +266,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManyOptionalWithShadowFkNrtTest() => Model101Test(); @@ -349,7 +349,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManyRequiredNoNavigationToPrincipalNrtTest() => Model101Test(); @@ -430,7 +430,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManyOptionalNoNavigationToPrincipalNrtTest() => Model101Test(); @@ -509,7 +509,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManyRequiredWithShadowFkAndNoNavigationToPrincipalNrtTest() => Model101Test(); @@ -564,7 +564,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToManyOptionalWithShadowFkAndNoNavigationToPrincipalNrtTest() => Model101Test(); @@ -641,7 +641,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManyRequiredNoNavigationToDependentsNrtTest() => Model101Test(); @@ -724,7 +724,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManyOptionalNoNavigationToDependentsNrtTest() => Model101Test(); @@ -807,7 +807,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManyRequiredWithShadowFkAndNoNavigationToDependentsNrtTest() => Model101Test(); @@ -886,7 +886,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManyOptionalWithShadowFkAndNoNavigationToDependentsNrtTest() => Model101Test(); @@ -965,7 +965,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManyRequiredNoNavigationsNrtTest() => Model101Test(); @@ -1046,7 +1046,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToManyOptionalNoNavigationsNrtTest() => Model101Test(); @@ -1125,7 +1125,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToManyRequiredWithShadowFkAndNoNavigationsNrtTest() => Model101Test(); @@ -1179,7 +1179,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToManyOptionalWithShadowFkAndNoNavigationsNrtTest() => Model101Test(); @@ -1232,7 +1232,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToManyRequiredWithAlternateKeyNrtTest() => Model101Test(); @@ -1325,7 +1325,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToManyOptionalWithAlternateKeyNrtTest() => Assert.Throws(() => Model101Test()); // Issue #30346 @@ -1418,7 +1418,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToManyRequiredWithShadowFkWithAlternateKeyNrtTest() => Assert.Throws(() => Model101Test()); // Issue #30344 @@ -1507,7 +1507,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToManyOptionalWithShadowFkWithAlternateKeyNrtTest() => Assert.Throws(() => Model101Test()); // Issue #30346 @@ -1596,7 +1596,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToManyRequiredWithCompositeKeyNrtTest() => Model101Test(); @@ -1728,7 +1728,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManyOptionalWithCompositeKeyNrtTest() => Model101Test(); @@ -1860,7 +1860,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManyRequiredWithShadowFkWithCompositeKeyNrtTest() => Model101Test(); @@ -1986,7 +1986,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManyOptionalWithShadowFkWithCompositeKeyNrtTest() => Model101Test(); @@ -2112,7 +2112,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManySelfReferencingNrtTest() => Model101Test(); @@ -2173,7 +2173,7 @@ public DbSet Employees } } - [ConditionalFact] + [Fact] public virtual void OneToManyRequiredWithoutCascadeDeleteNrtTest() => Model101Test(); diff --git a/test/EFCore.Specification.Tests/ModelBuilding101OneToManyTestBase.cs b/test/EFCore.Specification.Tests/ModelBuilding101OneToManyTestBase.cs index 502ffe037ac..6a1e80a631f 100644 --- a/test/EFCore.Specification.Tests/ModelBuilding101OneToManyTestBase.cs +++ b/test/EFCore.Specification.Tests/ModelBuilding101OneToManyTestBase.cs @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract partial class ModelBuilding101TestBase { - [ConditionalFact] + [Fact] public virtual void OneToManyRequiredTest() => Model101Test(); @@ -98,7 +98,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManyOptionalTest() => Model101Test(); @@ -185,7 +185,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManyRequiredWithShadowFkTest() => Model101Test(); @@ -297,7 +297,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManyOptionalWithShadowFkTest() => Model101Test(); @@ -380,7 +380,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManyRequiredNoNavigationToPrincipalTest() => Model101Test(); @@ -461,7 +461,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManyOptionalNoNavigationToPrincipalTest() => Model101Test(); @@ -542,7 +542,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManyRequiredWithShadowFkAndNoNavigationToPrincipalTest() => Model101Test(); @@ -623,7 +623,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToManyOptionalWithShadowFkAndNoNavigationToPrincipalTest() => Model101Test(); @@ -702,7 +702,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManyRequiredNoNavigationToDependentsTest() => Model101Test(); @@ -785,7 +785,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManyOptionalNoNavigationToDependentsTest() => Model101Test(); @@ -868,7 +868,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManyRequiredWithShadowFkAndNoNavigationToDependentsTest() => Model101Test(); @@ -974,7 +974,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManyOptionalWithShadowFkAndNoNavigationToDependentsTest() => Model101Test(); @@ -1053,7 +1053,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManyRequiredNoNavigationsTest() => Model101Test(); @@ -1107,7 +1107,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToManyOptionalNoNavigationsTest() => Model101Test(); @@ -1161,7 +1161,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToManyRequiredWithShadowFkAndNoNavigationsTest() => Model101Test(); @@ -1215,7 +1215,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToManyOptionalWithShadowFkAndNoNavigationsTest() => Model101Test(); @@ -1268,7 +1268,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToManyRequiredWithAlternateKeyTest() => Model101Test(); @@ -1390,7 +1390,7 @@ protected override void ConfigureConventions(ModelConfigurationBuilder configura } } - [ConditionalFact] + [Fact] public virtual void OneToManyOptionalWithAlternateKeyTest() => Assert.Throws(() => Model101Test()); // Issue #30346 @@ -1483,7 +1483,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToManyRequiredWithShadowFkWithAlternateKeyTest() => Model101Test(); @@ -1603,7 +1603,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToManyOptionalWithShadowFkWithAlternateKeyTest() => Assert.Throws(() => Model101Test()); // Issue #30346 @@ -1692,7 +1692,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToManyRequiredWithCompositeKeyTest() => Model101Test(); @@ -1825,7 +1825,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManyOptionalWithCompositeKeyTest() => Model101Test(); @@ -1957,7 +1957,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManyRequiredWithShadowFkWithCompositeKeyTest() => Model101Test(); @@ -2094,7 +2094,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManyOptionalWithShadowFkWithCompositeKeyTest() => Model101Test(); @@ -2220,7 +2220,7 @@ public DbSet Posts } } - [ConditionalFact] + [Fact] public virtual void OneToManySelfReferencingTest() => Model101Test(); @@ -2281,7 +2281,7 @@ public DbSet Employees } } - [ConditionalFact] + [Fact] public virtual void OneToManyRequiredWithoutCascadeDeleteTest() => Model101Test(); diff --git a/test/EFCore.Specification.Tests/ModelBuilding101OneToOneNrtTestBase.cs b/test/EFCore.Specification.Tests/ModelBuilding101OneToOneNrtTestBase.cs index d2b3000e87a..b6dc90db390 100644 --- a/test/EFCore.Specification.Tests/ModelBuilding101OneToOneNrtTestBase.cs +++ b/test/EFCore.Specification.Tests/ModelBuilding101OneToOneNrtTestBase.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract partial class ModelBuilding101TestBase { - [ConditionalFact] + [Fact] public virtual void OneToOneRequiredNrtTest() => Model101Test(); @@ -86,7 +86,7 @@ public class BlogHeader } } - [ConditionalFact] + [Fact] public virtual void OneToOneOptionalNrtTest() => Model101Test(); @@ -163,7 +163,7 @@ public DbSet BlogHeaders } } - [ConditionalFact] + [Fact] public virtual void OneToOneRequiredPkToPkNrtTest() => Model101Test(); @@ -266,7 +266,7 @@ public DbSet BlogHeaders } } - [ConditionalFact] + [Fact] public virtual void OneToOneRequiredWithShadowFkNrtTest() => Model101Test(); @@ -368,7 +368,7 @@ public DbSet BlogHeaders } } - [ConditionalFact] + [Fact] public virtual void OneToOneOptionalWithShadowFkNrtTest() => Model101Test(); @@ -470,7 +470,7 @@ public DbSet BlogHeaders } } - [ConditionalFact] + [Fact] public virtual void OneToOneRequiredNoNavigationToPrincipalNrtTest() => Model101Test(); @@ -541,7 +541,7 @@ public DbSet BlogHeaders } } - [ConditionalFact] + [Fact] public virtual void OneToOneOptionalNoNavigationToPrincipalNrtTest() => Model101Test(); @@ -589,7 +589,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneRequiredWithShadowFkAndNoNavigationToPrincipalNrtTest() => Model101Test(); @@ -643,7 +643,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneOptionalWithShadowFkAndNoNavigationToPrincipalNrtTest() => Model101Test(); @@ -696,7 +696,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneRequiredNoNavigationToDependentsNrtTest() => Model101Test(); @@ -779,7 +779,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneOptionalNoNavigationToDependentsNrtTest() => Model101Test(); @@ -862,7 +862,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneRequiredWithShadowFkAndNoNavigationToDependentsNrtTest() => Model101Test(); @@ -942,7 +942,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneOptionalWithShadowFkAndNoNavigationToDependentsNrtTest() => Model101Test(); @@ -1022,7 +1022,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneRequiredNoNavigationsNrtTest() => Model101Test(); @@ -1101,7 +1101,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneOptionalNoNavigationsNrtTest() => Model101Test(); @@ -1153,7 +1153,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneRequiredWithShadowFkAndNoNavigationsNrtTest() => Model101Test(); @@ -1206,7 +1206,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneOptionalWithShadowFkAndNoNavigationsNrtTest() => Model101Test(); @@ -1258,7 +1258,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneRequiredWithAlternateKeyNrtTest() => Model101Test(); @@ -1351,7 +1351,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneOptionalWithAlternateKeyNrtTest() => Assert.Throws(() => Model101Test()); // Issue #30346 @@ -1444,7 +1444,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneRequiredWithShadowFkWithAlternateKeyNrtTest() => Assert.Throws(() => Model101Test()); // Issue #30346 @@ -1533,7 +1533,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneOptionalWithShadowFkWithAlternateKeyNrtTest() => Assert.Throws(() => Model101Test()); // Issue #30346 @@ -1622,7 +1622,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneRequiredWithCompositeKeyNrtTest() => Model101Test(); @@ -1748,7 +1748,7 @@ public DbSet BlogHeaders } } - [ConditionalFact] + [Fact] public virtual void OneToOneOptionalWithCompositeKeyNrtTest() => Model101Test(); @@ -1873,7 +1873,7 @@ public DbSet BlogHeaders } } - [ConditionalFact] + [Fact] public virtual void OneToOneOneToOneRequiredWithShadowFkWithCompositeKeyNrtTest() => Model101Test(); @@ -1995,7 +1995,7 @@ public DbSet BlogHeaders } } - [ConditionalFact] + [Fact] public virtual void OneToOneOptionalWithShadowFkWithCompositeKeyNrtTest() => Model101Test(); @@ -2117,7 +2117,7 @@ public DbSet BlogHeaders } } - [ConditionalFact] + [Fact] public virtual void OneToOneSelfReferencingNrtTest() => Assert.Throws(() => Model101Test()); // Issue #30355 @@ -2177,7 +2177,7 @@ public DbSet People } } - [ConditionalFact] + [Fact] public virtual void OneToOneRequiredWithoutCascadeDeleteNrtTest() => Model101Test(); diff --git a/test/EFCore.Specification.Tests/ModelBuilding101OneToOneTestBase.cs b/test/EFCore.Specification.Tests/ModelBuilding101OneToOneTestBase.cs index 5e10b301fd1..eb171287c59 100644 --- a/test/EFCore.Specification.Tests/ModelBuilding101OneToOneTestBase.cs +++ b/test/EFCore.Specification.Tests/ModelBuilding101OneToOneTestBase.cs @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract partial class ModelBuilding101TestBase { - [ConditionalFact] + [Fact] public virtual void OneToOneRequiredTest() => Model101Test(); @@ -88,7 +88,7 @@ public class BlogHeader } } - [ConditionalFact] + [Fact] public virtual void OneToOneOptionalTest() => Model101Test(); @@ -165,7 +165,7 @@ public DbSet BlogHeaders } } - [ConditionalFact] + [Fact] public virtual void OneToOneRequiredPkToPkTest() => Model101Test(); @@ -269,7 +269,7 @@ public DbSet BlogHeaders } } - [ConditionalFact] + [Fact] public virtual void OneToOneRequiredWithShadowFkTest() => Model101Test(); @@ -372,7 +372,7 @@ public DbSet BlogHeaders } } - [ConditionalFact] + [Fact] public virtual void OneToOneOptionalWithShadowFkTest() => Model101Test(); @@ -474,7 +474,7 @@ public DbSet BlogHeaders } } - [ConditionalFact] + [Fact] public virtual void OneToOneRequiredNoNavigationToPrincipalTest() => Model101Test(); @@ -545,7 +545,7 @@ public DbSet BlogHeaders } } - [ConditionalFact] + [Fact] public virtual void OneToOneOptionalNoNavigationToPrincipalTest() => Model101Test(); @@ -593,7 +593,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneRequiredWithShadowFkAndNoNavigationToPrincipalTest() => Model101Test(); @@ -647,7 +647,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneOptionalWithShadowFkAndNoNavigationToPrincipalTest() => Model101Test(); @@ -700,7 +700,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneRequiredNoNavigationToDependentsTest() => Model101Test(); @@ -783,7 +783,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneOptionalNoNavigationToDependentsTest() => Model101Test(); @@ -866,7 +866,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneRequiredWithShadowFkAndNoNavigationToDependentsTest() => Model101Test(); @@ -947,7 +947,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneOptionalWithShadowFkAndNoNavigationToDependentsTest() => Model101Test(); @@ -1027,7 +1027,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneRequiredNoNavigationsTest() => Model101Test(); @@ -1106,7 +1106,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneOptionalNoNavigationsTest() => Model101Test(); @@ -1158,7 +1158,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneRequiredWithShadowFkAndNoNavigationsTest() => Model101Test(); @@ -1211,7 +1211,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneOptionalWithShadowFkAndNoNavigationsTest() => Model101Test(); @@ -1263,7 +1263,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneRequiredWithAlternateKeyTest() => Model101Test(); @@ -1356,7 +1356,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneOptionalWithAlternateKeyTest() => Assert.Throws(() => Model101Test()); // Issue #30346 @@ -1449,7 +1449,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneRequiredWithShadowFkWithAlternateKeyTest() => Assert.Throws(() => Model101Test()); // Issue #30346 @@ -1569,7 +1569,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneOptionalWithShadowFkWithAlternateKeyTest() => Assert.Throws(() => Model101Test()); // Issue #30346 @@ -1658,7 +1658,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public virtual void OneToOneRequiredWithCompositeKeyTest() => Model101Test(); @@ -1784,7 +1784,7 @@ public DbSet BlogHeaders } } - [ConditionalFact] + [Fact] public virtual void OneToOneOptionalWithCompositeKeyTest() => Model101Test(); @@ -1909,7 +1909,7 @@ public DbSet BlogHeaders } } - [ConditionalFact] + [Fact] public virtual void OneToOneOneToOneRequiredWithShadowFkWithCompositeKeyTest() => Model101Test(); @@ -2032,7 +2032,7 @@ public DbSet BlogHeaders } } - [ConditionalFact] + [Fact] public virtual void OneToOneOptionalWithShadowFkWithCompositeKeyTest() => Model101Test(); @@ -2154,7 +2154,7 @@ public DbSet BlogHeaders } } - [ConditionalFact] + [Fact] public virtual void OneToOneSelfReferencingTest() => Assert.Throws(() => Model101Test()); // Issue #30355 @@ -2214,7 +2214,7 @@ public DbSet People } } - [ConditionalFact] + [Fact] public virtual void OneToOneRequiredWithoutCascadeDeleteTest() => Model101Test(); diff --git a/test/EFCore.Specification.Tests/MonsterFixupTestBase.cs b/test/EFCore.Specification.Tests/MonsterFixupTestBase.cs index 1aa13efdeac..d8219b1fafc 100644 --- a/test/EFCore.Specification.Tests/MonsterFixupTestBase.cs +++ b/test/EFCore.Specification.Tests/MonsterFixupTestBase.cs @@ -24,7 +24,7 @@ protected MonsterFixupTestBase(TFixture fixture) protected TestStore TestStore { get; } protected DbContextOptions Options { get; } - [ConditionalFact] + [Fact] public virtual async Task Can_build_monster_model_and_seed_data_using_FKs() { await CreateAndSeedDatabase(async context => await context.SeedUsingFKs()); @@ -34,7 +34,7 @@ public virtual async Task Can_build_monster_model_and_seed_data_using_FKs() NavigationVerification(); } - [ConditionalFact] + [Fact] public virtual async Task Can_build_monster_model_and_seed_data_using_all_navigations() { await CreateAndSeedDatabase(async context => await context.SeedUsingNavigations(dependentNavs: true, principalNavs: true)); @@ -44,7 +44,7 @@ public virtual async Task Can_build_monster_model_and_seed_data_using_all_naviga NavigationVerification(); } - [ConditionalFact] + [Fact] public async Task Can_build_monster_model_and_seed_data_using_dependent_navigations() { await CreateAndSeedDatabase(async context => await context.SeedUsingNavigations(dependentNavs: true, principalNavs: false)); @@ -54,7 +54,7 @@ public async Task Can_build_monster_model_and_seed_data_using_dependent_navigati NavigationVerification(); } - [ConditionalFact] + [Fact] public async Task Can_build_monster_model_and_seed_data_using_principal_navigations() { await CreateAndSeedDatabase(async context => await context.SeedUsingNavigations(dependentNavs: false, principalNavs: true)); @@ -64,7 +64,7 @@ public async Task Can_build_monster_model_and_seed_data_using_principal_navigati NavigationVerification(); } - [ConditionalFact] + [Fact] public async Task Can_build_monster_model_and_seed_data_using_navigations_with_deferred_add() { await CreateAndSeedDatabase(async context => await context.SeedUsingNavigationsWithDeferredAdd()); @@ -74,7 +74,7 @@ public async Task Can_build_monster_model_and_seed_data_using_navigations_with_d NavigationVerification(); } - [ConditionalFact] + [Fact] public async Task One_to_many_fixup_happens_when_FKs_change_test() { await CreateAndSeedDatabase(async context => await context.SeedUsingFKs()); @@ -164,7 +164,7 @@ public async Task One_to_many_fixup_happens_when_FKs_change_test() } } - [ConditionalFact] + [Fact] public async Task One_to_many_fixup_happens_when_reference_changes() { await CreateAndSeedDatabase(async context => await context.SeedUsingFKs()); @@ -254,7 +254,7 @@ public async Task One_to_many_fixup_happens_when_reference_changes() } } - [ConditionalFact] + [Fact] public async Task One_to_many_fixup_happens_when_collection_changes() { await CreateAndSeedDatabase(async context => await context.SeedUsingFKs()); @@ -333,7 +333,7 @@ public async Task One_to_many_fixup_happens_when_collection_changes() } } - [ConditionalFact] + [Fact] public async Task One_to_one_fixup_happens_when_FKs_change_test() { await CreateAndSeedDatabase(async context => await context.SeedUsingFKs()); @@ -417,7 +417,7 @@ public async Task One_to_one_fixup_happens_when_FKs_change_test() } } - [ConditionalFact] + [Fact] public async Task One_to_one_fixup_happens_when_reference_change_test() { await CreateAndSeedDatabase(async context => await context.SeedUsingFKs()); @@ -501,7 +501,7 @@ public async Task One_to_one_fixup_happens_when_reference_change_test() } } - [ConditionalFact] + [Fact] public async Task Composite_fixup_happens_when_FKs_change_test() { await CreateAndSeedDatabase(async context => await context.SeedUsingFKs()); @@ -604,7 +604,7 @@ public async Task Composite_fixup_happens_when_FKs_change_test() } } - [ConditionalFact] + [Fact] public async Task Fixup_with_binary_keys_happens_when_FKs_or_navigations_change_test() { await CreateAndSeedDatabase(async context => await context.SeedUsingFKs()); @@ -1405,10 +1405,10 @@ protected Task CreateAndSeedDatabase(Func seed) protected MonsterContext CreateContext() => Fixture.CreateContext(Options); - public Task InitializeAsync() - => Task.CompletedTask; + public ValueTask InitializeAsync() + => ValueTask.CompletedTask; - public virtual async Task DisposeAsync() + public virtual async ValueTask DisposeAsync() => await TestStore.DisposeAsync(); public abstract class MonsterFixupFixtureBase : ServiceProviderFixtureBase diff --git a/test/EFCore.Specification.Tests/MusicStoreTestBase.cs b/test/EFCore.Specification.Tests/MusicStoreTestBase.cs index 122b6f14efe..3682a0df7ac 100644 --- a/test/EFCore.Specification.Tests/MusicStoreTestBase.cs +++ b/test/EFCore.Specification.Tests/MusicStoreTestBase.cs @@ -17,7 +17,7 @@ protected MusicStoreTestBase(TFixture fixture) fixture.ListLoggerFactory.Clear(); } - [ConditionalFact] + [Fact] public virtual async Task Browse_ReturnsViewWithGenre() { using var context = CreateContext(); @@ -39,7 +39,7 @@ await context.Database.CreateExecutionStrategy().ExecuteAsync(async () => }); } - [ConditionalFact] + [Fact] public virtual async Task Index_CreatesViewWithGenres() { using var context = CreateContext(); @@ -58,7 +58,7 @@ await context.Database.CreateExecutionStrategy().ExecuteAsync(async () => }); } - [ConditionalFact] + [Fact] public virtual async Task Details_ReturnsAlbumDetail() { using var context = CreateContext(); @@ -101,7 +101,7 @@ private static Genre[] CreateTestGenres(int numberOfGenres, int numberOfAlbums, return genres.ToArray(); } - [ConditionalFact] + [Fact] public virtual async Task Index_GetsSixTopAlbums() { using var context = CreateContext(); @@ -149,7 +149,7 @@ public static Album[] GetAlbums() } } - [ConditionalFact] + [Fact] public virtual async Task GenreMenuComponent_Returns_NineGenres() { using var context = CreateContext(); @@ -171,7 +171,7 @@ await context.Database.CreateExecutionStrategy().ExecuteAsync(async () => }); } - [ConditionalFact] + [Fact] public virtual async Task AddressAndPayment_RedirectToCompleteWhenSuccessful() { const string cartId = "CartId_A"; @@ -199,7 +199,7 @@ await context.Database.CreateExecutionStrategy().ExecuteAsync(async () => }); } - [ConditionalFact] + [Fact] public virtual async Task AddressAndPayment_ReturnsOrderIfInvalidPromoCode() { const string cartId = "CartId_A"; @@ -234,7 +234,7 @@ protected Order CreateOrder(string userName = "RainbowDash") Email = "mc@sample.com" }; - [ConditionalFact] + [Fact] public virtual async Task Complete_ReturnsOrderIdIfValid() { using var context = CreateContext(); @@ -254,7 +254,7 @@ await context.Database.CreateExecutionStrategy().ExecuteAsync(async () => }); } - [ConditionalFact] + [Fact] public virtual async Task Complete_ReturnsErrorIfInvalidOrder() { using var context = CreateContext(); @@ -271,7 +271,7 @@ await context.Database.CreateExecutionStrategy().ExecuteAsync(async () => }); } - [ConditionalFact] + [Fact] public virtual async Task CartSummaryComponent_returns_items() { const string cartId = "CartId_A"; @@ -309,7 +309,7 @@ await context.Database.CreateExecutionStrategy().ExecuteAsync(async () => }); } - [ConditionalFact] + [Fact] public virtual async Task Music_store_project_to_mapped_entity() { using var context = CreateContext(); @@ -346,7 +346,7 @@ join artist in context.Artists on album.ArtistId equals artist.ArtistId }); } - [ConditionalFact] + [Fact] public virtual async Task RemoveFromCart_removes_items_from_cart() { const string cartId = "CartId_A"; @@ -378,7 +378,7 @@ await context.Database.CreateExecutionStrategy().ExecuteAsync(async () => }); } - [ConditionalTheory, InlineData(null), InlineData("CartId_A")] + [Theory, InlineData(null), InlineData("CartId_A")] public virtual async Task Cart_is_empty_when_no_items_have_been_added(string cartId) { using var context = CreateContext(); @@ -395,7 +395,7 @@ await context.Database.CreateExecutionStrategy().ExecuteAsync(async () => }); } - [ConditionalFact] + [Fact] public virtual async Task Cart_has_items_once_they_have_been_added() { const string cartId = "CartId_A"; @@ -423,7 +423,7 @@ await context.Database.CreateExecutionStrategy().ExecuteAsync(async () => }); } - [ConditionalFact] + [Fact] public virtual async Task Can_add_items_to_cart() { const string cartId = "CartId_A"; @@ -451,7 +451,7 @@ await context.Database.CreateExecutionStrategy().ExecuteAsync(async () => }); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Custom_projection_FirstOrDefault_works(bool async) { using var context = CreateContext(); diff --git a/test/EFCore.Specification.Tests/NonSharedModelTestBase.cs b/test/EFCore.Specification.Tests/NonSharedModelTestBase.cs index ae44b093cdf..72392973135 100644 --- a/test/EFCore.Specification.Tests/NonSharedModelTestBase.cs +++ b/test/EFCore.Specification.Tests/NonSharedModelTestBase.cs @@ -33,8 +33,8 @@ protected TestStore NonSharedTestStore protected virtual ListLoggerFactory ListLoggerFactory => _listLoggerFactory ??= (ListLoggerFactory)NonSharedServiceProvider.GetRequiredService(); - public virtual Task InitializeAsync() - => Task.CompletedTask; + public virtual ValueTask InitializeAsync() + => ValueTask.CompletedTask; protected virtual async Task> InitializeNonSharedTest( Action? onModelCreating = null, @@ -169,7 +169,7 @@ public virtual void Dispose() { } - public virtual async Task DisposeAsync() + public virtual async ValueTask DisposeAsync() { if (NonSharedFixture == null && _testStore != null) { diff --git a/test/EFCore.Specification.Tests/NotificationEntitiesTestBase.cs b/test/EFCore.Specification.Tests/NotificationEntitiesTestBase.cs index 8db21dd758a..1ff3bea053e 100644 --- a/test/EFCore.Specification.Tests/NotificationEntitiesTestBase.cs +++ b/test/EFCore.Specification.Tests/NotificationEntitiesTestBase.cs @@ -15,7 +15,7 @@ public abstract class NotificationEntitiesTestBase(TFixture fixture) : { protected virtual TFixture Fixture { get; } = fixture; - [ConditionalFact] // Issue #4020 + [Fact] // Issue #4020 public virtual void Include_brings_entities_referenced_from_already_tracked_notification_entities_as_Unchanged() { using var context = CreateContext(); @@ -28,7 +28,7 @@ public virtual void Include_brings_entities_referenced_from_already_tracked_noti Assert.Equal(EntityState.Unchanged, context.Entry(postA.Blog).State); } - [ConditionalFact] // Issue #4020 + [Fact] // Issue #4020 public virtual void Include_brings_collections_referenced_from_already_tracked_notification_entities_as_Unchanged() { using var context = CreateContext(); diff --git a/test/EFCore.Specification.Tests/OptimisticConcurrencyTestBase.cs b/test/EFCore.Specification.Tests/OptimisticConcurrencyTestBase.cs index 200a84b2788..23c11e6d502 100644 --- a/test/EFCore.Specification.Tests/OptimisticConcurrencyTestBase.cs +++ b/test/EFCore.Specification.Tests/OptimisticConcurrencyTestBase.cs @@ -20,7 +20,7 @@ protected OptimisticConcurrencyTestBase(TFixture fixture) protected TFixture Fixture { get; } - [ConditionalFact] + [Fact] public virtual void External_model_builder_uses_validation() { var modelBuilder = Fixture.CreateModelBuilder(); @@ -33,7 +33,7 @@ public virtual void External_model_builder_uses_validation() Assert.Throws(() => context.Model).Message); } - [ConditionalFact] + [Fact] public virtual void Nullable_client_side_concurrency_token_can_be_used() { string originalName; @@ -65,7 +65,7 @@ public virtual void Nullable_client_side_concurrency_token_can_be_used() #region Concurrency resolution with FK associations - [ConditionalFact] + [Fact] public virtual Task Simple_concurrency_exception_can_be_resolved_with_client_values() => ConcurrencyTestAsync( ClientPodiums, async (_, ex) => @@ -75,7 +75,7 @@ public virtual Task Simple_concurrency_exception_can_be_resolved_with_client_val ResolveConcurrencyTokens(driverEntry); }); - [ConditionalFact] + [Fact] public virtual Task Simple_concurrency_exception_can_be_resolved_with_store_values() => ConcurrencyTestAsync( StorePodiums, async (_, ex) => @@ -87,7 +87,7 @@ public virtual Task Simple_concurrency_exception_can_be_resolved_with_store_valu ResolveConcurrencyTokens(driverEntry); }); - [ConditionalFact] + [Fact] public virtual Task Simple_concurrency_exception_can_be_resolved_with_new_values() => ConcurrencyTestAsync( 10, async (_, ex) => @@ -98,7 +98,7 @@ public virtual Task Simple_concurrency_exception_can_be_resolved_with_new_values ((Driver)driverEntry.Entity).Podiums = 10; }); - [ConditionalFact] + [Fact] public virtual Task Simple_concurrency_exception_can_be_resolved_with_store_values_using_equivalent_of_accept_changes() => ConcurrencyTestAsync( StorePodiums, async (_, ex) => @@ -110,11 +110,11 @@ public virtual Task Simple_concurrency_exception_can_be_resolved_with_store_valu driverEntry.State = EntityState.Unchanged; }); - [ConditionalFact] + [Fact] public virtual Task Simple_concurrency_exception_can_be_resolved_with_store_values_using_Reload() => ConcurrencyTestAsync(StorePodiums, (_, ex) => ex.Entries.Single().ReloadAsync()); - [ConditionalFact] + [Fact] public virtual Task Two_concurrency_issues_in_one_to_one_related_entities_can_be_handled_by_dealing_with_dependent_first() => ConcurrencyTestAsync( async c => @@ -160,7 +160,7 @@ public virtual Task Two_concurrency_issues_in_one_to_one_related_entities_can_be Assert.Equal("Larry David", team.Principal); }); - [ConditionalFact] + [Fact] public virtual Task Two_concurrency_issues_in_one_to_many_related_entities_can_be_handled_by_dealing_with_dependent_first() => ConcurrencyTestAsync( async c => @@ -206,7 +206,7 @@ public virtual Task Two_concurrency_issues_in_one_to_many_related_entities_can_b Assert.Equal("Larry David", team.Principal); }); - [ConditionalFact] + [Fact] public virtual Task Concurrency_issue_where_the_FK_is_the_concurrency_token_can_be_handled() => ConcurrencyTestAsync( async c => (await c.Engines.SingleAsync(e => e.Name == "056")).EngineSupplierId = @@ -228,7 +228,7 @@ await c.EngineSuppliers.SingleAsync(s => s.Name == "Renault"), #region Concurrency exceptions with shadow FK associations - [ConditionalFact] + [Fact] public virtual Task Change_in_independent_association_results_in_independent_association_exception() => ConcurrencyTestAsync( async c => (await c.Teams.SingleAsync(t => t.Id == Team.Ferrari)).Engine = @@ -241,7 +241,7 @@ await c.Engines.SingleAsync(s => s.Name == "FO 108X"), }, null); - [ConditionalFact] + [Fact] public virtual Task Change_in_independent_association_after_change_in_different_concurrency_token_results_in_independent_association_exception() => ConcurrencyTestAsync( @@ -256,7 +256,7 @@ await c.Engines.SingleAsync(s => s.Name == "FO 108X"), }, null); - [ConditionalFact] + [Fact] public virtual Task Attempting_to_delete_same_relationship_twice_for_many_to_many_results_in_independent_association_exception() => ConcurrencyTestAsync( async c => @@ -273,7 +273,7 @@ public virtual Task Attempting_to_delete_same_relationship_twice_for_many_to_man }, null); - [ConditionalFact] + [Fact] public virtual Task Attempting_to_add_same_relationship_twice_for_many_to_many_results_in_independent_association_exception() { return ConcurrencyTestAsync( @@ -300,7 +300,7 @@ async Task Change(F1Context c) #region Concurrency exceptions with complex types // Depends on an aggregate-friendly Reload, see #13890 - [ConditionalFact(Skip = "Issue#13890")] + [Fact(Skip = "Issue#13890")] public virtual Task Concurrency_issue_where_a_complex_type_nested_member_is_the_concurrency_token_can_be_handled() => ConcurrencyTestAsync( async c => (await c.Engines.SingleAsync(s => s.Name == "CA2010")).StorageLocation.Latitude = 47.642576, @@ -317,7 +317,7 @@ public virtual Task Concurrency_issue_where_a_complex_type_nested_member_is_the_ #region Tests for update exceptions involving adding and deleting entities - [ConditionalFact] + [Fact] public virtual async Task Adding_the_same_entity_twice_results_in_DbUpdateException() { using var c = CreateF1Context(); @@ -349,7 +349,7 @@ await c.Database.CreateExecutionStrategy().ExecuteAsync( }); } - [ConditionalFact] + [Fact] public virtual Task Deleting_the_same_entity_twice_results_in_DbUpdateConcurrencyException() => ConcurrencyTestAsync( async c => c.Drivers.Remove(await c.Drivers.SingleAsync(d => d.Name == "Fernando Alonso")), @@ -360,7 +360,7 @@ public virtual Task Deleting_the_same_entity_twice_results_in_DbUpdateConcurrenc await entry.ReloadAsync(); }, async c => Assert.Null(await c.Drivers.SingleOrDefaultAsync(d => d.Name == "Fernando Alonso"))); - [ConditionalFact] + [Fact] public virtual Task Updating_then_deleting_the_same_entity_results_in_DbUpdateConcurrencyException() => ConcurrencyTestAsync( async c => (await c.Drivers.SingleAsync(d => d.Name == "Fernando Alonso")).Wins = 1, @@ -373,7 +373,7 @@ public virtual Task Updating_then_deleting_the_same_entity_results_in_DbUpdateCo }, async c => Assert.Equal(1, (await c.Drivers.SingleAsync(d => d.Name == "Fernando Alonso")).Wins)); - [ConditionalFact] + [Fact] public virtual Task Updating_then_deleting_the_same_entity_results_in_DbUpdateConcurrencyException_which_can_be_resolved_with_store_values() => ConcurrencyTestAsync( @@ -392,7 +392,7 @@ public virtual Task }, async c => Assert.Equal(1, (await c.Drivers.SingleAsync(d => d.Name == "Fernando Alonso")).Wins)); - [ConditionalFact] + [Fact] public virtual Task Deleting_then_updating_the_same_entity_results_in_DbUpdateConcurrencyException() => ConcurrencyTestAsync( async c => c.Drivers.Remove(await c.Drivers.SingleAsync(d => d.Name == "Fernando Alonso")), @@ -405,7 +405,7 @@ public virtual Task Deleting_then_updating_the_same_entity_results_in_DbUpdateCo }, async c => Assert.Null(await c.Drivers.SingleOrDefaultAsync(d => d.Name == "Fernando Alonso"))); - [ConditionalFact] + [Fact] public virtual Task Deleting_then_updating_the_same_entity_results_in_DbUpdateConcurrencyException_which_can_be_resolved_with_store_values() => ConcurrencyTestAsync( @@ -425,7 +425,7 @@ public virtual Task #region Tests for calling Reload on an entity in various states - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Calling_Reload_on_an_Added_entity_that_is_not_in_database_is_no_op(bool async) { using var c = CreateF1Context(); @@ -451,19 +451,19 @@ await c.Database.CreateExecutionStrategy().ExecuteAsync( }); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Calling_Reload_on_an_Unchanged_entity_that_is_not_in_database_detaches_it(bool async) => await TestReloadGone(EntityState.Unchanged, async); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Calling_Reload_on_a_Modified_entity_that_is_not_in_database_detaches_it(bool async) => await TestReloadGone(EntityState.Modified, async); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Calling_Reload_on_a_Deleted_entity_that_is_not_in_database_detaches_it(bool async) => await TestReloadGone(EntityState.Deleted, async); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Calling_Reload_on_a_Detached_entity_that_is_not_in_database_detaches_it(bool async) => await TestReloadGone(EntityState.Detached, async); @@ -499,23 +499,23 @@ await c.Database.CreateExecutionStrategy().ExecuteAsync( }); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Calling_Reload_on_an_Unchanged_entity_makes_the_entity_unchanged(bool async) => await TestReloadPositive(EntityState.Unchanged, async); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Calling_Reload_on_a_Modified_entity_makes_the_entity_unchanged(bool async) => await TestReloadPositive(EntityState.Modified, async); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Calling_Reload_on_a_Deleted_entity_makes_the_entity_unchanged(bool async) => await TestReloadPositive(EntityState.Deleted, async); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Calling_Reload_on_an_Added_entity_that_was_saved_elsewhere_makes_the_entity_unchanged(bool async) => await TestReloadPositive(EntityState.Added, async); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Calling_Reload_on_a_Detached_entity_makes_the_entity_unchanged(bool async) => await TestReloadPositive(EntityState.Detached, async); @@ -552,7 +552,7 @@ await c.Database.CreateExecutionStrategy().ExecuteAsync( }); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Calling_GetDatabaseValues_on_owned_entity_works(bool async) { using var c = CreateF1Context(); @@ -582,7 +582,7 @@ await c.Database.CreateExecutionStrategy().ExecuteAsync( }); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Calling_Reload_on_owned_entity_works(bool async) { using var c = CreateF1Context(); diff --git a/test/EFCore.Specification.Tests/OverzealousInitializationTestBase.cs b/test/EFCore.Specification.Tests/OverzealousInitializationTestBase.cs index 0d3d0d435c3..0e4136711b5 100644 --- a/test/EFCore.Specification.Tests/OverzealousInitializationTestBase.cs +++ b/test/EFCore.Specification.Tests/OverzealousInitializationTestBase.cs @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract class OverzealousInitializationTestBase(TFixture fixture) : IClassFixture where TFixture : OverzealousInitializationTestBase.OverzealousInitializationFixtureBase, new() { - [ConditionalFact] + [Fact] public virtual void Fixup_ignores_eagerly_initialized_reference_navs() { using var context = CreateContext(); diff --git a/test/EFCore.Specification.Tests/PropertyValuesTestBase.cs b/test/EFCore.Specification.Tests/PropertyValuesTestBase.cs index af7f7ff7194..efded935e17 100644 --- a/test/EFCore.Specification.Tests/PropertyValuesTestBase.cs +++ b/test/EFCore.Specification.Tests/PropertyValuesTestBase.cs @@ -13,19 +13,19 @@ public abstract class PropertyValuesTestBase(TFixture fixture) : IClas { protected TFixture Fixture { get; } = fixture; - [ConditionalFact] + [Fact] public virtual Task Scalar_current_values_can_be_accessed_as_a_property_dictionary() => TestPropertyValuesScalars(e => Task.FromResult(e.CurrentValues), expectOriginalValues: false); - [ConditionalFact] + [Fact] public virtual Task Scalar_original_values_can_be_accessed_as_a_property_dictionary() => TestPropertyValuesScalars(e => Task.FromResult(e.OriginalValues), expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Scalar_store_values_can_be_accessed_as_a_property_dictionary() => TestPropertyValuesScalars(e => Task.FromResult(e.GetDatabaseValues()!), expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Scalar_store_values_can_be_accessed_asynchronously_as_a_property_dictionary() => TestPropertyValuesScalars(e => e.GetDatabaseValuesAsync()!, expectOriginalValues: true); @@ -63,19 +63,19 @@ private async Task TestPropertyValuesScalars( Assert.True(building.InitializedCalled); } - [ConditionalFact] + [Fact] public virtual Task Scalar_current_values_can_be_accessed_as_a_property_dictionary_using_IProperty() => TestPropertyValuesScalarsIProperty(e => Task.FromResult(e.CurrentValues), expectOriginalValues: false); - [ConditionalFact] + [Fact] public virtual Task Scalar_original_values_can_be_accessed_as_a_property_dictionary_using_IProperty() => TestPropertyValuesScalarsIProperty(e => Task.FromResult(e.OriginalValues), expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Scalar_store_values_can_be_accessed_as_a_property_dictionary_using_IProperty() => TestPropertyValuesScalarsIProperty(e => Task.FromResult(e.GetDatabaseValues()!), expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Scalar_store_values_can_be_accessed_asynchronously_as_a_property_dictionary_using_IProperty() => TestPropertyValuesScalarsIProperty(e => e.GetDatabaseValuesAsync()!, expectOriginalValues: true); @@ -114,19 +114,19 @@ private async Task TestPropertyValuesScalarsIProperty( Assert.True(building.InitializedCalled); } - [ConditionalFact] + [Fact] public virtual Task Scalar_current_values_of_a_derived_object_can_be_accessed_as_a_property_dictionary() => TestPropertyValuesDerivedScalars(e => Task.FromResult(e.CurrentValues), expectOriginalValues: false); - [ConditionalFact] + [Fact] public virtual Task Scalar_original_values_of_a_derived_object_can_be_accessed_as_a_property_dictionary() => TestPropertyValuesDerivedScalars(e => Task.FromResult(e.OriginalValues), expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Scalar_store_values_of_a_derived_object_can_be_accessed_as_a_property_dictionary() => TestPropertyValuesDerivedScalars(e => Task.FromResult(e.GetDatabaseValues()!), expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Scalar_store_values_of_a_derived_object_can_be_accessed_asynchronously_as_a_property_dictionary() => TestPropertyValuesDerivedScalars(e => e.GetDatabaseValuesAsync()!, expectOriginalValues: true); @@ -167,19 +167,19 @@ private async Task TestPropertyValuesDerivedScalars( Assert.True(employee.InitializedCalled); } - [ConditionalFact] + [Fact] public virtual Task Scalar_current_values_can_be_accessed_as_a_non_generic_property_dictionary() => TestNonGenericPropertyValuesScalars(e => Task.FromResult(e.CurrentValues), expectOriginalValues: false); - [ConditionalFact] + [Fact] public virtual Task Scalar_original_values_can_be_accessed_as_a_non_generic_property_dictionary() => TestNonGenericPropertyValuesScalars(e => Task.FromResult(e.OriginalValues), expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Scalar_store_values_can_be_accessed_as_a_non_generic_property_dictionary() => TestNonGenericPropertyValuesScalars(e => Task.FromResult(e.GetDatabaseValues()!), expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Scalar_store_values_can_be_accessed_asynchronously_as_a_non_generic_property_dictionary() => TestNonGenericPropertyValuesScalars(e => e.GetDatabaseValuesAsync()!, expectOriginalValues: true); @@ -227,19 +227,19 @@ private async Task TestNonGenericPropertyValuesScalars( Assert.True(building.InitializedCalled); } - [ConditionalFact] + [Fact] public virtual Task Scalar_current_values_can_be_accessed_as_a_non_generic_property_dictionary_using_IProperty() => TestNonGenericPropertyValuesScalarsIProperty(e => Task.FromResult(e.CurrentValues), expectOriginalValues: false); - [ConditionalFact] + [Fact] public virtual Task Scalar_original_values_can_be_accessed_as_a_non_generic_property_dictionary_using_IProperty() => TestNonGenericPropertyValuesScalarsIProperty(e => Task.FromResult(e.OriginalValues), expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Scalar_store_values_can_be_accessed_as_a_non_generic_property_dictionary_using_IProperty() => TestNonGenericPropertyValuesScalarsIProperty(e => Task.FromResult(e.GetDatabaseValues()!), expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Scalar_store_values_can_be_accessed_asynchronously_as_a_non_generic_property_dictionary_using_IProperty() => TestNonGenericPropertyValuesScalarsIProperty(e => e.GetDatabaseValuesAsync()!, expectOriginalValues: true); @@ -284,19 +284,19 @@ private async Task TestNonGenericPropertyValuesScalarsIProperty( } } - [ConditionalFact] + [Fact] public virtual Task Scalar_current_values_of_a_derived_object_can_be_accessed_as_a_non_generic_property_dictionary() => TestNonGenericPropertyValuesDerivedScalars(e => Task.FromResult(e.CurrentValues), expectOriginalValues: false); - [ConditionalFact] + [Fact] public virtual Task Scalar_original_values_of_a_derived_object_can_be_accessed_as_a_non_generic_property_dictionary() => TestNonGenericPropertyValuesDerivedScalars(e => Task.FromResult(e.OriginalValues), expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Scalar_store_values_of_a_derived_object_can_be_accessed_as_a_non_generic_property_dictionary() => TestNonGenericPropertyValuesDerivedScalars(e => Task.FromResult(e.GetDatabaseValues()!), expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Scalar_store_values_of_a_derived_object_can_be_accessed_asynchronously_as_a_non_generic_property_dictionary() => TestNonGenericPropertyValuesDerivedScalars(e => e.GetDatabaseValuesAsync()!, expectOriginalValues: true); @@ -333,11 +333,11 @@ private async Task TestNonGenericPropertyValuesDerivedScalars( } } - [ConditionalFact] + [Fact] public virtual void Scalar_current_values_can_be_set_using_a_property_dictionary() => TestSetPropertyValuesScalars(e => e.CurrentValues, (e, n) => e.Property(n).CurrentValue!); - [ConditionalFact] + [Fact] public virtual void Scalar_original_values_can_be_set_using_a_property_dictionary() => TestSetPropertyValuesScalars(e => e.OriginalValues, (e, n) => e.Property(n).OriginalValue!); @@ -366,11 +366,11 @@ private void TestSetPropertyValuesScalars( Assert.Equal("Pine Walk", getValue(entry, "Shadow2")); } - [ConditionalFact] + [Fact] public virtual void Scalar_current_values_can_be_set_using_a_property_dictionary_with_IProperty() => TestSetPropertyValuesScalarsIProperty(e => e.CurrentValues, (e, n) => e.Property(n).CurrentValue!); - [ConditionalFact] + [Fact] public virtual void Scalar_original_values_can_be_set_using_a_property_dictionary_with_IProperty() => TestSetPropertyValuesScalarsIProperty(e => e.OriginalValues, (e, n) => e.Property(n).OriginalValue!); @@ -399,11 +399,11 @@ private void TestSetPropertyValuesScalarsIProperty( Assert.Equal("Pine Walk", getValue(entry, "Shadow2")); } - [ConditionalFact] + [Fact] public virtual void Scalar_current_values_can_be_set_using_a_non_generic_property_dictionary() => TestSetNonGenericPropertyValuesScalars(e => e.CurrentValues, (e, n) => e.Property(n).CurrentValue!); - [ConditionalFact] + [Fact] public virtual void Scalar_original_values_can_be_set_using_a_non_generic_property_dictionary() => TestSetNonGenericPropertyValuesScalars(e => e.OriginalValues, (e, n) => e.Property(n).OriginalValue!); @@ -432,19 +432,19 @@ private void TestSetNonGenericPropertyValuesScalars( Assert.Equal("Pine Walk", getValue(entry, "Shadow2")); } - [ConditionalFact] + [Fact] public virtual Task Complex_current_values_can_be_accessed_as_a_property_dictionary_using_IProperty() => TestPropertyValuesComplexIProperty(e => Task.FromResult(e.CurrentValues), expectOriginalValues: false); - [ConditionalFact] + [Fact] public virtual Task Complex_original_values_can_be_accessed_as_a_property_dictionary_using_IProperty() => TestPropertyValuesComplexIProperty(e => Task.FromResult(e.OriginalValues), expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Complex_store_values_can_be_accessed_as_a_property_dictionary_using_IProperty() => TestPropertyValuesComplexIProperty(e => Task.FromResult(e.GetDatabaseValues()!), expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Complex_store_values_can_be_accessed_asynchronously_as_a_property_dictionary_using_IProperty() => TestPropertyValuesComplexIProperty(e => e.GetDatabaseValuesAsync()!, expectOriginalValues: true); @@ -522,19 +522,19 @@ private async Task TestPropertyValuesComplexIProperty( Assert.True(building.InitializedCalled); } - [ConditionalFact] + [Fact] public virtual Task Current_values_can_be_copied_into_an_object() => TestPropertyValuesClone(e => Task.FromResult(e.CurrentValues), expectOriginalValues: false); - [ConditionalFact] + [Fact] public virtual Task Original_values_can_be_copied_into_an_object() => TestPropertyValuesClone(e => Task.FromResult(e.OriginalValues), expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Store_values_can_be_copied_into_an_object() => TestPropertyValuesClone(e => Task.FromResult(e.GetDatabaseValues()!), expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Store_values_can_be_copied_into_an_object_asynchronously() => TestPropertyValuesClone(e => e.GetDatabaseValuesAsync()!, expectOriginalValues: true); @@ -568,19 +568,19 @@ private async Task TestPropertyValuesClone( Assert.True(buildingClone.InitializedCalled); } - [ConditionalFact] + [Fact] public virtual Task Current_values_for_derived_object_can_be_copied_into_an_object() => TestPropertyValuesDerivedClone(e => Task.FromResult(e.CurrentValues), expectOriginalValues: false); - [ConditionalFact] + [Fact] public virtual Task Original_values_for_derived_object_can_be_copied_into_an_object() => TestPropertyValuesDerivedClone(e => Task.FromResult(e.OriginalValues), expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Store_values_for_derived_object_can_be_copied_into_an_object() => TestPropertyValuesDerivedClone(e => Task.FromResult(e.GetDatabaseValues()!), expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Store_values_for_derived_object_can_be_copied_into_an_object_asynchronously() => TestPropertyValuesDerivedClone(e => e.GetDatabaseValuesAsync()!, expectOriginalValues: true); @@ -617,19 +617,19 @@ private async Task TestPropertyValuesDerivedClone( Assert.True(clone.InitializedCalled); } - [ConditionalFact] + [Fact] public virtual Task Current_values_for_join_entity_can_be_copied_into_an_object() => TestPropertyValuesJoinEntityClone(e => Task.FromResult(e.CurrentValues), expectOriginalValues: false); - [ConditionalFact] + [Fact] public virtual Task Original_values_for_join_entity_can_be_copied_into_an_object() => TestPropertyValuesJoinEntityClone(e => Task.FromResult(e.OriginalValues), expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Store_values_for_join_entity_can_be_copied_into_an_object() => TestPropertyValuesJoinEntityClone(e => Task.FromResult(e.GetDatabaseValues()!), expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Store_values_for_join_entity_can_be_copied_into_an_object_asynchronously() => TestPropertyValuesJoinEntityClone(e => e.GetDatabaseValuesAsync()!, expectOriginalValues: true); @@ -665,19 +665,19 @@ private async Task TestPropertyValuesJoinEntityClone( } } - [ConditionalFact] + [Fact] public virtual Task Current_values_can_be_copied_from_a_non_generic_property_dictionary_into_an_object() => TestNonGenericPropertyValuesClone(e => Task.FromResult(e.CurrentValues), expectOriginalValues: false); - [ConditionalFact] + [Fact] public virtual Task Original_values_can_be_copied_non_generic_property_dictionary_into_an_object() => TestNonGenericPropertyValuesClone(e => Task.FromResult(e.OriginalValues), expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Store_values_can_be_copied_non_generic_property_dictionary_into_an_object() => TestNonGenericPropertyValuesClone(e => Task.FromResult(e.GetDatabaseValues()!), expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Store_values_can_be_copied_asynchronously_non_generic_property_dictionary_into_an_object() => TestNonGenericPropertyValuesClone(e => e.GetDatabaseValuesAsync()!, expectOriginalValues: true); @@ -711,19 +711,19 @@ private async Task TestNonGenericPropertyValuesClone( Assert.True(buildingClone.InitializedCalled); } - [ConditionalFact] + [Fact] public virtual Task Current_values_can_be_copied_into_a_cloned_dictionary() => TestPropertyValuesCloneToValues(e => Task.FromResult(e.CurrentValues), expectOriginalValues: false); - [ConditionalFact] + [Fact] public virtual Task Original_values_can_be_copied_into_a_cloned_dictionary() => TestPropertyValuesCloneToValues(e => Task.FromResult(e.OriginalValues), expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Store_values_can_be_copied_into_a_cloned_dictionary() => TestPropertyValuesCloneToValues(e => Task.FromResult(e.GetDatabaseValues()!), expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Store_values_can_be_copied_into_a_cloned_dictionary_asynchronously() => TestPropertyValuesCloneToValues(e => e.GetDatabaseValuesAsync()!, expectOriginalValues: true); @@ -789,7 +789,7 @@ private async Task TestPropertyValuesCloneToValues( } } - [ConditionalFact] + [Fact] public virtual void Values_in_cloned_dictionary_can_be_set_with_IProperty() { using var context = CreateContext(); @@ -822,7 +822,7 @@ public virtual void Values_in_cloned_dictionary_can_be_set_with_IProperty() Assert.Equal("Meadow Drive", buildingValues["Shadow2"]); } - [ConditionalFact] + [Fact] public virtual void Using_bad_property_names_throws() { using var context = CreateContext(); @@ -853,7 +853,7 @@ public virtual void Using_bad_property_names_throws() Assert.Throws(() => clonedBuildingValues.GetValue("Foo")).Message); } - [ConditionalFact] + [Fact] public virtual void Using_bad_IProperty_instances_throws() { using var context = CreateContext(); @@ -886,7 +886,7 @@ public virtual void Using_bad_IProperty_instances_throws() Assert.Throws(() => clonedBuildingValues.GetValue(property)).Message); } - [ConditionalFact] + [Fact] public virtual void Using_bad_property_names_throws_derived() { using var context = CreateContext(); @@ -937,7 +937,7 @@ public virtual void Using_bad_property_names_throws_derived() Assert.Throws(() => clonedValues.GetValue("TerminationDate")).Message); } - [ConditionalFact] + [Fact] public virtual void Using_bad_IProperty_instances_throws_derived() { using var context = CreateContext(); @@ -991,7 +991,7 @@ public virtual void Using_bad_IProperty_instances_throws_derived() Assert.Throws(() => clonedValues.GetValue(termProperty)).Message); } - [ConditionalFact] + [Fact] public virtual void Using_non_collection_complex_property_throws() { using var context = CreateContext(); @@ -1032,7 +1032,7 @@ public virtual void Using_non_collection_complex_property_throws() Assert.Throws(() => clonedBuildingValues["Culture"] = null).Message); } - [ConditionalFact] + [Fact] public virtual void Using_complex_property_value_not_list_throws() { using var context = CreateContext(); @@ -1066,19 +1066,19 @@ public virtual void Using_complex_property_value_not_list_throws() Assert.Throws(() => clonedSchoolValues["Departments"] = 123).Message); } - [ConditionalFact] + [Fact] public virtual Task Current_values_can_be_copied_into_a_non_generic_cloned_dictionary() => TestNonGenericPropertyValuesCloneToValues(e => Task.FromResult(e.CurrentValues), expectOriginalValues: false); - [ConditionalFact] + [Fact] public virtual Task Original_values_can_be_copied_into_a_non_generic_cloned_dictionary() => TestNonGenericPropertyValuesCloneToValues(e => Task.FromResult(e.OriginalValues), expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Store_values_can_be_copied_into_a_non_generic_cloned_dictionary() => TestNonGenericPropertyValuesCloneToValues(e => Task.FromResult(e.GetDatabaseValues()!), expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Store_values_can_be_copied_asynchronously_into_a_non_generic_cloned_dictionary() => TestNonGenericPropertyValuesCloneToValues(e => e.GetDatabaseValuesAsync()!, expectOriginalValues: true); @@ -1144,98 +1144,98 @@ private async Task TestNonGenericPropertyValuesCloneToValues( } } - [ConditionalFact] + [Fact] public virtual Task Current_values_can_be_read_or_set_for_an_object_in_the_Deleted_state() => TestPropertyValuesPositiveForState( e => Task.FromResult(e.CurrentValues), EntityState.Deleted, expectOriginalValues: false); - [ConditionalFact] + [Fact] public virtual Task Original_values_can_be_read_and_set_for_an_object_in_the_Deleted_state() => TestPropertyValuesPositiveForState( e => Task.FromResult(e.OriginalValues), EntityState.Deleted, expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Store_values_can_be_read_and_set_for_an_object_in_the_Deleted_state() => TestPropertyValuesPositiveForState( e => Task.FromResult(e.GetDatabaseValues()!), EntityState.Deleted, expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Store_values_can_be_read_and_set_for_an_object_in_the_Deleted_state_asynchronously() => TestPropertyValuesPositiveForState(e => e.GetDatabaseValuesAsync()!, EntityState.Deleted, expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Current_values_can_be_read_and_set_for_an_object_in_the_Unchanged_state() => TestPropertyValuesPositiveForState( e => Task.FromResult(e.CurrentValues), EntityState.Unchanged, expectOriginalValues: false); - [ConditionalFact] + [Fact] public virtual Task Original_values_can_be_read_and_set_for_an_object_in_the_Unchanged_state() => TestPropertyValuesPositiveForState( e => Task.FromResult(e.OriginalValues), EntityState.Unchanged, expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Store_values_can_be_read_and_set_for_an_object_in_the_Unchanged_state() => TestPropertyValuesPositiveForState( e => Task.FromResult(e.GetDatabaseValues()!), EntityState.Unchanged, expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Store_values_can_be_read_and_set_for_an_object_in_the_Unchanged_state_asynchronously() => TestPropertyValuesPositiveForState(e => e.GetDatabaseValuesAsync()!, EntityState.Unchanged, expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Current_values_can_be_read_and_set_for_an_object_in_the_Modified_state() => TestPropertyValuesPositiveForState( e => Task.FromResult(e.CurrentValues), EntityState.Modified, expectOriginalValues: false); - [ConditionalFact] + [Fact] public virtual Task Original_values_can_be_read_and_set_for_an_object_in_the_Modified_state() => TestPropertyValuesPositiveForState( e => Task.FromResult(e.OriginalValues), EntityState.Modified, expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Store_values_can_be_read_and_set_for_an_object_in_the_Modified_state() => TestPropertyValuesPositiveForState( e => Task.FromResult(e.GetDatabaseValues()!), EntityState.Modified, expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Store_values_can_be_read_and_set_for_an_object_in_the_Modified_state_asynchronously() => TestPropertyValuesPositiveForState(e => e.GetDatabaseValuesAsync()!, EntityState.Modified, expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Current_values_can_be_read_and_set_for_an_object_in_the_Added_state() => TestPropertyValuesPositiveForState( e => Task.FromResult(e.CurrentValues), EntityState.Added, expectOriginalValues: false); - [ConditionalFact] + [Fact] public virtual Task Original_values_can_be_read_or_set_for_an_object_in_the_Added_state() => TestPropertyValuesPositiveForState( e => Task.FromResult(e.OriginalValues), EntityState.Added, expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Store_values_can_be_read_or_set_for_an_object_in_the_Added_state() => TestPropertyValuesPositiveForState( e => Task.FromResult(e.GetDatabaseValues()!), EntityState.Detached, expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Store_values_can_be_read_or_set_for_an_object_in_the_Added_state_asynchronously() => TestPropertyValuesPositiveForState(e => e.GetDatabaseValuesAsync()!, EntityState.Detached, expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Current_values_can_be_read_or_set_for_a_Detached_object() => TestPropertyValuesPositiveForState( e => Task.FromResult(e.CurrentValues), EntityState.Detached, expectOriginalValues: false); - [ConditionalFact] + [Fact] public virtual Task Original_values_can_be_read_or_set_for_a_Detached_object() => TestPropertyValuesPositiveForState( e => Task.FromResult(e.OriginalValues), EntityState.Detached, expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Store_values_can_be_read_or_set_for_a_Detached_object() => TestPropertyValuesPositiveForState( e => Task.FromResult(e.GetDatabaseValues()!), EntityState.Detached, expectOriginalValues: true); - [ConditionalFact] + [Fact] public virtual Task Store_values_can_be_read_or_set_for_a_Detached_object_asynchronously() => TestPropertyValuesPositiveForState(e => e.GetDatabaseValuesAsync()!, EntityState.Detached, expectOriginalValues: true); @@ -1260,7 +1260,7 @@ private async Task TestPropertyValuesPositiveForState( Assert.Equal("Building One Optimal", values["Name"]); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -1291,7 +1291,7 @@ public async Task Values_can_be_reloaded_from_database_for_entity_in_any_state(E Assert.Equal(EntityState.Unchanged, entry.State); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -1345,7 +1345,7 @@ public async Task Reload_when_entity_deleted_in_store_can_happen_for_any_state(E Assert.Contains(office, building.Offices); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Detached, true), InlineData(EntityState.Detached, false)] @@ -1385,11 +1385,11 @@ public virtual async Task Values_can_be_reloaded_from_database_for_entity_in_any Assert.Equal("One", supplier.Address.Street); } - [ConditionalFact] + [Fact] public virtual void Current_values_can_be_set_from_an_object_using_generic_dictionary() => TestGenericObjectSetValues(e => e.CurrentValues, (e, n) => e.Property(n).CurrentValue!); - [ConditionalFact] + [Fact] public virtual void Original_values_can_be_set_from_an_object_using_generic_dictionary() => TestGenericObjectSetValues(e => e.OriginalValues, (e, n) => e.Property(n).OriginalValue!); @@ -1436,11 +1436,11 @@ private static void ValidateBuildingProperties( Assert.Equal(shadow2 != "Meadow Drive", buildingEntry.Property("Shadow2").IsModified); } - [ConditionalFact] + [Fact] public virtual void Current_values_can_be_set_from_an_object_using_non_generic_dictionary() => TestNonGenericObjectSetValues(e => e.CurrentValues, (e, n) => e.Property(n).CurrentValue!); - [ConditionalFact] + [Fact] public virtual void Original_values_can_be_set_from_an_object_using_non_generic_dictionary() => TestNonGenericObjectSetValues(e => e.OriginalValues, (e, n) => e.Property(n).OriginalValue!); @@ -1467,11 +1467,11 @@ private void TestNonGenericObjectSetValues( ValidateBuildingProperties(context.Entry(building), getValue, 11, "Meadow Drive"); } - [ConditionalFact] + [Fact] public virtual void Current_values_can_be_set_from_DTO_object_using_non_generic_dictionary() => TestNonGenericDtoSetValues(e => e.CurrentValues, (e, n) => e.Property(n).CurrentValue!); - [ConditionalFact] + [Fact] public virtual void Original_values_can_be_set_from_DTO_object_using_non_generic_dictionary() => TestNonGenericDtoSetValues(e => e.OriginalValues, (e, n) => e.Property(n).OriginalValue!); @@ -1503,11 +1503,11 @@ private void TestNonGenericDtoSetValues( ValidateBuildingProperties(context.Entry(building), getValue, 777, "Meadow Drive"); } - [ConditionalFact] + [Fact] public virtual void Current_values_can_be_set_from_DTO_object_missing_key_using_non_generic_dictionary() => TestNonGenericDtoNoKeySetValues(e => e.CurrentValues, (e, n) => e.Property(n).CurrentValue!); - [ConditionalFact] + [Fact] public virtual void Original_values_can_be_set_from_DTO_object_missing_key_using_non_generic_dictionary() => TestNonGenericDtoNoKeySetValues(e => e.OriginalValues, (e, n) => e.Property(n).OriginalValue!); @@ -1537,11 +1537,11 @@ private void TestNonGenericDtoNoKeySetValues( ValidateBuildingProperties(context.Entry(building), getValue, 11, "Cheese"); } - [ConditionalFact] + [Fact] public virtual void Current_values_can_be_set_from_dictionary() => TestDictionarySetValues(e => e.CurrentValues, (e, n) => e.Property(n).CurrentValue!); - [ConditionalFact] + [Fact] public virtual void Original_values_can_be_set_from_dictionary() => TestDictionarySetValues(e => e.OriginalValues, (e, n) => e.Property(n).OriginalValue!); @@ -1573,11 +1573,11 @@ private void TestDictionarySetValues( ValidateBuildingProperties(context.Entry(building), getValue, 13, "Pine Walk"); } - [ConditionalFact] + [Fact] public virtual void Current_values_can_be_set_from_dictionary_typed_int() => TestDictionarySetValuesTypedInt(e => e.CurrentValues, (e, n) => e.Property(n).CurrentValue!); - [ConditionalFact] + [Fact] public virtual void Original_values_can_be_set_from_dictionary_typed_int() => TestDictionarySetValuesTypedInt(e => e.OriginalValues, (e, n) => e.Property(n).OriginalValue!); @@ -1610,11 +1610,11 @@ private void TestDictionarySetValuesTypedInt( Assert.False(context.Entry(building).Property("Shadow2").IsModified); } - [ConditionalFact] + [Fact] public virtual void Current_values_can_be_set_from_dictionary_typed_string() => TestDictionarySetValuesTypedString(e => e.CurrentValues, (e, n) => e.Property(n).CurrentValue!); - [ConditionalFact] + [Fact] public virtual void Original_values_can_be_set_from_dictionary_typed_string() => TestDictionarySetValuesTypedString(e => e.OriginalValues, (e, n) => e.Property(n).OriginalValue!); @@ -1650,11 +1650,11 @@ private void TestDictionarySetValuesTypedString( Assert.True(context.Entry(building).Property("Shadow2").IsModified); } - [ConditionalFact] + [Fact] public virtual void Current_values_can_be_set_from_dictionary_some_missing() => TestPartialDictionarySetValues(e => e.CurrentValues, (e, n) => e.Property(n).CurrentValue!); - [ConditionalFact] + [Fact] public virtual void Original_values_can_be_set_from_dictionary_some_missing() => TestPartialDictionarySetValues(e => e.OriginalValues, (e, n) => e.Property(n).OriginalValue!); @@ -1686,11 +1686,11 @@ private void TestPartialDictionarySetValues( ValidateBuildingProperties(context.Entry(building), getValue, 777, "Meadow Drive"); } - [ConditionalFact] + [Fact] public virtual void Current_values_can_be_set_from_one_generic_dictionary_to_another_generic_dictionary() => TestGenericValuesSetValues(e => e.CurrentValues, (e, n) => e.Property(n).CurrentValue!); - [ConditionalFact] + [Fact] public virtual void Original_values_can_be_set_from_one_generic_dictionary_to_another_generic_dictionary() => TestGenericValuesSetValues(e => e.OriginalValues, (e, n) => e.Property(n).OriginalValue!); @@ -1722,11 +1722,11 @@ private void TestGenericValuesSetValues( ValidateBuildingProperties(context.Entry(building), getValue, 13, "Pine Walk"); } - [ConditionalFact] + [Fact] public virtual void Current_values_can_be_set_from_one_non_generic_dictionary_to_another_generic_dictionary() => TestNonGenericValuesSetValues(e => e.CurrentValues, (e, n) => e.Property(n).CurrentValue!); - [ConditionalFact] + [Fact] public virtual void Original_values_can_be_set_from_one_non_generic_dictionary_to_another_generic_dictionary() => TestNonGenericValuesSetValues(e => e.OriginalValues, (e, n) => e.Property(n).OriginalValue!); @@ -1758,11 +1758,11 @@ private void TestNonGenericValuesSetValues( ValidateBuildingProperties(context.Entry(building), getValue, 13, "Pine Walk"); } - [ConditionalFact] + [Fact] public virtual void Primary_key_in_current_values_cannot_be_changed_in_property_dictionary() => TestKeyChange(e => e.CurrentValues); - [ConditionalFact] + [Fact] public virtual void Primary_key_in_original_values_cannot_be_changed_in_property_dictionary() => TestKeyChange(e => e.OriginalValues); @@ -1777,7 +1777,7 @@ private void TestKeyChange(Func, PropertyValues> getProper Assert.Throws(() => values["BuildingId"] = new Guid()).Message); } - [ConditionalTheory, InlineData(CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Never)] + [Theory, InlineData(CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Never)] public virtual void Non_nullable_property_in_current_values_results_in_conceptual_null(CascadeTiming deleteOrphansTiming) { using var context = CreateContext(); @@ -1819,7 +1819,7 @@ public virtual void Non_nullable_property_in_current_values_results_in_conceptua } } - [ConditionalTheory, InlineData(CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Never)] + [Theory, InlineData(CascadeTiming.Immediate), InlineData(CascadeTiming.OnSaveChanges), InlineData(CascadeTiming.Never)] public virtual void Non_nullable_shadow_property_in_current_values_results_in_conceptual_null(CascadeTiming deleteOrphansTiming) { using var context = CreateContext(); @@ -1856,7 +1856,7 @@ public virtual void Non_nullable_shadow_property_in_current_values_results_in_co } } - [ConditionalFact] + [Fact] public virtual void Non_nullable_property_in_original_values_cannot_be_set_to_null_in_property_dictionary() { using var context = CreateContext(); @@ -1870,7 +1870,7 @@ public virtual void Non_nullable_property_in_original_values_cannot_be_set_to_nu Assert.Equal(1500000m, values["Value"]); } - [ConditionalFact] + [Fact] public virtual void Non_nullable_shadow_property_in_original_values_cannot_be_set_to_null_in_property_dictionary() { using var context = CreateContext(); @@ -1884,7 +1884,7 @@ public virtual void Non_nullable_shadow_property_in_original_values_cannot_be_se Assert.Equal(11, values["Shadow1"]); } - [ConditionalFact] + [Fact] public virtual void Non_nullable_property_in_cloned_dictionary_cannot_be_set_to_null() { using var context = CreateContext(); @@ -1896,11 +1896,11 @@ public virtual void Non_nullable_property_in_cloned_dictionary_cannot_be_set_to_ Assert.Throws(() => values["Value"] = null).Message); } - [ConditionalFact] + [Fact] public virtual void Property_in_current_values_cannot_be_set_to_instance_of_wrong_type() => TestSetWrongType(e => e.CurrentValues); - [ConditionalFact] + [Fact] public virtual void Property_in_original_values_cannot_be_set_to_instance_of_wrong_type() => TestSetWrongType(e => e.OriginalValues); @@ -1916,11 +1916,11 @@ private void TestSetWrongType(Func, PropertyValues> getPro Assert.Equal("Building One", building.Name); } - [ConditionalFact] + [Fact] public virtual void Shadow_property_in_current_values_cannot_be_set_to_instance_of_wrong_type() => TestSetWrongTypeShadow(e => e.CurrentValues); - [ConditionalFact] + [Fact] public virtual void Shadow_property_in_original_values_cannot_be_set_to_instance_of_wrong_type() => TestSetWrongTypeShadow(e => e.OriginalValues); @@ -1935,7 +1935,7 @@ private void TestSetWrongTypeShadow(Func, PropertyValues> Assert.Equal(11, values["Shadow1"]); } - [ConditionalFact] + [Fact] public virtual void Property_in_cloned_dictionary_cannot_be_set_to_instance_of_wrong_type() { using var context = CreateContext(); @@ -1950,11 +1950,11 @@ public virtual void Property_in_cloned_dictionary_cannot_be_set_to_instance_of_w Assert.Equal("Building One", building.Name); } - [ConditionalFact] + [Fact] public virtual void Primary_key_in_current_values_cannot_be_changed_by_setting_values_from_object() => TestKeyChangeByObject(e => e.CurrentValues); - [ConditionalFact] + [Fact] public virtual void Primary_key_in_original_values_cannot_be_changed_by_setting_values_from_object() => TestKeyChangeByObject(e => e.OriginalValues); @@ -1972,11 +1972,11 @@ private void TestKeyChangeByObject(Func, PropertyValues> g Assert.Throws(() => values.SetValues(newBuilding)).Message); } - [ConditionalFact] + [Fact] public virtual void Primary_key_in_current_values_cannot_be_changed_by_setting_values_from_another_dictionary() => TestKeyChangeByValues(e => e.CurrentValues); - [ConditionalFact] + [Fact] public virtual void Primary_key_in_original_values_cannot_be_changed_by_setting_values_from_another_dictionary() => TestKeyChangeByValues(e => e.OriginalValues); @@ -1994,23 +1994,23 @@ private void TestKeyChangeByValues(Func, PropertyValues> g Assert.Throws(() => values.SetValues(clone)).Message); } - [ConditionalFact] + [Fact] public virtual Task Properties_for_current_values_returns_properties() => TestProperties(e => Task.FromResult(e.CurrentValues)); - [ConditionalFact] + [Fact] public virtual Task Properties_for_original_values_returns_properties() => TestProperties(e => Task.FromResult(e.OriginalValues)); - [ConditionalFact] + [Fact] public virtual Task Properties_for_store_values_returns_properties() => TestProperties(e => Task.FromResult(e.GetDatabaseValues()!)); - [ConditionalFact] + [Fact] public virtual Task Properties_for_store_values_returns_properties_asynchronously() => TestProperties(e => e.GetDatabaseValuesAsync()!); - [ConditionalFact] + [Fact] public virtual Task Properties_for_cloned_dictionary_returns_properties() => TestProperties(e => Task.FromResult(e.CurrentValues.Clone())); @@ -2085,11 +2085,11 @@ private async Task TestProperties(Func, Task GetDatabaseValues_for_entity_not_in_the_store_returns_null_implementation(e => Task.FromResult(e.GetDatabaseValues()!)); - [ConditionalFact] + [Fact] public virtual Task GetDatabaseValuesAsync_for_entity_not_in_the_store_returns_null() => GetDatabaseValues_for_entity_not_in_the_store_returns_null_implementation(e => e.GetDatabaseValuesAsync()!); @@ -2107,12 +2107,12 @@ private async Task GetDatabaseValues_for_entity_not_in_the_store_returns_null_im Assert.Null(await getPropertyValues(context.Entry(building))); } - [ConditionalFact] + [Fact] public virtual Task NonGeneric_GetDatabaseValues_for_entity_not_in_the_store_returns_null() => NonGeneric_GetDatabaseValues_for_entity_not_in_the_store_returns_null_implementation(e => Task.FromResult(e.GetDatabaseValues()!)); - [ConditionalFact] + [Fact] public virtual Task NonGeneric_GetDatabaseValuesAsync_for_entity_not_in_the_store_returns_null() => NonGeneric_GetDatabaseValues_for_entity_not_in_the_store_returns_null_implementation(e => e.GetDatabaseValuesAsync()!); @@ -2134,11 +2134,11 @@ private async Task NonGeneric_GetDatabaseValues_for_entity_not_in_the_store_retu Assert.True(building.InitializedCalled); } - [ConditionalFact] + [Fact] public virtual Task GetDatabaseValues_for_derived_entity_not_in_the_store_returns_null() => GetDatabaseValues_for_derived_entity_not_in_the_store_returns_null_implementation(e => Task.FromResult(e.GetDatabaseValues()!)); - [ConditionalFact] + [Fact] public virtual Task GetDatabaseValuesAsync_for_derived_entity_not_in_the_store_returns_null() => GetDatabaseValues_for_derived_entity_not_in_the_store_returns_null_implementation(e => e.GetDatabaseValuesAsync()!); @@ -2159,12 +2159,12 @@ private async Task GetDatabaseValues_for_derived_entity_not_in_the_store_returns Assert.Null(await getPropertyValues(context.Entry(employee))); } - [ConditionalFact] + [Fact] public virtual Task NonGeneric_GetDatabaseValues_for_derived_entity_not_in_the_store_returns_null() => NonGeneric_GetDatabaseValues_for_derived_entity_not_in_the_store_returns_null_implementation(e => Task.FromResult(e.GetDatabaseValues()!)); - [ConditionalFact] + [Fact] public virtual Task NonGeneric_GetDatabaseValuesAsync_for_derived_entity_not_in_the_store_returns_null() => NonGeneric_GetDatabaseValues_for_derived_entity_not_in_the_store_returns_null_implementation(e => e.GetDatabaseValuesAsync()!); @@ -2185,11 +2185,11 @@ private async Task NonGeneric_GetDatabaseValues_for_derived_entity_not_in_the_st Assert.Null(await getPropertyValues(context.Entry((object)employee))); } - [ConditionalFact] + [Fact] public virtual Task GetDatabaseValues_for_the_wrong_type_in_the_store_returns_null() => GetDatabaseValues_for_the_wrong_type_in_the_store_returns_null_implementation(e => Task.FromResult(e.GetDatabaseValues()!)); - [ConditionalFact] + [Fact] public virtual Task GetDatabaseValuesAsync_for_the_wrong_type_in_the_store_returns_null() => GetDatabaseValues_for_the_wrong_type_in_the_store_returns_null_implementation(e => e.GetDatabaseValuesAsync()!); @@ -2217,11 +2217,11 @@ private async Task GetDatabaseValues_for_the_wrong_type_in_the_store_returns_nul Assert.Null(await getPropertyValues(context.Entry(employee))); } - [ConditionalFact] + [Fact] public virtual Task NonGeneric_GetDatabaseValues_for_the_wrong_type_in_the_store_throws() => NonGeneric_GetDatabaseValues_for_the_wrong_type_in_the_store_throws_implementation(e => Task.FromResult(e.GetDatabaseValues()!)); - [ConditionalFact] + [Fact] public virtual Task NonGeneric_GetDatabaseValuesAsync_for_the_wrong_type_in_the_store_throws() => NonGeneric_GetDatabaseValues_for_the_wrong_type_in_the_store_throws_implementation(e => e.GetDatabaseValuesAsync()!); @@ -2249,11 +2249,11 @@ private async Task NonGeneric_GetDatabaseValues_for_the_wrong_type_in_the_store_ Assert.Null(await getPropertyValues(context.Entry((object)employee))); } - [ConditionalFact] + [Fact] public Task Store_values_really_are_store_values_not_current_or_original_values() => Store_values_really_are_store_values_not_current_or_original_values_implementation(e => Task.FromResult(e.GetDatabaseValues()!)); - [ConditionalFact] + [Fact] public Task Store_values_really_are_store_values_not_current_or_original_values_async() => Store_values_really_are_store_values_not_current_or_original_values_implementation(e => e.GetDatabaseValuesAsync()!); @@ -2271,7 +2271,7 @@ private async Task Store_values_really_are_store_values_not_current_or_original_ Assert.Equal("Building One", storeValues.Name); } - [ConditionalFact] + [Fact] public virtual void Setting_store_values_does_not_change_current_or_original_values() { using var context = CreateContext(); @@ -2295,19 +2295,19 @@ public virtual void Setting_store_values_does_not_change_current_or_original_val Assert.True(originalValues.InitializedCalled); } - [ConditionalFact] + [Fact] public virtual Task Complex_collection_current_values_can_be_accessed_as_a_property_dictionary() => TestComplexCollectionPropertyValues(e => Task.FromResult(e.CurrentValues), expectOriginalValues: false); - [ConditionalFact] + [Fact] public virtual Task Complex_collection_original_values_can_be_accessed_as_a_property_dictionary() => TestComplexCollectionPropertyValues(e => Task.FromResult(e.OriginalValues), expectOriginalValues: true); - [ConditionalFact(Skip = "Complex collection query support. Issue #31411")] + [Fact(Skip = "Complex collection query support. Issue #31411")] public virtual Task Complex_collection_store_values_can_be_accessed_as_a_property_dictionary() => TestComplexCollectionPropertyValues(e => Task.FromResult(e.GetDatabaseValues()!), expectOriginalValues: true); - [ConditionalFact(Skip = "Complex collection query support. Issue #31411")] + [Fact(Skip = "Complex collection query support. Issue #31411")] public virtual Task Complex_collection_store_values_can_be_accessed_asynchronously_as_a_property_dictionary() => TestComplexCollectionPropertyValues(e => e.GetDatabaseValuesAsync()!, expectOriginalValues: true); @@ -2424,7 +2424,7 @@ private async Task TestComplexCollectionPropertyValues( Assert.False(school.InitializedCalled); } - [ConditionalFact] + [Fact] public virtual void Setting_complex_collection_values_from_object_works() { using var context = CreateContext(); @@ -2480,7 +2480,7 @@ public virtual void Setting_complex_collection_values_from_object_works() Assert.Equal(EntityState.Modified, courseEntries[0]!.EntityState); } - [ConditionalFact] + [Fact] public virtual void Setting_complex_collection_current_values_from_object_with_nulls_works() { using var context = CreateContext(); @@ -2584,7 +2584,7 @@ public virtual void Setting_complex_collection_current_values_from_object_with_n Assert.Equal(EntityState.Modified, dept2CourseEntries[0]!.EntityState); } - [ConditionalFact] + [Fact] public virtual void Setting_complex_collection_original_values_from_object_with_nulls_works() { using var context = CreateContext(); @@ -2652,7 +2652,7 @@ public virtual void Setting_complex_collection_original_values_from_object_with_ Assert.Equal(EntityState.Modified, dept2CourseEntries[1]!.EntityState); } - [ConditionalFact] + [Fact] public virtual void Setting_complex_collection_current_values_from_dictionary_works() { using var context = CreateContext(); @@ -2736,7 +2736,7 @@ public virtual void Setting_complex_collection_current_values_from_dictionary_wo Assert.Equal(EntityState.Modified, dept2CourseEntries[0]!.EntityState); } - [ConditionalFact] + [Fact] public virtual void Setting_complex_collection_values_from_DTO_with_nulls_works() { using var context = CreateContext(); @@ -2805,7 +2805,7 @@ public virtual void Setting_complex_collection_values_from_DTO_with_nulls_works( Assert.Equal(EntityState.Modified, dept1CourseEntries[1]!.EntityState); } - [ConditionalFact] + [Fact] public virtual void Setting_complex_collection_current_values_from_dictionary_with_nulls_works() { using var context = CreateContext(); @@ -2901,7 +2901,7 @@ public virtual void Setting_complex_collection_current_values_from_dictionary_wi Assert.Equal(EntityState.Modified, dept2CourseEntries[2]!.EntityState); } - [ConditionalFact] + [Fact] public virtual void Setting_complex_collection_original_values_from_dictionary_with_nulls_works() { using var context = CreateContext(); @@ -2986,7 +2986,7 @@ public virtual void Setting_complex_collection_original_values_from_dictionary_w Assert.Equal(EntityState.Modified, dept2CourseEntries[1]!.EntityState); } - [ConditionalFact] + [Fact] public virtual void Setting_complex_collection_current_values_from_DTO_with_complex_metadata_access_works() { using var context = CreateContext(); @@ -3083,7 +3083,7 @@ public virtual void Setting_complex_collection_current_values_from_DTO_with_comp Assert.Equal(EntityState.Modified, dept3CourseEntries[0]!.EntityState); } - [ConditionalFact] + [Fact] public virtual void SetValues_throws_for_complex_collection_with_non_list_value() { using var context = CreateContext(); @@ -3097,7 +3097,7 @@ public virtual void SetValues_throws_for_complex_collection_with_non_list_value( Assert.Equal(CoreStrings.ComplexCollectionValueNotDictionaryList("Departments", "string"), exception.Message); } - [ConditionalFact] + [Fact] public virtual void SetValues_throws_for_complex_collection_with_non_dictionary_item() { using var context = CreateContext(); @@ -3114,7 +3114,7 @@ public virtual void SetValues_throws_for_complex_collection_with_non_dictionary_ Assert.Equal(CoreStrings.ComplexCollectionValueNotDictionaryList("Departments", "string"), exception.Message); } - [ConditionalFact] + [Fact] public virtual void SetValues_throws_for_nested_complex_collection_with_non_list_value() { using var context = CreateContext(); @@ -3140,7 +3140,7 @@ public virtual void SetValues_throws_for_nested_complex_collection_with_non_list Assert.Equal(CoreStrings.ComplexCollectionValueNotDictionaryList("Courses", "string"), exception.Message); } - [ConditionalFact] + [Fact] public virtual void SetValues_throws_for_nested_complex_collection_with_non_dictionary_item() { using var context = CreateContext(); @@ -3166,7 +3166,7 @@ public virtual void SetValues_throws_for_nested_complex_collection_with_non_dict Assert.Equal(CoreStrings.ComplexCollectionValueNotDictionaryList("Courses", "List"), exception.Message); } - [ConditionalFact] + [Fact] public virtual void SetValues_throws_for_complex_property_with_non_dictionary_value() { using var context = CreateContext(); @@ -3179,7 +3179,7 @@ public virtual void SetValues_throws_for_complex_property_with_non_dictionary_va Assert.Equal(CoreStrings.ComplexPropertyValueNotDictionary("Culture", "string"), exception.Message); } - [ConditionalFact] + [Fact] public virtual void Nullable_complex_property_with_null_value_returns_null_when_using_ToObject() { using var context = CreateContext(); @@ -3195,7 +3195,7 @@ public virtual void Nullable_complex_property_with_null_value_returns_null_when_ Assert.NotNull(originalBuilding.OptionalMilk); } - [ConditionalFact] + [Fact] public virtual async Task Reloading_optional_complex_property_with_null_does_not_throw() { using var context = CreateContext(); @@ -3208,7 +3208,7 @@ public virtual async Task Reloading_optional_complex_property_with_null_does_not Assert.Equal(EntityState.Unchanged, context.Entry(building).State); } - [ConditionalFact] + [Fact] public virtual void Setting_current_values_from_cloned_values_sets_nullable_complex_property_to_null() { using var context = CreateContext(); @@ -3234,7 +3234,7 @@ public virtual void Setting_current_values_from_cloned_values_sets_nullable_comp Assert.Null(building.OptionalMilk); } - [ConditionalFact] + [Fact] public virtual void Current_values_can_be_copied_to_object_using_ToObject() { using var context = CreateContext(); @@ -3281,7 +3281,7 @@ public virtual void Current_values_can_be_copied_to_object_using_ToObject() } } - [ConditionalFact] + [Fact] public virtual void Original_values_can_be_copied_to_object_using_ToObject() { using var context = CreateContext(); @@ -3328,11 +3328,11 @@ public virtual void Original_values_can_be_copied_to_object_using_ToObject() } } - [ConditionalFact] + [Fact] public virtual Task Store_values_can_be_copied_to_object_using_ToObject() => Store_values_can_be_copied_to_object_using_ToObject_implementation(e => Task.FromResult(e.GetDatabaseValues()!)); - [ConditionalFact] + [Fact] public virtual Task Store_values_can_be_copied_to_object_using_ToObject_asynchronously() => Store_values_can_be_copied_to_object_using_ToObject_implementation(e => e.GetDatabaseValuesAsync()!); @@ -3386,7 +3386,7 @@ private async Task Store_values_can_be_copied_to_object_using_ToObject_implement } } - [ConditionalFact] + [Fact] public virtual void Current_values_can_be_cloned() { using var context = CreateContext(); @@ -3438,7 +3438,7 @@ public virtual void Current_values_can_be_cloned() } } - [ConditionalFact] + [Fact] public virtual void Original_values_can_be_cloned() { using var context = CreateContext(); @@ -3490,11 +3490,11 @@ public virtual void Original_values_can_be_cloned() } } - [ConditionalFact(Skip = "Complex collection query support. Issue #31411")] + [Fact(Skip = "Complex collection query support. Issue #31411")] public virtual Task Store_values_can_be_cloned() => Store_values_can_be_cloned_implementation(e => Task.FromResult(e.GetDatabaseValues()!)); - [ConditionalFact(Skip = "Complex collection query support. Issue #31411")] + [Fact(Skip = "Complex collection query support. Issue #31411")] public virtual Task Store_values_can_be_cloned_asynchronously() => Store_values_can_be_cloned_implementation(e => e.GetDatabaseValuesAsync()!); diff --git a/test/EFCore.Specification.Tests/Query/AdHocAdvancedMappingsQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/AdHocAdvancedMappingsQueryTestBase.cs index 457f9409af1..a844e02a378 100644 --- a/test/EFCore.Specification.Tests/Query/AdHocAdvancedMappingsQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/AdHocAdvancedMappingsQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.ComponentModel.DataAnnotations; @@ -17,7 +17,7 @@ protected override string NonSharedStoreName #region 9582 - [ConditionalFact] + [Fact] public virtual async Task Setting_IsUnicode_generates_unicode_literal_in_SQL() { var contextFactory = await InitializeNonSharedTest(); @@ -56,7 +56,7 @@ public class TipoServicio #region 11835 - [ConditionalFact] + [Fact] public virtual async Task Projecting_correlated_collection_along_with_non_mapped_property() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -125,7 +125,7 @@ public class Post #region 15684 - [ConditionalFact] + [Fact] public virtual async Task Projection_failing_with_EnumToStringConverter() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -209,7 +209,7 @@ public enum CategoryStatus #region 17276 - [ConditionalFact] + [Fact] public virtual async Task Expression_tree_constructed_via_interface_works() { var contextFactory = await InitializeNonSharedTest(); @@ -305,7 +305,7 @@ public class Specification(int id) #region 17794 - [ConditionalFact] + [Fact] public virtual async Task Double_convert_interface_created_expression_tree() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -376,7 +376,7 @@ public class OfferAction #region 18087 - [ConditionalFact] + [Fact] public virtual async Task Casts_are_removed_from_expression_tree_when_redundant() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -452,7 +452,7 @@ public class MockEntity : IDomainEntity #region 18346 - [ConditionalFact] + [Fact] public virtual async Task Can_query_hierarchy_with_non_nullable_property_on_derived() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -506,7 +506,7 @@ public enum BusinessType #region 26742 - [ConditionalTheory, InlineData(null, ""), InlineData(1, " (Scale = 1)"), InlineData(2, " (Scale = 2)"), InlineData(3, " (Scale = 3)"), + [Theory, InlineData(null, ""), InlineData(1, " (Scale = 1)"), InlineData(2, " (Scale = 2)"), InlineData(3, " (Scale = 3)"), InlineData(4, " (Scale = 4)"), InlineData(5, " (Scale = 5)"), InlineData(6, " (Scale = 6)"), InlineData(7, " (Scale = 7)")] //[InlineData(0, " (Scale = 0)")] //https://github.com/dotnet/SqlClient/issues/1380 cause this test to fail, not EF public virtual async Task Query_generates_correct_datetime2_parameter_definition(int? fractionalSeconds, string postfix) @@ -525,7 +525,7 @@ public virtual async Task Query_generates_correct_datetime2_parameter_definition _ = context.Entities.Where(x => x.DateTime == parameter).Select(e => e.DateTime).FirstOrDefault(); } - [ConditionalTheory, InlineData(null, ""), InlineData(1, " (Scale = 1)"), InlineData(2, " (Scale = 2)"), InlineData(3, " (Scale = 3)"), + [Theory, InlineData(null, ""), InlineData(1, " (Scale = 1)"), InlineData(2, " (Scale = 2)"), InlineData(3, " (Scale = 3)"), InlineData(4, " (Scale = 4)"), InlineData(5, " (Scale = 5)"), InlineData(6, " (Scale = 6)"), InlineData(7, " (Scale = 7)")] //[InlineData(0, " (Scale = 0)")] //https://github.com/dotnet/SqlClient/issues/1380 cause this test to fail, not EF public virtual async Task Query_generates_correct_datetimeoffset_parameter_definition(int? fractionalSeconds, string postfix) @@ -544,7 +544,7 @@ public virtual async Task Query_generates_correct_datetimeoffset_parameter_defin _ = context.Entities.Where(x => x.DateTimeOffset == parameter).Select(e => e.DateTimeOffset).FirstOrDefault(); } - [ConditionalTheory, InlineData(null, ""), InlineData(1, " (Scale = 1)"), InlineData(2, " (Scale = 2)"), InlineData(3, " (Scale = 3)"), + [Theory, InlineData(null, ""), InlineData(1, " (Scale = 1)"), InlineData(2, " (Scale = 2)"), InlineData(3, " (Scale = 3)"), InlineData(4, " (Scale = 4)"), InlineData(5, " (Scale = 5)"), InlineData(6, " (Scale = 6)"), InlineData(7, " (Scale = 7)")] //[InlineData(0, " (Scale = 0)")] //https://github.com/dotnet/SqlClient/issues/1380 cause this test to fail, not EF public virtual async Task Query_generates_correct_timespan_parameter_definition(int? fractionalSeconds, string postfix) @@ -581,7 +581,7 @@ public class Entity #region 28196 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Hierarchy_query_with_abstract_type_sibling(bool async) => Hierarchy_query_with_abstract_type_sibling_helper(async, null); @@ -673,7 +673,7 @@ public class Dog : Pet #region 34760 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Projecting_property_with_converter_with_closure(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -685,7 +685,7 @@ public virtual async Task Projecting_property_with_converter_with_closure(bool a Assert.Equal(2, result.Count); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Projecting_expression_with_converter_with_closure(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -699,7 +699,7 @@ public virtual async Task Projecting_expression_with_converter_with_closure(bool Assert.Equal(2, result.Count); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Projecting_property_with_converter_without_closure(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); diff --git a/test/EFCore.Specification.Tests/Query/AdHocComplexTypeQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/AdHocComplexTypeQueryTestBase.cs index 6f42292c9bc..0bead718408 100644 --- a/test/EFCore.Specification.Tests/Query/AdHocComplexTypeQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/AdHocComplexTypeQueryTestBase.cs @@ -9,7 +9,7 @@ public abstract class AdHocComplexTypeQueryTestBase(NonSharedFixture fixture) { #region 33449 - [ConditionalFact] + [Fact] public virtual async Task Complex_type_equals_parameter_with_nested_types_with_property_of_same_name() { var contextFactory = await InitializeNonSharedTest( @@ -83,7 +83,7 @@ public class ComplexContainee2 #region 34749 - [ConditionalFact] + [Fact] public virtual async Task Projecting_complex_property_does_not_auto_include_owned_types() { var contextFactory = await InitializeNonSharedTest(); @@ -128,7 +128,7 @@ public class OwnedType #region ShadowDiscriminator - [ConditionalFact] + [Fact] public virtual async Task Optional_complex_type_with_discriminator() { var contextFactory = await InitializeNonSharedTest( @@ -198,7 +198,7 @@ public class AllOptionalsComplexType #region 37162 - [ConditionalFact] + [Fact] public virtual async Task Non_optional_complex_type_with_all_nullable_properties() { var contextFactory = await InitializeNonSharedTest( @@ -251,7 +251,7 @@ public class ComplexTypeWithAllNulls #region 37304 - [ConditionalFact] + [Fact] public virtual async Task Non_optional_complex_type_with_all_nullable_properties_via_left_join() { var contextFactory = await InitializeNonSharedTest( @@ -327,7 +327,7 @@ public class ComplexTypeWithAllNulls private const string Issue37337CreatedByShadowPropertyName = "CreatedBy"; - [ConditionalFact] + [Fact] public virtual async Task Nullable_complex_type_with_discriminator_and_shadow_property() { var contextFactory = await InitializeNonSharedTest( @@ -391,7 +391,7 @@ public class OptionalComplexProperty #region Issue38119 - [ConditionalFact] + [Fact] public virtual async Task Nullable_complex_type_with_discriminator_null_to_non_null_roundtrip() { var contextFactory = await InitializeNonSharedTest( @@ -418,7 +418,7 @@ public virtual async Task Nullable_complex_type_with_discriminator_null_to_non_n } } - [ConditionalFact] + [Fact] public virtual async Task Nullable_complex_type_with_discriminator_non_null_to_null_roundtrip() { var contextFactory = await InitializeNonSharedTest( @@ -449,7 +449,7 @@ public virtual async Task Nullable_complex_type_with_discriminator_non_null_to_n } } - [ConditionalFact] + [Fact] public virtual async Task Nullable_complex_type_with_discriminator_update_non_null_entity_roundtrip() { var contextFactory = await InitializeNonSharedTest( @@ -482,7 +482,7 @@ public virtual async Task Nullable_complex_type_with_discriminator_update_non_nu } } - [ConditionalFact] + [Fact] public virtual async Task Nullable_complex_type_with_discriminator_set_to_different_value() { var contextFactory = await InitializeNonSharedTest(); @@ -514,7 +514,7 @@ public virtual async Task Nullable_complex_type_with_discriminator_set_to_differ } } - [ConditionalFact] + [Fact] public virtual async Task Nullable_complex_type_with_discriminator_set_to_null() { var contextFactory = await InitializeNonSharedTest(); @@ -545,7 +545,7 @@ public virtual async Task Nullable_complex_type_with_discriminator_set_to_null() } } - [ConditionalFact] + [Fact] public virtual async Task Nested_nullable_complex_type_with_discriminator_null_to_non_null_roundtrip() { var contextFactory = await InitializeNonSharedTest( @@ -641,7 +641,7 @@ public class InnerComplexProperty #region Issue38105 - [ConditionalFact] + [Fact] public virtual async Task Update_entity_with_nullable_complex_type_and_discriminator_does_not_throw() { var contextFactory = await InitializeNonSharedTest( diff --git a/test/EFCore.Specification.Tests/Query/AdHocJsonQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/AdHocJsonQueryTestBase.cs index 8371d13018c..ebb1323a90f 100644 --- a/test/EFCore.Specification.Tests/Query/AdHocJsonQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/AdHocJsonQueryTestBase.cs @@ -19,7 +19,7 @@ protected virtual void ConfigureWarnings(WarningsConfigurationBuilder builder) #region 21006 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Project_root_with_missing_scalars(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -49,7 +49,7 @@ public virtual async Task Project_root_with_missing_scalars(bool async) Assert.True(nested.Collection.SelectMany(x => x.NestedCollection).All(x => x.DoB == default)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Project_top_level_json_entity_with_missing_scalars(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -85,7 +85,7 @@ public virtual async Task Project_top_level_json_entity_with_missing_scalars(boo Assert.True(nested.Collection.SelectMany(x => x.NestedCollection).All(x => x.DoB == default)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Project_nested_json_entity_with_missing_scalars(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -115,7 +115,7 @@ public virtual async Task Project_nested_json_entity_with_missing_scalars(bool a Assert.True(nested.NestedCollection.All(x => x.DoB == default)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Project_top_level_entity_with_null_value_required_scalars(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -139,7 +139,7 @@ public virtual async Task Project_top_level_entity_with_null_value_required_scal Assert.Equal(default, nullScalars.RequiredReference.Number); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Project_root_entity_with_missing_required_navigation(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -162,7 +162,7 @@ public virtual async Task Project_root_entity_with_missing_required_navigation(b Assert.True(missingRequiredNav.Collection.All(x => x.NestedRequiredReference == default)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Project_missing_required_navigation(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -184,7 +184,7 @@ public virtual async Task Project_missing_required_navigation(bool async) Assert.Equal(default, missingRequiredNav); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Project_root_entity_with_null_required_navigation(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -207,7 +207,7 @@ public virtual async Task Project_root_entity_with_null_required_navigation(bool Assert.True(nullRequiredNav.Collection.All(x => x.NestedRequiredReference == default)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Project_null_required_navigation(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -228,7 +228,7 @@ public virtual async Task Project_null_required_navigation(bool async) Assert.Equal(default, nullRequiredNav.NestedRequiredReference); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Project_missing_required_scalar(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -249,7 +249,7 @@ public virtual async Task Project_missing_required_scalar(bool async) Assert.Null(result.Single().Number); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Project_null_required_scalar(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -404,7 +404,7 @@ public class JsonEntityNested #region 29219 - [ConditionalFact] + [Fact] public virtual async Task Optional_json_properties_materialized_as_null_when_the_element_in_json_is_not_present() { var contextFactory = await InitializeNonSharedTest( @@ -421,7 +421,7 @@ public virtual async Task Optional_json_properties_materialized_as_null_when_the Assert.Null(result.Collection[0].NullableScalar); } - [ConditionalFact] + [Fact] public virtual async Task Can_project_nullable_json_property_when_the_element_in_json_is_not_present() { var contextFactory = await InitializeNonSharedTest( @@ -493,7 +493,7 @@ public class MyJsonEntity #region 30028 - [ConditionalFact] + [Fact] public virtual async Task Accessing_missing_navigation_works() { var contextFactory = await InitializeNonSharedTest( @@ -521,7 +521,7 @@ public virtual async Task Accessing_missing_navigation_works() Assert.Null(result[3].Json.RequiredReference); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Missing_navigation_works_with_deduplication(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -617,7 +617,7 @@ public class MyJsonLeafEntity #region 32310 - [ConditionalFact] + [Fact] public virtual async Task Contains_on_nested_collection_with_init_only_navigation() { var contextFactory = await InitializeNonSharedTest( @@ -670,7 +670,7 @@ public class Visits #region 32939 - [ConditionalFact] + [Fact] public virtual async Task Project_json_with_no_properties() { var contextFactory = await InitializeNonSharedTest( @@ -720,7 +720,7 @@ public class JsonFieldOnly #region 33046 - [ConditionalFact] + [Fact] public virtual async Task Query_with_nested_json_collection_mapped_to_private_field_via_IReadOnlyList() { var contextFactory = await InitializeNonSharedTest( @@ -780,7 +780,7 @@ public class SubRound #region 34960 - [ConditionalFact] + [Fact] public virtual async Task Project_entity_with_json_null_values() { var contextFactory = await InitializeNonSharedTest(seed: Seed34960, onModelCreating: OnModelCreating34960); @@ -789,7 +789,7 @@ public virtual async Task Project_entity_with_json_null_values() var query = await context.Entities.ToListAsync(); } - [ConditionalFact] + [Fact] public virtual async Task Try_project_collection_but_JSON_is_entity() { var contextFactory = await InitializeNonSharedTest(seed: Seed34960, onModelCreating: OnModelCreating34960); @@ -798,7 +798,7 @@ public virtual async Task Try_project_collection_but_JSON_is_entity() await context.Junk.AsNoTracking().Where(x => x.Id == 1).Select(x => x.Collection).FirstOrDefaultAsync(); } - [ConditionalFact] + [Fact] public virtual async Task Try_project_reference_but_JSON_is_collection() { var contextFactory = await InitializeNonSharedTest(seed: Seed34960, onModelCreating: OnModelCreating34960); @@ -973,7 +973,7 @@ protected virtual async Task Seed34960(Context34960 ctx) #region ArrayOfPrimitives - [ConditionalFact] + [Fact] public virtual async Task Project_json_array_of_primitives_on_reference() { var contextFactory = await InitializeNonSharedTest( @@ -994,7 +994,7 @@ public virtual async Task Project_json_array_of_primitives_on_reference() Assert.Equal(3, result[1].ListOfString.Count); } - [ConditionalFact(Skip = "Issue #32611")] + [Fact(Skip = "Issue #32611")] public virtual async Task Project_json_array_of_primitives_on_collection() { var contextFactory = await InitializeNonSharedTest( @@ -1015,7 +1015,7 @@ public virtual async Task Project_json_array_of_primitives_on_collection() Assert.Equal(2, result[1].ListOfString.Count); } - [ConditionalFact] + [Fact] public virtual async Task Project_element_of_json_array_of_primitives() { var contextFactory = await InitializeNonSharedTest( @@ -1029,7 +1029,7 @@ public virtual async Task Project_element_of_json_array_of_primitives() var result = await query.ToListAsync(); } - [ConditionalFact] + [Fact] public virtual async Task Predicate_based_on_element_of_json_array_of_primitives1() { var contextFactory = await InitializeNonSharedTest( @@ -1045,7 +1045,7 @@ public virtual async Task Predicate_based_on_element_of_json_array_of_primitives Assert.Equal(1, result[0].Reference.IntArray[0]); } - [ConditionalFact] + [Fact] public virtual async Task Predicate_based_on_element_of_json_array_of_primitives2() { var contextFactory = await InitializeNonSharedTest( @@ -1061,7 +1061,7 @@ public virtual async Task Predicate_based_on_element_of_json_array_of_primitives Assert.Equal("Bar", result[0].Reference.ListOfString[1]); } - [ConditionalFact, MemberData(nameof(IsAsyncData))] + [Fact, MemberData(nameof(IsAsyncData))] public virtual async Task Predicate_based_on_element_of_json_array_of_primitives3() { var contextFactory = await InitializeNonSharedTest( @@ -1155,7 +1155,7 @@ public class MyJsonEntity #region JunkInJson - [ConditionalFact] + [Fact] public virtual async Task Junk_in_json_basic_tracking() { var contextFactory = await InitializeNonSharedTest( @@ -1176,7 +1176,7 @@ public virtual async Task Junk_in_json_basic_tracking() Assert.NotNull(result[0].ReferenceWithCtor.NestedReference); } - [ConditionalFact] + [Fact] public virtual async Task Junk_in_json_basic_no_tracking() { var contextFactory = await InitializeNonSharedTest( @@ -1277,7 +1277,7 @@ public class MyJsonEntityWithCtorNested(DateTime doB) #region TrickyBuffering - [ConditionalFact] + [Fact] public virtual async Task Tricky_buffering_basic() { var contextFactory = await InitializeNonSharedTest( @@ -1336,7 +1336,7 @@ public class MyJsonEntityNested #region ShadowProperties - [ConditionalFact] + [Fact] public virtual async Task Shadow_properties_basic_tracking() { var contextFactory = await InitializeNonSharedTest( @@ -1371,7 +1371,7 @@ public virtual async Task Shadow_properties_basic_tracking() Assert.Null(collectionCtorEntry2.Property("ShadowNullableByte").CurrentValue); } - [ConditionalFact] + [Fact] public virtual async Task Shadow_properties_basic_no_tracking() { var contextFactory = await InitializeNonSharedTest( @@ -1390,7 +1390,7 @@ public virtual async Task Shadow_properties_basic_no_tracking() Assert.NotNull(result[0].ReferenceWithCtor); } - [ConditionalFact] + [Fact] public virtual async Task Project_shadow_properties_from_json_entity() { var contextFactory = await InitializeNonSharedTest( @@ -1472,7 +1472,7 @@ public class MyJsonEntityWithCtor(string name) #region LazyLoadingProxies - [ConditionalFact] + [Fact] public virtual async Task Project_proxies_entity_with_json() { var contextFactory = await InitializeNonSharedTest( @@ -1569,7 +1569,7 @@ public class MyJsonEntity #region NotICollection - [ConditionalFact] + [Fact] public virtual async Task Not_ICollection_basic_projection() { var contextFactory = await InitializeNonSharedTest( @@ -1625,7 +1625,7 @@ public class MyJsonNestedEntity #region BadJsonProperties - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Bad_json_properties_duplicated_navigations(bool noTracking) { var contextFactory = await InitializeNonSharedTest( @@ -1660,7 +1660,7 @@ public virtual async Task Bad_json_properties_duplicated_navigations(bool noTrac Assert.Equal(baseline.Collection[1].NestedCollection[1].Text + " dupnav", dupNavs.Collection[1].NestedCollection[1].Text); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Bad_json_properties_duplicated_scalars(bool noTracking) { var contextFactory = await InitializeNonSharedTest( @@ -1695,7 +1695,7 @@ public virtual async Task Bad_json_properties_duplicated_scalars(bool noTracking Assert.Equal(baseline.Collection[1].NestedCollection[1].Text + " dupprop", dupProps.Collection[1].NestedCollection[1].Text); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Bad_json_properties_empty_navigations(bool noTracking) { var contextFactory = await InitializeNonSharedTest( @@ -1724,7 +1724,7 @@ public virtual async Task Bad_json_properties_empty_navigations(bool noTracking) Assert.Null(emptyNavs.Collection[1].NestedCollection); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Bad_json_properties_empty_scalars(bool noTracking) { var contextFactory = await InitializeNonSharedTest( @@ -1757,7 +1757,7 @@ public virtual async Task Bad_json_properties_empty_scalars(bool noTracking) Assert.Null(emptyNavs.Collection[1].NestedCollection[1].Text); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Bad_json_properties_null_navigations(bool noTracking) { var contextFactory = await InitializeNonSharedTest( @@ -1770,7 +1770,7 @@ public virtual async Task Bad_json_properties_null_navigations(bool noTracking) var _ = await query.SingleAsync(x => x.Scenario == "null navigation property names"); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Bad_json_properties_null_scalars(bool noTracking) { var contextFactory = await InitializeNonSharedTest( diff --git a/test/EFCore.Specification.Tests/Query/AdHocManyToManyQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/AdHocManyToManyQueryTestBase.cs index c6a4dd2038f..5601b347efd 100644 --- a/test/EFCore.Specification.Tests/Query/AdHocManyToManyQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/AdHocManyToManyQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore; @@ -16,7 +16,7 @@ protected virtual void ClearLog() #region 7973 - [ConditionalFact] + [Fact] public virtual async Task SelectMany_with_collection_selector_having_subquery() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -79,7 +79,7 @@ public class OrganisationUser #region 20277 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Many_to_many_load_works_when_join_entity_has_custom_key(bool async) { var contextFactory = await InitializeNonSharedTest(); diff --git a/test/EFCore.Specification.Tests/Query/AdHocMiscellaneousQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/AdHocMiscellaneousQueryTestBase.cs index 1799b60855c..60a9d182c4e 100644 --- a/test/EFCore.Specification.Tests/Query/AdHocMiscellaneousQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/AdHocMiscellaneousQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.ComponentModel.DataAnnotations; @@ -17,7 +17,7 @@ protected override string NonSharedStoreName #region 603 - [ConditionalFact] + [Fact] public virtual async Task First_FirstOrDefault_ix_async() { var contextFactory = await InitializeNonSharedTest(); @@ -63,7 +63,7 @@ public class Product #region 6901 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task LeftJoin_with_missing_key_values_on_both_sides(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -182,7 +182,7 @@ public class Postcode #region 6986 - [ConditionalFact] + [Fact] public virtual async Task Shadow_property_with_inheritance() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -291,7 +291,7 @@ public class ServiceOperator #region 7222 - [ConditionalFact] + [Fact] public virtual async Task Inlined_dbcontext_is_not_leaking() { var contextFactory = await InitializeNonSharedTest(); @@ -327,7 +327,7 @@ public class Blog #region 7359 - [ConditionalFact] + [Fact] public virtual async Task Discriminator_type_is_handled_correctly() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -382,7 +382,7 @@ public class SpecialProduct : Product; #region 7983 - [ConditionalFact] + [Fact] public virtual async Task New_instances_in_projection_are_not_shared_across_results() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -448,7 +448,7 @@ public PostDTO From(Post post) #region 8538 - [ConditionalFact] + [Fact] public virtual async Task Enum_has_flag_applies_explicit_cast_for_constant() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -466,7 +466,7 @@ public virtual async Task Enum_has_flag_applies_explicit_cast_for_constant() } } - [ConditionalFact] + [Fact] public virtual async Task Enum_has_flag_does_not_apply_explicit_cast_for_non_constant() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -552,7 +552,7 @@ public enum Permission : long #region 8909 - [ConditionalFact] + [Fact] public virtual async Task Variable_from_closure_is_parametrized() { var contextFactory = await InitializeNonSharedTest(); @@ -606,7 +606,7 @@ public virtual async Task Variable_from_closure_is_parametrized() } } - [ConditionalFact] + [Fact] public virtual async Task Relational_command_cache_creates_new_entry_when_parameter_nullability_changes() { var contextFactory = await InitializeNonSharedTest(); @@ -623,7 +623,7 @@ public virtual async Task Relational_command_cache_creates_new_entry_when_parame Assert.Equal(3, context.Cache.Count); } - [ConditionalFact] + [Fact] public virtual async Task Query_cache_entries_are_evicted_as_necessary() { var contextFactory = await InitializeNonSharedTest(); @@ -647,7 +647,7 @@ public virtual async Task Query_cache_entries_are_evicted_as_necessary() Assert.True(context.Cache.Count <= 1024); } - [ConditionalFact] + [Fact] public virtual async Task Explicitly_compiled_query_does_not_add_cache_entry() { var parameter = Expression.Parameter(typeof(Context8909.Entity)); @@ -701,7 +701,7 @@ public class Entity #region 9468 - [ConditionalFact] + [Fact] public virtual async Task Conditional_expression_with_conditions_does_not_collapse_if_nullable_bool() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -748,7 +748,7 @@ public class Configuration #region 11104 - [ConditionalFact] + [Fact] public virtual async Task QueryBuffer_requirement_is_computed_when_querying_base_type_while_derived_type_has_shadow_prop() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -799,7 +799,7 @@ public class Stuff #region 11885 - [ConditionalFact] + [Fact] public virtual async Task Average_with_cast() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -898,7 +898,7 @@ public class PriceEntity #region 12274 - [ConditionalFact] + [Fact] public virtual async Task Parameterless_ctor_on_inner_DTO_gets_called_for_every_row() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -952,7 +952,7 @@ public class InnerDTO; #region 12549 - [ConditionalFact] + [Fact] public virtual async Task Union_and_insert_works_correctly_together() { var contextFactory = await InitializeNonSharedTest(); @@ -1003,7 +1003,7 @@ public class Table2 #region 15215 - [ConditionalFact] + [Fact] public virtual async Task Repeated_parameters_in_generated_query_sql() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -1060,7 +1060,7 @@ public class EqualAuto #region 19253 - [ConditionalFact] + [Fact] public virtual async Task Operators_combine_nullability_of_entity_shapers() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -1247,7 +1247,7 @@ public class B #region 21770 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Comparing_enum_casted_to_byte_with_int_parameter(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -1262,7 +1262,7 @@ public virtual async Task Comparing_enum_casted_to_byte_with_int_parameter(bool Assert.Single(bitterIceCreams); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Comparing_enum_casted_to_byte_with_int_constant(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -1276,7 +1276,7 @@ public virtual async Task Comparing_enum_casted_to_byte_with_int_constant(bool a Assert.Single(bitterIceCreams); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Comparing_byte_column_to_enum_in_vb_creating_double_cast(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -1296,7 +1296,7 @@ public virtual async Task Comparing_byte_column_to_enum_in_vb_creating_double_ca : query.ToList(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Null_check_removal_in_ternary_maintain_appropriate_cast(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -1371,7 +1371,7 @@ public class Food #region 22841 - [ConditionalFact(Skip = "Issue #34727 - flaky test")] + [Fact(Skip = "Issue #34727 - flaky test")] public virtual async Task SaveChangesAsync_accepts_changes_with_ConfigureAwait_true() { var contextFactory = await InitializeNonSharedTest(); @@ -1440,7 +1440,7 @@ public int Id #region 24657 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Bool_discriminator_column_works(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -1506,7 +1506,7 @@ public PhotoBlog() #region 26593 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Unwrap_convert_node_over_projection_when_translating_contains_over_subquery(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -1530,7 +1530,7 @@ public virtual async Task Unwrap_convert_node_over_projection_when_translating_c : query.ToList(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Unwrap_convert_node_over_projection_when_translating_contains_over_subquery_2(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -1554,7 +1554,7 @@ public virtual async Task Unwrap_convert_node_over_projection_when_translating_c : query.ToList(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Unwrap_convert_node_over_projection_when_translating_contains_over_subquery_3(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -1623,7 +1623,7 @@ public class Membership #region 26587 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task GroupBy_aggregate_on_right_side_of_join(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -1668,7 +1668,7 @@ public class OrderItem #region 26472 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Enum_with_value_converter_matching_take_value(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -1726,7 +1726,7 @@ public enum OrderItemType #region 27083 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task GroupBy_Aggregate_over_navigations_repeated(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -1750,7 +1750,7 @@ public virtual async Task GroupBy_Aggregate_over_navigations_repeated(bool async Assert.Equal(2, timeSheets.Count); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Aggregate_over_subquery_in_group_by_projection(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -1881,7 +1881,7 @@ public class TimeSheet #region 27094 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Aggregate_over_subquery_in_group_by_projection_2(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -1900,7 +1900,7 @@ into tg : query.ToList(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Group_by_aggregate_in_subquery_projection_after_group_by(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -1941,7 +1941,7 @@ public class Table #region 26744 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Subquery_first_member_compared_to_null(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -1964,7 +1964,7 @@ public virtual async Task Subquery_first_member_compared_to_null(bool async) Assert.Single(result); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SelectMany_where_Select(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -2017,7 +2017,7 @@ public class Child #region 27343 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Flattened_GroupJoin_on_interface_generic(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -2069,7 +2069,7 @@ public class Child #region 28039 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Pushdown_does_not_add_grouping_key_to_projection_when_distinct_is_applied(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -2131,7 +2131,7 @@ public class SearchResult #region 31961 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Filter_on_nested_DTO_with_interface_gets_simplified_correctly(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -2257,7 +2257,7 @@ public class CompanyDto : ICompanyDto #region 37653 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Coalesce_in_conditional_with_value_conversion(bool async) { var contextFactory = await InitializeNonSharedTest(); diff --git a/test/EFCore.Specification.Tests/Query/AdHocNavigationsQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/AdHocNavigationsQueryTestBase.cs index af35e366c7a..39df84968ff 100644 --- a/test/EFCore.Specification.Tests/Query/AdHocNavigationsQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/AdHocNavigationsQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Collections.ObjectModel; @@ -18,7 +18,7 @@ protected override string NonSharedStoreName #region 3409 - [ConditionalFact] + [Fact] public virtual async Task ThenInclude_with_interface_navigations() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -155,7 +155,7 @@ public class Child : IChild #region 3758 - [ConditionalFact] + [Fact] public virtual async Task Customer_collections_materialize_properly() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -297,7 +297,7 @@ public MyInvalidCollection(int argument) #region 7312 - [ConditionalFact] + [Fact] public virtual async Task Reference_include_on_derived_type_with_sibling_works() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -354,7 +354,7 @@ public class ProposalLeaveType #region 9038 - [ConditionalFact] + [Fact] public virtual async Task Include_collection_optional_reference_collection() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -476,7 +476,7 @@ public class PersonFamily9038 #region 10635 - [ConditionalFact] + [Fact] public virtual async Task Include_with_order_by_on_interface_key() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -535,7 +535,7 @@ public class Child10635 : IEntity10635 #region 11923 - [ConditionalFact] + [Fact] public virtual async Task Collection_without_setter_materialized_correctly() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -651,7 +651,7 @@ public class CustomCollection : List; #region 11944 - [ConditionalFact] + [Fact] public virtual async Task Include_collection_works_when_defined_on_intermediate_type() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -721,7 +721,7 @@ public class ElementarySchool : PrimarySchool; #region 12456 - [ConditionalFact] + [Fact] public virtual async Task Let_multiple_references_with_reference_to_outer() { var contextFactory = await InitializeNonSharedTest(); @@ -805,7 +805,7 @@ public class Activity #region 12582 - [ConditionalFact] + [Fact] public virtual async Task Include_collection_with_OfType_base() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -882,7 +882,7 @@ public class EmployeeDevice : IEmployeeDevice #region 12748 - [ConditionalFact] + [Fact] public virtual async Task Correlated_collection_correctly_associates_entities_with_byte_array_keys() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -926,7 +926,7 @@ public class Comment #region 20609 - [ConditionalFact] + [Fact] public virtual async Task Can_ignore_invalid_include_path_error() { var contextFactory = await InitializeNonSharedTest( @@ -978,7 +978,7 @@ public class SubB #region 20813 - [ConditionalFact] + [Fact] public virtual async Task SelectMany_and_collection_in_projection_in_FirstOrDefault() { var contextFactory = await InitializeNonSharedTest(); @@ -1056,7 +1056,7 @@ public class IdentityDocumentImage #region 21768 - [ConditionalFact] + [Fact] public virtual async Task Using_explicit_interface_implementation_as_navigation_works() { var contextFactory = await InitializeNonSharedTest(); @@ -1179,7 +1179,7 @@ public enum IllustrationState #region 22568 - [ConditionalFact] + [Fact] public virtual async Task Cycles_in_auto_include() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -1341,7 +1341,7 @@ public class CycleC #region 23674 - [ConditionalFact] + [Fact] public virtual async Task Walking_back_include_tree_is_not_allowed_1() { var contextFactory = await InitializeNonSharedTest(); @@ -1362,7 +1362,7 @@ public virtual async Task Walking_back_include_tree_is_not_allowed_1() } } - [ConditionalFact] + [Fact] public virtual async Task Walking_back_include_tree_is_not_allowed_2() { var contextFactory = await InitializeNonSharedTest(); @@ -1381,7 +1381,7 @@ public virtual async Task Walking_back_include_tree_is_not_allowed_2() } } - [ConditionalFact] + [Fact] public virtual async Task Walking_back_include_tree_is_not_allowed_3() { var contextFactory = await InitializeNonSharedTest(); @@ -1396,7 +1396,7 @@ public virtual async Task Walking_back_include_tree_is_not_allowed_3() } } - [ConditionalFact] + [Fact] public virtual async Task Walking_back_include_tree_is_not_allowed_4() { var contextFactory = await InitializeNonSharedTest(); @@ -1449,7 +1449,7 @@ public class SingleDependent #region 23676 - [ConditionalFact] + [Fact] public virtual async Task Projection_with_multiple_includes_and_subquery_with_set_operation() { var contextFactory = await InitializeNonSharedTest(); @@ -1589,7 +1589,7 @@ public class MovieEntity #region 26433 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Count_member_over_IReadOnlyCollection_works(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); diff --git a/test/EFCore.Specification.Tests/Query/AdHocQueryFiltersQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/AdHocQueryFiltersQueryTestBase.cs index a07693f2981..fe4e919b7bb 100644 --- a/test/EFCore.Specification.Tests/Query/AdHocQueryFiltersQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/AdHocQueryFiltersQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -13,7 +13,7 @@ protected override string NonSharedStoreName #region 8576 - [ConditionalFact] + [Fact] public virtual async Task Named_query_filters() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -23,7 +23,7 @@ public virtual async Task Named_query_filters() Assert.Single(result); } - [ConditionalFact] + [Fact] public virtual async Task Named_query_filters_ignore_some() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -34,7 +34,7 @@ public virtual async Task Named_query_filters_ignore_some() Assert.Equal(2, result.Count); } - [ConditionalFact] + [Fact] public virtual async Task Named_query_filters_caching() { var cacheLog = new List(); @@ -59,7 +59,7 @@ public virtual async Task Named_query_filters_caching() Assert.Equal(2, cacheLog.Count); } - [ConditionalFact] + [Fact] public virtual async Task Named_query_filters_ignore_all() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -71,7 +71,7 @@ public virtual async Task Named_query_filters_ignore_all() Assert.Equal(2, result.Count); } - [ConditionalFact] + [Fact] public virtual async Task Named_query_filters_anonymous() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -82,7 +82,7 @@ public virtual async Task Named_query_filters_anonymous() Assert.Single(result); } - [ConditionalFact] + [Fact] public virtual async Task Named_query_filters_anonymous_ignore() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -94,7 +94,7 @@ public virtual async Task Named_query_filters_anonymous_ignore() Assert.Equal(2, result.Count); } - [ConditionalFact] + [Fact] public virtual async Task Named_query_filters_combined() { var exception = @@ -103,7 +103,7 @@ await Assert.ThrowsAsync(async () Assert.Equal(exception.Message, CoreStrings.AnonymousAndNamedFiltersCombined); } - [ConditionalFact] + [Fact] public virtual async Task Named_query_filters_overwriting() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -113,7 +113,7 @@ public virtual async Task Named_query_filters_overwriting() Assert.Single(result); } - [ConditionalFact] + [Fact] public virtual async Task Named_query_filters_removing() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -187,7 +187,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) #region 10295 - [ConditionalFact] + [Fact] public virtual async Task Query_filter_with_contains_evaluates_correctly() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -224,7 +224,7 @@ public class MyEntity10295 #region 10301 - [ConditionalFact] + [Fact] public virtual async Task MultiContext_query_filter_test() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -274,7 +274,7 @@ protected class FilterContext10301(DbContextOptions options) : FilterContextBase #region 12170 - [ConditionalFact] + [Fact] public virtual async Task Weak_entities_with_query_filter_subquery_flattening() { var contextFactory = await InitializeNonSharedTest(); @@ -335,7 +335,7 @@ public class Definition12170 #region 13517 - [ConditionalFact] + [Fact] public virtual async Task Query_filter_with_pk_fk_optimization() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -398,7 +398,7 @@ public class RefEntityDto13517 #region 17253 - [ConditionalFact] + [Fact] public virtual async Task Self_reference_in_query_filter_works() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -493,7 +493,7 @@ public class EntityWithQueryFilterCycle17253_3 #region 18510 - [ConditionalFact] + [Fact] public virtual async Task Invoke_inside_query_filter_gets_correctly_evaluated_during_translation() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -569,7 +569,7 @@ public class MyEntity18510 #region 18759 - [ConditionalFact] + [Fact] public virtual async Task Query_filter_with_null_constant() { var contextFactory = await InitializeNonSharedTest(); @@ -602,7 +602,7 @@ public class User18759 #nullable enable - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task IsDeleted_query_filter_with_conversion_to_int_works(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -683,7 +683,7 @@ protected class Location #region 27163 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Group_by_multiple_aggregate_joining_different_tables(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -708,7 +708,7 @@ public virtual async Task Group_by_multiple_aggregate_joining_different_tables(b : query.ToList(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Group_by_multiple_aggregate_joining_different_tables_with_query_filter(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -783,7 +783,7 @@ public class ChildFilter2 #region 35111 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Query_filter_with_context_accessor_with_constant(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -818,7 +818,7 @@ public class FooBar35111 #region 38132 - [ConditionalFact] + [Fact] public virtual async Task Query_filter_with_primary_constructor_parameter() { var contextFactory = await InitializeNonSharedTest( @@ -853,7 +853,7 @@ public class Entity38132 #region 38151 - [ConditionalFact] + [Fact] public virtual async Task Query_filter_with_EF_Constant_throws() { var contextFactory = await InitializeNonSharedTest(); @@ -872,7 +872,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) .HasQueryFilter(e => e.TenantId == EF.Constant(TenantId)); } - [ConditionalFact] + [Fact] public virtual async Task Query_filter_with_EF_Parameter_throws() { var contextFactory = await InitializeNonSharedTest(); diff --git a/test/EFCore.Specification.Tests/Query/Associations/AssociationsBulkUpdateTestBase.cs b/test/EFCore.Specification.Tests/Query/Associations/AssociationsBulkUpdateTestBase.cs index 819762b0cdf..dc2db22756e 100644 --- a/test/EFCore.Specification.Tests/Query/Associations/AssociationsBulkUpdateTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Associations/AssociationsBulkUpdateTestBase.cs @@ -10,7 +10,7 @@ public abstract class AssociationsBulkUpdateTestBase(TFixture fixture) { #region Delete - [ConditionalFact] + [Fact] public virtual async Task Delete_entity_with_associations() { // Make sure foreign key constraints don't get in the way @@ -23,13 +23,13 @@ await AssertDelete( // Should always fail (since the association is required), but (at least for now) may fail in different ways depending on the // association mapping type. - [ConditionalFact] + [Fact] public virtual Task Delete_required_associate() => AssertDelete( ss => ss.Set().Select(c => c.RequiredAssociate), rowsAffectedCount: 0); - [ConditionalFact] + [Fact] public virtual Task Delete_optional_associate() => AssertDelete( ss => ss.Set().Select(c => c.OptionalAssociate), @@ -39,7 +39,7 @@ public virtual Task Delete_optional_associate() #region Update properties - [ConditionalFact] + [Fact] public virtual Task Update_property_inside_associate() => AssertUpdate( ss => ss.Set(), @@ -47,7 +47,7 @@ public virtual Task Update_property_inside_associate() s => s.SetProperty(c => c.RequiredAssociate.String, "foo_updated"), rowsAffectedCount: 7); - [ConditionalFact] + [Fact] public virtual Task Update_property_inside_associate_with_special_chars() => AssertUpdate( ss => ss.Set().Where(c => c.RequiredAssociate.String == "{ this may/look:like JSON but it [isn't]: ממש ממש לאéèéè }"), @@ -55,7 +55,7 @@ public virtual Task Update_property_inside_associate_with_special_chars() s => s.SetProperty(c => c.RequiredAssociate.String, c => "{ Some other/JSON:like text though it [isn't]: ממש ממש לאéèéè }"), rowsAffectedCount: 1); - [ConditionalFact] + [Fact] public virtual Task Update_property_inside_nested_associate() => AssertUpdate( ss => ss.Set(), @@ -63,7 +63,7 @@ public virtual Task Update_property_inside_nested_associate() s => s.SetProperty(c => c.RequiredAssociate.RequiredNestedAssociate.String, "foo_updated"), rowsAffectedCount: 7); - [ConditionalFact] + [Fact] public virtual Task Update_property_on_projected_associate() => AssertUpdate( ss => ss.Set().Select(c => c.RequiredAssociate), @@ -71,7 +71,7 @@ public virtual Task Update_property_on_projected_associate() s => s.SetProperty(c => c.String, "foo_updated"), rowsAffectedCount: 7); - [ConditionalFact] + [Fact] public virtual Task Update_property_on_projected_associate_with_OrderBy_Skip() => AssertUpdate( ss => ss.Set().Select(c => c.RequiredAssociate).OrderBy(a => a.String).Skip(1), @@ -79,7 +79,7 @@ public virtual Task Update_property_on_projected_associate_with_OrderBy_Skip() s => s.SetProperty(c => c.String, "foo_updated"), rowsAffectedCount: 3); - [ConditionalFact] + [Fact] public virtual async Task Update_associate_with_null_required_property() { using var context = Fixture.CreateContext(); @@ -102,7 +102,7 @@ await Assert.ThrowsAnyAsync(() => #region Update associate - [ConditionalFact] + [Fact] public virtual Task Update_associate_to_parameter() { var newAssociate = new AssociateType @@ -132,7 +132,7 @@ public virtual Task Update_associate_to_parameter() rowsAffectedCount: 7); } - [ConditionalFact] + [Fact] public virtual Task Update_nested_associate_to_parameter() { var newNested = new NestedAssociateType @@ -151,7 +151,7 @@ public virtual Task Update_nested_associate_to_parameter() rowsAffectedCount: 7); } - [ConditionalFact] + [Fact] public virtual Task Update_associate_to_another_associate() => AssertUpdate( ss => ss.Set(), @@ -159,7 +159,7 @@ public virtual Task Update_associate_to_another_associate() s => s.SetProperty(x => x.OptionalAssociate, x => x.RequiredAssociate), rowsAffectedCount: 7); - [ConditionalFact] + [Fact] public virtual Task Update_nested_associate_to_another_nested_associate() => AssertUpdate( ss => ss.Set(), @@ -167,7 +167,7 @@ public virtual Task Update_nested_associate_to_another_nested_associate() s => s.SetProperty(x => x.RequiredAssociate.OptionalNestedAssociate, x => x.RequiredAssociate.RequiredNestedAssociate), rowsAffectedCount: 7); - [ConditionalFact] + [Fact] public virtual Task Update_associate_to_inline() => AssertUpdate( ss => ss.Set(), @@ -195,7 +195,7 @@ public virtual Task Update_associate_to_inline() }), rowsAffectedCount: 7); - [ConditionalFact] + [Fact] public virtual Task Update_associate_to_inline_with_lambda() => AssertUpdate( ss => ss.Set(), @@ -223,7 +223,7 @@ public virtual Task Update_associate_to_inline_with_lambda() }), rowsAffectedCount: 7); - [ConditionalFact] + [Fact] public virtual Task Update_nested_associate_to_inline_with_lambda() => AssertUpdate( ss => ss.Set(), @@ -240,7 +240,7 @@ public virtual Task Update_nested_associate_to_inline_with_lambda() }), rowsAffectedCount: 7); - [ConditionalFact] + [Fact] public virtual Task Update_associate_to_null() => AssertUpdate( ss => ss.Set(), @@ -248,7 +248,7 @@ public virtual Task Update_associate_to_null() s => s.SetProperty(x => x.OptionalAssociate, (AssociateType?)null), rowsAffectedCount: 7); - [ConditionalFact] + [Fact] public virtual Task Update_associate_to_null_with_lambda() => AssertUpdate( ss => ss.Set(), @@ -256,7 +256,7 @@ public virtual Task Update_associate_to_null_with_lambda() s => s.SetProperty(x => x.OptionalAssociate, x => null), rowsAffectedCount: 7); - [ConditionalFact] + [Fact] public virtual Task Update_associate_to_null_parameter() { var nullAssociate = (AssociateType?)null; @@ -268,7 +268,7 @@ public virtual Task Update_associate_to_null_parameter() rowsAffectedCount: 7); } - [ConditionalFact] + [Fact] public virtual async Task Update_required_nested_associate_to_null() { using var context = Fixture.CreateContext(); @@ -293,7 +293,7 @@ await Assert.ThrowsAnyAsync(() => #region Update collection - [ConditionalFact] + [Fact] public virtual Task Update_collection_to_parameter() { List collection = @@ -345,7 +345,7 @@ public virtual Task Update_collection_to_parameter() rowsAffectedCount: 7); } - [ConditionalFact] + [Fact] public virtual Task Update_nested_collection_to_parameter() { List collection = @@ -375,7 +375,7 @@ public virtual Task Update_nested_collection_to_parameter() rowsAffectedCount: 7); } - [ConditionalFact] + [Fact] public virtual Task Update_nested_collection_to_inline_with_lambda() => AssertUpdate( ss => ss.Set(), @@ -403,7 +403,7 @@ public virtual Task Update_nested_collection_to_inline_with_lambda() }), rowsAffectedCount: 7); - [ConditionalFact] + [Fact] public virtual Task Update_collection_referencing_the_original_collection() => AssertUpdate( ss => ss.Set().Where(e => e.RequiredAssociate.NestedCollection.Count >= 2), @@ -413,7 +413,7 @@ public virtual Task Update_collection_referencing_the_original_collection() e => new List { e.RequiredAssociate.NestedCollection[1], e.RequiredAssociate.NestedCollection[0]}), rowsAffectedCount: 7); - [ConditionalFact] + [Fact] public virtual Task Update_nested_collection_to_another_nested_collection() => AssertUpdate( ss => ss.Set().Where(e => e.OptionalAssociate != null), @@ -423,7 +423,7 @@ public virtual Task Update_nested_collection_to_another_nested_collection() x => x.OptionalAssociate!.NestedCollection), rowsAffectedCount: 6); - [ConditionalFact] + [Fact] public virtual async Task Update_inside_structural_collection() { var nested = Fixture.Data.RootEntities.Single(e => e.Id == 1).RequiredAssociate.NestedCollection[1]; @@ -440,7 +440,7 @@ await AssertUpdate( #region Update primitive collection - [ConditionalFact] + [Fact] public virtual Task Update_primitive_collection_to_constant() => AssertUpdate( ss => ss.Set(), @@ -448,7 +448,7 @@ public virtual Task Update_primitive_collection_to_constant() s => s.SetProperty(x => x.RequiredAssociate.Ints, x => new List { 1, 2, 4 }), rowsAffectedCount: 7); - [ConditionalFact] + [Fact] public virtual async Task Update_primitive_collection_to_parameter() { List ints = [1, 2, 4]; @@ -460,7 +460,7 @@ await AssertUpdate( rowsAffectedCount: 7); } - [ConditionalFact] + [Fact] public virtual async Task Update_primitive_collection_to_another_collection() { List ints = [1, 2, 4]; @@ -472,7 +472,7 @@ await AssertUpdate( rowsAffectedCount: 7); } - [ConditionalFact] + [Fact] public virtual Task Update_inside_primitive_collection() => AssertUpdate( ss => ss.Set().Where(e => e.RequiredAssociate.Ints.Count >= 2), @@ -484,7 +484,7 @@ public virtual Task Update_inside_primitive_collection() #region Multiple updates - [ConditionalFact] + [Fact] public virtual Task Update_multiple_properties_inside_same_associate() => AssertUpdate( ss => ss.Set(), @@ -494,7 +494,7 @@ public virtual Task Update_multiple_properties_inside_same_associate() .SetProperty(c => c.RequiredAssociate.Int, 20), rowsAffectedCount: 7); - [ConditionalFact] + [Fact] public virtual Task Update_multiple_properties_inside_associates_and_on_entity_type() => AssertUpdate( ss => ss.Set().Where(c => c.OptionalAssociate != null), @@ -505,7 +505,7 @@ public virtual Task Update_multiple_properties_inside_associates_and_on_entity_t .SetProperty(c => c.OptionalAssociate!.RequiredNestedAssociate.String, "foo_updated"), rowsAffectedCount: 6); - [ConditionalFact] + [Fact] public virtual Task Update_multiple_projected_associates_via_anonymous_type() => AssertUpdate( ss => ss.Set() diff --git a/test/EFCore.Specification.Tests/Query/Associations/AssociationsCollectionTestBase.cs b/test/EFCore.Specification.Tests/Query/Associations/AssociationsCollectionTestBase.cs index a588cbd1d96..42a7e3b26e8 100644 --- a/test/EFCore.Specification.Tests/Query/Associations/AssociationsCollectionTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Associations/AssociationsCollectionTestBase.cs @@ -9,15 +9,15 @@ namespace Microsoft.EntityFrameworkCore.Query.Associations; public abstract class AssociationsCollectionTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : AssociationsQueryFixtureBase, new() { - [ConditionalFact, MemberData(nameof(IsAsyncData))] + [Fact, MemberData(nameof(IsAsyncData))] public virtual Task Count() => AssertQuery(ss => ss.Set().Where(e => e.AssociateCollection.Count == 2)); - [ConditionalFact] + [Fact] public virtual Task Where() => AssertQuery(ss => ss.Set().Where(e => e.AssociateCollection.Where(r => r.Int != 8).Count() == 2)); - [ConditionalFact] + [Fact] public virtual Task OrderBy_ElementAt() => AssertQuery( ss => ss.Set().Where(e => e.AssociateCollection.OrderBy(r => r.Id).ElementAt(0).Int == 8), @@ -26,11 +26,11 @@ public virtual Task OrderBy_ElementAt() #region Distinct - [ConditionalFact] + [Fact] public virtual Task Distinct() => AssertQuery(ss => ss.Set().Where(e => e.AssociateCollection.Distinct().Count() == 2)); - [ConditionalTheory, MemberData(nameof(TrackingData))] + [Theory, MemberData(nameof(TrackingData))] public virtual Task Distinct_projected(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( ss => ss.Set().OrderBy(e => e.Id).Select(e => e.AssociateCollection.Distinct().ToList()), @@ -38,12 +38,12 @@ public virtual Task Distinct_projected(QueryTrackingBehavior queryTrackingBehavi elementAsserter: (e, a) => AssertCollection(e, a, elementSorter: r => r.Id), queryTrackingBehavior: queryTrackingBehavior); - [ConditionalFact] + [Fact] public virtual Task Distinct_over_projected_nested_collection() => AssertQuery(ss => ss.Set().Where(e => e.AssociateCollection.Select(r => r.NestedCollection).Distinct().Count() == 2)); - [ConditionalFact] + [Fact] public virtual Task Distinct_over_projected_filtered_nested_collection() => AssertQuery(ss => ss.Set().Where(e => e.AssociateCollection.Select(r => r.NestedCollection.Where(n => n.Int == 8)).Distinct().Count() == 2)); @@ -52,13 +52,13 @@ public virtual Task Distinct_over_projected_filtered_nested_collection() #region Index - [ConditionalFact] + [Fact] public virtual Task Index_constant() => AssertOrderedCollectionQuery(() => AssertQuery( ss => ss.Set().Where(e => e.AssociateCollection[0].Int == 8), ss => ss.Set().Where(e => e.AssociateCollection.Count > 0 && e.AssociateCollection[0].Int == 8))); - [ConditionalFact] + [Fact] public virtual Task Index_parameter() => AssertOrderedCollectionQuery(() => { @@ -69,13 +69,13 @@ public virtual Task Index_parameter() ss => ss.Set().Where(e => e.AssociateCollection.Count > 0 && e.AssociateCollection[i].Int == 8)); }); - [ConditionalFact] + [Fact] public virtual Task Index_column() => AssertOrderedCollectionQuery(() => AssertQuery( ss => ss.Set().Where(e => e.AssociateCollection[e.Id - 1].Int == 8), ss => ss.Set().Where(e => e.AssociateCollection.Count > e.Id - 1 && e.AssociateCollection[e.Id - 1].Int == 8))); - [ConditionalFact] + [Fact] public virtual Task Index_on_nested_collection() => AssertOrderedCollectionQuery(() => AssertQuery( ss => ss.Set().Where(e => e.RequiredAssociate.NestedCollection[0].Int == 8), @@ -83,7 +83,7 @@ public virtual Task Index_on_nested_collection() e => e.RequiredAssociate.NestedCollection.Count > 0 && e.RequiredAssociate.NestedCollection[0].Int == 8))); - [ConditionalFact] + [Fact] public virtual Task Index_out_of_bounds() => AssertOrderedCollectionQuery(() => AssertQuery( ss => ss.Set().Where(e => e.AssociateCollection[9999].Int == 8), @@ -94,14 +94,14 @@ public virtual Task Index_out_of_bounds() #region GroupBy - [ConditionalFact] + [Fact] public virtual Task GroupBy() => AssertQuery(ss => ss.Set().Where(e => e.AssociateCollection.GroupBy(r => r.String).Select(g => g.Sum(int (AssociateType r) => r.Int)).Any(g => g == 16))); #endregion GroupBy - [ConditionalFact] + [Fact] public virtual Task Select_within_Select_within_Select_with_aggregates() => AssertQuery(ss => ss.Set().Select(e => e.AssociateCollection.Select(r => r.NestedCollection.Select(n => n.Int).Max()).Sum())); diff --git a/test/EFCore.Specification.Tests/Query/Associations/AssociationsMiscellaneousTestBase.cs b/test/EFCore.Specification.Tests/Query/Associations/AssociationsMiscellaneousTestBase.cs index da97611a848..79cefd1206b 100644 --- a/test/EFCore.Specification.Tests/Query/Associations/AssociationsMiscellaneousTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Associations/AssociationsMiscellaneousTestBase.cs @@ -8,15 +8,15 @@ public abstract class AssociationsMiscellaneousTestBase(TFixture fixtu { #region Simple filters - [ConditionalFact] + [Fact] public virtual Task Where_on_associate_scalar_property() => AssertQuery(ss => ss.Set().Where(e => e.RequiredAssociate.Int == 8)); - [ConditionalFact] + [Fact] public virtual Task Where_on_optional_associate_scalar_property() => AssertQuery(ss => ss.Set().Where(e => e.OptionalAssociate!.Int == 8)); - [ConditionalFact] + [Fact] public virtual Task Where_on_nested_associate_scalar_property() => AssertQuery(ss => ss.Set().Where(e => e.RequiredAssociate.RequiredNestedAssociate.Int == 8)); diff --git a/test/EFCore.Specification.Tests/Query/Associations/AssociationsPrimitiveCollectionTestBase.cs b/test/EFCore.Specification.Tests/Query/Associations/AssociationsPrimitiveCollectionTestBase.cs index eb0572cb7fd..5796f6a7aaf 100644 --- a/test/EFCore.Specification.Tests/Query/Associations/AssociationsPrimitiveCollectionTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Associations/AssociationsPrimitiveCollectionTestBase.cs @@ -6,27 +6,27 @@ namespace Microsoft.EntityFrameworkCore.Query.Associations; public abstract class AssociationsPrimitiveCollectionTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : AssociationsQueryFixtureBase, new() { - [ConditionalFact] + [Fact] public virtual Task Count() => AssertQuery(ss => ss.Set().Where(e => e.RequiredAssociate.Ints.Count == 3)); - [ConditionalFact] + [Fact] public virtual Task Index() => AssertQuery(ss => ss.Set().Where(e => e.RequiredAssociate.Ints[0] == 1)); - [ConditionalFact] + [Fact] public virtual Task Contains() => AssertQuery(ss => ss.Set().Where(e => e.RequiredAssociate.Ints.Contains(3))); - [ConditionalFact] + [Fact] public virtual Task Any_predicate() => AssertQuery(ss => ss.Set().Where(e => e.RequiredAssociate.Ints.Any(i => i == 2))); - [ConditionalFact] + [Fact] public virtual Task Nested_Count() => AssertQuery(ss => ss.Set().Where(e => e.RequiredAssociate.RequiredNestedAssociate.Ints.Count == 3)); - [ConditionalFact] + [Fact] public virtual Task Select_Sum() => AssertQuery(ss => ss.Set().Select(e => e.RequiredAssociate.Ints.Sum()).Where(sum => sum >= 6)); } diff --git a/test/EFCore.Specification.Tests/Query/Associations/AssociationsProjectionTestBase.cs b/test/EFCore.Specification.Tests/Query/Associations/AssociationsProjectionTestBase.cs index ce416d4e449..884702eb7c9 100644 --- a/test/EFCore.Specification.Tests/Query/Associations/AssociationsProjectionTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Associations/AssociationsProjectionTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query.Associations; @@ -6,7 +6,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Associations; public abstract class AssociationsProjectionTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : AssociationsQueryFixtureBase, new() { - [ConditionalTheory, MemberData(nameof(TrackingData))] + [Theory, MemberData(nameof(TrackingData))] public virtual Task Select_root(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( ss => ss.Set(), @@ -14,19 +14,19 @@ public virtual Task Select_root(QueryTrackingBehavior queryTrackingBehavior) #region Scalar properties - [ConditionalTheory, MemberData(nameof(TrackingData))] + [Theory, MemberData(nameof(TrackingData))] public virtual Task Select_scalar_property_on_required_associate(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( ss => ss.Set().Select(x => x.RequiredAssociate.String), queryTrackingBehavior: queryTrackingBehavior); - [ConditionalTheory, MemberData(nameof(TrackingData))] + [Theory, MemberData(nameof(TrackingData))] public virtual Task Select_property_on_optional_associate(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( ss => ss.Set().Select(x => x.OptionalAssociate!.String), queryTrackingBehavior: queryTrackingBehavior); - [ConditionalTheory, MemberData(nameof(TrackingData))] + [Theory, MemberData(nameof(TrackingData))] public virtual Task Select_value_type_property_on_null_associate_throws(QueryTrackingBehavior queryTrackingBehavior) // We have an entity with OptionalRelated null, so projecting a value type property from that throws // "Nullable object must have a value" @@ -35,7 +35,7 @@ public virtual Task Select_value_type_property_on_null_associate_throws(QueryTra ss => ss.Set().Select(x => x.OptionalAssociate!.Int), queryTrackingBehavior: queryTrackingBehavior)); - [ConditionalTheory, MemberData(nameof(TrackingData))] + [Theory, MemberData(nameof(TrackingData))] public virtual Task Select_nullable_value_type_property_on_null_associate(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( ss => ss.Set().Select(x => (int?)x.OptionalAssociate!.Int), @@ -45,55 +45,55 @@ public virtual Task Select_nullable_value_type_property_on_null_associate(QueryT #region Structural properties - [ConditionalTheory, MemberData(nameof(TrackingData))] + [Theory, MemberData(nameof(TrackingData))] public virtual Task Select_associate(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( ss => ss.Set().Select(x => x.RequiredAssociate), queryTrackingBehavior: queryTrackingBehavior); - [ConditionalTheory, MemberData(nameof(TrackingData))] + [Theory, MemberData(nameof(TrackingData))] public virtual Task Select_optional_associate(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( ss => ss.Set().Select(x => x.OptionalAssociate), queryTrackingBehavior: queryTrackingBehavior); - [ConditionalTheory, MemberData(nameof(TrackingData))] + [Theory, MemberData(nameof(TrackingData))] public virtual Task Select_required_nested_on_required_associate(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( ss => ss.Set().Select(x => x.RequiredAssociate.RequiredNestedAssociate), queryTrackingBehavior: queryTrackingBehavior); - [ConditionalTheory, MemberData(nameof(TrackingData))] + [Theory, MemberData(nameof(TrackingData))] public virtual Task Select_optional_nested_on_required_associate(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( ss => ss.Set().Select(x => x.RequiredAssociate.OptionalNestedAssociate), queryTrackingBehavior: queryTrackingBehavior); - [ConditionalTheory, MemberData(nameof(TrackingData))] + [Theory, MemberData(nameof(TrackingData))] public virtual Task Select_required_nested_on_optional_associate(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( ss => ss.Set().Select(x => x.OptionalAssociate!.RequiredNestedAssociate), queryTrackingBehavior: queryTrackingBehavior); - [ConditionalTheory, MemberData(nameof(TrackingData))] + [Theory, MemberData(nameof(TrackingData))] public virtual Task Select_optional_nested_on_optional_associate(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( ss => ss.Set().Select(x => x.OptionalAssociate!.OptionalNestedAssociate), queryTrackingBehavior: queryTrackingBehavior); - [ConditionalTheory, MemberData(nameof(TrackingData))] + [Theory, MemberData(nameof(TrackingData))] public virtual Task Select_required_associate_via_optional_navigation(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( ss => ss.Set().Select(e => e.Root!.RequiredAssociate), queryTrackingBehavior: queryTrackingBehavior); - [ConditionalTheory, MemberData(nameof(TrackingData))] + [Theory, MemberData(nameof(TrackingData))] public virtual Task Select_unmapped_associate_scalar_property(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( ss => ss.Set().Select(e => e.RequiredAssociate.Unmapped), queryTrackingBehavior: queryTrackingBehavior); - [ConditionalTheory, MemberData(nameof(TrackingData))] + [Theory, MemberData(nameof(TrackingData))] public virtual Task Select_untranslatable_method_on_associate_scalar_property(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( ss => ss.Set().Select(e => UntranslatableMethod(e.RequiredAssociate.Int)), @@ -108,7 +108,7 @@ public virtual Task Select_untranslatable_method_on_associate_scalar_property(Qu // Note we order via the Id (server-side) to ensure the collections come back in deterministic order, // otherwise it's difficult/unreliable to compare client-side. - [ConditionalTheory, MemberData(nameof(TrackingData))] + [Theory, MemberData(nameof(TrackingData))] public virtual Task Select_associate_collection(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( ss => ss.Set().OrderBy(e => e.Id).Select(x => x.AssociateCollection), @@ -116,7 +116,7 @@ public virtual Task Select_associate_collection(QueryTrackingBehavior queryTrack elementAsserter: (e, a) => AssertCollection(e, a, elementSorter: r => r.Id), queryTrackingBehavior: queryTrackingBehavior); - [ConditionalTheory, MemberData(nameof(TrackingData))] + [Theory, MemberData(nameof(TrackingData))] public virtual Task Select_nested_collection_on_required_associate(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( ss => ss.Set().OrderBy(e => e.Id).Select(x => x.RequiredAssociate.NestedCollection), @@ -124,7 +124,7 @@ public virtual Task Select_nested_collection_on_required_associate(QueryTracking elementAsserter: (e, a) => AssertCollection(e, a, elementSorter: r => r.Id), queryTrackingBehavior: queryTrackingBehavior); - [ConditionalTheory, MemberData(nameof(TrackingData))] + [Theory, MemberData(nameof(TrackingData))] public virtual Task Select_nested_collection_on_optional_associate(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( ss => ss.Set().OrderBy(e => e.Id).Select(x => x.OptionalAssociate!.NestedCollection), @@ -132,19 +132,19 @@ public virtual Task Select_nested_collection_on_optional_associate(QueryTracking elementAsserter: (e, a) => AssertCollection(e, a, elementSorter: r => r.Id), queryTrackingBehavior: queryTrackingBehavior); - [ConditionalTheory, MemberData(nameof(TrackingData))] + [Theory, MemberData(nameof(TrackingData))] public virtual Task SelectMany_associate_collection(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( ss => ss.Set().SelectMany(x => x.AssociateCollection), queryTrackingBehavior: queryTrackingBehavior); - [ConditionalTheory, MemberData(nameof(TrackingData))] + [Theory, MemberData(nameof(TrackingData))] public virtual Task SelectMany_nested_collection_on_required_associate(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( ss => ss.Set().SelectMany(x => x.RequiredAssociate.NestedCollection), queryTrackingBehavior: queryTrackingBehavior); - [ConditionalTheory, MemberData(nameof(TrackingData))] + [Theory, MemberData(nameof(TrackingData))] public virtual Task SelectMany_nested_collection_on_optional_associate(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( ss => ss.Set() @@ -157,7 +157,7 @@ public virtual Task SelectMany_nested_collection_on_optional_associate(QueryTrac #region Multiple - [ConditionalTheory, MemberData(nameof(TrackingData))] + [Theory, MemberData(nameof(TrackingData))] public virtual Task Select_root_duplicated(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( ss => ss.Set().Select(x => new { First = x, Second = x }), @@ -169,7 +169,7 @@ public virtual Task Select_root_duplicated(QueryTrackingBehavior queryTrackingBe }, queryTrackingBehavior: queryTrackingBehavior); - [ConditionalTheory, MemberData(nameof(TrackingData))] // #37551 + [Theory, MemberData(nameof(TrackingData))] // #37551 public virtual Task Select_associate_and_target_to_index_based_binding_via_closure(QueryTrackingBehavior queryTrackingBehavior) { var obj = new object(); @@ -185,7 +185,7 @@ public virtual Task Select_associate_and_target_to_index_based_binding_via_closu queryTrackingBehavior: queryTrackingBehavior); } - // [ConditionalTheory] + // [Theory] // [MemberData(nameof(TrackingData))] // public virtual Task Select_trunk_and_branch_duplicated(QueryTrackingBehavior queryTrackingBehavior) // => AssertQuery( @@ -209,7 +209,7 @@ public virtual Task Select_associate_and_target_to_index_based_binding_via_closu // }, // queryTrackingBehavior: queryTrackingBehavior); - // [ConditionalTheory] + // [Theory] // [MemberData(nameof(TrackingData))] // public virtual Task Select_trunk_and_trunk_duplicated(QueryTrackingBehavior queryTrackingBehavior) // => AssertQuery( @@ -233,7 +233,7 @@ public virtual Task Select_associate_and_target_to_index_based_binding_via_closu // }, // queryTrackingBehavior: queryTrackingBehavior); - // [ConditionalTheory] + // [Theory] // [MemberData(nameof(TrackingData))] // public virtual Task Select_leaf_trunk_root(QueryTrackingBehavior queryTrackingBehavior) // => AssertQuery( @@ -254,7 +254,7 @@ public virtual Task Select_associate_and_target_to_index_based_binding_via_closu // }, // queryTrackingBehavior: queryTrackingBehavior); - // [ConditionalTheory] + // [Theory] // [MemberData(nameof(TrackingData))] // public virtual Task Select_multiple_branch_leaf(QueryTrackingBehavior queryTrackingBehavior) // => AssertQuery( @@ -284,7 +284,7 @@ public virtual Task Select_associate_and_target_to_index_based_binding_via_closu #region Subquery - [ConditionalTheory, MemberData(nameof(TrackingData))] + [Theory, MemberData(nameof(TrackingData))] public virtual Task Select_subquery_required_related_FirstOrDefault(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( ss => ss.Set() @@ -294,7 +294,7 @@ public virtual Task Select_subquery_required_related_FirstOrDefault(QueryTrackin .FirstOrDefault()!.RequiredNestedAssociate), queryTrackingBehavior: queryTrackingBehavior); - [ConditionalTheory, MemberData(nameof(TrackingData))] + [Theory, MemberData(nameof(TrackingData))] public virtual Task Select_subquery_optional_related_FirstOrDefault(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( ss => ss.Set() @@ -304,7 +304,7 @@ public virtual Task Select_subquery_optional_related_FirstOrDefault(QueryTrackin .FirstOrDefault()!.RequiredNestedAssociate), queryTrackingBehavior: queryTrackingBehavior); - [ConditionalTheory, MemberData(nameof(TrackingData))] + [Theory, MemberData(nameof(TrackingData))] public virtual Task Select_subquery_FirstOrDefault_complex_collection(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( ss => ss.Set() @@ -316,7 +316,7 @@ public virtual Task Select_subquery_FirstOrDefault_complex_collection(QueryTrack elementAsserter: (e, a) => AssertCollection(e, a, elementSorter: r => r.Id), queryTrackingBehavior: queryTrackingBehavior); - // [ConditionalTheory] + // [Theory] // [MemberData(nameof(TrackingData))] // public virtual Task Select_subquery_root_set_trunk_FirstOrDefault_collection(QueryTrackingBehavior queryTrackingBehavior) // => AssertQuery( @@ -331,7 +331,7 @@ public virtual Task Select_subquery_FirstOrDefault_complex_collection(QueryTrack // elementAsserter: (e, a) => AssertCollection(e, a, elementSorter: ee => ee), // queryTrackingBehavior: queryTrackingBehavior); - // [ConditionalTheory] + // [Theory] // [MemberData(nameof(TrackingData))] // public virtual Task Select_subquery_root_set_complex_projection_including_references_to_outer_FirstOrDefault(QueryTrackingBehavior queryTrackingBehavior) // => AssertQuery( @@ -360,7 +360,7 @@ public virtual Task Select_subquery_FirstOrDefault_complex_collection(QueryTrack // }, // queryTrackingBehavior: queryTrackingBehavior); - // [ConditionalTheory] + // [Theory] // [MemberData(nameof(TrackingData))] // public virtual Task Select_subquery_root_set_complex_projection_FirstOrDefault_project_reference_to_outer(QueryTrackingBehavior queryTrackingBehavior) // => AssertQuery( diff --git a/test/EFCore.Specification.Tests/Query/Associations/AssociationsSetOperationsTestBase.cs b/test/EFCore.Specification.Tests/Query/Associations/AssociationsSetOperationsTestBase.cs index e77da6d5543..abaae10d51c 100644 --- a/test/EFCore.Specification.Tests/Query/Associations/AssociationsSetOperationsTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Associations/AssociationsSetOperationsTestBase.cs @@ -6,21 +6,21 @@ namespace Microsoft.EntityFrameworkCore.Query.Associations; public abstract class AssociationsSetOperationsTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : AssociationsQueryFixtureBase, new() { - [ConditionalFact] + [Fact] public virtual Task Over_associate_collections() => AssertQuery(ss => ss.Set().Where(e => e.AssociateCollection.Where(r => r.Int == 8) .Concat(e.AssociateCollection.Where(r => r.String == "foo")) .Count() == 4)); - [ConditionalTheory, MemberData(nameof(TrackingData))] + [Theory, MemberData(nameof(TrackingData))] public virtual Task Over_associate_collection_projected(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( ss => ss.Set().Select(e => e.AssociateCollection.Where(r => r.Int == 8).Concat(e.AssociateCollection.Where(r => r.String == "foo"))), queryTrackingBehavior: queryTrackingBehavior); - [ConditionalTheory, MemberData(nameof(TrackingData))] + [Theory, MemberData(nameof(TrackingData))] public virtual Task Over_assocate_collection_Select_nested_with_aggregates_projected(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( ss => ss.Set().Select(e => @@ -30,7 +30,7 @@ public virtual Task Over_assocate_collection_Select_nested_with_aggregates_proje .Sum()), queryTrackingBehavior: queryTrackingBehavior); - [ConditionalFact] + [Fact] public virtual Task Over_nested_associate_collection() => AssertQuery(ss => ss.Set().Where(e => e.RequiredAssociate.NestedCollection.Where(r => r.Int == 8) @@ -38,7 +38,7 @@ public virtual Task Over_nested_associate_collection() .Count() == 4)); - [ConditionalFact] + [Fact] public virtual Task Over_different_collection_properties() => AssertQuery( ss => ss.Set().Where(e => diff --git a/test/EFCore.Specification.Tests/Query/Associations/AssociationsStructuralEqualityTestBase.cs b/test/EFCore.Specification.Tests/Query/Associations/AssociationsStructuralEqualityTestBase.cs index b786d6be49b..5b632e8c43c 100644 --- a/test/EFCore.Specification.Tests/Query/Associations/AssociationsStructuralEqualityTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Associations/AssociationsStructuralEqualityTestBase.cs @@ -6,7 +6,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Associations; public abstract class AssociationsStructuralEqualityTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : AssociationsQueryFixtureBase, new() { - [ConditionalFact] + [Fact] public virtual Task Two_associates() => AssertQuery( ss => ss.Set().Where(e => e.RequiredAssociate == e.OptionalAssociate), @@ -14,7 +14,7 @@ public virtual Task Two_associates() .Where(e => e.RequiredAssociate.Equals( e.OptionalAssociate))); // TODO: Rewrite equality to Equals for the entire test suite for complex - [ConditionalFact] + [Fact] public virtual Task Two_nested_associates() => AssertQuery( ss => ss.Set().Where(e => e.RequiredAssociate.RequiredNestedAssociate == e.OptionalAssociate!.RequiredNestedAssociate), @@ -22,7 +22,7 @@ public virtual Task Two_nested_associates() .Where(e => e.RequiredAssociate.RequiredNestedAssociate.Equals( e.OptionalAssociate!.RequiredNestedAssociate))); // TODO: Rewrite equality to Equals for the entire test suite for complex - [ConditionalFact] + [Fact] public virtual Task Not_equals() => AssertQuery( ss => ss.Set().Where(e => e.RequiredAssociate != e.OptionalAssociate), @@ -30,11 +30,11 @@ public virtual Task Not_equals() .Where(e => !e.RequiredAssociate.Equals( e.OptionalAssociate))); // TODO: Rewrite equality to Equals for the entire test suite for complex - [ConditionalFact] + [Fact] public virtual Task Associate_with_inline_null() => AssertQuery(ss => ss.Set().Where(e => e.OptionalAssociate == null)); - [ConditionalFact] + [Fact] public virtual async Task Associate_with_parameter_null() { AssociateType? related = null; @@ -42,11 +42,11 @@ public virtual async Task Associate_with_parameter_null() await AssertQuery(ss => ss.Set().Where(e => e.OptionalAssociate == related)); } - [ConditionalFact] + [Fact] public virtual Task Nested_associate_with_inline_null() => AssertQuery(ss => ss.Set().Where(e => e.RequiredAssociate.OptionalNestedAssociate == null)); - [ConditionalFact] + [Fact] public virtual Task Nested_associate_with_inline() => AssertQuery( ss => ss.Set() @@ -70,7 +70,7 @@ public virtual Task Nested_associate_with_inline() Ints = new() { 1, 2, 3 } }))); // TODO: Rewrite equality to Equals for the entire test suite for complex - [ConditionalFact] + [Fact] public virtual async Task Nested_associate_with_parameter() { var nested = Fixture.Data.RootEntities.Single(e => e.Id == 1).RequiredAssociate.RequiredNestedAssociate; @@ -82,7 +82,7 @@ await AssertQuery( .Equals(nested))); // TODO: Rewrite equality to Equals for the entire test suite for complex } - [ConditionalFact] + [Fact] public virtual Task Two_nested_collections() => AssertQuery( ss => ss.Set().Where(e => e.RequiredAssociate.NestedCollection == e.OptionalAssociate!.NestedCollection), @@ -91,7 +91,7 @@ public virtual Task Two_nested_collections() && e.RequiredAssociate.NestedCollection.SequenceEqual( e.OptionalAssociate!.NestedCollection))); // TODO: Rewrite equality to Equals for the entire test suite for complex - [ConditionalFact] + [Fact] public virtual Task Nested_collection_with_inline() => AssertQuery( ss => ss.Set() @@ -137,7 +137,7 @@ public virtual Task Nested_collection_with_inline() } }))); // TODO: Rewrite equality to Equals for the entire test suite for complex - [ConditionalFact] + [Fact] public virtual async Task Nested_collection_with_parameter() { var nestedCollection = new List @@ -169,7 +169,7 @@ await AssertQuery( #region Contains - [ConditionalFact] + [Fact] public virtual Task Contains_with_inline() => AssertQuery(ss => ss.Set().Where(e => e.RequiredAssociate.NestedCollection.Contains( @@ -182,7 +182,7 @@ public virtual Task Contains_with_inline() Ints = new() { 1, 2, 3 } }))); - [ConditionalFact] + [Fact] public virtual async Task Contains_with_parameter() { var nested = new NestedAssociateType @@ -197,7 +197,7 @@ public virtual async Task Contains_with_parameter() await AssertQuery(ss => ss.Set().Where(e => e.RequiredAssociate.NestedCollection.Contains(nested))); } - [ConditionalFact] + [Fact] public virtual async Task Contains_with_operators_composed_on_the_collection() { var collection = Fixture.Data.RootEntities.Single(e => e.Name == "Root3_With_different_values").RequiredAssociate.NestedCollection; @@ -207,7 +207,7 @@ await AssertQuery( e => e.RequiredAssociate.NestedCollection.Where(n => n.Int > collection[0].Int).Contains(collection[1]))); } - [ConditionalFact] + [Fact] public virtual async Task Contains_with_nested_and_composed_operators() { var collection = Fixture.Data.RootEntities.Single(e => e.Name == "Root3_With_different_values").AssociateCollection; diff --git a/test/EFCore.Specification.Tests/Query/Associations/ComplexProperties/ComplexPropertiesCollectionTestBase.cs b/test/EFCore.Specification.Tests/Query/Associations/ComplexProperties/ComplexPropertiesCollectionTestBase.cs index 2f992282095..50e216b7a1d 100644 --- a/test/EFCore.Specification.Tests/Query/Associations/ComplexProperties/ComplexPropertiesCollectionTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Associations/ComplexProperties/ComplexPropertiesCollectionTestBase.cs @@ -9,7 +9,7 @@ public abstract class ComplexPropertiesCollectionTestBase(TFixture fix { #region 37926 - [ConditionalFact] + [Fact] public virtual async Task Project_struct_complex_type_with_entity_collection_navigation() { var contextFactory = await InitializeNonSharedTest( diff --git a/test/EFCore.Specification.Tests/Query/Associations/ComplexProperties/ComplexPropertiesMiscellaneousTestBase.cs b/test/EFCore.Specification.Tests/Query/Associations/ComplexProperties/ComplexPropertiesMiscellaneousTestBase.cs index abc9ece7ce3..b1d104eb056 100644 --- a/test/EFCore.Specification.Tests/Query/Associations/ComplexProperties/ComplexPropertiesMiscellaneousTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Associations/ComplexProperties/ComplexPropertiesMiscellaneousTestBase.cs @@ -9,17 +9,17 @@ public abstract class ComplexPropertiesMiscellaneousTestBase(TFixture { #region Value types - [ConditionalFact] + [Fact] public virtual Task Where_property_on_non_nullable_value_type() => AssertQuery(ss => ss.Set().Where(e => e.RequiredAssociate.Int == 8)); - [ConditionalFact] + [Fact] public virtual Task Where_property_on_nullable_value_type_Value() => AssertQuery( ss => ss.Set().Where(e => e.OptionalAssociate!.Value.Int == 8), ss => ss.Set().Where(e => e.OptionalAssociate.HasValue && e.OptionalAssociate!.Value.Int == 8)); - [ConditionalFact] + [Fact] public virtual Task Where_HasValue_on_nullable_value_type() => AssertQuery(ss => ss.Set().Where(e => e.OptionalAssociate.HasValue)); diff --git a/test/EFCore.Specification.Tests/Query/Associations/ComplexProperties/ComplexPropertiesProjectionTestBase.cs b/test/EFCore.Specification.Tests/Query/Associations/ComplexProperties/ComplexPropertiesProjectionTestBase.cs index 54310e33cbf..fbf315104ec 100644 --- a/test/EFCore.Specification.Tests/Query/Associations/ComplexProperties/ComplexPropertiesProjectionTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Associations/ComplexProperties/ComplexPropertiesProjectionTestBase.cs @@ -9,7 +9,7 @@ public abstract class ComplexPropertiesProjectionTestBase(TFixture fix { #region Value types - [ConditionalTheory] + [Theory] [MemberData(nameof(TrackingData))] public virtual Task Select_root_with_value_types(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( @@ -17,7 +17,7 @@ public virtual Task Select_root_with_value_types(QueryTrackingBehavior queryTrac queryTrackingBehavior: queryTrackingBehavior); - [ConditionalTheory] + [Theory] [MemberData(nameof(TrackingData))] public virtual Task Select_non_nullable_value_type(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( @@ -26,7 +26,7 @@ public virtual Task Select_non_nullable_value_type(QueryTrackingBehavior queryTr queryTrackingBehavior: queryTrackingBehavior); - [ConditionalTheory] + [Theory] [MemberData(nameof(TrackingData))] public virtual Task Select_nullable_value_type(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( @@ -34,7 +34,7 @@ public virtual Task Select_nullable_value_type(QueryTrackingBehavior queryTracki assertOrder: true, queryTrackingBehavior: queryTrackingBehavior); - [ConditionalTheory] + [Theory] [MemberData(nameof(TrackingData))] public virtual Task Select_nullable_value_type_with_Value(QueryTrackingBehavior queryTrackingBehavior) => AssertQuery( diff --git a/test/EFCore.Specification.Tests/Query/Associations/ComplexProperties/ComplexPropertiesStructuralEqualityTestBase.cs b/test/EFCore.Specification.Tests/Query/Associations/ComplexProperties/ComplexPropertiesStructuralEqualityTestBase.cs index ba95b64024c..60b38a1d04d 100644 --- a/test/EFCore.Specification.Tests/Query/Associations/ComplexProperties/ComplexPropertiesStructuralEqualityTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Associations/ComplexProperties/ComplexPropertiesStructuralEqualityTestBase.cs @@ -120,7 +120,7 @@ await AssertQuery( #region Value types - [ConditionalFact] + [Fact] public virtual Task Nullable_value_type_with_null() => AssertQuery(ss => ss.Set().Where(e => e.OptionalAssociate == null)); diff --git a/test/EFCore.Specification.Tests/Query/Associations/Navigations/NavigationsIncludeTestBase.cs b/test/EFCore.Specification.Tests/Query/Associations/Navigations/NavigationsIncludeTestBase.cs index 002da72777d..d3d207c8a2c 100644 --- a/test/EFCore.Specification.Tests/Query/Associations/Navigations/NavigationsIncludeTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Associations/Navigations/NavigationsIncludeTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query.Associations.Navigations; @@ -6,28 +6,28 @@ namespace Microsoft.EntityFrameworkCore.Query.Associations.Navigations; public abstract class NavigationsIncludeTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : NavigationsFixtureBase, new() { - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_required(bool async) => AssertQuery( async, ss => ss.Set().Include(x => x.RequiredAssociate), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(x => x.RequiredAssociate))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_optional(bool async) => AssertQuery( async, ss => ss.Set().Include(x => x.OptionalAssociate), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(x => x.OptionalAssociate!))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection(bool async) => AssertQuery( async, ss => ss.Set().Include(x => x.AssociateCollection), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(x => x.AssociateCollection))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_required_optional_and_collection(bool async) => AssertQuery( async, @@ -43,7 +43,7 @@ public virtual Task Include_required_optional_and_collection(bool async) new ExpectedInclude(x => x.OptionalAssociate!), new ExpectedInclude(x => x.AssociateCollection))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_nested(bool async) => AssertQuery( async, @@ -54,7 +54,7 @@ public virtual Task Include_nested(bool async) new ExpectedInclude(x => x.RequiredAssociate), new ExpectedInclude(x => x.RequiredNestedAssociate, "RequiredRelated"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_nested_optional(bool async) => AssertQuery( async, @@ -65,7 +65,7 @@ public virtual Task Include_nested_optional(bool async) new ExpectedInclude(x => x.OptionalAssociate!), new ExpectedInclude(x => x.OptionalNestedAssociate!, "OptionalRelated"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_nested_collection(bool async) => AssertQuery( async, @@ -76,7 +76,7 @@ public virtual Task Include_nested_collection(bool async) new ExpectedInclude(x => x.RequiredAssociate), new ExpectedInclude(x => x.NestedCollection, "RequiredRelated"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_nested_collection_on_optional(bool async) => AssertQuery( async, @@ -87,7 +87,7 @@ public virtual Task Include_nested_collection_on_optional(bool async) new ExpectedInclude(x => x.OptionalAssociate!), new ExpectedInclude(x => x.NestedCollection, "OptionalRelated"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_nested_collection_on_collection(bool async) => AssertQuery( async, diff --git a/test/EFCore.Specification.Tests/Query/Associations/OwnedNavigations/OwnedNavigationsProjectionTestBase.cs b/test/EFCore.Specification.Tests/Query/Associations/OwnedNavigations/OwnedNavigationsProjectionTestBase.cs index 0abf4c9ddce..da40a7fde99 100644 --- a/test/EFCore.Specification.Tests/Query/Associations/OwnedNavigations/OwnedNavigationsProjectionTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Associations/OwnedNavigations/OwnedNavigationsProjectionTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query.Associations.OwnedNavigations; @@ -59,7 +59,7 @@ public override Task SelectMany_nested_collection_on_optional_associate(QueryTra #region Multiple - // [ConditionalTheory] + // [Theory] // [MemberData(nameof(AsyncAndTrackingData))] // public virtual Task Select_trunk_and_branch_duplicated(QueryTrackingBehavior queryTrackingBehavior) // => AssertQuery( @@ -84,7 +84,7 @@ public override Task SelectMany_nested_collection_on_optional_associate(QueryTra // }, // queryTrackingBehavior: queryTrackingBehavior); - // [ConditionalTheory] + // [Theory] // [MemberData(nameof(AsyncAndTrackingData))] // public virtual Task Select_trunk_and_trunk_duplicated(QueryTrackingBehavior queryTrackingBehavior) // => AssertQuery( @@ -109,7 +109,7 @@ public override Task SelectMany_nested_collection_on_optional_associate(QueryTra // }, // queryTrackingBehavior: queryTrackingBehavior); - // [ConditionalTheory] + // [Theory] // [MemberData(nameof(AsyncAndTrackingData))] // public virtual Task Select_leaf_trunk_root(QueryTrackingBehavior queryTrackingBehavior) // => AssertQuery( @@ -131,7 +131,7 @@ public override Task SelectMany_nested_collection_on_optional_associate(QueryTra // }, // queryTrackingBehavior: queryTrackingBehavior); - // [ConditionalTheory] + // [Theory] // [MemberData(nameof(AsyncAndTrackingData))] // public virtual Task Select_multiple_branch_leaf(QueryTrackingBehavior queryTrackingBehavior) // => AssertQuery( @@ -179,7 +179,7 @@ public override Task Select_subquery_optional_related_FirstOrDefault(QueryTracki => AssertOwnedTrackingQuery( queryTrackingBehavior, () => base.Select_subquery_optional_related_FirstOrDefault(queryTrackingBehavior)); - // [ConditionalTheory] + // [Theory] // [MemberData(nameof(AsyncAndTrackingData))] // public virtual Task Select_subquery_root_set_trunk_FirstOrDefault_collection(QueryTrackingBehavior queryTrackingBehavior) // => AssertQuery( @@ -195,7 +195,7 @@ public override Task Select_subquery_optional_related_FirstOrDefault(QueryTracki // elementAsserter: (e, a) => AssertCollection(e, a, elementSorter: ee => ee), // queryTrackingBehavior: queryTrackingBehavior); - // [ConditionalTheory] + // [Theory] // [MemberData(nameof(AsyncAndTrackingData))] // public virtual Task Select_subquery_root_set_complex_projection_including_references_to_outer_FirstOrDefault(QueryTrackingBehavior queryTrackingBehavior) // => AssertQuery( @@ -225,7 +225,7 @@ public override Task Select_subquery_optional_related_FirstOrDefault(QueryTracki // }, // queryTrackingBehavior: queryTrackingBehavior); - // [ConditionalTheory] + // [Theory] // [MemberData(nameof(AsyncAndTrackingData))] // public virtual Task Select_subquery_root_set_complex_projection_FirstOrDefault_project_reference_to_outer(QueryTrackingBehavior queryTrackingBehavior) // => AssertQuery( diff --git a/test/EFCore.Specification.Tests/Query/ComplexNavigationsCollectionsQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/ComplexNavigationsCollectionsQueryTestBase.cs index 2bd4c9bd1db..6f8776f2a53 100644 --- a/test/EFCore.Specification.Tests/Query/ComplexNavigationsCollectionsQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/ComplexNavigationsCollectionsQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.ComplexNavigationsModel; @@ -16,7 +16,7 @@ protected ComplexNavigationsContext CreateContext() protected override Expression RewriteExpectedQueryExpression(Expression expectedQueryExpression) => new ExpectedQueryRewritingVisitor(Fixture.GetShadowPropertyMappings()).Visit(expectedQueryExpression); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_nav_prop_collection_one_to_many_required(bool async) => AssertQuery( async, @@ -24,7 +24,7 @@ public virtual Task Select_nav_prop_collection_one_to_many_required(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Complex_SelectMany_with_nested_navigations_and_explicit_DefaultIfEmpty_with_other_query_operators_composed_on_top(bool async) => AssertQuery( @@ -73,7 +73,7 @@ orderby l2.OneToOne_Optional_FK2.MaybeScalar(x => x.Id) Assert.Equal(e.Property, a.Property); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_collection_navigation(bool async) => AssertQuery( async, @@ -82,7 +82,7 @@ public virtual Task Project_collection_navigation(bool async) elementSorter: e => e != null ? e.Count : 0, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_collection_navigation_nested(bool async) => AssertQuery( async, @@ -93,7 +93,7 @@ public virtual Task Project_collection_navigation_nested(bool async) elementSorter: e => e.Count, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_collection_navigation_nested_with_take(bool async) => AssertQuery( async, @@ -104,7 +104,7 @@ select l1.OneToOne_Optional_FK1.OneToMany_Optional2.Take(50), elementSorter: e => e?.Count() ?? 0, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_collection_navigation_using_ef_property(bool async) => AssertQuery( async, @@ -117,7 +117,7 @@ select EF.Property>( elementSorter: e => e?.Count ?? 0, elementAsserter: (e, a) => AssertCollection(e ?? new List(), a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_collection_navigation_nested_anonymous(bool async) => AssertQuery( async, @@ -130,7 +130,7 @@ public virtual Task Project_collection_navigation_nested_anonymous(bool async) AssertCollection(e.OneToMany_Optional2 ?? new List(), a.OneToMany_Optional2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_collection_navigation_composed(bool async) => AssertQuery( async, @@ -144,7 +144,7 @@ where l1.Id < 3 AssertCollection(e.collection, a.collection); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_collection_and_root_entity(bool async) => AssertQuery( async, @@ -157,7 +157,7 @@ public virtual Task Project_collection_and_root_entity(bool async) AssertCollection(e.OneToMany_Optional1, a.OneToMany_Optional1); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_collection_and_include(bool async) => AssertQuery( async, @@ -170,7 +170,7 @@ public virtual Task Project_collection_and_include(bool async) AssertCollection(e.OneToMany_Optional1, a.OneToMany_Optional1); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_navigation_and_collection(bool async) => AssertQuery( async, @@ -183,7 +183,7 @@ public virtual Task Project_navigation_and_collection(bool async) AssertCollection(e.OneToMany_Optional2 ?? new List(), a.OneToMany_Optional2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_inside_subquery(bool async) => AssertQuery( async, @@ -194,7 +194,7 @@ public virtual Task Include_inside_subquery(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e.subquery, a.subquery)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Null_check_in_anonymous_type_projection_should_not_be_removed(bool async) => AssertQuery( async, @@ -213,7 +213,7 @@ public virtual Task Null_check_in_anonymous_type_projection_should_not_be_remove a.Level2s, elementSorter: ee => ee?.Level3.Name)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Null_check_in_Dto_projection_should_not_be_removed(bool async) => AssertQuery( async, @@ -238,7 +238,7 @@ private class ProjectedDto public T Value { get; set; } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_navigation_property_followed_by_select_collection_navigation(bool async) => AssertQuery( async, @@ -250,7 +250,7 @@ public virtual Task SelectMany_navigation_property_followed_by_select_collection AssertCollection(e.OneToMany_Optional2, a.OneToMany_Optional2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_SelectMany_navigation_property_followed_by_select_collection_navigation(bool async) => AssertQuery( async, @@ -263,7 +263,7 @@ public virtual Task Multiple_SelectMany_navigation_property_followed_by_select_c AssertCollection(e.OneToMany_Optional3, a.OneToMany_Optional3); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_navigation_property_with_include_and_followed_by_select_collection_navigation(bool async) => AssertQuery( async, @@ -279,7 +279,7 @@ public virtual Task SelectMany_navigation_property_with_include_and_followed_by_ AssertCollection(e.OneToMany_Optional2, a.OneToMany_Optional2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Lift_projection_mapping_when_pushing_down_subquery(bool async) => AssertQuery( async, @@ -299,7 +299,7 @@ public virtual Task Lift_projection_mapping_when_pushing_down_subquery(bool asyn AssertCollection(e.c2, a.c2, elementSorter: i => i.Id, elementAsserter: (ie, ia) => Assert.Equal(ie.Id, ia.Id)); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_single_nested_subquery(bool async) => AssertQuery( async, @@ -322,7 +322,7 @@ public virtual Task Select_subquery_single_nested_subquery(bool async) } }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_single_nested_subquery2(bool async) => AssertQuery( async, @@ -355,7 +355,7 @@ public virtual Task Select_subquery_single_nested_subquery2(bool async) }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Queryable_in_subquery_works_when_final_projection_is_List(bool async) => AssertInvalidMaterializationType( () => @@ -374,7 +374,7 @@ select inner.ToList(), elementAsserter: (e, a) => AssertCollection(e, a)), typeof(IQueryable).ShortDisplayName()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Complex_query_with_let_collection_projection_FirstOrDefault_with_ToList_on_inner_and_outer(bool async) => AssertQuery( async, @@ -390,7 +390,7 @@ select inner.ToList(), assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Complex_query_with_let_collection_projection_FirstOrDefault(bool async) => AssertQuery( async, @@ -406,7 +406,7 @@ select innerL1s.ToList()).FirstOrDefault() assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_DefaultIfEmpty_multiple_times_with_joins_projecting_a_collection(bool async) => AssertQuery( async, @@ -454,7 +454,7 @@ orderby l2.OneToOne_Optional_FK2.MaybeScalar(e => e.Id) AssertEqual(e.Property, a.Property); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_Select_collection_Take(bool async) => AssertQuery( async, @@ -490,7 +490,7 @@ public virtual Task Take_Select_collection_Take(bool async) }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_Take_Select_collection_Skip_Take(bool async) => AssertQuery( async, @@ -526,7 +526,7 @@ public virtual Task Skip_Take_Select_collection_Skip_Take(bool async) }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multi_level_include_one_to_many_optional_and_one_to_many_optional_produces_valid_sql(bool async) => AssertQuery( async, @@ -536,7 +536,7 @@ public virtual Task Multi_level_include_one_to_many_optional_and_one_to_many_opt new ExpectedInclude(l1 => l1.OneToMany_Optional1), new ExpectedInclude(l2 => l2.OneToMany_Optional2, "OneToMany_Optional1"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multi_level_include_correct_PK_is_chosen_as_the_join_predicate_for_queries_that_join_same_table_multiple_times( bool async) => AssertQuery( @@ -551,7 +551,7 @@ public virtual Task Multi_level_include_correct_PK_is_chosen_as_the_join_predica new ExpectedInclude( l2 => l2.OneToMany_Optional2, "OneToMany_Optional1.OneToMany_Optional2.OneToMany_Required_Inverse3"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_complex_includes(bool async) => AssertQuery( async, @@ -567,7 +567,7 @@ public virtual Task Multiple_complex_includes(bool async) new ExpectedInclude(l1 => l1.OneToMany_Optional1), new ExpectedInclude(l2 => l2.OneToOne_Optional_FK2, "OneToMany_Optional1"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_complex_includes_EF_Property(bool async) => AssertQuery( async, @@ -583,7 +583,7 @@ public virtual Task Multiple_complex_includes_EF_Property(bool async) new ExpectedInclude(l1 => l1.OneToMany_Optional1), new ExpectedInclude(l2 => l2.OneToOne_Optional_FK2, "OneToMany_Optional1"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_complex_includes_self_ref(bool async) => AssertQuery( async, @@ -598,7 +598,7 @@ public virtual Task Multiple_complex_includes_self_ref(bool async) new ExpectedInclude(l1 => l1.OneToMany_Optional_Self1), new ExpectedInclude(l2 => l2.OneToOne_Optional_Self1, "OneToMany_Optional_Self1"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_complex_includes_self_ref_EF_Property(bool async) => AssertQuery( async, @@ -613,7 +613,7 @@ public virtual Task Multiple_complex_includes_self_ref_EF_Property(bool async) new ExpectedInclude(l1 => l1.OneToMany_Optional_Self1), new ExpectedInclude(l2 => l2.OneToOne_Optional_Self1, "OneToMany_Optional_Self1"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_and_collection_order_by(bool async) => AssertQuery( async, @@ -625,7 +625,7 @@ public virtual Task Include_reference_and_collection_order_by(bool async) e, a, new ExpectedInclude(l1 => l1.OneToOne_Optional_FK1), new ExpectedInclude(l2 => l2.OneToMany_Optional2, "OneToOne_Optional_FK1"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_ThenInclude_collection_order_by(bool async) => AssertQuery( async, @@ -638,7 +638,7 @@ public virtual Task Include_reference_ThenInclude_collection_order_by(bool async e, a, new ExpectedInclude(l1 => l1.OneToOne_Optional_FK1), new ExpectedInclude(l2 => l2.OneToMany_Optional2, "OneToOne_Optional_FK1"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_then_reference(bool async) => AssertQuery( async, @@ -649,7 +649,7 @@ public virtual Task Include_collection_then_reference(bool async) e, a, new ExpectedInclude(l1 => l1.OneToMany_Optional1), new ExpectedInclude(l2 => l2.OneToOne_Optional_FK2, "OneToMany_Optional1"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_conditional_order_by(bool async) => AssertQuery( async, @@ -660,7 +660,7 @@ public virtual Task Include_collection_with_conditional_order_by(bool async) elementSorter: e => e.Id, elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(ee => ee.OneToMany_Optional1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_complex_include_select(bool async) => AssertQuery( async, @@ -675,7 +675,7 @@ public virtual Task Multiple_complex_include_select(bool async) new ExpectedInclude(l1 => l1.OneToMany_Optional1), new ExpectedInclude(l2 => l2.OneToOne_Optional_FK2, "OneToMany_Optional1"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_nested_with_optional_navigation(bool async) => AssertQuery( async, @@ -689,7 +689,7 @@ public virtual Task Include_nested_with_optional_navigation(bool async) new ExpectedInclude(l1 => l1.OneToMany_Required2, "OneToOne_Optional_FK1"), new ExpectedInclude(l1 => l1.OneToOne_Required_FK3, "OneToOne_Optional_FK1.OneToMany_Required2"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Complex_multi_include_with_order_by_and_paging(bool async) => AssertQuery( async, @@ -703,7 +703,7 @@ public virtual Task Complex_multi_include_with_order_by_and_paging(bool async) new ExpectedInclude(l1 => l1.OneToMany_Optional2, "OneToOne_Required_FK1"), new ExpectedInclude(l1 => l1.OneToMany_Required2, "OneToOne_Required_FK1"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Complex_multi_include_with_order_by_and_paging_joins_on_correct_key(bool async) => AssertQuery( async, @@ -718,7 +718,7 @@ public virtual Task Complex_multi_include_with_order_by_and_paging_joins_on_corr new ExpectedInclude(l1 => l1.OneToOne_Required_FK1), new ExpectedInclude(l2 => l2.OneToMany_Required2, "OneToOne_Required_FK1"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Complex_multi_include_with_order_by_and_paging_joins_on_correct_key2(bool async) => AssertQuery( async, @@ -731,7 +731,7 @@ public virtual Task Complex_multi_include_with_order_by_and_paging_joins_on_corr new ExpectedInclude(l2 => l2.OneToOne_Required_FK2, "OneToOne_Optional_FK1"), new ExpectedInclude(l3 => l3.OneToMany_Optional3, "OneToOne_Optional_FK1.OneToOne_Required_FK2"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_include_with_multiple_optional_navigations(bool async) => AssertQuery( async, @@ -749,7 +749,7 @@ public virtual Task Multiple_include_with_multiple_optional_navigations(bool asy new ExpectedInclude(l2 => l2.OneToOne_Optional_FK2, "OneToOne_Optional_FK1")), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_Include1(bool async) => AssertQuery( async, @@ -758,7 +758,7 @@ public virtual Task SelectMany_with_Include1(bool async) .Include(l2 => l2.OneToMany_Optional2), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l2 => l2.OneToMany_Optional2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Orderby_SelectMany_with_Include1(bool async) => AssertQuery( async, @@ -767,7 +767,7 @@ public virtual Task Orderby_SelectMany_with_Include1(bool async) .Include(l2 => l2.OneToMany_Optional2), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l2 => l2.OneToMany_Optional2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_Include2(bool async) => AssertQuery( async, @@ -776,7 +776,7 @@ public virtual Task SelectMany_with_Include2(bool async) .Include(l2 => l2.OneToOne_Required_FK2), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l2 => l2.OneToOne_Required_FK2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_Include_ThenInclude(bool async) => AssertQuery( async, @@ -788,7 +788,7 @@ public virtual Task SelectMany_with_Include_ThenInclude(bool async) e, a, new ExpectedInclude(l2 => l2.OneToOne_Required_FK2), new ExpectedInclude(l3 => l3.OneToMany_Optional3, "OneToOne_Required_FK2"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_SelectMany_with_Include(bool async) => AssertQuery( async, @@ -801,7 +801,7 @@ public virtual Task Multiple_SelectMany_with_Include(bool async) e, a, new ExpectedInclude(l3 => l3.OneToOne_Required_FK3), new ExpectedInclude(l3 => l3.OneToMany_Optional3))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Required_navigation_with_Include(bool async) => AssertQuery( async, @@ -810,7 +810,7 @@ public virtual Task Required_navigation_with_Include(bool async) .Select(l3 => l3.OneToOne_Required_FK_Inverse3), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l2 => l2.OneToMany_Required_Inverse2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Required_navigation_with_Include_ThenInclude(bool async) => AssertQuery( async, @@ -822,7 +822,7 @@ public virtual Task Required_navigation_with_Include_ThenInclude(bool async) e, a, new ExpectedInclude(l3 => l3.OneToMany_Required_Inverse3), new ExpectedInclude(l2 => l2.OneToMany_Optional_Inverse2, "OneToMany_Required_Inverse3"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_with_Include_ThenInclude(bool async) => AssertQuery( async, @@ -834,7 +834,7 @@ public virtual Task Optional_navigation_with_Include_ThenInclude(bool async) e, a, new ExpectedInclude(l2 => l2.OneToMany_Optional2), new ExpectedInclude(l3 => l3.OneToOne_Optional_FK3, "OneToMany_Optional2"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_optional_navigation_with_Include(bool async) => AssertQuery( async, @@ -843,7 +843,7 @@ public virtual Task Multiple_optional_navigation_with_Include(bool async) .Select(l1 => l1.OneToOne_Optional_FK1.OneToOne_Optional_PK2), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l3 => l3.OneToMany_Optional3))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_optional_navigation_with_string_based_Include(bool async) => AssertQuery( async, @@ -853,7 +853,7 @@ public virtual Task Multiple_optional_navigation_with_string_based_Include(bool .Select(l2 => l2.OneToOne_Optional_PK2), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l3 => l3.OneToMany_Optional3))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_with_order_by_and_Include(bool async) => AssertQuery( async, @@ -864,7 +864,7 @@ public virtual Task Optional_navigation_with_order_by_and_Include(bool async) elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l2 => l2.OneToMany_Optional2)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_with_Include_and_order(bool async) => AssertQuery( async, @@ -875,7 +875,7 @@ public virtual Task Optional_navigation_with_Include_and_order(bool async) elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l2 => l2.OneToMany_Optional2)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_order_by_and_Include(bool async) => AssertQuery( async, @@ -886,7 +886,7 @@ public virtual Task SelectMany_with_order_by_and_Include(bool async) elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l2 => l2.OneToMany_Optional2)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_Include_and_order_by(bool async) => AssertQuery( async, @@ -897,7 +897,7 @@ public virtual Task SelectMany_with_Include_and_order_by(bool async) elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l2 => l2.OneToMany_Optional2)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_navigation_and_Distinct(bool async) => AssertQuery( async, @@ -907,7 +907,7 @@ from l2 in l1.OneToMany_Optional1.Distinct() select l1, elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l1 => l1.OneToMany_Optional1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_navigation_and_Distinct_projecting_columns_including_join_key(bool async) => AssertQuery( async, @@ -921,7 +921,7 @@ public virtual Task SelectMany_with_navigation_and_Distinct_projecting_columns_i select l1, elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l1 => l1.OneToMany_Optional1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_multiple_orderbys_member(bool async) => AssertQuery( async, @@ -932,7 +932,7 @@ public virtual Task Include_collection_with_multiple_orderbys_member(bool async) elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(e => e.OneToMany_Optional2)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_multiple_orderbys_property(bool async) => AssertQuery( async, @@ -943,7 +943,7 @@ public virtual Task Include_collection_with_multiple_orderbys_property(bool asyn elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(e => e.OneToMany_Optional2)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_multiple_orderbys_methodcall(bool async) => AssertQuery( async, @@ -954,7 +954,7 @@ public virtual Task Include_collection_with_multiple_orderbys_methodcall(bool as elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(e => e.OneToMany_Optional2)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_multiple_orderbys_complex(bool async) => AssertQuery( async, @@ -965,7 +965,7 @@ public virtual Task Include_collection_with_multiple_orderbys_complex(bool async elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(e => e.OneToMany_Optional2)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_multiple_orderbys_complex_repeated(bool async) => AssertQuery( async, @@ -976,7 +976,7 @@ public virtual Task Include_collection_with_multiple_orderbys_complex_repeated(b elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(e => e.OneToMany_Optional2)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_multiple_orderbys_complex_repeated_checked(bool async) { checked @@ -992,7 +992,7 @@ public virtual Task Include_collection_with_multiple_orderbys_complex_repeated_c } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_groupby_in_subquery(bool async) => AssertQuery( async, @@ -1002,7 +1002,7 @@ public virtual Task Include_collection_with_groupby_in_subquery(bool async) .Select(g => g.OrderBy(e => e.Id).FirstOrDefault()), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(e => e.OneToMany_Optional1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_groupby_in_subquery_and_filter_before_groupby(bool async) => AssertQuery( async, @@ -1013,7 +1013,7 @@ public virtual Task Include_collection_with_groupby_in_subquery_and_filter_befor .Select(g => g.OrderBy(e => e.Id).FirstOrDefault()), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(e => e.OneToMany_Optional1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_groupby_in_subquery_and_filter_after_groupby(bool async) => AssertQuery( async, @@ -1024,7 +1024,7 @@ public virtual Task Include_collection_with_groupby_in_subquery_and_filter_after .Select(g => g.OrderBy(e => e.Id).FirstOrDefault()), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(e => e.OneToMany_Optional1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_collection_order_by_reference_navigation(bool async) => AssertQuery( async, @@ -1037,27 +1037,27 @@ public virtual Task Include_reference_collection_order_by_reference_navigation(b new ExpectedInclude(e => e.OneToMany_Optional2, "OneToOne_Optional_FK1")), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_after_Select(bool async) => AssertIncludeOnNonEntity(() => AssertQuery( async, ss => ss.Set().Select(l1 => l1.OneToOne_Optional_FK1).Include(l2 => l2.OneToMany_Optional2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_after_SelectMany_and_reference_navigation(bool async) => AssertIncludeOnNonEntity(() => AssertQuery( async, ss => ss.Set().SelectMany(l1 => l1.OneToMany_Required1).Select(l2 => l2.OneToOne_Optional_FK2) .Include(l3 => l3.OneToMany_Optional3))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_after_SelectMany(bool async) => AssertQuery( async, ss => ss.Set().SelectMany(l1 => l1.OneToMany_Required1).Include(l2 => l2.OneToMany_Optional2), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(x => x.OneToMany_Optional2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_after_multiple_SelectMany_and_reference_navigation(bool async) => AssertQuery( async, @@ -1068,7 +1068,7 @@ public virtual Task Include_after_multiple_SelectMany_and_reference_navigation(b .Select(l3 => l3.OneToOne_Required_FK3), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l4 => l4.OneToMany_Required_Self4))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_after_SelectMany_and_multiple_reference_navigations(bool async) => AssertQuery( async, @@ -1079,14 +1079,14 @@ public virtual Task Include_after_SelectMany_and_multiple_reference_navigations( .Select(l3 => l3.OneToOne_Required_FK3), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l4 => l4.OneToMany_Optional_Self4))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection(bool async) => AssertQuery( async, ss => ss.Set().Include(l1 => l1.OneToMany_Optional1), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l3 => l3.OneToMany_Optional1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_followed_by_include_reference(bool async) => AssertQuery( async, @@ -1095,7 +1095,7 @@ public virtual Task Include_collection_followed_by_include_reference(bool async) e, a, new ExpectedInclude(e1 => e1.OneToMany_Optional1), new ExpectedInclude(e2 => e2.OneToOne_Optional_PK2, "OneToMany_Optional1"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_followed_by_include_collection(bool async) => AssertQuery( async, @@ -1104,7 +1104,7 @@ public virtual Task Include_reference_followed_by_include_collection(bool async) e, a, new ExpectedInclude(e1 => e1.OneToOne_Optional_FK1), new ExpectedInclude(e2 => e2.OneToMany_Optional2, "OneToOne_Optional_FK1"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_followed_by_projecting_the_included_collection(bool async) => AssertQuery( async, @@ -1112,7 +1112,7 @@ public virtual Task Include_collection_followed_by_projecting_the_included_colle assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_and_ThenInclude_collections_followed_by_projecting_the_first_collection(bool async) => AssertQuery( async, @@ -1127,7 +1127,7 @@ public virtual Task Include_and_ThenInclude_collections_followed_by_projecting_t a, elementAsserter: (ee, aa) => AssertInclude(ee, aa, new ExpectedInclude(x => x.OneToOne_Optional_PK2)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_and_another_navigation_chain_followed_by_projecting_the_first_collection(bool async) => AssertQuery( async, @@ -1145,7 +1145,7 @@ public virtual Task Include_collection_and_another_navigation_chain_followed_by_ ee, aa, new ExpectedInclude(e1 => e1.OneToOne_Optional_PK2), new ExpectedInclude(e2 => e2.OneToOne_Optional_FK3, "OneToOne_Optional_PK2")))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_ThenInclude_two_references(bool async) => AssertQuery( async, @@ -1158,7 +1158,7 @@ public virtual Task Include_collection_ThenInclude_two_references(bool async) new ExpectedInclude(e2 => e2.OneToOne_Optional_PK2, "OneToMany_Optional1"), new ExpectedInclude(e3 => e3.OneToOne_Optional_FK3, "OneToMany_Optional1.OneToOne_Optional_PK2"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_followed_by_complex_includes_and_projecting_the_included_collection(bool async) => AssertQuery( async, @@ -1176,7 +1176,7 @@ public virtual Task Include_collection_followed_by_complex_includes_and_projecti new ExpectedInclude(e3 => e3.OneToOne_Optional_FK2), new ExpectedInclude(e4 => e4.OneToMany_Optional3, "OneToOne_Optional_FK2"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_multiple(bool async) => AssertQuery( async, @@ -1192,7 +1192,7 @@ public virtual Task Include_collection_multiple(bool async) new ExpectedInclude(e4 => e4.OneToOne_Optional_FK2, "OneToMany_Optional1"), new ExpectedInclude(e5 => e5.OneToMany_Optional3, "OneToMany_Optional1.OneToOne_Optional_FK2"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_ThenInclude_ThenInclude_followed_by_two_nested_selects(bool async) => AssertQuery( async, @@ -1205,7 +1205,7 @@ public virtual Task Include_ThenInclude_ThenInclude_followed_by_two_nested_selec elementAsserter: (e, a) => AssertCollection( e, a, elementAsserter: (ee, aa) => AssertInclude(ee, aa, new ExpectedInclude(x => x.OneToOne_Optional_FK3)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_ThenInclude_reference_followed_by_projection_into_anonmous_type(bool async) => AssertQuery( async, @@ -1225,7 +1225,7 @@ public virtual Task Include_collection_ThenInclude_reference_followed_by_project elementAsserter: (ee, aa) => AssertInclude(ee, aa, new ExpectedInclude(e => e.OneToOne_Optional_PK2))); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_multiple_with_filter(bool async) => AssertQuery( async, @@ -1239,7 +1239,7 @@ public virtual Task Include_collection_multiple_with_filter(bool async) new ExpectedInclude(e2 => e2.OneToOne_Optional_PK2, "OneToMany_Optional1"), new ExpectedInclude(e3 => e3.OneToOne_Optional_FK3, "OneToMany_Optional1.OneToOne_Optional_PK2"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_multiple_with_filter_EF_Property(bool async) => AssertQuery( async, @@ -1255,7 +1255,7 @@ public virtual Task Include_collection_multiple_with_filter_EF_Property(bool asy new ExpectedInclude(e2 => e2.OneToOne_Optional_PK2, "OneToMany_Optional1"), new ExpectedInclude(e3 => e3.OneToOne_Optional_FK3, "OneToMany_Optional1.OneToOne_Optional_PK2"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Including_reference_navigation_and_projecting_collection_navigation(bool async) => AssertQuery( async, @@ -1269,7 +1269,7 @@ public virtual Task Including_reference_navigation_and_projecting_collection_nav OneToMany_Required1 = e.OneToMany_Required1 })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task LeftJoin_with_Any_on_outer_source_and_projecting_collection_from_inner(bool async) { var validIds = new List { "L1 01", "L1 02" }; @@ -1283,7 +1283,7 @@ from l2 in l2s.DefaultIfEmpty() select new Level2 { Id = l2 == null ? 0 : l2.Id, OneToMany_Required2 = l2 == null ? null : l2.OneToMany_Required2 }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_basic_Where(bool async) => AssertQuery( async, @@ -1294,7 +1294,7 @@ public virtual Task Filtered_include_basic_Where(bool async) e => e.OneToMany_Optional1, includeFilter: x => x.Where(l2 => l2.Id > 5)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_basic_Where_EF_Property(bool async) => AssertQuery( async, @@ -1305,7 +1305,7 @@ public virtual Task Filtered_include_basic_Where_EF_Property(bool async) e => e.OneToMany_Optional1, includeFilter: x => x.Where(l2 => l2.Id > 5)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_OrderBy(bool async) => AssertQuery( async, @@ -1317,7 +1317,7 @@ public virtual Task Filtered_include_OrderBy(bool async) includeFilter: x => x.OrderBy(x => x.Name), assertOrder: true))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_OrderBy_EF_Property(bool async) => AssertQuery( async, @@ -1329,7 +1329,7 @@ public virtual Task Filtered_include_OrderBy_EF_Property(bool async) includeFilter: x => x.OrderBy(x => x.Name), assertOrder: true))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_ThenInclude_OrderBy(bool async) => AssertQuery( async, @@ -1343,7 +1343,7 @@ public virtual Task Filtered_ThenInclude_OrderBy(bool async) includeFilter: x => x.OrderBy(x => x.Name), assertOrder: true))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_ThenInclude_OrderBy(bool async) => AssertQuery( async, @@ -1362,7 +1362,7 @@ public virtual Task Filtered_include_ThenInclude_OrderBy(bool async) includeFilter: x => x.OrderByDescending(x => x.Name), assertOrder: true))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_basic_OrderBy_Take(bool async) => AssertQuery( async, @@ -1374,7 +1374,7 @@ public virtual Task Filtered_include_basic_OrderBy_Take(bool async) includeFilter: x => x.OrderBy(x => x.Name).Take(3), assertOrder: true))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_basic_OrderBy_Skip(bool async) => AssertQuery( async, @@ -1386,7 +1386,7 @@ public virtual Task Filtered_include_basic_OrderBy_Skip(bool async) includeFilter: x => x.OrderBy(x => x.Name).Skip(1), assertOrder: true))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_basic_OrderBy_Skip_Take(bool async) => AssertQuery( async, @@ -1398,7 +1398,7 @@ public virtual Task Filtered_include_basic_OrderBy_Skip_Take(bool async) includeFilter: x => x.OrderBy(x => x.Name).Skip(1).Take(3), assertOrder: true))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_basic_OrderBy_Skip_Take_EF_Property(bool async) => AssertQuery( async, @@ -1411,7 +1411,7 @@ public virtual Task Filtered_include_basic_OrderBy_Skip_Take_EF_Property(bool as includeFilter: x => x.OrderBy(x => x.Name).Skip(1).Take(3), assertOrder: true))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_Skip_without_OrderBy(bool async) => AssertQuery( async, @@ -1423,7 +1423,7 @@ public virtual Task Filtered_include_Skip_without_OrderBy(bool async) Assert.Equal(Math.Max(e.OneToMany_Optional1.Count - 1, 0), a.OneToMany_Optional1?.Count); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_Take_without_OrderBy(bool async) => AssertQuery( async, @@ -1435,7 +1435,7 @@ public virtual Task Filtered_include_Take_without_OrderBy(bool async) Assert.Equal(e.OneToMany_Optional1.Any() ? 1 : 0, a.OneToMany_Optional1?.Count); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_on_ThenInclude(bool async) => AssertQuery( async, @@ -1451,7 +1451,7 @@ public virtual Task Filtered_include_on_ThenInclude(bool async) x => x.Where(x => x.Name != "Foo").OrderBy(x => x.Name).Skip(1).Take(3), assertOrder: true))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_on_ThenInclude_EF_Property(bool async) => AssertQuery( async, @@ -1468,7 +1468,7 @@ public virtual Task Filtered_include_on_ThenInclude_EF_Property(bool async) x => x.Where(x => x.Name != "Foo").OrderBy(x => x.Name).Skip(1).Take(3), assertOrder: true))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_after_reference_navigation(bool async) => AssertQuery( async, @@ -1484,7 +1484,7 @@ public virtual Task Filtered_include_after_reference_navigation(bool async) x => x.Where(x => x.Name != "Foo").OrderBy(x => x.Name).Skip(1).Take(3), assertOrder: true))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_after_different_filtered_include_same_level(bool async) => AssertQuery( async, @@ -1502,7 +1502,7 @@ public virtual Task Filtered_include_after_different_filtered_include_same_level includeFilter: x => x.Where(x => x.Name != "Bar").OrderByDescending(x => x.Name).Skip(1), assertOrder: true))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_after_different_filtered_include_different_level(bool async) => AssertQuery( async, @@ -1521,7 +1521,7 @@ public virtual Task Filtered_include_after_different_filtered_include_different_ includeFilter: x => x.Where(x => x.Name != "Bar").OrderByDescending(x => x.Name).Skip(1), assertOrder: true))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Filtered_include_different_filter_set_on_same_navigation_twice(bool async) => Assert.Equal( CoreStrings.MultipleFilteredIncludesOnSameNavigation( @@ -1536,7 +1536,7 @@ public virtual async Task Filtered_include_different_filter_set_on_same_navigati .Message .Replace("\r", "").Replace("\n", "")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Filtered_include_different_filter_set_on_same_navigation_twice_multi_level(bool async) => Assert.Equal( CoreStrings.MultipleFilteredIncludesOnSameNavigation( @@ -1552,7 +1552,7 @@ public virtual async Task Filtered_include_different_filter_set_on_same_navigati .Message .Replace("\r", "").Replace("\n", "")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_same_filter_set_on_same_navigation_twice(bool async) => AssertQuery( async, @@ -1566,7 +1566,7 @@ public virtual Task Filtered_include_same_filter_set_on_same_navigation_twice(bo includeFilter: x => x.Where(x => x.Name != "Foo").OrderByDescending(x => x.Id).Take(2), assertOrder: true))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_same_filter_set_on_same_navigation_twice_followed_by_ThenIncludes(bool async) => AssertQuery( async, @@ -1584,7 +1584,7 @@ public virtual Task Filtered_include_same_filter_set_on_same_navigation_twice_fo new ExpectedInclude(e => e.OneToMany_Optional2), new ExpectedInclude(e => e.OneToOne_Required_FK2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_multiple_multi_level_includes_with_first_level_using_filter_include_on_one_of_the_chains_only( bool async) => AssertQuery( @@ -1602,7 +1602,7 @@ public virtual Task Filtered_include_multiple_multi_level_includes_with_first_le new ExpectedInclude(e => e.OneToMany_Optional2, "OneToMany_Optional1"), new ExpectedInclude(e => e.OneToOne_Required_FK2, "OneToMany_Optional1"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_and_non_filtered_include_on_same_navigation1(bool async) => AssertQuery( async, @@ -1616,7 +1616,7 @@ public virtual Task Filtered_include_and_non_filtered_include_on_same_navigation includeFilter: x => x.Where(x => x.Name != "Foo").OrderBy(x => x.Id).Take(3), assertOrder: true))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_and_non_filtered_include_on_same_navigation2(bool async) => AssertQuery( async, @@ -1630,7 +1630,7 @@ public virtual Task Filtered_include_and_non_filtered_include_on_same_navigation includeFilter: x => x.Where(x => x.Name != "Foo").OrderBy(x => x.Id).Take(3), assertOrder: true))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_and_non_filtered_include_followed_by_then_include_on_same_navigation(bool async) => AssertQuery( async, @@ -1650,7 +1650,7 @@ public virtual Task Filtered_include_and_non_filtered_include_followed_by_then_i "OneToMany_Optional1.OneToOne_Optional_PK2", includeFilter: x => x.Where(x => x.Id > 1)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_complex_three_level_with_middle_having_filter1(bool async) => AssertQuery( async, @@ -1672,7 +1672,7 @@ public virtual Task Filtered_include_complex_three_level_with_middle_having_filt new ExpectedInclude(e => e.OneToMany_Optional3, "OneToMany_Optional1.OneToMany_Optional2"), new ExpectedInclude(e => e.OneToMany_Required3, "OneToMany_Optional1.OneToMany_Optional2"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_complex_three_level_with_middle_having_filter2(bool async) => AssertQuery( async, @@ -1693,7 +1693,7 @@ public virtual Task Filtered_include_complex_three_level_with_middle_having_filt new ExpectedInclude(e => e.OneToMany_Optional3, "OneToMany_Optional1.OneToMany_Optional2"), new ExpectedInclude(e => e.OneToMany_Required3, "OneToMany_Optional1.OneToMany_Optional2"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_variable_used_inside_filter(bool async) { var prm = "Foo"; @@ -1710,7 +1710,7 @@ public virtual Task Filtered_include_variable_used_inside_filter(bool async) includeFilter: x => x.Where(xx => xx.Name != "Foo").OrderBy(x => x.Id).Take(3)))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_context_accessed_inside_filter(bool async) => AssertQuery( async, @@ -1723,7 +1723,7 @@ public virtual Task Filtered_include_context_accessed_inside_filter(bool async) x => x.OneToMany_Optional1, includeFilter: x => x.OrderBy(x => x.Id).Take(3)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_context_accessed_inside_filter_correlated(bool async) => AssertQuery( async, @@ -1737,7 +1737,7 @@ public virtual Task Filtered_include_context_accessed_inside_filter_correlated(b x => x.OneToMany_Optional1, includeFilter: x => x.OrderBy(x => x.Id).Take(3)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_include_parameter_used_inside_filter_throws(bool async) => AssertInvalidMaterializationType( () => AssertQuery( @@ -1746,7 +1746,7 @@ public virtual Task Filtered_include_include_parameter_used_inside_filter_throws .Select(l1 => ss.Set().Include(l2 => l2.OneToMany_Optional2.Where(x => x.Id != l2.Id)))), "IEnumerable"); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_outer_parameter_used_inside_filter(bool async) => AssertQuery( async, @@ -1769,7 +1769,7 @@ public virtual Task Filtered_include_outer_parameter_used_inside_filter(bool asy includeFilter: x => x.Where(x => x.Id != e.Id))); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Filtered_include_is_considered_loaded(bool async) { using var ctx = CreateContext(); @@ -1782,7 +1782,7 @@ public virtual async Task Filtered_include_is_considered_loaded(bool async) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Filtered_include_with_Distinct_throws(bool async) => Assert.Equal( CoreStrings.InvalidIncludeExpression("l1.OneToMany_Optional1.AsQueryable().Distinct()"), @@ -1790,7 +1790,7 @@ public virtual async Task Filtered_include_with_Distinct_throws(bool async) async, ss => ss.Set().Include(l1 => l1.OneToMany_Optional1.Distinct())))).Message); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Filtered_include_calling_methods_directly_on_parameter_throws(bool async) => Assert.Equal( CoreStrings.InvalidIncludeExpression("l2.AsQueryable().Where(xx => (xx.Id != 42))"), @@ -1800,7 +1800,7 @@ public virtual async Task Filtered_include_calling_methods_directly_on_parameter .Include(l1 => l1.OneToMany_Optional1) .ThenInclude(l2 => l2.AsQueryable().Where(xx => xx.Id != 42))))).Message); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_Take_with_another_Take_on_top_level(bool async) => AssertQuery( async, @@ -1818,7 +1818,7 @@ public virtual Task Filtered_include_Take_with_another_Take_on_top_level(bool as includeFilter: x => x.OrderByDescending(xx => xx.Name).Take(4)), new ExpectedInclude(x => x.OneToOne_Optional_FK2, "OneToMany_Optional1"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_Skip_Take_with_another_Skip_Take_on_top_level(bool async) => AssertQuery( async, @@ -1837,7 +1837,7 @@ public virtual Task Filtered_include_Skip_Take_with_another_Skip_Take_on_top_lev includeFilter: x => x.OrderByDescending(xx => xx.Name).Skip(2).Take(4)), new ExpectedInclude(x => x.OneToOne_Optional_FK2, "OneToMany_Optional1"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_with_Take_without_order_by_followed_by_ThenInclude_and_FirstOrDefault_on_top_level(bool async) => AssertFirstOrDefault( async, @@ -1853,7 +1853,7 @@ public virtual Task Filtered_include_with_Take_without_order_by_followed_by_Then includeFilter: x => x.Take(40)), new ExpectedInclude(x => x.OneToOne_Optional_FK2, "OneToMany_Optional1"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_with_Take_without_order_by_followed_by_ThenInclude_and_unordered_Take_on_top_level(bool async) => AssertQuery( async, @@ -1871,7 +1871,7 @@ public virtual Task Filtered_include_with_Take_without_order_by_followed_by_Then includeFilter: x => x.Take(40)), new ExpectedInclude(x => x.OneToOne_Optional_FK2, "OneToMany_Optional1"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_collection_with_FirstOrDefault(bool async) => AssertFirstOrDefault( async, @@ -1884,7 +1884,7 @@ public virtual Task Projecting_collection_with_FirstOrDefault(bool async) AssertCollection(e.Level2s, a.Level2s); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_on_grouping_element(bool async) => AssertQuery( async, @@ -1898,7 +1898,7 @@ public virtual Task Skip_on_grouping_element(bool async) AssertCollection(e.Level1s, a.Level1s); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_on_grouping_element(bool async) => AssertQuery( async, @@ -1912,7 +1912,7 @@ public virtual Task Take_on_grouping_element(bool async) AssertCollection(e.Level1s, a.Level1s); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_Take_on_grouping_element(bool async) => AssertQuery( async, @@ -1926,7 +1926,7 @@ public virtual Task Skip_Take_on_grouping_element(bool async) AssertCollection(e.Level1s, a.Level1s); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_Take_Distinct_on_grouping_element(bool async) => AssertQuery( async, @@ -1940,7 +1940,7 @@ public virtual Task Skip_Take_Distinct_on_grouping_element(bool async) AssertCollection(e.Level1s, a.Level1s); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_Take_ToList_on_grouping_element(bool async) => AssertQuery( async, @@ -1954,7 +1954,7 @@ public virtual Task Skip_Take_ToList_on_grouping_element(bool async) AssertCollection(e.Level1s, a.Level1s); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_Take_on_grouping_element_into_non_entity(bool async) => AssertQuery( async, @@ -1968,7 +1968,7 @@ public virtual Task Skip_Take_on_grouping_element_into_non_entity(bool async) AssertCollection(e.Level1s, a.Level1s, ordered: true); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_Take_on_grouping_element_with_collection_include(bool async) => AssertQuery( async, @@ -1985,7 +1985,7 @@ public virtual Task Skip_Take_on_grouping_element_with_collection_include(bool a elementAsserter: (ee, aa) => AssertInclude(ee, aa, new ExpectedInclude(l => l.OneToMany_Optional1))); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_Take_on_grouping_element_with_reference_include(bool async) => AssertQuery( async, @@ -2002,7 +2002,7 @@ public virtual Task Skip_Take_on_grouping_element_with_reference_include(bool as elementAsserter: (ee, aa) => AssertInclude(ee, aa, new ExpectedInclude(l => l.OneToOne_Optional_FK1))); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_Take_on_grouping_element_inside_collection_projection(bool async) => AssertQuery( async, @@ -2029,7 +2029,7 @@ public virtual Task Skip_Take_on_grouping_element_inside_collection_projection(b }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_projection_over_GroupBy_over_parameter(bool async) { var validIds = new List { "L1 01", "L1 02" }; @@ -2048,7 +2048,7 @@ public virtual Task Collection_projection_over_GroupBy_over_parameter(bool async }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_over_conditional_null_source(bool async) => AssertTranslationFailed(() => AssertQueryScalar( async, @@ -2057,7 +2057,7 @@ public virtual Task SelectMany_over_conditional_null_source(bool async) ? l2.OneToMany_Required_Inverse2.OneToMany_Optional1.Select(e => e.Id) : null))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_over_conditional_empty_source(bool async) => AssertTranslationFailed(() => AssertQueryScalar( async, @@ -2066,7 +2066,7 @@ public virtual Task SelectMany_over_conditional_empty_source(bool async) ? l2.OneToMany_Required_Inverse2.OneToMany_Optional1.Select(e => e.Id) : Enumerable.Empty()))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_partially_added_before_Where_and_then_build_upon(bool async) => AssertQuery( async, @@ -2080,7 +2080,7 @@ public virtual Task Include_partially_added_before_Where_and_then_build_upon(boo new ExpectedInclude(l2 => l2.OneToMany_Optional2, "OneToOne_Optional_FK1"), new ExpectedInclude(l3 => l3.OneToOne_Optional_FK3, "OneToOne_Optional_FK1.OneToMany_Optional2"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_partially_added_before_Where_and_then_build_upon_with_filtered_include(bool async) => AssertQuery( async, @@ -2094,7 +2094,7 @@ public virtual Task Include_partially_added_before_Where_and_then_build_upon_wit new ExpectedInclude(l2 => l2.OneToMany_Optional2, "OneToOne_Optional_FK1"), new ExpectedInclude(l3 => l3.OneToOne_Optional_FK3, "OneToOne_Optional_FK1.OneToMany_Optional2"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_on_correlated_collection_in_projection(bool async) => AssertQuery( async, @@ -2106,7 +2106,7 @@ public virtual Task Take_on_correlated_collection_in_projection(bool async) AssertCollection(e.Collection, a.Collection); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FirstOrDefault_with_predicate_on_correlated_collection_in_projection(bool async) => AssertQuery( async, @@ -2118,7 +2118,7 @@ public virtual Task FirstOrDefault_with_predicate_on_correlated_collection_in_pr AssertEqual(e.Element, a.Element); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_predicate_and_DefaultIfEmpty_projecting_root_collection_element_and_another_collection( bool async) => AssertQuery( @@ -2139,7 +2139,7 @@ from l2 in ss.Set().Where(x => x.Level1_Required_Id == l1.Id * 2 || x.Na AssertCollection(e.Collection, a.Collection); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Complex_query_issue_21665(bool async) => AssertFirstOrDefault( async, @@ -2185,7 +2185,7 @@ public virtual Task Complex_query_issue_21665(bool async) }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_collection_after_optional_reference_correlated_with_parent(bool async) => AssertQuery( async, @@ -2212,7 +2212,7 @@ public virtual Task Projecting_collection_after_optional_reference_correlated_wi } }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_collection_with_group_by_after_optional_reference_correlated_with_parent(bool async) => AssertQuery( async, @@ -2242,7 +2242,7 @@ public virtual Task Projecting_collection_with_group_by_after_optional_reference } }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Final_GroupBy_property_entity_Include_collection(bool async) => AssertQuery( async, @@ -2252,7 +2252,7 @@ public virtual Task Final_GroupBy_property_entity_Include_collection(bool async) e, a, elementAsserter: (ee, aa) => AssertInclude(ee, aa, new ExpectedInclude(i => i.OneToMany_Optional1)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Final_GroupBy_property_entity_Include_collection_nested(bool async) => AssertQuery( async, @@ -2265,7 +2265,7 @@ public virtual Task Final_GroupBy_property_entity_Include_collection_nested(bool new ExpectedInclude(i => i.OneToMany_Optional1), new ExpectedInclude(l2 => l2.OneToMany_Optional2, "OneToManyOptional1")))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Final_GroupBy_property_entity_Include_collection_reference(bool async) => AssertQuery( async, @@ -2278,7 +2278,7 @@ public virtual Task Final_GroupBy_property_entity_Include_collection_reference(b new ExpectedInclude(i => i.OneToMany_Optional1), new ExpectedInclude(l2 => l2.OneToOne_Optional_FK2, "OneToManyOptional1")))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Final_GroupBy_property_entity_Include_collection_multiple(bool async) => AssertQuery( async, @@ -2291,7 +2291,7 @@ public virtual Task Final_GroupBy_property_entity_Include_collection_multiple(bo new ExpectedInclude(i => i.OneToMany_Optional1), new ExpectedInclude(l2 => l2.OneToMany_Required1)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Final_GroupBy_property_entity_Include_collection_reference_same_level(bool async) => AssertQuery( async, @@ -2304,7 +2304,7 @@ public virtual Task Final_GroupBy_property_entity_Include_collection_reference_s new ExpectedInclude(i => i.OneToMany_Optional1), new ExpectedInclude(l2 => l2.OneToOne_Optional_FK1)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Final_GroupBy_property_entity_Include_reference(bool async) => AssertQuery( async, @@ -2316,7 +2316,7 @@ public virtual Task Final_GroupBy_property_entity_Include_reference(bool async) ee, aa, new ExpectedInclude(l2 => l2.OneToOne_Optional_FK1)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Final_GroupBy_property_entity_Include_reference_multiple(bool async) => AssertQuery( async, @@ -2329,7 +2329,7 @@ public virtual Task Final_GroupBy_property_entity_Include_reference_multiple(boo new ExpectedInclude(l2 => l2.OneToOne_Optional_FK1), new ExpectedInclude(l2 => l2.OneToOne_Required_FK1)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_collection_and_nested_conditional(bool async) => AssertQuery( async, diff --git a/test/EFCore.Specification.Tests/Query/ComplexNavigationsQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/ComplexNavigationsQueryTestBase.cs index 94f4664b8ff..3a55e4de9ba 100644 --- a/test/EFCore.Specification.Tests/Query/ComplexNavigationsQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/ComplexNavigationsQueryTestBase.cs @@ -17,70 +17,70 @@ protected ComplexNavigationsContext CreateContext() protected override Expression RewriteExpectedQueryExpression(Expression expectedQueryExpression) => new ExpectedQueryRewritingVisitor(Fixture.GetShadowPropertyMappings()).Visit(expectedQueryExpression); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_equality_empty(bool async) => AssertQuery( async, ss => ss.Set().Where(l => l.OneToOne_Optional_FK1 == new Level2()), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Key_equality_when_sentinel_ef_property(bool async) => AssertQuery( async, ss => ss.Set().Where(l => EF.Property(l.OneToOne_Optional_FK1, "Id") == 0), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Key_equality_using_property_method_required(bool async) => AssertQuery( async, ss => ss.Set().Where(l => EF.Property(l.OneToOne_Required_FK1, "Id") > 7)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Key_equality_using_property_method_required2(bool async) => AssertQuery( async, ss => ss.Set().Where(l => EF.Property(l.OneToOne_Required_FK_Inverse2, "Id") > 7)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Key_equality_using_property_method_nested(bool async) => AssertQuery( async, ss => ss.Set().Where(l => EF.Property(EF.Property(l, "OneToOne_Required_FK1"), "Id") == 7)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Key_equality_using_property_method_nested2(bool async) => AssertQuery( async, ss => ss.Set().Where(l => EF.Property(EF.Property(l, "OneToOne_Required_FK_Inverse2"), "Id") == 7)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Key_equality_using_property_method_and_member_expression1(bool async) => AssertQuery( async, ss => ss.Set().Where(l => EF.Property(l, "OneToOne_Required_FK1").Id == 7)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Key_equality_using_property_method_and_member_expression2(bool async) => AssertQuery( async, ss => ss.Set().Where(l => EF.Property(l.OneToOne_Required_FK1, "Id") == 7)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Key_equality_using_property_method_and_member_expression3(bool async) => AssertQuery( async, ss => ss.Set().Where(l => EF.Property(l.OneToOne_Required_FK_Inverse2, "Id") == 7)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Key_equality_navigation_converted_to_FK(bool async) => AssertQuery( async, ss => ss.Set().Where(l => l.OneToOne_Required_FK_Inverse2 == new Level1 { Id = 1 }), ss => ss.Set().Where(l => l.OneToOne_Required_FK_Inverse2.Id == 1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Key_equality_two_conditions_on_same_navigation(bool async) => AssertQuery( async, @@ -89,7 +89,7 @@ public virtual Task Key_equality_two_conditions_on_same_navigation(bool async) ss => ss.Set().Where(l => l.OneToOne_Required_FK1.Id == 1 || l.OneToOne_Required_FK1.Id == 2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Key_equality_two_conditions_on_same_navigation2(bool async) => AssertQuery( async, @@ -98,7 +98,7 @@ public virtual Task Key_equality_two_conditions_on_same_navigation2(bool async) ss => ss.Set().Where(l => l.OneToOne_Required_FK_Inverse2.Id == 1 || l.OneToOne_Required_FK_Inverse2.Id == 2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Multi_level_include_with_short_circuiting(bool async) { using var context = CreateContext(); @@ -144,7 +144,7 @@ public virtual async Task Multi_level_include_with_short_circuiting(bool async) Assert.Equal("Language9", globalizations_1_placeholder[0].Language.Name); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_navigation_key_access_optional(bool async) => AssertQuery( async, @@ -153,7 +153,7 @@ join e2 in ss.Set() on e1.Id equals e2.OneToOne_Optional_FK_Inverse2.Id select new { Id1 = e1.Id, Id2 = e2.Id }, e => (e.Id1, e.Id2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_navigation_key_access_required(bool async) => AssertQuery( async, @@ -162,7 +162,7 @@ join e2 in ss.Set() on e1.Id equals e2.OneToOne_Required_FK_Inverse2.Id select new { Id1 = e1.Id, Id2 = e2.Id }, e => (e.Id1, e.Id2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_key_access_optional_comparison(bool async) => AssertQueryScalar( async, @@ -170,32 +170,32 @@ public virtual Task Navigation_key_access_optional_comparison(bool async) where e2.OneToOne_Optional_PK_Inverse2.Id > 5 select e2.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Simple_level1_include(bool async) => AssertQuery( async, ss => ss.Set().Include(l1 => l1.OneToOne_Required_PK1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Simple_level1(bool async) => AssertQuery( async, ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Simple_level1_level2_include(bool async) => AssertQuery( async, ss => ss.Set().Include(l1 => l1.OneToOne_Required_PK1.OneToOne_Required_PK2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Simple_level1_level2_GroupBy_Count(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(l1 => l1.OneToOne_Required_PK1.OneToOne_Required_PK2.Name) .Select(g => g.Count())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Simple_level1_level2_GroupBy_Having_Count(bool async) => AssertQueryScalar( async, @@ -205,13 +205,13 @@ public virtual Task Simple_level1_level2_GroupBy_Having_Count(bool async) .Where(g => g.Min(l1 => l1.Id) > 0) .Select(g => g.Count())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Simple_level1_level2_level3_include(bool async) => AssertQuery( async, ss => ss.Set().Include(l1 => l1.OneToOne_Required_PK1.OneToOne_Required_PK2.OneToOne_Required_PK3)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_key_access_required_comparison(bool async) => AssertQueryScalar( async, @@ -219,7 +219,7 @@ public virtual Task Navigation_key_access_required_comparison(bool async) where e2.OneToOne_Required_PK_Inverse2.Id > 5 select e2.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_inside_method_call_translated_to_join(bool async) => AssertQuery( async, @@ -230,7 +230,7 @@ where e1.OneToOne_Required_FK1.Name.StartsWith("L") where e1.OneToOne_Required_FK1.Name.MaybeScalar(x => x.StartsWith("L")) == true select e1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_inside_method_call_translated_to_join2(bool async) => AssertQuery( async, @@ -238,7 +238,7 @@ public virtual Task Navigation_inside_method_call_translated_to_join2(bool async where e3.OneToOne_Required_FK_Inverse3.Name.StartsWith("L") select e3); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_inside_method_call_translated_to_join(bool async) => AssertQuery( async, @@ -249,7 +249,7 @@ where e1.OneToOne_Optional_FK1.Name.StartsWith("L") where e1.OneToOne_Optional_FK1.Name.MaybeScalar(x => x.StartsWith("L")) == true select e1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_inside_property_method_translated_to_join(bool async) => AssertQuery( async, @@ -257,7 +257,7 @@ public virtual Task Optional_navigation_inside_property_method_translated_to_joi where EF.Property(EF.Property(e1, "OneToOne_Optional_FK1"), "Name") == "L2 01" select e1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_inside_nested_method_call_translated_to_join(bool async) => AssertQuery( async, @@ -269,7 +269,7 @@ where e1.OneToOne_Optional_FK1.Name.MaybeScalar(x => x.ToUpper().StartsWith("L") == true select e1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Method_call_on_optional_navigation_translates_to_null_conditional_properly_for_arguments(bool async) => AssertQuery( async, @@ -280,7 +280,7 @@ where e1.OneToOne_Optional_FK1.Name.StartsWith(e1.OneToOne_Optional_FK1.Name) where e1.OneToOne_Optional_FK1.Name.MaybeScalar(x => x.StartsWith(e1.OneToOne_Optional_FK1.Name)) == true select e1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_inside_method_call_translated_to_join_keeps_original_nullability(bool async) => AssertQuery( async, @@ -293,7 +293,7 @@ from e1 in ss.Set() where e1.OneToOne_Optional_FK1.MaybeScalar(x => x.Date.AddDays(10)) > new DateTime(2000, 2, 1) select e1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_inside_nested_method_call_translated_to_join_keeps_original_nullability(bool async) => AssertQuery( async, @@ -306,7 +306,7 @@ from e1 in ss.Set() where e1.OneToOne_Optional_FK1.MaybeScalar(x => x.Date.AddDays(10).AddDays(15).AddMonths(2)) > new DateTime(2000, 2, 1) select e1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_inside_nested_method_call_translated_to_join_keeps_original_nullability_also_for_arguments( bool async) => AssertQuery( @@ -320,7 +320,7 @@ from e1 in ss.Set() where e1.OneToOne_Optional_FK1.MaybeScalar(x => x.Date.AddDays(15).AddDays(x.Id)) > new DateTime(2000, 2, 1) select e1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_navigation_in_outer_selector_translated_to_extra_join(bool async) => AssertQuery( async, @@ -329,7 +329,7 @@ join e2 in ss.Set() on e1.OneToOne_Optional_FK1.Id equals e2.Id select new { Id1 = e1.Id, Id2 = e2.Id }, e => (e.Id1, e.Id2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_navigation_in_outer_selector_translated_to_extra_join_nested(bool async) => AssertQuery( async, @@ -338,7 +338,7 @@ join e3 in ss.Set() on e1.OneToOne_Required_FK1.OneToOne_Optional_FK2.Id select new { Id1 = e1.Id, Id3 = e3.Id }, e => (e.Id1, e.Id3)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_navigation_in_outer_selector_translated_to_extra_join_nested2(bool async) => AssertQuery( async, @@ -347,7 +347,7 @@ join e1 in ss.Set() on e3.OneToOne_Required_FK_Inverse3.OneToOne_Optiona select new { Id3 = e3.Id, Id1 = e1.Id }, e => (e.Id1, e.Id3)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_navigation_in_inner_selector(bool async) => AssertQuery( async, @@ -356,7 +356,7 @@ join e1 in ss.Set() on e2.Id equals e1.OneToOne_Optional_FK1.Id select new { Id2 = e2.Id, Id1 = e1.Id }, e => (e.Id2, e.Id1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_navigations_in_inner_selector_translated_without_collision(bool async) => AssertQuery( async, @@ -371,7 +371,7 @@ join e3 in ss.Set() on e2.Id equals e3.OneToOne_Optional_FK_Inverse3.Id }, e => (e.Id2, e.Id1, e.Id3)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_navigation_non_key_join(bool async) => AssertQuery( async, @@ -387,7 +387,7 @@ join e1 in ss.Set() on e2.Name equals e1.OneToOne_Optional_FK1.Name }, e => (e.Id2, e.Name2, e.Id1, e.Name1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_with_orderby_on_inner_sequence_navigation_non_key_join(bool async) => AssertQuery( async, @@ -403,7 +403,7 @@ join e1 in ss.Set().OrderBy(l1 => l1.Id) on e2.Name equals e1.OneToOne_O }, e => (e.Id2, e.Name2, e.Id1, e.Name1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_navigation_self_ref(bool async) => AssertQuery( async, @@ -412,7 +412,7 @@ join e2 in ss.Set() on e1.Id equals e2.OneToMany_Optional_Self_Inverse1. select new { Id1 = e1.Id, Id2 = e2.Id }, e => (e.Id1, e.Id2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_navigation_nested(bool async) => AssertQuery( async, @@ -421,7 +421,7 @@ join e1 in ss.Set() on e3.Id equals e1.OneToOne_Required_FK1.OneToOne_Op select new { Id3 = e3.Id, Id1 = e1.Id }, e => (e.Id3, e.Id1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_navigation_nested2(bool async) => AssertQuery( async, @@ -430,7 +430,7 @@ join e1 in ss.Set().OrderBy(ll => ll.Id) on e3.Id equals e1.OneToOne_Req select new { Id3 = e3.Id, Id1 = e1.Id }, e => (e.Id3, e.Id1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_navigation_deeply_nested_non_key_join(bool async) => AssertQuery( async, @@ -446,7 +446,7 @@ join e1 in ss.Set() on e4.Name equals e1.OneToOne_Required_FK1.OneToOne_ }, e => (e.Id4, e.Name4, e.Id1, e.Name1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_navigation_deeply_nested_required(bool async) => AssertQuery( async, @@ -463,7 +463,7 @@ join e4 in ss.Set() on e1.Name equals e4.OneToOne_Required_FK_Inverse4.O }, e => (e.Id4, e.Name4, e.Id1, e.Name1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_and_project_into_anonymous_type(bool async) => AssertQuery( async, @@ -475,13 +475,13 @@ public virtual Task Include_reference_and_project_into_anonymous_type(bool async AssertEqual(e.Id, a.Id); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_nav_prop_reference_optional1(bool async) => AssertQuery( async, ss => ss.Set().Select(e => e.OneToOne_Optional_FK1.Name)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_nav_prop_reference_optional1_via_DefaultIfEmpty(bool async) => AssertQuery( async, @@ -491,13 +491,13 @@ join l2 in ss.Set() on l1.Id equals l2.Level1_Optional_Id into groupJoin from l2 in groupJoin.DefaultIfEmpty() select l2 == null ? null : l2.Name); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_nav_prop_reference_optional2(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(e => (int?)e.OneToOne_Optional_FK1.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_nav_prop_reference_optional2_via_DefaultIfEmpty(bool async) => AssertQueryScalar( async, @@ -506,13 +506,13 @@ join l2 in ss.Set() on l1.Id equals l2.Level1_Optional_Id into groupJoin from l2 in groupJoin.DefaultIfEmpty() select l2 == null ? null : (int?)l2.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_nav_prop_reference_optional3(bool async) => AssertQuery( async, ss => ss.Set().Select(e => e.OneToOne_Optional_FK_Inverse2.Name)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_nav_prop_reference_optional1(bool async) => AssertQueryScalar( async, @@ -520,7 +520,7 @@ public virtual Task Where_nav_prop_reference_optional1(bool async) .Where(e => e.OneToOne_Optional_FK1.Name == "L2 05" || e.OneToOne_Optional_FK1.Name == "L2 07") .Select(e => e.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_nav_prop_reference_optional1_via_DefaultIfEmpty(bool async) => AssertQueryScalar( async, @@ -532,7 +532,7 @@ from l2Right in groupJoinRight.DefaultIfEmpty() where (l2Left == null ? null : l2Left.Name) == "L2 05" || (l2Right == null ? null : l2Right.Name) == "L2 07" select l1.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_nav_prop_reference_optional2(bool async) => AssertQueryScalar( async, @@ -540,7 +540,7 @@ public virtual Task Where_nav_prop_reference_optional2(bool async) .Where(e => e.OneToOne_Optional_FK1.Name == "L2 05" || e.OneToOne_Optional_FK1.Name != "L2 42") .Select(e => e.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_nav_prop_reference_optional2_via_DefaultIfEmpty(bool async) => AssertQueryScalar( async, @@ -552,13 +552,13 @@ from l2Right in groupJoinRight.DefaultIfEmpty() where (l2Left == null ? null : l2Left.Name) == "L2 05" || (l2Right == null ? null : l2Right.Name) != "L2 42" select l1.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_multiple_nav_prop_reference_optional(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(e => (int?)e.OneToOne_Optional_FK1.OneToOne_Optional_FK2.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_multiple_nav_prop_reference_optional_member_compared_to_value(bool async) => AssertQuery( async, @@ -567,7 +567,7 @@ from l1 in ss.Set() where l1.OneToOne_Optional_FK1.OneToOne_Optional_FK2.Name != "L3 05" select l1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_multiple_nav_prop_reference_optional_member_compared_to_null(bool async) => AssertQuery( async, @@ -576,7 +576,7 @@ from l1 in ss.Set() where l1.OneToOne_Optional_FK1.OneToOne_Optional_FK2.Name != null select l1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_multiple_nav_prop_reference_optional_compared_to_null1(bool async) => AssertQuery( async, @@ -585,7 +585,7 @@ from l1 in ss.Set() where l1.OneToOne_Optional_FK1.OneToOne_Optional_FK2 == null select l1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_multiple_nav_prop_reference_optional_compared_to_null2(bool async) => AssertQuery( async, @@ -594,7 +594,7 @@ from l3 in ss.Set() where l3.OneToOne_Optional_FK_Inverse3.OneToOne_Optional_FK_Inverse2 == null select l3); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_multiple_nav_prop_reference_optional_compared_to_null3(bool async) => AssertQuery( async, @@ -603,7 +603,7 @@ from l1 in ss.Set() where null != l1.OneToOne_Optional_FK1.OneToOne_Optional_FK2 select l1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_multiple_nav_prop_reference_optional_compared_to_null4(bool async) => AssertQuery( async, @@ -612,32 +612,32 @@ from l3 in ss.Set() where null != l3.OneToOne_Optional_FK_Inverse3.OneToOne_Optional_FK_Inverse2 select l3); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_multiple_nav_prop_reference_optional_compared_to_null5(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.OneToOne_Optional_FK1.OneToOne_Required_FK2.OneToOne_Required_FK3 == null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_multiple_nav_prop_reference_required(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(e => (int?)e.OneToOne_Required_FK1.OneToOne_Required_FK2.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_multiple_nav_prop_reference_required2(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(e => e.OneToOne_Required_FK_Inverse3.OneToOne_Required_FK_Inverse2.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_multiple_nav_prop_optional_required(bool async) => AssertQueryScalar( async, ss => from l1 in ss.Set() select (int?)l1.OneToOne_Optional_FK1.OneToOne_Required_FK2.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_multiple_nav_prop_optional_required(bool async) => AssertQuery( async, @@ -646,7 +646,7 @@ from l1 in ss.Set() where l1.OneToOne_Optional_FK1.OneToOne_Required_FK2.Name != "L3 05" select l1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_navigation_comparison1(bool async) => AssertQuery( async, @@ -662,7 +662,7 @@ from l12 in ss.Set() select new { Id1 = l11.Id, Id2 = l12.Id }, e => (e.Id1, e.Id2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_navigation_comparison2(bool async) => AssertQuery( async, @@ -678,7 +678,7 @@ from l2 in ss.Set() select new { Id1 = l1.Id, Id2 = l2.Id }, e => (e.Id1, e.Id2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_navigation_comparison3(bool async) => AssertQuery( async, @@ -694,7 +694,7 @@ from l2 in ss.Set() select new { Id1 = l1.Id, Id2 = l2.Id }, e => (e.Id1, e.Id2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_complex_predicate_with_with_nav_prop_and_OrElse1(bool async) => AssertQuery( async, @@ -705,7 +705,7 @@ from l2 in ss.Set() select new { Id1 = (int?)l1.Id, Id2 = (int?)l2.Id }, e => (e.Id1, e.Id2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_complex_predicate_with_with_nav_prop_and_OrElse2(bool async) => AssertQueryScalar( async, @@ -713,7 +713,7 @@ public virtual Task Where_complex_predicate_with_with_nav_prop_and_OrElse2(bool where l1.OneToOne_Optional_FK1.OneToOne_Required_FK2.Name == "L3 05" || l1.OneToOne_Optional_FK1.Name != "L2 05" select l1.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_complex_predicate_with_with_nav_prop_and_OrElse3(bool async) => AssertQueryScalar( async, @@ -721,7 +721,7 @@ public virtual Task Where_complex_predicate_with_with_nav_prop_and_OrElse3(bool where l1.OneToOne_Optional_FK1.Name != "L2 05" || l1.OneToOne_Required_FK1.OneToOne_Optional_FK2.Name == "L3 05" select l1.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_complex_predicate_with_with_nav_prop_and_OrElse4(bool async) => AssertQueryScalar( async, @@ -730,7 +730,7 @@ public virtual Task Where_complex_predicate_with_with_nav_prop_and_OrElse4(bool || l3.OneToOne_Required_FK_Inverse3.OneToOne_Optional_FK_Inverse2.Name == "L1 05" select l3.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Complex_navigations_with_predicate_projected_into_anonymous_type(bool async) => AssertQuery( async, @@ -740,7 +740,7 @@ public virtual Task Complex_navigations_with_predicate_projected_into_anonymous_ .Select(e => new { e.Name, Id = (int?)e.OneToOne_Required_FK1.OneToOne_Optional_FK2.Id }), elementSorter: e => (e.Name, e.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Complex_navigations_with_predicate_projected_into_anonymous_type2(bool async) => AssertQuery( async, @@ -751,7 +751,7 @@ where e.OneToOne_Required_FK_Inverse3.OneToOne_Required_FK_Inverse2 select new { e.Name, Id = (int?)e.OneToOne_Required_FK_Inverse3.OneToOne_Optional_FK_Inverse2.Id }, e => (e.Name, e.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_projected_into_DTO(bool async) => AssertQuery( async, @@ -786,14 +786,14 @@ public class MyInnerDto public string Name { get; set; } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_nav_prop_reference_optional(bool async) => AssertQueryScalar( async, ss => ss.Set().OrderBy(e => e.OneToOne_Optional_FK1.Name).ThenBy(e => e.Id).Select(e => e.Id), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_nav_prop_reference_optional_via_DefaultIfEmpty(bool async) => AssertQueryScalar( async, @@ -804,7 +804,7 @@ from l2 in groupJoin.DefaultIfEmpty() select l1.Id, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Result_operator_nav_prop_reference_optional_Sum(bool async) => AssertSum( async, @@ -813,7 +813,7 @@ public virtual Task Result_operator_nav_prop_reference_optional_Sum(bool async) actualSelector: e => e.OneToOne_Optional_FK1.Level1_Required_Id, expectedSelector: e => e.OneToOne_Optional_FK1.MaybeScalar(x => x.Level1_Required_Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Result_operator_nav_prop_reference_optional_Min(bool async) => AssertMin( async, @@ -822,7 +822,7 @@ public virtual Task Result_operator_nav_prop_reference_optional_Min(bool async) actualSelector: e => e.OneToOne_Optional_FK1.Level1_Required_Id, expectedSelector: e => e.OneToOne_Optional_FK1.MaybeScalar(x => x.Level1_Required_Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Result_operator_nav_prop_reference_optional_Max(bool async) => AssertMax( async, @@ -831,7 +831,7 @@ public virtual Task Result_operator_nav_prop_reference_optional_Max(bool async) actualSelector: e => e.OneToOne_Optional_FK1.Level1_Required_Id, expectedSelector: e => e.OneToOne_Optional_FK1.MaybeScalar(x => x.Level1_Required_Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Result_operator_nav_prop_reference_optional_Average(bool async) => AssertAverage( async, @@ -840,20 +840,20 @@ public virtual Task Result_operator_nav_prop_reference_optional_Average(bool asy actualSelector: e => e.OneToOne_Optional_FK1.Level1_Required_Id, expectedSelector: e => e.OneToOne_Optional_FK1.MaybeScalar(x => x.Level1_Required_Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Result_operator_nav_prop_reference_optional_Average_with_identity_selector(bool async) => AssertAverage( async, ss => ss.Set().Select(e => (int?)e.OneToOne_Optional_FK1.Level1_Required_Id), selector: e => e); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Result_operator_nav_prop_reference_optional_Average_without_selector(bool async) => AssertAverage( async, ss => ss.Set().Select(e => (int?)e.OneToOne_Optional_FK1.Level1_Required_Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Result_operator_nav_prop_reference_optional_via_DefaultIfEmpty(bool async) => AssertSum( async, @@ -863,7 +863,7 @@ from l2 in groupJoin.DefaultIfEmpty() select l2, selector: e => e == null ? 0 : e.Level1_Required_Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_with_optional_navigation(bool async) => AssertQuery( async, @@ -872,7 +872,7 @@ public virtual Task Include_with_optional_navigation(bool async) select l1, elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l1 => l1.OneToOne_Optional_FK1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_flattening_bug_4539(bool async) => AssertQuery( async, @@ -885,7 +885,7 @@ join l2_Required_Reverse in ss.Set() on l2.Level1_Required_Id equals l2_ select new { l1_Optional, l2_Required_Reverse }, elementSorter: e => (e.l1_Optional?.Id, e.l2_Required_Reverse.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Query_source_materialization_bug_4547(bool async) => AssertQueryScalar( async, @@ -909,38 +909,38 @@ from subQuery3 in grouping.DefaultIfEmpty() ).Where(x => x != null).FirstOrDefault() select e1.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_navigation_property(bool async) => AssertQuery( async, ss => ss.Set().SelectMany(l1 => l1.OneToMany_Optional1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_navigation_property_and_projection(bool async) => AssertQuery( async, ss => ss.Set().SelectMany(l1 => l1.OneToMany_Optional1).Select(e => e.Name)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_navigation_property_and_filter_before(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.Id == 1).SelectMany(l1 => l1.OneToMany_Optional1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_navigation_property_and_filter_after(bool async) => AssertQuery( async, ss => ss.Set().SelectMany(l1 => l1.OneToMany_Optional1).Where(e => e.Id != 6)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_nested_navigation_property_required(bool async) => AssertQuery( async, ss => ss.Set().SelectMany(l1 => l1.OneToOne_Required_FK1.OneToMany_Optional2), ss => ss.Set().SelectMany(l1 => l1.OneToOne_Required_FK1.OneToMany_Optional2 ?? new List())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_nested_navigation_property_optional_and_projection(bool async) => AssertQuery( async, @@ -948,40 +948,40 @@ public virtual Task SelectMany_nested_navigation_property_optional_and_projectio ss => ss.Set().SelectMany(l1 => l1.OneToOne_Optional_FK1.OneToMany_Optional2 ?? new List()) .Select(e => e.Name)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_SelectMany_calls(bool async) => AssertQuery( async, ss => ss.Set().SelectMany(e => e.OneToMany_Optional1).SelectMany(e => e.OneToMany_Optional2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_navigation_property_with_another_navigation_in_subquery(bool async) => AssertQuery( async, ss => ss.Set().SelectMany(l1 => l1.OneToMany_Optional1.Select(l2 => l2.OneToOne_Optional_FK2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_navigation_property_to_collection(bool async) => AssertQuery( async, ss => ss.Set().Where(l1 => l1.OneToOne_Required_FK1.OneToMany_Optional2.Count > 0), ss => ss.Set().Where(l1 => l1.OneToOne_Required_FK1.OneToMany_Optional2.MaybeScalar(x => x.Count) > 0)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_navigation_property_to_collection2(bool async) => AssertQuery( async, ss => ss.Set().Where(l3 => l3.OneToOne_Required_FK_Inverse3.OneToMany_Optional2.Count > 0), ss => ss.Set().Where(l3 => l3.OneToOne_Required_FK_Inverse3.OneToMany_Optional2.MaybeScalar(x => x.Count) > 0)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_navigation_property_to_collection_of_original_entity_type(bool async) => AssertQuery( async, ss => ss.Set().Where(l2 => l2.OneToMany_Required_Inverse2.OneToMany_Optional1.Count() > 0), ss => ss.Set().Where(l2 => l2.OneToMany_Required_Inverse2.OneToMany_Optional1.MaybeScalar(x => x.Count()) > 0)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_subquery_doesnt_project_unnecessary_columns_in_top_level(bool async) => AssertQuery( async, @@ -990,7 +990,7 @@ public virtual Task Correlated_subquery_doesnt_project_unnecessary_columns_in_to where ss.Set().Any(l2 => l2.Level1_Required_Id == l1.Id) select l1.Name).Distinct()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_subquery_doesnt_project_unnecessary_columns_in_top_level_join(bool async) => AssertQuery( async, @@ -1000,7 +1000,7 @@ where ss.Set().Any(l2 => l2.Level1_Required_Id == e1.Id) select new { Name1 = e1.Name, Id2 = e2.Id }, e => (e.Name1, e.Id2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_nested_subquery_doesnt_project_unnecessary_columns_in_top_level(bool async) => AssertQuery( async, @@ -1008,7 +1008,7 @@ public virtual Task Correlated_nested_subquery_doesnt_project_unnecessary_column where ss.Set().Any(l2 => ss.Set().Select(l3 => l2.Id).Any()) select l1.Name).Distinct()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_nested_two_levels_up_subquery_doesnt_project_unnecessary_columns_in_top_level(bool async) => AssertQuery( async, @@ -1017,13 +1017,13 @@ where ss.Set().Any(l2 => ss.Set().Select(l3 => l1.Id).Any()) select l1.Name).Distinct() ); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_where_with_subquery(bool async) => AssertQuery( async, ss => ss.Set().SelectMany(l1 => l1.OneToMany_Required1).Where(l2 => l2.OneToMany_Required2.Any())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Order_by_key_of_projected_navigation_doesnt_get_optimized_into_FK_access1(bool async) => AssertQuery( async, @@ -1031,7 +1031,7 @@ public virtual Task Order_by_key_of_projected_navigation_doesnt_get_optimized_in elementAsserter: (e, a) => AssertEqual(e, a), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Order_by_key_of_projected_navigation_doesnt_get_optimized_into_FK_access2(bool async) => AssertQuery( async, @@ -1040,7 +1040,7 @@ public virtual Task Order_by_key_of_projected_navigation_doesnt_get_optimized_in elementAsserter: (e, a) => AssertEqual(e, a), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Order_by_key_of_projected_navigation_doesnt_get_optimized_into_FK_access3(bool async) => AssertQuery( async, @@ -1049,7 +1049,7 @@ public virtual Task Order_by_key_of_projected_navigation_doesnt_get_optimized_in elementAsserter: (e, a) => AssertEqual(e, a), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Order_by_key_of_navigation_similar_to_projected_gets_optimized_into_FK_access(bool async) => AssertQuery( async, @@ -1059,7 +1059,7 @@ orderby l3.OneToOne_Required_FK_Inverse3.Id elementAsserter: (e, a) => AssertEqual(e, a), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Order_by_key_of_projected_navigation_doesnt_get_optimized_into_FK_access_subquery(bool async) => AssertQuery( async, @@ -1070,7 +1070,7 @@ public virtual Task Order_by_key_of_projected_navigation_doesnt_get_optimized_in .Select(l2 => l2.OneToOne_Required_FK_Inverse2.Name), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Order_by_key_of_anonymous_type_projected_navigation_doesnt_get_optimized_into_FK_access_subquery(bool async) => AssertQuery( async, @@ -1081,7 +1081,7 @@ public virtual Task Order_by_key_of_anonymous_type_projected_navigation_doesnt_g .Select(l2 => l2.OneToOne_Required_FK_Inverse3.Name), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_take_optional_navigation(bool async) => AssertQuery( async, @@ -1092,7 +1092,7 @@ public virtual Task Optional_navigation_take_optional_navigation(bool async) .Select(l2 => l2.OneToOne_Optional_FK2.Name), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_select_correct_table_from_subquery_when_materialization_is_not_required(bool async) => AssertQuery( async, @@ -1103,7 +1103,7 @@ public virtual Task Projection_select_correct_table_from_subquery_when_materiali .Select(l2 => l2.Name)); // see issue #31887 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_select_correct_table_with_anonymous_projection_in_subquery(bool async) => AssertQuery( async, @@ -1118,7 +1118,7 @@ join l3 in ss.Set() on l1.Id equals l3.Level2_Required_Id .Select(l => l.l2.Name)); // see issue #31887 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_select_correct_table_in_subquery_when_materialization_is_not_required_in_multiple_joins(bool async) => AssertQuery( async, @@ -1129,7 +1129,7 @@ join l3 in ss.Set() on l1.Id equals l3.Level2_Required_Id //where l3.Name == "L3 08" select l1).OrderBy(l1 => l1.Id).Take(3).Select(l1 => l1.Name)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_predicate_on_optional_reference_navigation(bool async) => AssertQuery( async, @@ -1139,7 +1139,7 @@ public virtual Task Where_predicate_on_optional_reference_navigation(bool async) .Take(3) .Select(l1 => l1.Name)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_string_based_Include1(bool async) => AssertQuery( async, @@ -1148,7 +1148,7 @@ public virtual Task SelectMany_with_string_based_Include1(bool async) .Include("OneToOne_Required_FK2"), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l2 => l2.OneToOne_Required_FK2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_EF_Property_Include1(bool async) => AssertQuery( async, @@ -1157,7 +1157,7 @@ public virtual Task SelectMany_with_EF_Property_Include1(bool async) .Include(l2 => EF.Property(l2, "OneToOne_Required_FK2")), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l2 => l2.OneToOne_Required_FK2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_string_based_Include2(bool async) => AssertQuery( async, @@ -1168,7 +1168,7 @@ public virtual Task SelectMany_with_string_based_Include2(bool async) e, a, new ExpectedInclude(l2 => l2.OneToOne_Required_FK2), new ExpectedInclude(l3 => l3.OneToOne_Required_FK3, "OneToOne_Required_FK2"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_SelectMany_with_string_based_Include(bool async) => AssertQuery( async, @@ -1178,7 +1178,7 @@ public virtual Task Multiple_SelectMany_with_string_based_Include(bool async) .Include("OneToOne_Required_FK3"), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l3 => l3.OneToOne_Required_FK3))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_SelectMany_with_EF_Property_Include(bool async) => AssertQuery( async, @@ -1188,7 +1188,7 @@ public virtual Task Multiple_SelectMany_with_EF_Property_Include(bool async) .Include(l3 => EF.Property(l3, "OneToOne_Required_FK3")), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l3 => l3.OneToOne_Required_FK3))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_required_navigations_with_Include(bool async) // Include after select. Issue #16752. => AssertIncludeOnNonEntity(() => AssertQuery( @@ -1198,7 +1198,7 @@ public virtual Task Multiple_required_navigations_with_Include(bool async) .Include(l2 => l2.OneToOne_Optional_FK2), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l2 => l2.OneToOne_Optional_FK2)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_required_navigation_using_multiple_selects_with_Include(bool async) // Include after select. Issue #16752. => AssertIncludeOnNonEntity(() => AssertQuery( @@ -1209,7 +1209,7 @@ public virtual Task Multiple_required_navigation_using_multiple_selects_with_Inc .Include(l2 => l2.OneToOne_Optional_FK2), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l2 => l2.OneToOne_Optional_FK2)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_required_navigation_with_string_based_Include(bool async) // Include after select. Issue #16752. => AssertIncludeOnNonEntity(() => AssertQuery( @@ -1219,7 +1219,7 @@ public virtual Task Multiple_required_navigation_with_string_based_Include(bool .Include("OneToOne_Optional_FK2"), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l2 => l2.OneToOne_Optional_FK2)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_required_navigation_with_EF_Property_Include(bool async) // Include after select. Issue #16752. => AssertIncludeOnNonEntity(() => AssertQuery( @@ -1229,7 +1229,7 @@ public virtual Task Multiple_required_navigation_with_EF_Property_Include(bool a .Include(l2 => EF.Property(l2, "OneToOne_Optional_FK2")), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l2 => l2.OneToOne_Optional_FK2)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_required_navigation_using_multiple_selects_with_string_based_Include(bool async) // Include after select. Issue #16752. => AssertIncludeOnNonEntity(() => AssertQuery( @@ -1240,7 +1240,7 @@ public virtual Task Multiple_required_navigation_using_multiple_selects_with_str .Include("OneToOne_Optional_FK2"), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l2 => l2.OneToOne_Optional_FK2)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_required_navigation_using_multiple_selects_with_EF_Property_Include(bool async) // Include after select. Issue #16752. => AssertIncludeOnNonEntity(() => AssertQuery( @@ -1251,7 +1251,7 @@ public virtual Task Multiple_required_navigation_using_multiple_selects_with_EF_ .Include(l2 => EF.Property(l2, "OneToOne_Optional_FK2")), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l2 => l2.OneToOne_Optional_FK2)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_with_Include(bool async) // Include after select. Issue #16752. => AssertIncludeOnNonEntity(() => AssertQuery( @@ -1261,7 +1261,7 @@ public virtual Task Optional_navigation_with_Include(bool async) .Include(l2 => l2.OneToOne_Optional_FK2), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l2 => l2.OneToOne_Optional_FK2)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_navigation_and_explicit_DefaultIfEmpty(bool async) => AssertQuery( async, @@ -1271,7 +1271,7 @@ from l2 in l1.OneToMany_Optional1.DefaultIfEmpty() where l2 != null select l1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_navigation_filter_and_explicit_DefaultIfEmpty(bool async) => AssertQuery( async, @@ -1280,7 +1280,7 @@ from l2 in l1.OneToMany_Optional1.Where(l => l.Id > 5).DefaultIfEmpty() where l2 != null select l1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_nested_navigation_and_explicit_DefaultIfEmpty(bool async) => AssertQuery( async, @@ -1293,7 +1293,7 @@ from l3 in l1.OneToOne_Required_FK1.OneToMany_Optional2.DefaultIfEmpty() where l3 != null select l1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_nested_navigation_filter_and_explicit_DefaultIfEmpty(bool async) => AssertQuery( async, @@ -1306,7 +1306,7 @@ from l3 in l1.OneToOne_Optional_FK1.OneToMany_Optional2.Where(l => l.Id > 5).Def where l3 != null select l1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_nested_required_navigation_filter_and_explicit_DefaultIfEmpty(bool async) => AssertQuery( async, @@ -1319,7 +1319,7 @@ from l3 in l1.OneToOne_Required_FK1.OneToMany_Required2.Where(l => l.Id > 5).Def where l3 != null select l1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_nested_navigations_and_additional_joins_outside_of_SelectMany(bool async) => AssertQuery( async, @@ -1341,7 +1341,7 @@ equals l2.Level1_Optional_Id AssertEqual(e.l2, a.l2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_nested_navigations_explicit_DefaultIfEmpty_and_additional_joins_outside_of_SelectMany( bool async) => AssertQuery( @@ -1359,7 +1359,7 @@ on l1.Id equals l2.Level1_Optional_Id AssertEqual(e.l2, a.l2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_nested_navigations_explicit_DefaultIfEmpty_and_additional_joins_outside_of_SelectMany2( bool async) => AssertQuery( @@ -1375,7 +1375,7 @@ join l1 in ss.Set() on l2.Level1_Optional_Id equals l1.Id AssertEqual(e.l1, a.l1); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_nested_navigations_explicit_DefaultIfEmpty_and_additional_joins_outside_of_SelectMany3( bool async) => AssertQuery( @@ -1391,7 +1391,7 @@ join l2 in ss.Set() on l4.Id equals l2.Id AssertEqual(e.l2, a.l2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_nested_navigations_explicit_DefaultIfEmpty_and_additional_joins_outside_of_SelectMany4( bool async) => AssertQuery( @@ -1408,7 +1408,7 @@ from l2 in grouping.DefaultIfEmpty() AssertEqual(e.l2, a.l2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_SelectMany_with_nested_navigations_and_explicit_DefaultIfEmpty_joined_together(bool async) => AssertQuery( async, @@ -1426,7 +1426,7 @@ on l4.Id equals l2.Id AssertEqual(e.l2, a.l2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_nested_navigations_and_explicit_DefaultIfEmpty_followed_by_Select_required_navigation_using_same_navs( bool async) @@ -1436,7 +1436,7 @@ public virtual Task => l4.OneToOne_Required_FK_Inverse4.OneToOne_Required_FK_Inverse3.OneToMany_Required2.DefaultIfEmpty()) select l3.OneToOne_Required_FK_Inverse3.OneToOne_Required_PK_Inverse2); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_nested_navigations_and_explicit_DefaultIfEmpty_followed_by_Select_required_navigation_using_different_navs( bool async) @@ -1445,7 +1445,7 @@ public virtual Task ss => from l3 in ss.Set().SelectMany(l1 => l1.OneToOne_Optional_FK1.OneToMany_Optional2.DefaultIfEmpty()) select l3.OneToOne_Required_FK_Inverse3.OneToOne_Required_PK_Inverse2); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_SelectMany_with_navigation_and_explicit_DefaultIfEmpty(bool async) => AssertQuery( async, @@ -1455,7 +1455,7 @@ from l3 in l2.OneToMany_Optional2.Where(l => l.Id > 5).DefaultIfEmpty() where l3 != null select l1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_navigation_filter_paging_and_explicit_DefaultIfEmpty(bool async) => AssertQuery( async, @@ -1464,7 +1464,7 @@ from l2 in l1.OneToMany_Required1.Where(l => l.Id > 5).OrderBy(l => l.Id).Take(3 where l2 != null select l1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_join_subquery_containing_filter_and_distinct(bool async) => AssertQuery( async, @@ -1479,7 +1479,7 @@ join l2 in ss.Set().Where(l => l.Id > 2).Distinct() on l1.Id equals l2.L AssertEqual(e.l2, a.l2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_join_with_key_selector_being_a_subquery(bool async) => AssertQuery( async, @@ -1493,7 +1493,7 @@ join l2 in ss.Set() on l1.Id equals ss.Set().Select(l => l.Id).O AssertEqual(e.l2, a.l2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_subquery_optional_navigation_and_constant_item(bool async) => AssertQuery( async, @@ -1502,7 +1502,7 @@ public virtual Task Contains_with_subquery_optional_navigation_and_constant_item => l1.OneToOne_Optional_FK1.OneToMany_Optional2.MaybeScalar(x => x.Distinct().Select(l3 => l3.Id).Contains(6)) == true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_subquery_optional_navigation_scalar_distinct_and_constant_item(bool async) => AssertQuery( async, @@ -1512,7 +1512,7 @@ public virtual Task Contains_with_subquery_optional_navigation_scalar_distinct_a => l1.OneToOne_Optional_FK1.OneToMany_Optional2.MaybeScalar(x => x.Select(l3 => l3.Name.Length).Distinct().Contains(5)) == true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Complex_query_with_optional_navigations_and_client_side_evaluation(bool async) => AssertQuery( async, @@ -1524,7 +1524,7 @@ public virtual Task Complex_query_with_optional_navigations_and_client_side_eval .All(a => true)), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Required_navigation_on_a_subquery_with_First_in_projection(bool async) => AssertQuery( async, @@ -1532,7 +1532,7 @@ public virtual Task Required_navigation_on_a_subquery_with_First_in_projection(b .Where(l2o => l2o.Id == 7) .Select(l2o => ss.Set().OrderBy(l2i => l2i.Id).First().OneToOne_Required_FK_Inverse2.Name)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Required_navigation_on_a_subquery_with_complex_projection_and_First(bool async) => AssertQuery( async, @@ -1547,7 +1547,7 @@ orderby l2i.Id select new { Navigation = l2i.OneToOne_Required_FK_Inverse2, Constant = 7 }).First().Navigation.Name); // see issue #31887 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Required_navigation_on_a_subquery_with_First_in_predicate(bool async) => AssertQuery( async, @@ -1568,7 +1568,7 @@ public virtual Task Required_navigation_on_a_subquery_with_First_in_predicate(bo // ss.Set().OrderBy(l2i => l2i.Id).First().OneToOne_Required_FK_Inverse2, "Name") // == "L1 10")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Manually_created_left_join_propagates_nullability_to_navigations(bool async) => AssertQuery( async, @@ -1578,7 +1578,7 @@ from l2_manual in grouping.DefaultIfEmpty() where l2_manual.OneToOne_Required_FK_Inverse2.Name != "L3 02" select l2_manual.OneToOne_Required_FK_Inverse2.Name); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_propagates_nullability_to_manually_created_left_join1(bool async) => AssertQuery( async, @@ -1588,7 +1588,7 @@ from l2 in grouping.DefaultIfEmpty() select new { Id1 = (int?)l2_nav.Id, Id2 = (int?)l2.Id }, elementSorter: e => e.Id1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_propagates_nullability_to_manually_created_left_join2(bool async) => AssertQuery( async, @@ -1599,7 +1599,7 @@ from l2_nav in grouping.DefaultIfEmpty() select new { Name1 = l3.Name, Name2 = l2_nav.Name }, elementSorter: e => (e.Name1, e.Name2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Null_reference_protection_complex(bool async) => AssertQuery( async, @@ -1613,7 +1613,7 @@ on l3.Level2_Required_Id equals l2_outer.Id into grouping_outer from l2_outer in grouping_outer.DefaultIfEmpty() select l2_outer.Name); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Null_reference_protection_complex_materialization(bool async) => AssertQuery( async, @@ -1636,7 +1636,7 @@ from l2_outer in grouping_outer.DefaultIfEmpty() private static TResult ClientMethodReturnSelf(TResult element) => element; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Null_reference_protection_complex_client_eval(bool async) => AssertQuery( async, @@ -1650,7 +1650,7 @@ on l3.Level2_Required_Id equals l2_outer.Id into grouping_outer from l2_outer in grouping_outer.DefaultIfEmpty() select ClientMethodReturnSelf(l2_outer.Name)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_with_complex_subquery_with_joins_does_not_get_flattened(bool async) => AssertQueryScalar( async, @@ -1663,7 +1663,7 @@ on l1_outer.Id equals subquery.Level1_Optional_Id into grouping from subquery in grouping.DefaultIfEmpty() select (int?)subquery.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_with_complex_subquery_with_joins_does_not_get_flattened2(bool async) => AssertQueryScalar( async, @@ -1676,7 +1676,7 @@ on l1_outer.Id equals subquery.Level1_Optional_Id into grouping from subquery in grouping.DefaultIfEmpty() select subquery != null ? (int?)subquery.Id : null); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_with_complex_subquery_with_joins_does_not_get_flattened3(bool async) => AssertQueryScalar( async, @@ -1690,7 +1690,7 @@ on l1_outer.Id equals subquery.Level1_Required_Id into grouping from subquery in grouping.DefaultIfEmpty() select (int?)subquery.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_on_a_subquery_containing_another_GroupJoin_projecting_outer(bool async) => AssertQuery( async, @@ -1705,7 +1705,7 @@ join l2_outer in ss.Set() on x.Id equals l2_outer.Level1_Optional_Id int from l2_outer in grouping_outer.DefaultIfEmpty() select l2_outer.Name); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_on_a_subquery_containing_another_GroupJoin_projecting_outer_with_client_method(bool async) // Translation failed message. Issue #17328. => AssertTranslationFailed(() => AssertQuery( @@ -1734,7 +1734,7 @@ from l2_outer in grouping_outer.DefaultIfEmpty() private static Level1 ClientLevel1(Level1 arg) => arg; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_on_a_subquery_containing_another_GroupJoin_projecting_inner(bool async) => AssertQuery( async, @@ -1749,7 +1749,7 @@ join l1_outer in ss.Set() on x.Level1_Optional_Id equals l1_outer.Id int from l1_outer in grouping_outer.DefaultIfEmpty() select l1_outer.Name); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_on_a_subquery_containing_another_GroupJoin_with_orderby_on_inner_sequence_projecting_inner( bool async) => AssertQuery( @@ -1765,7 +1765,7 @@ join l1_outer in ss.Set() on x.Level1_Optional_Id equals l1_outer.Id int from l1_outer in grouping_outer.DefaultIfEmpty() select l1_outer.Name); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_on_left_side_being_a_subquery(bool async) => AssertQuery( async, @@ -1775,7 +1775,7 @@ public virtual Task GroupJoin_on_left_side_being_a_subquery(bool async) .Select(x => new { x.Id, Brand = x.OneToOne_Optional_FK1.Name }), e => e.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_on_right_side_being_a_subquery(bool async) => AssertQuery( async, @@ -1790,7 +1790,7 @@ from l1 in grouping.DefaultIfEmpty() private static bool ClientMethod(int? id) => true; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_in_subquery_with_client_result_operator(bool async) => AssertQuery( async, @@ -1804,7 +1804,7 @@ from l2_inner in grouping.DefaultIfEmpty() where l1.Id < 3 select l1.Name); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_in_subquery_with_client_projection(bool async) => AssertQuery( async, @@ -1818,7 +1818,7 @@ select ClientStringMethod(l1_inner.Name)).Count() where l1.Id < 3 select l1.Name); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_in_subquery_with_client_projection_nested1(bool async) => AssertQuery( async, @@ -1837,7 +1837,7 @@ select ClientStringMethod(l1_inner.Name)).Count() where l1_outer.Id < 2 select l1_outer.Name); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_in_subquery_with_client_projection_nested2(bool async) => AssertQuery( async, @@ -1859,7 +1859,7 @@ where l1_outer.Id < 2 private static string ClientStringMethod(string argument) => argument; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_client_method_on_outer(bool async) => AssertQuery( async, @@ -1870,7 +1870,7 @@ from l2 in groupJoin.DefaultIfEmpty() select new { l1.Id, client = ClientMethodNullableInt(l1.Id) }, elementSorter: e => e.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_client_method_in_OrderBy(bool async) => AssertQueryScalar( async, @@ -1884,7 +1884,7 @@ orderby ClientMethodNullableInt(l1.Id), ClientMethodNullableInt(l2 != null ? l2. private static int ClientMethodNullableInt(int? id) => id ?? 0; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_without_DefaultIfEmpty(bool async) => AssertQueryScalar( async, @@ -1893,7 +1893,7 @@ join l2 in ss.Set() on l1.Id equals l2.Level1_Optional_Id into groupJoin from l2 in groupJoin.Select(gg => gg) select l1.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_with_subquery_on_inner(bool async) => AssertQueryScalar( async, @@ -1902,7 +1902,7 @@ join l2 in ss.Set() on l1.Id equals l2.Level1_Optional_Id into groupJoin from l2 in groupJoin.Where(gg => gg.Id > 0).OrderBy(gg => gg.Id).Take(10).DefaultIfEmpty() select l1.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_with_subquery_on_inner_and_no_DefaultIfEmpty(bool async) => AssertQueryScalar( async, @@ -1911,7 +1911,7 @@ join l2 in ss.Set() on l1.Id equals l2.Level1_Optional_Id into groupJoin from l2 in groupJoin.Where(gg => gg.Id > 0).OrderBy(gg => gg.Id).Take(10) select l1.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_in_subquery_with_unrelated_projection(bool async) => AssertQueryScalar( async, @@ -1920,7 +1920,7 @@ public virtual Task Optional_navigation_in_subquery_with_unrelated_projection(bo .Take(15) .Select(l1 => l1.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Explicit_GroupJoin_in_subquery_with_unrelated_projection(bool async) => AssertQueryScalar( async, @@ -1933,7 +1933,7 @@ from l2 in grouping.DefaultIfEmpty() select l1).OrderBy(l1 => l1.Id).Take(15) select l1.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Explicit_GroupJoin_in_subquery_with_unrelated_projection2(bool async) => AssertQueryScalar( async, @@ -1944,7 +1944,7 @@ from l2 in grouping.DefaultIfEmpty() select l1).Distinct() select l1.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Explicit_GroupJoin_in_subquery_with_unrelated_projection3(bool async) => AssertQueryScalar( async, @@ -1955,7 +1955,7 @@ from l2 in grouping.DefaultIfEmpty() select l1.Id).Distinct() select l1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Explicit_GroupJoin_in_subquery_with_unrelated_projection4(bool async) => AssertQueryScalar( async, @@ -1966,7 +1966,7 @@ from l2 in grouping.DefaultIfEmpty() select l1.Id).Distinct().OrderBy(id => id).Take(20) select l1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Explicit_GroupJoin_in_subquery_with_scalar_result_operator(bool async) => AssertQuery( async, @@ -1979,7 +1979,7 @@ from l2 in grouping.DefaultIfEmpty() > 4 select l1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Explicit_GroupJoin_in_subquery_with_multiple_result_operator_distinct_count_materializes_main_clause( bool async) => AssertQuery( @@ -1994,7 +1994,7 @@ from l2 in grouping.DefaultIfEmpty() select l1); // issue #31887 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_on_multilevel_reference_in_subquery_with_outer_projection(bool async) => AssertQuery( async, @@ -2006,7 +2006,7 @@ public virtual Task Where_on_multilevel_reference_in_subquery_with_outer_project .Take(10) .Select(l3 => l3.Name)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // #18808 + [Theory, MemberData(nameof(IsAsyncData))] // #18808 public virtual Task Join_on_anonymous_type_with_single_property(bool async) => AssertQuery( async, @@ -2016,7 +2016,7 @@ join l2 in ss.Set() equals new { A = EF.Property(l2, "Level1_Optional_Id") } select l1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_on_anonymous_type_with_multiple_properties(bool async) => AssertQuery( async, @@ -2035,7 +2035,7 @@ join l2 in ss.Set() } select l1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nested_group_join_with_take(bool async) => AssertQuery( async, @@ -2050,7 +2050,7 @@ join l2_outer in ss.Set() on l1_outer.Id equals l2_outer.Level1_Optional from l2_outer in grouping_outer.DefaultIfEmpty() select l2_outer.Name); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_with_same_navigation_compared_to_null(bool async) => AssertQueryScalar( async, @@ -2058,7 +2058,7 @@ public virtual Task Navigation_with_same_navigation_compared_to_null(bool async) where l2.OneToMany_Required_Inverse2.Name != "L1 07" && l2.OneToMany_Required_Inverse2 != null select l2.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multi_level_navigation_compared_to_null(bool async) => AssertQueryScalar( async, @@ -2066,7 +2066,7 @@ public virtual Task Multi_level_navigation_compared_to_null(bool async) where l3.OneToMany_Optional_Inverse3.OneToOne_Required_FK_Inverse2 != null select l3.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multi_level_navigation_with_same_navigation_compared_to_null(bool async) => AssertQueryScalar( async, @@ -2075,7 +2075,7 @@ public virtual Task Multi_level_navigation_with_same_navigation_compared_to_null where l3.OneToMany_Optional_Inverse3.OneToOne_Required_FK_Inverse2 != null select l3.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigations_compared_to_each_other1(bool async) => AssertQuery( async, @@ -2083,7 +2083,7 @@ public virtual Task Navigations_compared_to_each_other1(bool async) where l2.OneToMany_Required_Inverse2 == l2.OneToMany_Required_Inverse2 select l2.Name); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigations_compared_to_each_other2(bool async) => AssertQuery( async, @@ -2091,7 +2091,7 @@ public virtual Task Navigations_compared_to_each_other2(bool async) where l2.OneToMany_Required_Inverse2 == l2.OneToOne_Optional_PK_Inverse2 select l2.Name); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigations_compared_to_each_other3(bool async) => AssertQuery( async, @@ -2099,7 +2099,7 @@ public virtual Task Navigations_compared_to_each_other3(bool async) where l2.OneToMany_Optional2.Select(i => i.OneToOne_Optional_PK_Inverse3 == l2).Any() select l2.Name); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigations_compared_to_each_other4(bool async) => AssertQuery( async, @@ -2113,7 +2113,7 @@ where l2.OneToOne_Required_FK2.OneToMany_Optional3.MaybeScalar(x == true select l2.Name); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigations_compared_to_each_other5(bool async) => AssertQuery( async, @@ -2127,7 +2127,7 @@ where l2.OneToOne_Required_FK2.OneToMany_Optional3.MaybeScalar(x == true select l2.Name); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Level4_Include(bool async) // Include after select. Issue #16752. => AssertIncludeOnNonEntity(() => AssertQuery( @@ -2143,32 +2143,32 @@ public virtual Task Level4_Include(bool async) elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l2 => l2.OneToOne_Optional_FK2)), elementSorter: e => e.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Comparing_collection_navigation_on_optional_reference_to_null(bool async) => AssertQueryScalar( async, ss => ss.Set().Where(l1 => l1.OneToOne_Optional_FK1.OneToMany_Optional2 == null).Select(l1 => l1.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_with_client_eval_and_navigation1(bool async) => AssertQuery( async, ss => ss.Set().Select(l2 => ss.Set().OrderBy(l => l.Id).First().OneToOne_Required_FK_Inverse2.Name)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_with_client_eval_and_navigation2(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(l2 => ss.Set().OrderBy(l => l.Id).First().OneToOne_Required_FK_Inverse2.Name == "L1 02")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_with_client_eval_and_multi_level_navigation(bool async) => AssertQuery( async, ss => ss.Set().Select(l3 => ss.Set().OrderBy(l => l.Id).First().OneToOne_Required_FK_Inverse3.OneToOne_Required_FK_Inverse2.Name)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Member_doesnt_get_pushed_down_into_subquery_with_result_operator(bool async) => AssertQuery( async, @@ -2178,7 +2178,7 @@ where l1.Id < 3 select (from l3 in ss.Set() select l3).Distinct().OrderBy(l => l.Id).Skip(1).FirstOrDefault().Name); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Subquery_with_Distinct_Skip_FirstOrDefault_without_OrderBy(bool async) => AssertQuery( async, @@ -2194,7 +2194,7 @@ orderby l3.Id elementSorter: e => e.Key, elementAsserter: (e, a) => Assert.Equal(e.Key, a.Key)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_collection_navigation_count(bool async) => AssertQuery( async, @@ -2204,7 +2204,7 @@ public virtual Task Project_collection_navigation_count(bool async) select new { l1.Id, Count = l1.OneToOne_Optional_FK1.OneToMany_Optional2.MaybeScalar(x => x.Count) ?? 0 }, elementSorter: e => e.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_optional_navigation_property_string_concat(bool async) => AssertQuery( async, @@ -2212,7 +2212,7 @@ public virtual Task Select_optional_navigation_property_string_concat(bool async from l2 in l1.OneToMany_Optional1.Where(l => l.Id > 5).OrderByDescending(l => l.Name).DefaultIfEmpty() select l1.Name + " " + (l2 != null ? l2.Name : "NULL")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Entries_for_detached_entities_are_removed(bool async) { using var context = CreateContext(); @@ -2230,7 +2230,7 @@ public virtual async Task Entries_for_detached_entities_are_removed(bool async) context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking; } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_with_groupby_in_subquery(bool async) => AssertQuery( async, @@ -2240,7 +2240,7 @@ public virtual Task Include_reference_with_groupby_in_subquery(bool async) .Select(g => g.OrderBy(e => e.Id).FirstOrDefault()), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(e => e.OneToOne_Optional_FK1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multi_include_with_groupby_in_subquery(bool async) => AssertQuery( async, @@ -2252,7 +2252,7 @@ public virtual Task Multi_include_with_groupby_in_subquery(bool async) e, a, new ExpectedInclude(e1 => e1.OneToOne_Optional_FK1), new ExpectedInclude(e2 => e2.OneToMany_Optional2, "OneToOne_Optional_FK1"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_include_multiple_derived_navigation_with_same_name_and_same_type(bool async) => AssertQuery( async, @@ -2261,7 +2261,7 @@ public virtual Task String_include_multiple_derived_navigation_with_same_name_an e, a, new ExpectedInclude(e1 => e1.ReferenceSameType), new ExpectedInclude(e2 => e2.ReferenceSameType))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_include_multiple_derived_navigation_with_same_name_and_different_type(bool async) => AssertQuery( async, @@ -2270,7 +2270,7 @@ public virtual Task String_include_multiple_derived_navigation_with_same_name_an e, a, new ExpectedInclude(e1 => e1.ReferenceDifferentType), new ExpectedInclude(e2 => e2.ReferenceDifferentType))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_include_multiple_derived_navigation_with_same_name_and_different_type_nested_also_includes_partially_matching_navigation_chains( bool async) @@ -2282,7 +2282,7 @@ public virtual Task new ExpectedInclude(e2 => e2.ReferenceDifferentType), new ExpectedInclude(e3 => e3.BaseCollection, "ReferenceDifferentType"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_include_multiple_derived_collection_navigation_with_same_name_and_same_type(bool async) => AssertQuery( async, @@ -2291,7 +2291,7 @@ public virtual Task String_include_multiple_derived_collection_navigation_with_s e, a, new ExpectedInclude(e1 => e1.CollectionSameType), new ExpectedInclude(e2 => e2.CollectionSameType))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_include_multiple_derived_collection_navigation_with_same_name_and_different_type(bool async) => AssertQuery( async, @@ -2300,7 +2300,7 @@ public virtual Task String_include_multiple_derived_collection_navigation_with_s e, a, new ExpectedInclude(e1 => e1.CollectionDifferentType), new ExpectedInclude(e2 => e2.CollectionDifferentType))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_include_multiple_derived_collection_navigation_with_same_name_and_different_type_nested_also_includes_partially_matching_navigation_chains( bool async) @@ -2312,7 +2312,7 @@ public virtual Task new ExpectedInclude(e2 => e2.CollectionDifferentType), new ExpectedInclude(e3 => e3.BaseCollection, "CollectionDifferentType"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_include_multiple_derived_navigations_complex(bool async) => AssertQuery( async, @@ -2325,14 +2325,14 @@ public virtual Task String_include_multiple_derived_navigations_complex(bool asy new ExpectedInclude(e5 => e5.ReferenceSameType, "Collection"), new ExpectedInclude(e6 => e6.ReferenceSameType, "Collection"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nav_rewrite_doesnt_apply_null_protection_for_function_arguments(bool async) => AssertQueryScalar( async, ss => ss.Set().Where(l1 => l1.OneToOne_Optional_PK1 != null) .Select(l1 => Math.Max(l1.OneToOne_Optional_PK1.Level1_Required_Id, 7))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Accessing_optional_property_inside_result_operator_subquery(bool async) { var names = new[] { "Name1", "Name2" }; @@ -2342,20 +2342,20 @@ public virtual Task Accessing_optional_property_inside_result_operator_subquery( ss => ss.Set().Where(l1 => names.All(n => l1.OneToOne_Optional_FK1.Name != n))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_subquery_with_custom_projection(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(l1 => l1.Id).SelectMany(l1 => l1.OneToMany_Optional1.Select(l2 => new { l2.Name })).Take(1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include1(bool async) => AssertQuery( async, ss => ss.Set().Include(l1 => l1.OneToOne_Optional_FK1), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l1 => l1.OneToOne_Optional_FK1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include2(bool async) => AssertQuery( async, @@ -2364,7 +2364,7 @@ public virtual Task Include2(bool async) e, a, new ExpectedInclude(l1 => l1.OneToOne_Optional_FK1), new ExpectedInclude(l1 => l1.OneToOne_Optional_FK1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include3(bool async) => AssertQuery( async, @@ -2373,7 +2373,7 @@ public virtual Task Include3(bool async) e, a, new ExpectedInclude(l1 => l1.OneToOne_Optional_FK1), new ExpectedInclude(l1 => l1.OneToOne_Optional_PK1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include4(bool async) => AssertQuery( async, @@ -2382,7 +2382,7 @@ public virtual Task Include4(bool async) e, a, new ExpectedInclude(l1 => l1.OneToOne_Optional_FK1), new ExpectedInclude(l2 => l2.OneToOne_Optional_PK2, "OneToOne_Optional_FK1"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include5(bool async) => AssertQuery( async, @@ -2391,21 +2391,21 @@ public virtual Task Include5(bool async) e, a, new ExpectedInclude(l1 => l1.OneToOne_Optional_FK1), new ExpectedInclude(l2 => l2.OneToOne_Optional_PK2, "OneToOne_Optional_FK1"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include6(bool async) => AssertQuery( async, ss => ss.Set().Include(l1 => l1.OneToOne_Optional_FK1.OneToOne_Optional_PK2).Select(l1 => l1.OneToOne_Optional_FK1), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l2 => l2.OneToOne_Optional_PK2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include7(bool async) => AssertQuery( async, ss => ss.Set().Include(l1 => l1.OneToOne_Optional_FK1.OneToOne_Optional_PK2) .Select(l1 => l1.OneToOne_Optional_PK1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include8(bool async) => AssertQuery( async, @@ -2414,7 +2414,7 @@ public virtual Task Include8(bool async) .Include(l2 => l2.OneToOne_Optional_FK_Inverse2), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l2 => l2.OneToOne_Optional_FK_Inverse2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include9(bool async) => AssertQuery( async, @@ -2423,7 +2423,7 @@ public virtual Task Include9(bool async) .Where(l2 => l2.OneToOne_Optional_FK_Inverse2.Name != "Fubar"), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l2 => l2.OneToOne_Optional_FK_Inverse2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include10(bool async) => AssertQuery( async, @@ -2437,7 +2437,7 @@ public virtual Task Include10(bool async) new ExpectedInclude(l2 => l2.OneToOne_Optional_FK2, "OneToOne_Optional_PK1"), new ExpectedInclude(l3 => l3.OneToOne_Optional_PK3, "OneToOne_Optional_FK1.OneToOne_Optional_FK2"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include11(bool async) => AssertQuery( async, @@ -2459,7 +2459,7 @@ public virtual Task Include11(bool async) new ExpectedInclude(l3 => l3.OneToOne_Optional_PK3, "OneToOne_Optional_PK1.OneToOne_Optional_FK2"), new ExpectedInclude(l2 => l2.OneToOne_Optional_PK2, "OneToOne_Optional_PK1"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include12(bool async) => AssertQuery( async, @@ -2468,7 +2468,7 @@ public virtual Task Include12(bool async) .Select(l1 => l1.OneToOne_Optional_FK1), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l2 => l2.OneToOne_Optional_FK2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include13(bool async) { var expectedIncludes = new IExpectedInclude[] { new ExpectedInclude(l1 => l1.OneToOne_Optional_FK1) }; @@ -2486,7 +2486,7 @@ public virtual Task Include13(bool async) elementSorter: e => e.one.Id); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include14(bool async) => AssertQuery( async, @@ -2508,7 +2508,7 @@ public virtual Task Include14(bool async) }, elementSorter: e => e.one.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include17(bool async) { using var ctx = CreateContext(); @@ -2528,28 +2528,28 @@ public virtual Task Include17(bool async) }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include18_1(bool async) => AssertQuery( async, ss => ss.Set().Include(x => x.OneToOne_Optional_FK1).Distinct(), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l1 => l1.OneToOne_Optional_FK1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include18_1_1(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(x => x.OneToOne_Required_FK1.Name).Include(x => x.OneToOne_Optional_FK1).Take(10), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l1 => l1.OneToOne_Optional_FK1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include18_2(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.OneToOne_Required_FK1.Name != "Foo").Include(x => x.OneToOne_Optional_FK1).Distinct(), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l1 => l1.OneToOne_Optional_FK1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include18_3(bool async) { using var ctx = CreateContext(); @@ -2562,7 +2562,7 @@ public virtual async Task Include18_3(bool async) _ = async ? await query.ToListAsync() : query.ToList(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include18_3_1(bool async) { using var ctx = CreateContext(); @@ -2577,7 +2577,7 @@ public virtual async Task Include18_3_1(bool async) _ = async ? await query.ToListAsync() : query.ToList(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include18_3_2(bool async) { using var ctx = CreateContext(); @@ -2591,7 +2591,7 @@ public virtual async Task Include18_3_2(bool async) _ = async ? await query.ToListAsync() : query.ToList(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include18_3_3(bool async) => AssertQuery( async, @@ -2601,7 +2601,7 @@ public virtual Task Include18_3_3(bool async) .Distinct(), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(l1 => l1.OneToOne_Optional_FK2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include18_4(bool async) { using var ctx = CreateContext(); @@ -2611,7 +2611,7 @@ public virtual async Task Include18_4(bool async) _ = async ? await query.ToListAsync() : query.ToList(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include18(bool async) { using var ctx = CreateContext(); @@ -2625,7 +2625,7 @@ public virtual async Task Include18(bool async) _ = async ? await query.ToListAsync() : query.ToList(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include19(bool async) { using var ctx = CreateContext(); @@ -2638,21 +2638,21 @@ public virtual async Task Include19(bool async) _ = async ? await query.ToListAsync() : query.ToList(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_with_all_method_include_gets_ignored(bool async) => AssertAll( async, ss => ss.Set().Include(l1 => l1.OneToOne_Optional_FK1).Include(l1 => l1.OneToMany_Optional1), predicate: l1 => l1.Name != "Foo"); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_with_navigations_in_the_result_selector1(bool async) => AssertQuery( async, ss => ss.Set().Join( ss.Set(), l1 => l1.Id, l2 => l2.Level1_Required_Id, (o, i) => new { o.OneToOne_Optional_FK1, i })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Join_with_navigations_in_the_result_selector2(bool async) { using var ctx = CreateContext(); @@ -2664,7 +2664,7 @@ public virtual async Task Join_with_navigations_in_the_result_selector2(bool asy _ = async ? await query.ToListAsync() : query.ToList(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Member_pushdown_chain_3_levels_deep(bool async) { using var ctx = CreateContext(); @@ -2691,7 +2691,7 @@ public virtual async Task Member_pushdown_chain_3_levels_deep(bool async) _ = async ? await query.ToListAsync() : query.ToList(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Member_pushdown_chain_3_levels_deep_entity(bool async) { using var ctx = CreateContext(); @@ -2714,7 +2714,7 @@ public virtual async Task Member_pushdown_chain_3_levels_deep_entity(bool async) _ = async ? await query.ToListAsync() : query.ToList(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Member_pushdown_with_collection_navigation_in_the_middle(bool async) { using var ctx = CreateContext(); @@ -2733,7 +2733,7 @@ orderby l4.Id _ = async ? await query.ToListAsync() : query.ToList(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Member_pushdown_with_multiple_collections(bool async) => AssertQuery( async, @@ -2744,7 +2744,7 @@ public virtual Task Member_pushdown_with_multiple_collections(bool async) .OneToMany_Optional2.OrderBy(l3 => l3.Id) .FirstOrDefault().Maybe(xx => xx.Name)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_multiple_collections_on_same_level(bool async) => AssertQuery( async, @@ -2755,7 +2755,7 @@ public virtual Task Include_multiple_collections_on_same_level(bool async) new ExpectedInclude(l1 => l1.OneToMany_Required1)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Null_check_removal_applied_recursively(bool async) => AssertQuery( async, @@ -2771,7 +2771,7 @@ public virtual Task Null_check_removal_applied_recursively(bool async) : l1.OneToOne_Optional_FK1.OneToOne_Optional_FK2.OneToOne_Optional_PK3.Name) == "L4 01")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Null_check_different_structure_does_not_remove_null_checks(bool async) => AssertQuery( async, @@ -2785,7 +2785,7 @@ public virtual Task Null_check_different_structure_does_not_remove_null_checks(b : l1.OneToOne_Optional_FK1.OneToOne_Optional_FK2.OneToOne_Optional_PK3.Name) == "L4 01")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_entities_with_different_nullability(bool async) => AssertQueryScalar( async, @@ -2806,7 +2806,7 @@ public virtual Task Union_over_entities_with_different_nullability(bool async) .Where(e => e.l1 == null)) .Select(e => e.l1.MaybeScalar(x => x.Id))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Including_reference_navigation_and_projecting_collection_navigation_2(bool async) => AssertQuery( async, @@ -2815,7 +2815,7 @@ public virtual Task Including_reference_navigation_and_projecting_collection_nav .Include(e => e.OneToMany_Required1) .Select(e => new { e, First = e.OneToMany_Required1.OrderByDescending(e => e.Id).FirstOrDefault() })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_collection_count_ThenBy_reference_navigation(bool async) => AssertQuery( async, @@ -2827,31 +2827,31 @@ public virtual Task OrderBy_collection_count_ThenBy_reference_navigation(bool as .ThenBy(l1 => l1.OneToOne_Required_FK1.OneToOne_Required_FK2.Name), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Null_conditional_is_not_applied_explicitly_for_optional_navigation(bool async) => AssertQuery( async, ss => ss.Set().Where(l1 => l1.OneToOne_Optional_FK1 != null && l1.OneToOne_Optional_FK1.Name == "L2 01")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_with_selector_cast_using_as(bool async) => AssertSum( async, ss => ss.Set().Select(s => s.Id as int?)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_with_filter_with_include_selector_cast_using_as(bool async) => AssertQuery( async, ss => ss.Set().Where(l1 => l1.Id > l1.OneToMany_Optional1.Select(l2 => l2.Id as int?).Sum())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_with_joined_where_clause_cast_using_as(bool async) => AssertQuery( async, ss => ss.Set().Where(w => (w.Id + 7) == w.OneToOne_Optional_FK1.Id as int?)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_outside_reference_to_joined_table_correctly_translated_to_apply(bool async) => AssertQuery( async, @@ -2862,7 +2862,7 @@ join l4 in ss.Set() on l3.Id equals l4.Level3_Required_Id from other in ss.Set().Where(x => x.Id <= l2.Id && x.Name == l4.Name).DefaultIfEmpty() select l1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nested_SelectMany_correlated_with_join_table_correctly_translated_to_apply(bool async) => AssertQuery( async, @@ -2875,7 +2875,7 @@ public virtual Task Nested_SelectMany_correlated_with_join_table_correctly_trans l3Name = l4.OneToOne_Optional_PK_Inverse4.Name })))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Contains_over_optional_navigation_with_null_constant(bool async) { using var ctx = CreateContext(); @@ -2887,14 +2887,14 @@ public virtual async Task Contains_over_optional_navigation_with_null_constant(b Assert.Equal(expected, result); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_over_optional_navigation_with_null_parameter(bool async) => AssertSingleResult( async, ss => ss.Set().Select(l1 => l1.OneToOne_Optional_FK1).Contains(null), ss => ss.Set().Select(l1 => l1.OneToOne_Optional_FK1).ContainsAsync(null, default)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_over_optional_navigation_with_null_column(bool async) => AssertQuery( async, @@ -2906,7 +2906,7 @@ public virtual Task Contains_over_optional_navigation_with_null_column(bool asyn }), elementSorter: e => (e.Name, e.OptionalName, e.Contains)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_over_optional_navigation_with_null_entity_reference(bool async) => AssertQuery( async, @@ -2918,7 +2918,7 @@ public virtual Task Contains_over_optional_navigation_with_null_entity_reference }), elementSorter: e => (e.Name, e.OptionalName, e.Contains)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Element_selector_with_coalesce_repeated_in_aggregate(bool async) => AssertQueryScalar( async, @@ -2928,7 +2928,7 @@ public virtual Task Element_selector_with_coalesce_repeated_in_aggregate(bool as .Where(g => g.Min(l1 => l1.Id + l1.Id) > 0) .Select(g => g.Count())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nested_object_constructed_from_group_key_properties(bool async) => AssertQuery( async, @@ -2964,7 +2964,7 @@ public virtual Task Nested_object_constructed_from_group_key_properties(bool asy Aggregate = g.Sum(x => x.Name.Length) })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_aggregate_where_required_relationship(bool async) => AssertQuery( async, @@ -2973,7 +2973,7 @@ public virtual Task GroupBy_aggregate_where_required_relationship(bool async) .Select(g => new { g.Key, Max = g.Max(e => e.Id) }) .Where(x => x.Max != 2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_aggregate_where_required_relationship_2(bool async) => AssertQuery( async, @@ -2982,7 +2982,7 @@ public virtual Task GroupBy_aggregate_where_required_relationship_2(bool async) .Select(g => new { g.Key, Max = g.Max(e => e.Id) }) .Where(x => x.Max < 2 || x.Max > 2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Member_over_null_check_ternary_and_nested_dto_type(bool async) => AssertQuery( async, @@ -3030,7 +3030,7 @@ private class Level2Dto public string Name { get; set; } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Member_over_null_check_ternary_and_nested_anonymous_type(bool async) => AssertQuery( async, @@ -3072,7 +3072,7 @@ public virtual Task Member_over_null_check_ternary_and_nested_anonymous_type(boo } }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Let_let_contains_from_outer_let(bool async) => AssertQuery( async, @@ -3090,7 +3090,7 @@ from level3 in level3s.DefaultIfEmpty() AssertEqual(e.level3, a.level3); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_conditionals_in_projection(bool async) => AssertQuery( async, @@ -3117,7 +3117,7 @@ public virtual Task Multiple_conditionals_in_projection(bool async) } }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Composite_key_join_on_groupby_aggregate_projecting_only_grouping_key(bool async) => AssertQueryScalar( async, @@ -3131,7 +3131,7 @@ public virtual Task Composite_key_join_on_groupby_aggregate_projecting_only_grou }, (o, i) => i.Key)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Composite_key_join_on_groupby_aggregate_projecting_only_grouping_key2(bool async) => AssertQueryScalar( async, @@ -3145,7 +3145,7 @@ public virtual Task Composite_key_join_on_groupby_aggregate_projecting_only_grou }, (o, i) => i.Key)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_joins_groupby_predicate(bool async) => AssertQuery( async, @@ -3166,7 +3166,7 @@ from x in grouping2.DefaultIfEmpty() }, elementSorter: e => (e.Id, e.Name, e.Foo)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_FirstOrDefault_property_accesses_in_projection(bool async) => AssertQuery( async, @@ -3175,7 +3175,7 @@ public virtual Task Collection_FirstOrDefault_property_accesses_in_projection(bo .Where(l1 => l1.Id < 3) .Select(l1 => new { l1.Id, Pushdown = l1.OneToMany_Optional1.Where(x => x.Name == "L2 02").FirstOrDefault().Name })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_FirstOrDefault_entity_reference_accesses_in_projection(bool async) => AssertQuery( async, @@ -3190,7 +3190,7 @@ public virtual Task Collection_FirstOrDefault_entity_reference_accesses_in_proje .FirstOrDefault().OneToOne_Optional_FK2 })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_FirstOrDefault_entity_collection_accesses_in_projection(bool async) => AssertQuery( async, @@ -3210,7 +3210,7 @@ public virtual Task Collection_FirstOrDefault_entity_collection_accesses_in_proj AssertCollection(e.Pushdown, a.Pushdown); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_collection_FirstOrDefault_followed_by_member_access_in_projection(bool async) => AssertQuery( async, @@ -3226,7 +3226,7 @@ public virtual Task Multiple_collection_FirstOrDefault_followed_by_member_access .FirstOrDefault().Name })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_columns_with_same_name_from_different_entities_making_sure_aliasing_works_after_Distinct(bool async) => AssertQuery( async, @@ -3248,7 +3248,7 @@ join l3 in ss.Set() on l2.Id equals l3.Level2_Optional_Id }).Take(10), elementSorter: e => (e.Foo, e.Bar, e.Baz)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Complex_query_with_let_collection_SelectMany(bool async) // Materialization type. Issue #23302. => AssertInvalidMaterializationType( @@ -3263,13 +3263,13 @@ from die in inner.DefaultIfEmpty() select die ?? l1), "IQueryable"); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_without_collection_selector_returning_queryable(bool async) => AssertQuery( async, ss => ss.Set().SelectMany(x => ss.Set().Where(l2 => l2.Id < 10))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_projecting_queryable_followed_by_SelectMany(bool async) => AssertInvalidMaterializationType( () => AssertQuery( @@ -3277,7 +3277,7 @@ public virtual Task Select_projecting_queryable_followed_by_SelectMany(bool asyn ss => ss.Set().Select(x => ss.Set().Where(l2 => l2.Id < 10)).SelectMany(x => x)), "IQueryable"); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_with_result_selector_returning_queryable_throws_validation_error(bool async) => AssertQuery( async, @@ -3285,7 +3285,7 @@ public virtual Task Join_with_result_selector_returning_queryable_throws_validat join l2 in ss.Set() on l1.Id equals l2.Level1_Optional_Id select ss.Set().Where(x => x.Id < 5)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_projecting_queryable_followed_by_Join(bool async) // Materialization type. Issue #23302. => AssertInvalidMaterializationType( @@ -3295,7 +3295,7 @@ public virtual Task Select_projecting_queryable_followed_by_Join(bool async) .Join(ss.Set(), o => 7, i => i.Id, (o, i) => i)), "IQueryable"); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_projecting_queryable_in_anonymous_projection_followed_by_Join(bool async) // Materialization type. Issue #23302. => AssertInvalidMaterializationType( @@ -3309,7 +3309,7 @@ public virtual Task Select_projecting_queryable_in_anonymous_projection_followed .Join(ss.Set(), o => 7, i => i.Id, (o, i) => i)), "IQueryable"); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_shadow_properties1(bool async) => AssertQuery( async, @@ -3323,7 +3323,7 @@ public virtual Task Project_shadow_properties1(bool async) }, elementSorter: e => e.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_shadow_properties2(bool async) => AssertQuery( async, @@ -3340,7 +3340,7 @@ public virtual Task Project_shadow_properties2(bool async) }, elementSorter: e => e.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_shadow_properties3(bool async) => AssertQuery( async, @@ -3357,7 +3357,7 @@ public virtual Task Project_shadow_properties3(bool async) }, elementSorter: e => e.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_shadow_properties4(bool async) => AssertQuery( async, @@ -3374,7 +3374,7 @@ public virtual Task Project_shadow_properties4(bool async) }, elementSorter: e => e.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_shadow_properties5(bool async) => AssertQuery( async, @@ -3387,7 +3387,7 @@ public virtual Task Project_shadow_properties5(bool async) }, elementSorter: e => e.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_shadow_properties6(bool async) => AssertQuery( async, @@ -3400,7 +3400,7 @@ public virtual Task Project_shadow_properties6(bool async) }, elementSorter: e => e.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_shadow_properties7(bool async) => AssertQuery( async, @@ -3413,7 +3413,7 @@ public virtual Task Project_shadow_properties7(bool async) }, elementSorter: e => e.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_shadow_properties8(bool async) => AssertQuery( async, @@ -3424,7 +3424,7 @@ public virtual Task Project_shadow_properties8(bool async) }, elementSorter: e => e.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_shadow_properties9(bool async) => AssertQuery( async, @@ -3442,7 +3442,7 @@ public virtual Task Project_shadow_properties9(bool async) }, elementSorter: e => e.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_shadow_properties10(bool async) => AssertQuery( async, @@ -3456,7 +3456,7 @@ public virtual Task Project_shadow_properties10(bool async) }, elementSorter: e => e.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Prune_does_not_throw_null_ref(bool async) => AssertQuery( async, @@ -3465,7 +3465,7 @@ public virtual Task Prune_does_not_throw_null_ref(bool async) from l1 in ss.Set().Where(x => x.Id != ids) select l1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_SelectMany_DefaultIfEmpty_with_predicate_using_closure(bool async) { var prm = 10; @@ -3484,7 +3484,7 @@ from l2 in grouping.Where(x => x.Id != prm).DefaultIfEmpty() }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_SelectMany_with_predicate_using_closure(bool async) { var prm = 10; @@ -3503,7 +3503,7 @@ from l2 in grouping.Where(x => x.Id != prm) }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_SelectMany_DefaultIfEmpty_with_predicate_using_closure_nested(bool async) { var prm1 = 10; @@ -3531,7 +3531,7 @@ from l3 in grouping2.Where(x => x.Id != prm2).DefaultIfEmpty() }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_SelectMany_with_predicate_using_closure_nested(bool async) { var prm1 = 10; @@ -3559,7 +3559,7 @@ from l3 in grouping2.Where(x => x.Id != prm2) }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_SelectMany_DefaultIfEmpty_with_predicate_using_closure_nested_same_param(bool async) { var prm = 10; @@ -3586,7 +3586,7 @@ from l3 in grouping2.Where(x => x.Id != prm).DefaultIfEmpty() }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_SelectMany_with_predicate_using_closure_nested_same_param(bool async) { var prm = 10; @@ -3613,7 +3613,7 @@ from l3 in grouping2.Where(x => x.Id != prm) }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_optional_navs_should_not_deadlock(bool async) => AssertCount( async, @@ -3622,7 +3622,7 @@ public virtual Task Multiple_optional_navs_should_not_deadlock(bool async) || x.OneToOne_Optional_FK_Inverse2 != null && x.OneToOne_Optional_FK_Inverse2.Name.Contains("L1 01"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Null_check_removal_applied_recursively_complex(bool async) { var userParam = Expression.Parameter(typeof(Level3), "l3"); @@ -3661,7 +3661,7 @@ public virtual Task Null_check_removal_applied_recursively_complex(bool async) new ExpectedInclude(x => x.OneToMany_Optional3))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_projection_with_first(bool async) => AssertQuery( async, @@ -3685,7 +3685,7 @@ public virtual Task Correlated_projection_with_first(bool async) AssertCollection(e.Results, a.Results); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Max_in_multi_level_nested_subquery(bool async) => AssertQuery( async, @@ -3724,7 +3724,7 @@ public virtual Task Max_in_multi_level_nested_subquery(bool async) }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_select_many_in_projection(bool async) => AssertQuery( async, @@ -3754,7 +3754,7 @@ public virtual Task Multiple_select_many_in_projection(bool async) AssertEqual(e.Count, a.Count); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Single_select_many_in_projection_with_take(bool async) => AssertQuery( async, diff --git a/test/EFCore.Specification.Tests/Query/ComplexTypeQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/ComplexTypeQueryTestBase.cs index 23062c6dc78..91bab96d8f8 100644 --- a/test/EFCore.Specification.Tests/Query/ComplexTypeQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/ComplexTypeQueryTestBase.cs @@ -12,21 +12,21 @@ protected ComplexTypeQueryTestBase(TFixture fixture) : base(fixture) => fixture.ListLoggerFactory.Clear(); - // [ConditionalTheory] + // [Theory] // [MemberData(nameof(IsAsyncData))] // public virtual Task Filter_on_property_inside_complex_type(bool async) // => AssertQuery( // async, // ss => ss.Set().Where(c => c.ShippingAddress.ZipCode == 07728)); - // [ConditionalTheory] + // [Theory] // [MemberData(nameof(IsAsyncData))] // public virtual Task Filter_on_property_inside_nested_complex_type(bool async) // => AssertQuery( // async, // ss => ss.Set().Where(c => c.ShippingAddress.Country.Code == "DE")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_on_property_inside_complex_type_after_subquery(bool async) => AssertQuery( async, @@ -36,7 +36,7 @@ public virtual Task Filter_on_property_inside_complex_type_after_subquery(bool a .Distinct() .Where(c => c.ShippingAddress.ZipCode == 07728)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_on_property_inside_nested_complex_type_after_subquery(bool async) => AssertQuery( async, @@ -46,32 +46,32 @@ public virtual Task Filter_on_property_inside_nested_complex_type_after_subquery .Distinct() .Where(c => c.ShippingAddress.Country.Code == "DE")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_on_required_property_inside_required_complex_type_on_optional_navigation(bool async) => AssertQuery( async, ss => ss.Set().Where(cg => cg.OptionalCustomer!.ShippingAddress.ZipCode != 07728)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_on_required_property_inside_required_complex_type_on_required_navigation(bool async) => AssertQuery( async, ss => ss.Set().Where(cg => cg.RequiredCustomer.ShippingAddress.ZipCode != 07728)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_complex_type_via_optional_navigation(bool async) => AssertQuery( async, ss => ss.Set().Select(cg => cg.OptionalCustomer!.ShippingAddress), ss => ss.Set().Select(cg => cg.OptionalCustomer != null ? cg.OptionalCustomer.ShippingAddress : default)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_complex_type_via_required_navigation(bool async) => AssertQuery( async, ss => ss.Set().Select(cg => cg.RequiredCustomer.ShippingAddress)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Load_complex_type_after_subquery_on_entity_type(bool async) => AssertQuery( async, @@ -80,43 +80,43 @@ public virtual Task Load_complex_type_after_subquery_on_entity_type(bool async) .Skip(1) .Distinct()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_complex_type(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.ShippingAddress)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_nested_complex_type(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.ShippingAddress.Country)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_single_property_on_nested_complex_type(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.ShippingAddress.Country.FullName)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_complex_type_Where(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.ShippingAddress).Where(a => a.ZipCode == 07728)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_complex_type_Distinct(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.ShippingAddress).Distinct()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Complex_type_equals_complex_type(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.ShippingAddress == c.BillingAddress)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Complex_type_equals_constant(bool async) => AssertQuery( async, @@ -134,7 +134,7 @@ public virtual Task Complex_type_equals_constant(bool async) && c.ShippingAddress.Country == new Country { FullName = "United States", Code = "US" } && c.ShippingAddress.Tags.SequenceEqual(new List { "foo", "bar" }))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Complex_type_equals_parameter(bool async) { var address = new Address @@ -155,7 +155,7 @@ public virtual Task Complex_type_equals_parameter(bool async) && c.ShippingAddress.Tags.SequenceEqual(new List { "foo", "bar" }))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Subquery_over_complex_type(bool async) { var address = new Address @@ -171,7 +171,7 @@ public virtual Task Subquery_over_complex_type(bool async) .Where(c => ss.Set().Select(c => c.ShippingAddress).OrderBy(a => a.ZipCode).First() == address)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_over_complex_type(bool async) { var address = new Address @@ -192,71 +192,71 @@ public virtual Task Contains_over_complex_type(bool async) && a.Tags.SequenceEqual(new List { "foo", "bar" })))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Concat_entity_type_containing_complex_property(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Id == 1).Concat(ss.Set().Where(c => c.Id == 2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_entity_type_containing_complex_property(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Id == 1).Union(ss.Set().Where(c => c.Id == 2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Concat_complex_type(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Id == 1).Select(c => c.ShippingAddress) .Concat(ss.Set().Where(c => c.Id == 2).Select(c => c.ShippingAddress))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_complex_type(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Id == 1).Select(c => c.ShippingAddress) .Union(ss.Set().Where(c => c.Id == 2).Select(c => c.ShippingAddress))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Concat_property_in_complex_type(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.ShippingAddress.AddressLine1) .Concat(ss.Set().Select(c => c.BillingAddress.AddressLine1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_property_in_complex_type(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.ShippingAddress.AddressLine1) .Union(ss.Set().Select(c => c.BillingAddress.AddressLine1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Concat_two_different_complex_type(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.ShippingAddress).Concat(ss.Set().Select(c => c.BillingAddress))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_two_different_complex_type(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.ShippingAddress).Union(ss.Set().Select(c => c.BillingAddress))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_on_property_inside_struct_complex_type(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.ShippingAddress.ZipCode == 07728)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_on_property_inside_nested_struct_complex_type(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.ShippingAddress.Country.Code == "DE")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_on_property_inside_struct_complex_type_after_subquery(bool async) => AssertQuery( async, @@ -266,7 +266,7 @@ public virtual Task Filter_on_property_inside_struct_complex_type_after_subquery .Distinct() .Where(c => c.ShippingAddress.ZipCode == 07728)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_on_property_inside_nested_struct_complex_type_after_subquery(bool async) => AssertQuery( async, @@ -276,7 +276,7 @@ public virtual Task Filter_on_property_inside_nested_struct_complex_type_after_s .Distinct() .Where(c => c.ShippingAddress.Country.Code == "DE")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_on_required_property_inside_required_struct_complex_type_on_optional_navigation(bool async) => AssertQuery( async, @@ -284,32 +284,32 @@ public virtual Task Filter_on_required_property_inside_required_struct_complex_t ss => ss.Set() .Where(cg => cg.OptionalCustomer == null || cg.OptionalCustomer.ShippingAddress.ZipCode != 07728)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_on_required_property_inside_required_struct_complex_type_on_required_navigation(bool async) => AssertQuery( async, ss => ss.Set().Where(cg => cg.RequiredCustomer.ShippingAddress.ZipCode != 07728)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_struct_complex_type_via_optional_navigation(bool async) => AssertQuery( async, ss => ss.Set().Select(cg => cg.OptionalCustomer!.ShippingAddress), ss => ss.Set().Select(cg => cg.OptionalCustomer != null ? cg.OptionalCustomer.ShippingAddress : default)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_nullable_struct_complex_type_via_optional_navigation(bool async) => AssertQuery( async, ss => ss.Set().Select(cg => cg.OptionalCustomer != null ? cg.OptionalCustomer.ShippingAddress : (AddressStruct?)null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_struct_complex_type_via_required_navigation(bool async) => AssertQuery( async, ss => ss.Set().Select(cg => cg.RequiredCustomer.ShippingAddress)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Load_struct_complex_type_after_subquery_on_entity_type(bool async) => AssertQuery( async, @@ -318,43 +318,43 @@ public virtual Task Load_struct_complex_type_after_subquery_on_entity_type(bool .Skip(1) .Distinct()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_struct_complex_type(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.ShippingAddress)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_nested_struct_complex_type(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.ShippingAddress.Country)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_single_property_on_nested_struct_complex_type(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.ShippingAddress.Country.FullName)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_struct_complex_type_Where(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.ShippingAddress).Where(a => a.ZipCode == 07728)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_struct_complex_type_Distinct(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.ShippingAddress).Distinct()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Struct_complex_type_equals_struct_complex_type(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.ShippingAddress == c.BillingAddress)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Struct_complex_type_equals_constant(bool async) => AssertQuery( async, @@ -366,7 +366,7 @@ public virtual Task Struct_complex_type_equals_constant(bool async) Country = new CountryStruct { FullName = "United States", Code = "US" } })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Struct_complex_type_equals_parameter(bool async) { var address = new AddressStruct @@ -381,7 +381,7 @@ public virtual Task Struct_complex_type_equals_parameter(bool async) ss => ss.Set().Where(c => c.ShippingAddress == address)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Subquery_over_struct_complex_type(bool async) { var address = new AddressStruct @@ -397,7 +397,7 @@ public virtual Task Subquery_over_struct_complex_type(bool async) => ss.Set().Select(c => c.ShippingAddress).OrderBy(a => a.ZipCode).First() == address)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_over_struct_complex_type(bool async) { var address = new AddressStruct @@ -412,59 +412,59 @@ public virtual Task Contains_over_struct_complex_type(bool async) ss => ss.Set().Where(c => ss.Set().Select(c => c.ShippingAddress).Contains(address))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Concat_entity_type_containing_struct_complex_property(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Id == 1).Concat(ss.Set().Where(c => c.Id == 2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_entity_type_containing_struct_complex_property(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Id == 1).Union(ss.Set().Where(c => c.Id == 2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Concat_struct_complex_type(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Id == 1).Select(c => c.ShippingAddress) .Concat(ss.Set().Where(c => c.Id == 2).Select(c => c.ShippingAddress))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_struct_complex_type(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Id == 1).Select(c => c.ShippingAddress) .Union(ss.Set().Where(c => c.Id == 2).Select(c => c.ShippingAddress))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Concat_property_in_struct_complex_type(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.ShippingAddress.AddressLine1) .Concat(ss.Set().Select(c => c.BillingAddress.AddressLine1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_property_in_struct_complex_type(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.ShippingAddress.AddressLine1) .Union(ss.Set().Select(c => c.BillingAddress.AddressLine1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Concat_two_different_struct_complex_type(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.ShippingAddress).Concat(ss.Set().Select(c => c.BillingAddress))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_two_different_struct_complex_type(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.ShippingAddress).Union(ss.Set().Select(c => c.BillingAddress))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_same_nested_complex_type_twice_with_pushdown(bool async) => AssertQuery( async, @@ -480,7 +480,7 @@ from c2 in ss.Set() AssertEqual(e.BA2, a.BA2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_same_entity_with_nested_complex_type_twice_with_pushdown(bool async) => AssertQuery( async, @@ -496,7 +496,7 @@ from c2 in ss.Set() AssertEqual(e.c2, a.c2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_same_nested_complex_type_twice_with_double_pushdown(bool async) => AssertQuery( async, @@ -514,7 +514,7 @@ from c2 in ss.Set() AssertEqual(e.BA2, a.BA2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_same_entity_with_nested_complex_type_twice_with_double_pushdown(bool async) => AssertQuery( async, @@ -532,7 +532,7 @@ from c2 in ss.Set() AssertEqual(e.c2, a.c2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_same_struct_nested_complex_type_twice_with_pushdown(bool async) => AssertQuery( async, @@ -548,7 +548,7 @@ from c2 in ss.Set() AssertEqual(e.BA2, a.BA2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_same_entity_with_struct_nested_complex_type_twice_with_pushdown(bool async) => AssertQuery( async, @@ -564,7 +564,7 @@ from c2 in ss.Set() AssertEqual(e.c2, a.c2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_same_struct_nested_complex_type_twice_with_double_pushdown(bool async) => AssertQuery( async, @@ -582,7 +582,7 @@ from c2 in ss.Set() AssertEqual(e.BA2, a.BA2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_same_entity_with_struct_nested_complex_type_twice_with_double_pushdown(bool async) => AssertQuery( async, @@ -600,7 +600,7 @@ from c2 in ss.Set() AssertEqual(e.c2, a.c2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_of_same_entity_with_nested_complex_type_projected_twice_with_pushdown(bool async) => AssertQuery( async, @@ -623,7 +623,7 @@ from c2 in ss.Set() AssertEqual(e.c2, a.c2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_of_same_entity_with_nested_complex_type_projected_twice_with_double_pushdown(bool async) => AssertQuery( async, @@ -650,7 +650,7 @@ from c2 in ss.Set() AssertEqual(e.c2, a.c2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_of_same_nested_complex_type_projected_twice_with_pushdown(bool async) => AssertQuery( async, @@ -673,7 +673,7 @@ from c2 in ss.Set() AssertEqual(e.BA2, a.BA2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_of_same_nested_complex_type_projected_twice_with_double_pushdown(bool async) => AssertQuery( async, @@ -700,7 +700,7 @@ from c2 in ss.Set() AssertEqual(e.BA2, a.BA2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Same_entity_with_complex_type_projected_twice_with_pushdown_as_part_of_another_projection(bool async) => AssertQuery( async, @@ -720,7 +720,7 @@ from c2 in ss.Set() AssertEqual(e.Complex?.Two, a.Complex?.Two); }); - [ConditionalTheory(Skip = "issue #31376"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "issue #31376"), MemberData(nameof(IsAsyncData))] public virtual Task Same_complex_type_projected_twice_with_pushdown_as_part_of_another_projection(bool async) => AssertQuery( async, @@ -742,14 +742,14 @@ from c2 in ss.Set() #region GroupBy - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_over_property_in_nested_complex_type(bool async) => AssertQuery( async, ss => ss.Set().GroupBy(x => x.ShippingAddress.Country.Code).Select(g => new { Code = g.Key, Count = g.Count() }), elementSorter: g => g.Code); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_over_complex_type(bool async) => AssertQuery( async, @@ -761,14 +761,14 @@ public virtual Task GroupBy_over_complex_type(bool async) Assert.Equal(e.Count, a.Count); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_over_nested_complex_type(bool async) => AssertQuery( async, ss => ss.Set().GroupBy(x => x.ShippingAddress.Country).Select(g => new { Country = g.Key, Count = g.Count() }), elementSorter: g => g.Country.Code); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_with_complex_type_with_group_by_and_first(bool async) => AssertQuery( async, @@ -776,7 +776,7 @@ public virtual Task Entity_with_complex_type_with_group_by_and_first(bool async) #endregion GroupBy - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_property_of_complex_type_using_left_join_with_pushdown(bool async) => AssertQuery( async, @@ -784,7 +784,7 @@ public virtual Task Projecting_property_of_complex_type_using_left_join_with_pus .LeftJoin(ss.Set().Where(x => x.Id > 5), cg => cg.Id, c => c.Id, (cg, c) => c) .Select(c => c == null ? null : (int?)c.BillingAddress.ZipCode)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_complex_from_optional_navigation_using_conditional(bool async) => AssertQuery( async, @@ -793,7 +793,7 @@ public virtual Task Projecting_complex_from_optional_navigation_using_conditiona ss => ss.Set().Select(x => x.OptionalCustomer == null ? null : x.OptionalCustomer.ShippingAddress) .OrderBy(x => x.MaybeScalar(xx => xx!.ZipCode)).Take(20).Distinct().Select(x => x.MaybeScalar(xx => xx!.ZipCode))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_entity_with_complex_type_pushdown_and_then_left_join(bool async) => AssertQuery( async, diff --git a/test/EFCore.Specification.Tests/Query/CompositeKeysQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/CompositeKeysQueryTestBase.cs index 8947da56816..605cef2b29c 100644 --- a/test/EFCore.Specification.Tests/Query/CompositeKeysQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/CompositeKeysQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.CompositeKeysModel; @@ -14,7 +14,7 @@ protected CompositeKeysContext CreateContext() protected override Expression RewriteExpectedQueryExpression(Expression expectedQueryExpression) => new ExpectedQueryRewritingVisitor(Fixture.GetShadowPropertyMappings()).Visit(expectedQueryExpression); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_multiple_collections_same_level_top_level_ordering(bool async) => AssertQuery( async, @@ -34,7 +34,7 @@ orderby e1.Id2 AssertCollection(e.Required, a.Required); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_multiple_collections_same_level_top_level_ordering_using_entire_composite_key(bool async) => AssertQuery( async, @@ -54,7 +54,7 @@ public virtual Task Projecting_multiple_collections_same_level_top_level_orderin AssertCollection(e.Required, a.Required); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_multiple_collections_with_ordering_same_level(bool async) => AssertQuery( async, @@ -73,7 +73,7 @@ public virtual Task Projecting_multiple_collections_with_ordering_same_level(boo AssertCollection(e.Required, a.Required); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_multiple_collections_with_ordering_same_level_top_level_ordering(bool async) => AssertQuery( async, @@ -93,7 +93,7 @@ orderby e1.Id2 AssertCollection(e.Required, a.Required); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_collections_multi_level(bool async) => AssertQuery( async, @@ -121,7 +121,7 @@ orderby e1.Id2 }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_multiple_collections_on_multiple_levels_no_explicit_ordering(bool async) => AssertQuery( async, @@ -230,7 +230,7 @@ public virtual Task Projecting_multiple_collections_on_multiple_levels_no_explic }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_multiple_collections_on_multiple_levels_some_explicit_ordering(bool async) => AssertQuery( async, diff --git a/test/EFCore.Specification.Tests/Query/Ef6GroupByTestBase.cs b/test/EFCore.Specification.Tests/Query/Ef6GroupByTestBase.cs index 38d2319e797..381c10631a6 100644 --- a/test/EFCore.Specification.Tests/Query/Ef6GroupByTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Ef6GroupByTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -8,37 +8,37 @@ namespace Microsoft.EntityFrameworkCore.Query; public abstract class Ef6GroupByTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : Ef6GroupByTestBase.Ef6GroupByFixtureBase, new() { - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_is_optimized_when_projecting_group_key(bool async) => AssertQuery( async, ss => ss.Set().GroupBy(o => o.FirstName).Select(g => g.Key)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_is_optimized_when_projecting_group_count(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.FirstName).Select(g => g.Count())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_is_optimized_when_projecting_expression_containing_group_key(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.Id).Select(g => g.Key * 2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_is_optimized_when_projecting_aggregate_on_the_group(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.FirstName).Select(g => g.Max(p => p.Id))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_is_optimized_when_projecting_anonymous_type_containing_group_key_and_group_aggregate(bool async) => AssertQuery( async, ss => ss.Set().GroupBy(o => o.FirstName).Select(g => new { g.Key, Aggregate = g.Max(p => p.Id) })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_is_optimized_when_projecting_anonymous_type_containing_group_key_and_multiple_group_aggregates( bool async) => AssertQuery( @@ -51,7 +51,7 @@ public virtual Task GroupBy_is_optimized_when_projecting_anonymous_type_containi min = g.Min(s => s.Id + 2) })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_is_optimized_when_projecting_conditional_expression_containing_group_key(bool async) { var a = true; @@ -64,7 +64,7 @@ public virtual Task GroupBy_is_optimized_when_projecting_conditional_expression_ => new { keyIsNull = g.Key == null ? "is null" : "not null", logicExpression = (a && b || b && c) })); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_is_optimized_when_filtering_and_projecting_anonymous_type_with_group_key_and_function_aggregate( bool async) => AssertQuery( @@ -72,26 +72,26 @@ public virtual Task GroupBy_is_optimized_when_filtering_and_projecting_anonymous ss => ss.Set().Where(o => o.Id > 5).GroupBy(o => o.FirstName) .Select(g => new { FirstName = g.Key, AverageId = g.Average(p => p.Id) })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_is_optimized_when_projecting_function_aggregate_with_expression(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(p => p.FirstName).Select(g => g.Max(p => p.Id * 2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_is_optimized_when_projecting_expression_with_multiple_function_aggregates(bool async) => AssertQuery( async, ss => ss.Set().GroupBy(o => o.FirstName) .Select(g => new { maxMinusMin = g.Max(p => p.Id) - g.Min(s => s.Id) })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_is_optimized_when_grouping_by_row_and_projecting_column_of_the_key_row(bool async) => AssertQuery( async, ss => ss.Set().Where(o => o.Id < 4).GroupBy(g => new { g.FirstName }).Select(g => g.Key.FirstName)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Grouping_by_all_columns_doesnt_produce_a_groupby_statement(bool async) => AssertQuery( async, @@ -105,7 +105,7 @@ public virtual Task Grouping_by_all_columns_doesnt_produce_a_groupby_statement(b Assert.Equal(e.LastName, a.LastName); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Grouping_by_all_columns_with_aggregate_function_works_1(bool async) => AssertQueryScalar( async, @@ -118,31 +118,31 @@ public virtual Task Grouping_by_all_columns_with_aggregate_function_works_1(bool o.Alias }, c => new { c.LastName, c.FirstName }, (k, g) => g.Count())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Grouping_by_all_columns_with_aggregate_function_works_2(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o, c => new { c.LastName, c.FirstName }, (k, g) => g.Count())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Grouping_by_all_columns_with_aggregate_function_works_3(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o, c => c, (k, g) => g.Count())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Grouping_by_all_columns_with_aggregate_function_works_4(bool async) => AssertQuery( async, ss => ss.Set().GroupBy(o => o, c => c, (k, g) => new { Count = g.Count() })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Grouping_by_all_columns_with_aggregate_function_works_5(bool async) => AssertQuery( async, ss => ss.Set().GroupBy(o => o, c => c, (k, g) => new { k.Id, Count = g.Count() })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Grouping_by_all_columns_with_aggregate_function_works_6(bool async) => AssertQuery( async, @@ -154,7 +154,7 @@ public virtual Task Grouping_by_all_columns_with_aggregate_function_works_6(bool Count = g.Count() })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Grouping_by_all_columns_with_aggregate_function_works_7(bool async) => AssertQueryScalar( async, @@ -163,7 +163,7 @@ group o by o into g select g.Count()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Grouping_by_all_columns_with_aggregate_function_works_8(bool async) => AssertQuery( async, @@ -172,7 +172,7 @@ group o by o into g select new { g.Key.Id, Count = g.Count() }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Grouping_by_all_columns_with_aggregate_function_works_9(bool async) => AssertQuery( async, @@ -186,7 +186,7 @@ into g Count = g.Count() }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Grouping_by_all_columns_with_aggregate_function_works_10(bool async) => AssertQuery( async, @@ -200,7 +200,7 @@ into g Count = g.Count() }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Simple_1_from_LINQ_101(bool async) // GroupBy final operator. Issue #19929. => AssertTranslationFailed(() => AssertQuery( @@ -210,7 +210,7 @@ group n by n.Value % 5 into g select new { Remainder = g.Key, Numbers = g })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Simple_2_from_LINQ_101(bool async) // GroupBy final operator. Issue #19929. => AssertTranslationFailed(() => AssertQuery( @@ -220,7 +220,7 @@ group w by w.Name.Length into g select new { FirstLetter = g.Key, Words = g })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Simple_3_from_LINQ_101(bool async) // GroupBy final operator. Issue #19929. => AssertTranslationFailed(() => AssertQuery( @@ -230,7 +230,7 @@ group p by p.Category into g select new { Category = g.Key, Products = g })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Nested_from_LINQ_101(bool async) // GroupBy final operator. Issue #19929. => AssertTranslationFailed(() => AssertQuery( @@ -253,7 +253,7 @@ into mg } })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Any_Grouped_from_LINQ_101(bool async) // GroupBy final operator. Issue #19929. => AssertTranslationFailed(() => AssertQuery( @@ -264,7 +264,7 @@ into g where g.Any(p => p.UnitsInStock == 0) select new { Category = g.Key, Products = g })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task All_Grouped_from_LINQ_101(bool async) // GroupBy final operator. Issue #19929. => AssertTranslationFailed(() => AssertQuery( @@ -275,7 +275,7 @@ into g where g.All(p => p.UnitsInStock > 0) select new { Category = g.Key, Products = g })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Count_Grouped_from_LINQ_101(bool async) => AssertQuery( async, @@ -284,7 +284,7 @@ group p by p.Category into g select new { Category = g.Key, ProductCount = g.Count() }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task LongCount_Grouped_from_LINQ_101(bool async) => AssertQuery( async, @@ -293,7 +293,7 @@ group p by p.Category into g select new { Category = g.Key, ProductLongCount = g.LongCount() }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_Grouped_from_LINQ_101(bool async) => AssertQuery( async, @@ -302,7 +302,7 @@ group p by p.Category into g select new { Category = g.Key, TotalUnitsInStock = g.Sum(p => p.UnitsInStock) }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Min_Grouped_from_LINQ_101(bool async) => AssertQuery( async, @@ -311,7 +311,7 @@ group p by p.Category into g select new { Category = g.Key, CheapestPrice = g.Min(p => p.UnitPrice) }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Min_Elements_from_LINQ_101(bool async) // Navigation expansion phase 2. Issue #23206. => AssertTranslationFailed(() => AssertQuery( @@ -322,7 +322,7 @@ into g let minPrice = g.Min(decimal (p) => p.UnitPrice) select new { Category = g.Key, CheapestProducts = g.Where(p => p.UnitPrice == minPrice) })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Max_Grouped_from_LINQ_101(bool async) => AssertQuery( async, @@ -331,7 +331,7 @@ group p by p.Category into g select new { Category = g.Key, MostExpensivePrice = g.Max(p => p.UnitPrice) }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Max_Elements_from_LINQ_101(bool async) // Navigation expansion phase 2. Issue #23206. => AssertTranslationFailed(() => AssertQuery( @@ -342,7 +342,7 @@ into g let minPrice = g.Max(decimal (p) => p.UnitPrice) select new { Category = g.Key, MostExpensiveProducts = g.Where(p => p.UnitPrice == minPrice) })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Average_Grouped_from_LINQ_101(bool async) => AssertQuery( async, @@ -357,7 +357,7 @@ into g Assert.Equal(e.AveragePrice, a.AveragePrice, 5); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Group_Join_from_LINQ_101(bool async) => AssertQuery( async, @@ -371,7 +371,7 @@ join o in ss.Set() on c equals o.Customer into ps AssertCollection(e.Products, a.Products); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Cross_Join_with_Group_Join_from_LINQ_101(bool async) => AssertQuery( async, @@ -392,7 +392,7 @@ from o in ps Assert.Equal(l.Customer.CompanyName, r.Customer.CompanyName); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Left_Outer_Join_with_Group_Join_from_LINQ_101(bool async) => AssertQuery( async, @@ -411,7 +411,7 @@ from o in ps.DefaultIfEmpty() AssertEqual(l.Customer, r.Customer); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // From #12088 + [Theory, MemberData(nameof(IsAsyncData))] // From #12088 public virtual Task Whats_new_2021_sample_1(bool async) => AssertQuery( async, @@ -422,7 +422,7 @@ public virtual Task Whats_new_2021_sample_1(bool async) .ThenBy(e => e.LastName) .FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // From #16648 + [Theory, MemberData(nameof(IsAsyncData))] // From #16648 public virtual Task Whats_new_2021_sample_2(bool async) => AssertFirst( async, @@ -432,7 +432,7 @@ public virtual Task Whats_new_2021_sample_2(bool async) .OrderBy(e => e.Key) .Select(g => g.First())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // From #12640 + [Theory, MemberData(nameof(IsAsyncData))] // From #12640 public virtual Task Whats_new_2021_sample_3(bool async) => AssertQuery( async, @@ -443,7 +443,7 @@ public virtual Task Whats_new_2021_sample_3(bool async) .OrderBy(e => e.Length), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // From #18037 + [Theory, MemberData(nameof(IsAsyncData))] // From #18037 public virtual Task Whats_new_2021_sample_4(bool async) => AssertQuery( async, @@ -458,7 +458,7 @@ into people Count = people.Count() }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // From #12601 + [Theory, MemberData(nameof(IsAsyncData))] // From #12601 public virtual Task Whats_new_2021_sample_5(bool async) => AssertQuery( async, @@ -468,7 +468,7 @@ public virtual Task Whats_new_2021_sample_5(bool async) .OrderBy(e => e), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // From #12600 + [Theory, MemberData(nameof(IsAsyncData))] // From #12600 public virtual Task Whats_new_2021_sample_6(bool async) => AssertQuery( async, @@ -479,7 +479,7 @@ public virtual Task Whats_new_2021_sample_6(bool async) .OrderBy(e => e), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // From #25460 + [Theory, MemberData(nameof(IsAsyncData))] // From #25460 public virtual Task Whats_new_2021_sample_7(bool async) { var size = 11; @@ -499,7 +499,7 @@ public virtual Task Whats_new_2021_sample_7(bool async) })); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // From #24869 + [Theory, MemberData(nameof(IsAsyncData))] // From #24869 public virtual Task Whats_new_2021_sample_8(bool async) => AssertCount( async, @@ -516,7 +516,7 @@ public virtual Task Whats_new_2021_sample_8(bool async) TotalCallOutCharges = x.Sum(el => el.Feet.Size == 11 ? 1 : 0) })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // From #24591 + [Theory, MemberData(nameof(IsAsyncData))] // From #24591 public virtual Task Whats_new_2021_sample_9(bool async) => AssertQuery( async, @@ -524,7 +524,7 @@ public virtual Task Whats_new_2021_sample_9(bool async) .GroupBy(n => n.FirstName) .Select(g => new { Feet = g.Key, Total = g.Sum(n => n.Feet.Size) })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // From #24695 + [Theory, MemberData(nameof(IsAsyncData))] // From #24695 public virtual Task Whats_new_2021_sample_10(bool async) => AssertQuery( async, @@ -569,7 +569,7 @@ in temp AssertCollection(l.Values, r.Values, elementSorter: e => (e.Id, e.Style, e.Age)); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // From #19506 + [Theory, MemberData(nameof(IsAsyncData))] // From #19506 public virtual Task Whats_new_2021_sample_11(bool async) => AssertQuery( async, @@ -602,7 +602,7 @@ public virtual Task Whats_new_2021_sample_11(bool async) }, assertOrder: false); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // From #13805 + [Theory, MemberData(nameof(IsAsyncData))] // From #13805 public virtual Task Whats_new_2021_sample_12(bool async) => AssertQuery( async, @@ -623,7 +623,7 @@ public virtual Task Whats_new_2021_sample_12(bool async) } }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // From #12088 + [Theory, MemberData(nameof(IsAsyncData))] // From #12088 public virtual Task Whats_new_2021_sample_13(bool async) => AssertQuery( async, @@ -641,7 +641,7 @@ public virtual Task Whats_new_2021_sample_13(bool async) } }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // From #12088 + [Theory, MemberData(nameof(IsAsyncData))] // From #12088 public virtual Task Whats_new_2021_sample_14(bool async) => AssertTranslationFailed(() => AssertQuery( async, @@ -649,7 +649,7 @@ public virtual Task Whats_new_2021_sample_14(bool async) .GroupBy(bp => bp.Feet) .SelectMany(g => g.OrderByDescending(bp => bp.Id).Take(1).DefaultIfEmpty()))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // From #12088 + [Theory, MemberData(nameof(IsAsyncData))] // From #12088 public virtual Task Whats_new_2021_sample_15(bool async) => AssertQuery( async, @@ -657,7 +657,7 @@ public virtual Task Whats_new_2021_sample_15(bool async) .GroupBy(bp => bp.Feet) .Select(g => g.OrderByDescending(bp => bp.Id).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // From #12573 + [Theory, MemberData(nameof(IsAsyncData))] // From #12573 public virtual Task Whats_new_2021_sample_16(bool async) // GroupBy final operator. Issue #19929. => AssertTranslationFailed(() => AssertQuery( diff --git a/test/EFCore.Specification.Tests/Query/FunkyDataQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/FunkyDataQueryTestBase.cs index f75a51fcc5c..b3a0ca0c703 100644 --- a/test/EFCore.Specification.Tests/Query/FunkyDataQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/FunkyDataQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.FunkyDataModel; @@ -14,7 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Query; public abstract class FunkyDataQueryTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : FunkyDataQueryTestBase.FunkyDataQueryFixtureBase, new() { - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task String_contains_on_argument_with_wildcard_constant(bool async) { await AssertQuery( @@ -60,7 +60,7 @@ await AssertQuery( ss => ss.Set().Where(c => true).Select(c => c.FirstName)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task String_contains_on_argument_with_wildcard_parameter(bool async) { var prm1 = "%B"; @@ -114,7 +114,7 @@ await AssertQuery( ss => ss.Set().Where(c => true).Select(c => c.FirstName)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_contains_on_argument_with_wildcard_column(bool async) => AssertQuery( async, @@ -131,7 +131,7 @@ public virtual Task String_contains_on_argument_with_wildcard_column(bool async) Assert.Equal(e.ln, a.ln); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_contains_on_argument_with_wildcard_column_negated(bool async) => AssertQuery( async, @@ -143,7 +143,7 @@ public virtual Task String_contains_on_argument_with_wildcard_column_negated(boo .Where(r => r.fn.MaybeScalar(x => r.ln.MaybeScalar(xx => x.Contains(xx))) != true)); // .Where(r => r.ln != "" && !r.fn.MaybeScalar(x => r.ln.MaybeScalar(xx => x.Contains(xx))) == true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task String_starts_with_on_argument_with_wildcard_constant(bool async) { await AssertQuery( @@ -190,7 +190,7 @@ await AssertQuery( ss => ss.Set().Where(c => true).Select(c => c.FirstName)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task String_starts_with_on_argument_with_wildcard_parameter(bool async) { var prm1 = "%B"; @@ -244,7 +244,7 @@ await AssertQuery( ss => ss.Set().Where(c => true).Select(c => c.FirstName)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task String_starts_with_on_argument_with_bracket(bool async) { await AssertQuery( @@ -286,7 +286,7 @@ await AssertQuery( ss => ss.Set().Where(c => c.FirstName.MaybeScalar(x => c.LastName.MaybeScalar(xx => x.StartsWith(xx))) == true)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_starts_with_on_argument_with_wildcard_column(bool async) => AssertQuery( async, @@ -303,7 +303,7 @@ public virtual Task String_starts_with_on_argument_with_wildcard_column(bool asy Assert.Equal(e.ln, a.ln); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_starts_with_on_argument_with_wildcard_column_negated(bool async) => AssertQuery( async, @@ -314,7 +314,7 @@ public virtual Task String_starts_with_on_argument_with_wildcard_column_negated( .SelectMany(c => ss.Set().Select(c2 => c2.LastName), (fn, ln) => new { fn, ln }) .Where(r => !(r.fn.MaybeScalar(x => r.ln.MaybeScalar(xx => x.StartsWith(xx))) == true))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task String_ends_with_on_argument_with_wildcard_constant(bool async) { await AssertQuery( @@ -359,7 +359,7 @@ await AssertQuery( ss => ss.Set().Where(c => true).Select(c => c.FirstName)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task String_ends_with_on_argument_with_wildcard_parameter(bool async) { var prm1 = "%r"; @@ -412,7 +412,7 @@ await AssertQuery( ss => ss.Set().Where(c => true).Select(c => c.FirstName)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_ends_with_on_argument_with_wildcard_column(bool async) => AssertQuery( async, @@ -429,7 +429,7 @@ public virtual Task String_ends_with_on_argument_with_wildcard_column(bool async Assert.Equal(e.ln, a.ln); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_ends_with_on_argument_with_wildcard_column_negated(bool async) => AssertQuery( async, @@ -440,7 +440,7 @@ public virtual Task String_ends_with_on_argument_with_wildcard_column_negated(bo .SelectMany(c => ss.Set().Select(c2 => c2.LastName), (fn, ln) => new { fn, ln }) .Where(r => !(r.fn.MaybeScalar(x => r.ln.MaybeScalar(xx => x.EndsWith(xx))) == true))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_ends_with_inside_conditional(bool async) => AssertQuery( async, @@ -457,7 +457,7 @@ public virtual Task String_ends_with_inside_conditional(bool async) Assert.Equal(e.ln, a.ln); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_ends_with_inside_conditional_negated(bool async) => AssertQuery( async, @@ -470,7 +470,7 @@ public virtual Task String_ends_with_inside_conditional_negated(bool async) ? true : false)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_ends_with_equals_nullable_column(bool async) => AssertQuery( async, @@ -486,7 +486,7 @@ public virtual Task String_ends_with_equals_nullable_column(bool async) AssertEqual(e.c2, a.c2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_ends_with_not_equals_nullable_column(bool async) => AssertQuery( async, @@ -502,7 +502,7 @@ public virtual Task String_ends_with_not_equals_nullable_column(bool async) AssertEqual(e.c2, a.c2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_FirstOrDefault_and_LastOrDefault(bool async) => AssertQuery( async, @@ -519,7 +519,7 @@ public virtual Task String_FirstOrDefault_and_LastOrDefault(bool async) AssertEqual(e.last, a.last); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // #32432 + [Theory, MemberData(nameof(IsAsyncData))] // #32432 public virtual Task String_Contains_and_StartsWith_with_same_parameter(bool async) { var s = "B"; diff --git a/test/EFCore.Specification.Tests/Query/GearsOfWarQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/GearsOfWarQueryTestBase.cs index def20200899..e07528c3468 100644 --- a/test/EFCore.Specification.Tests/Query/GearsOfWarQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/GearsOfWarQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Net; @@ -31,14 +31,14 @@ protected override Expression RewriteExpectedQueryExpression(Expression expected => new ExpectedQueryRewritingVisitor(Fixture.GetShadowPropertyMappings()) .Visit(expectedQueryExpression); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_equality_empty(bool async) => AssertQuery( async, ss => ss.Set().Where(g => g == new Gear()), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_multiple_one_to_one_and_one_to_many(bool async) => AssertQuery( async, @@ -51,59 +51,59 @@ public virtual Task Include_multiple_one_to_one_and_one_to_many(bool async) // TODO: Move these out - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ToString_string_property_projection(bool async) => AssertQuery( async, ss => ss.Set().Select(w => w.Name.ToString())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ToString_boolean_property_non_nullable(bool async) => AssertQuery( async, ss => ss.Set().Select(w => w.IsAutomatic.ToString())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ToString_boolean_property_nullable(bool async) => AssertQuery( async, ss => ss.Set().Select(lh => lh.Eradicated.ToString())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ToString_boolean_computed_nullable(bool async) => AssertQuery( async, ss => ss.Set().Select(lh => (lh.Eradicated | lh.CommanderName == "Unknown").ToString())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ToString_enum_property_projection(bool async) => AssertQuery( async, ss => ss.Set().Select(g => g.Rank.ToString())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ToString_nullable_enum_property_projection(bool async) => AssertQuery( async, ss => ss.Set().Select(w => w.AmmunitionType.ToString())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ToString_enum_contains(bool async) => AssertQuery( async, ss => ss.Set().Where(g => g.Difficulty.ToString().Contains("Med")).Select(g => g.CodeName)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ToString_nullable_enum_contains(bool async) => AssertQuery( async, ss => ss.Set().Where(w => w.AmmunitionType.ToString().Contains("Cart")).Select(g => g.Name)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_multiple_one_to_one_and_one_to_many_self_reference(bool async) => Assert.ThrowsAsync(() => AssertQuery(async, ss => ss.Set().Include(w => w.Owner.Weapons))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_multiple_one_to_one_optional_and_one_to_one_required(bool async) => AssertQuery( async, @@ -114,12 +114,12 @@ public virtual Task Include_multiple_one_to_one_optional_and_one_to_one_required new ExpectedInclude(g => g.Squad, "Gear"), new ExpectedInclude(o => o.Squad, "Gear"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_multiple_one_to_one_and_one_to_one_and_one_to_many(bool async) => Assert.ThrowsAsync(() => AssertQuery( async, ss => ss.Set().Include(t => t.Gear.Squad.Members))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_multiple_circular(bool async) => AssertQuery( async, @@ -130,7 +130,7 @@ public virtual Task Include_multiple_circular(bool async) new ExpectedInclude(o => o.CityOfBirth), new ExpectedInclude(c => c.StationedGears, "CityOfBirth"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_multiple_circular_with_filter(bool async) => AssertQuery( async, @@ -141,7 +141,7 @@ public virtual Task Include_multiple_circular_with_filter(bool async) new ExpectedInclude(o => o.CityOfBirth), new ExpectedInclude(c => c.StationedGears, "CityOfBirth"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_using_alternate_key(bool async) => AssertQuery( async, @@ -151,7 +151,7 @@ public virtual Task Include_using_alternate_key(bool async) new ExpectedInclude(g => g.Weapons), new ExpectedInclude(o => o.Weapons))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_multiple_include_then_include(bool async) => Assert.ThrowsAsync(() => AssertQuery( async, @@ -162,28 +162,28 @@ public virtual Task Include_multiple_include_then_include(bool async) .Include(g => g.CityOfBirth.StationedGears).ThenInclude(g => g.Tag) .OrderBy(g => g.Nickname))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_navigation_on_derived_type(bool async) => AssertQuery( async, ss => ss.Set().OfType().Include(o => o.Reports), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(o => o.Reports))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_based_Include_navigation_on_derived_type(bool async) => AssertQuery( async, ss => ss.Set().OfType().Include("Reports"), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(o => o.Reports))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task EF_Property_based_Include_navigation_on_derived_type(bool async) => AssertQuery( async, ss => ss.Set().OfType().Include(o => EF.Property(o, "Reports")), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(o => o.Reports))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Where_Navigation_Included(bool async) => AssertQuery( async, @@ -192,7 +192,7 @@ public virtual Task Select_Where_Navigation_Included(bool async) select t, elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(t => t.Gear))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_with_join_reference1(bool async) => AssertQuery( async, @@ -206,7 +206,7 @@ public virtual Task Include_with_join_reference1(bool async) new ExpectedInclude(g => g.CityOfBirth), new ExpectedInclude(o => o.CityOfBirth))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_with_join_reference2(bool async) => AssertQuery( async, @@ -220,7 +220,7 @@ public virtual Task Include_with_join_reference2(bool async) new ExpectedInclude(g => g.CityOfBirth), new ExpectedInclude(o => o.CityOfBirth))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_with_join_collection1(bool async) => AssertQuery( async, @@ -234,7 +234,7 @@ public virtual Task Include_with_join_collection1(bool async) new ExpectedInclude(g => g.Weapons), new ExpectedInclude(o => o.Weapons))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_with_join_collection2(bool async) => AssertQuery( async, @@ -248,7 +248,7 @@ public virtual Task Include_with_join_collection2(bool async) new ExpectedInclude(g => g.Weapons), new ExpectedInclude(o => o.Weapons))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_where_list_contains_navigation(bool async) { using var context = CreateContext(); @@ -269,7 +269,7 @@ public virtual async Task Include_where_list_contains_navigation(bool async) context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking; } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_where_list_contains_navigation2(bool async) { using var context = CreateContext(); @@ -290,7 +290,7 @@ public virtual async Task Include_where_list_contains_navigation2(bool async) context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking; } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Navigation_accessed_twice_outside_and_inside_subquery(bool async) { using var context = CreateContext(); @@ -310,7 +310,7 @@ public virtual async Task Navigation_accessed_twice_outside_and_inside_subquery( context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking; } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_with_join_multi_level(bool async) => AssertQuery( async, @@ -325,7 +325,7 @@ public virtual Task Include_with_join_multi_level(bool async) new ExpectedInclude(o => o.CityOfBirth), new ExpectedInclude(c => c.StationedGears, "CityOfBirth"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_with_join_and_inheritance1(bool async) => AssertQuery( async, @@ -336,7 +336,7 @@ public virtual Task Include_with_join_and_inheritance1(bool async) (t, o) => o).Include(o => o.CityOfBirth), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(o => o.CityOfBirth))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_with_join_and_inheritance_with_orderby_before_and_after_include(bool async) => AssertQuery( async, @@ -349,7 +349,7 @@ public virtual Task Include_with_join_and_inheritance_with_orderby_before_and_af elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(o => o.Reports)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_with_join_and_inheritance2(bool async) => AssertQuery( async, @@ -360,7 +360,7 @@ public virtual Task Include_with_join_and_inheritance2(bool async) (o, t) => o).Include(g => g.Weapons), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(o => o.Weapons))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_with_join_and_inheritance3(bool async) => AssertQuery( async, @@ -371,7 +371,7 @@ public virtual Task Include_with_join_and_inheritance3(bool async) (t, o) => o).Include(o => o.Reports), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(o => o.Reports))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_with_nested_navigation_in_order_by(bool async) => AssertQuery( async, @@ -382,19 +382,19 @@ public virtual Task Include_with_nested_navigation_in_order_by(bool async) elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(w => w.Owner)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_count_subquery_without_collision(bool async) => AssertQuery( async, ss => ss.Set().Where(w => w.Weapons.Count == 2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_any_subquery_without_collision(bool async) => AssertQuery( async, ss => ss.Set().Where(w => w.Weapons.Any())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_inverted_boolean(bool async) => AssertQuery( async, @@ -403,14 +403,14 @@ public virtual Task Select_inverted_boolean(bool async) .Select(w => new { w.Id, Manual = !w.IsAutomatic }), elementSorter: e => e.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_inverted_nullable_boolean(bool async) => AssertQuery( async, ss => ss.Set().Select(w => new { w.Id, Alive = !w.Eradicated }), elementSorter: e => e.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Select_comparison_with_null(bool async) { AmmunitionType? ammunitionType = AmmunitionType.Cartridge; @@ -432,7 +432,7 @@ await AssertQuery( elementSorter: e => e.Id); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Select_null_parameter(bool async) { AmmunitionType? ammunitionType = AmmunitionType.Cartridge; @@ -468,21 +468,21 @@ await AssertQuery( elementSorter: e => e.Id); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_ternary_operation_with_boolean(bool async) => AssertQuery( async, ss => ss.Set().Select(w => new { w.Id, Num = w.IsAutomatic ? 1 : 0 }), elementSorter: e => e.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_ternary_operation_with_inverted_boolean(bool async) => AssertQuery( async, ss => ss.Set().Select(w => new { w.Id, Num = !w.IsAutomatic ? 1 : 0 }), elementSorter: e => e.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_ternary_operation_with_has_value_not_null(bool async) => AssertQuery( async, @@ -494,7 +494,7 @@ public virtual Task Select_ternary_operation_with_has_value_not_null(bool async) }), elementSorter: e => e.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_ternary_operation_multiple_conditions(bool async) => AssertQuery( async, @@ -502,21 +502,21 @@ public virtual Task Select_ternary_operation_multiple_conditions(bool async) => new { w.Id, IsCartridge = w.AmmunitionType == AmmunitionType.Shell && w.SynergyWithId == 1 ? "Yes" : "No" }), elementSorter: e => e.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_ternary_operation_multiple_conditions_2(bool async) => AssertQuery( async, ss => ss.Set().Select(w => new { w.Id, IsCartridge = !w.IsAutomatic && w.SynergyWithId == 1 ? "Yes" : "No" }), elementSorter: e => e.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_multiple_conditions(bool async) => AssertQuery( async, ss => ss.Set().Select(w => new { w.Id, IsCartridge = !w.IsAutomatic && w.SynergyWithId == 1 }), elementSorter: e => e.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_nested_ternary_operations(bool async) => AssertQuery( async, @@ -529,32 +529,32 @@ public virtual Task Select_nested_ternary_operations(bool async) }), elementSorter: e => e.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Null_propagation_optimization1(bool async) => AssertQuery( async, ss => ss.Set().Where(g => (g == null ? null : g.LeaderNickname) == "Marcus" == (bool?)true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Null_propagation_optimization2(bool async) => AssertQuery( async, ss => ss.Set().Where(g => (g.LeaderNickname == null ? null : g.LeaderNickname.EndsWith("us")) == true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Null_propagation_optimization3(bool async) => AssertQuery( async, ss => ss.Set().Where(g => (g.LeaderNickname != null ? g.LeaderNickname.EndsWith("us") : null) == true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Null_propagation_optimization4(bool async) => AssertQuery( async, ss => ss.Set().Where(g => (null == EF.Property(g, "LeaderNickname") ? null : g.LeaderNickname.Length) == 5 == (bool?)true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Null_propagation_optimization5(bool async) => AssertQuery( async, @@ -562,7 +562,7 @@ public virtual Task Null_propagation_optimization5(bool async) == 5 == (bool?)true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Null_propagation_optimization6(bool async) => AssertQuery( async, @@ -570,31 +570,31 @@ public virtual Task Null_propagation_optimization6(bool async) == 5 == (bool?)true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_null_propagation_optimization7(bool async) => AssertQuery( async, ss => ss.Set().Select(g => null != g.LeaderNickname ? g.LeaderNickname + g.LeaderNickname : null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_null_propagation_optimization8(bool async) => AssertQuery( async, ss => ss.Set().Select(g => g != null ? g.LeaderNickname + g.LeaderNickname : null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_null_propagation_optimization9(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(g => g != null ? g.FullName.Length : (int?)null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_null_propagation_negative1(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(g => g.LeaderNickname != null ? g.Nickname.Length == 5 : (bool?)null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_null_propagation_negative2(bool async) => AssertQuery( async, @@ -602,7 +602,7 @@ public virtual Task Select_null_propagation_negative2(bool async) from g2 in ss.Set() select g1.LeaderNickname != null ? g2.LeaderNickname : null); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_null_propagation_negative3(bool async) => AssertQuery( async, @@ -613,7 +613,7 @@ orderby g2.Nickname select new { g2.Nickname, Condition = g2 != null ? g2.LeaderNickname != null : (bool?)null }, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_null_propagation_negative4(bool async) => AssertQuery( async, @@ -624,7 +624,7 @@ orderby g2.Nickname select g2 != null ? new Tuple(g2.Nickname, 5) : null, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_null_propagation_negative5(bool async) => AssertQuery( async, @@ -637,7 +637,7 @@ orderby g2.Nickname : null, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_null_propagation_negative6(bool async) => AssertQueryScalar( async, @@ -645,19 +645,19 @@ public virtual Task Select_null_propagation_negative6(bool async) ? EF.Property(g, "LeaderNickname").Length != EF.Property(g, "LeaderNickname").Length : (bool?)null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_null_propagation_negative7(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(g => null != g.LeaderNickname ? g.LeaderNickname == g.LeaderNickname : (bool?)null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_null_propagation_negative8(bool async) => AssertQuery( async, ss => ss.Set().Select(t => t.Gear.Squad != null ? t.Gear.AssignedCity.Name : null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_null_propagation_negative9(bool async) => AssertQueryScalar( async, @@ -665,7 +665,7 @@ public virtual Task Select_null_propagation_negative9(bool async) ? (bool?)(g.Nickname.Length == 5) ?? default : (bool?)null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_null_propagation_works_for_navigations_with_composite_keys(bool async) { return AssertQuery( @@ -676,7 +676,7 @@ public virtual Task Select_null_propagation_works_for_navigations_with_composite #pragma warning restore IDE0031 // Use null propagation } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_null_propagation_works_for_multiple_navigations_with_composite_keys(bool async) => AssertQuery( async, @@ -685,7 +685,7 @@ select EF.Property(EF.Property(t.Gear, "Tag").Gear, "AssignedCity" ? EF.Property(EF.Property(t.Gear.Tag, "Gear").AssignedCity, "Name") : null); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_conditional_with_anonymous_type_and_null_constant(bool async) => AssertQuery( async, @@ -696,7 +696,7 @@ orderby g.Nickname : null, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_conditional_with_anonymous_types(bool async) => AssertQuery( async, @@ -707,7 +707,7 @@ orderby g.Nickname : new { Name = g.FullName }, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_conditional_equality_1(bool async) => AssertQuery( async, @@ -720,7 +720,7 @@ orderby g.Nickname select g.Nickname, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_conditional_equality_2(bool async) => AssertQuery( async, @@ -733,7 +733,7 @@ orderby g.Nickname select g.Nickname, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_conditional_equality_3(bool async) => AssertQuery( async, @@ -746,7 +746,7 @@ orderby g.Nickname select g.Nickname, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_coalesce_with_anonymous_types(bool async) => AssertQuery( async, @@ -755,7 +755,7 @@ orderby g.Nickname select new { Name = g.LeaderNickname } ?? new { Name = g.FullName }, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_coalesce_with_anonymous_types(bool async) => AssertQuery( async, @@ -763,7 +763,7 @@ public virtual Task Where_coalesce_with_anonymous_types(bool async) where (new { Name = g.LeaderNickname } ?? new { Name = g.FullName }) != null select g.Nickname); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_compare_anonymous_types(bool async) => AssertQuery( async, @@ -787,7 +787,7 @@ from o in ss.Set().OfType() where g.LeaderNickname == o.Nickname && g.LeaderSquadId == o.SquadId select g.Nickname); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_member_access_on_anonymous_type(bool async) => AssertQuery( async, @@ -795,7 +795,7 @@ public virtual Task Where_member_access_on_anonymous_type(bool async) where new { Name = g.LeaderNickname, Squad = g.LeaderSquadId }.Name == "Marcus" select g.Nickname); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_compare_anonymous_types_with_uncorrelated_members(bool async) => AssertQuery( async, @@ -805,7 +805,7 @@ public virtual Task Where_compare_anonymous_types_with_uncorrelated_members(bool select g.Nickname, assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Where_Navigation(bool async) => AssertQuery( async, @@ -813,7 +813,7 @@ public virtual Task Select_Where_Navigation(bool async) where t.Gear.Nickname == "Marcus" select t); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Where_Navigation_Scalar_Equals_Navigation_Scalar(bool async) => AssertQuery( async, @@ -828,7 +828,7 @@ from t2 in ss.Set() AssertEqual(e.Tag2, a.Tag2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Where_Navigation_Scalar_Equals_Navigation_Scalar_Projected(bool async) => AssertQuery( async, @@ -838,38 +838,38 @@ from t2 in ss.Set() select new { Id1 = t1.Id, Id2 = t2.Id }, elementSorter: e => (e.Id1, e.Id2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_Navigation_Null_Coalesce_To_Clr_Type(bool async) => AssertFirst( async, ss => ss.Set().OrderBy(w => w.Id).Select(w => new Weapon { IsAutomatic = (bool?)w.SynergyWith.IsAutomatic ?? false })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_boolean(bool async) => AssertQuery( async, ss => ss.Set().Where(g => g.Weapons.OrderBy(w => w.Id).Select(w => w.IsAutomatic).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_boolean_with_pushdown(bool async) => AssertQuery( async, ss => ss.Set().Where(g => g.Weapons.OrderBy(w => w.Id).FirstOrDefault().IsAutomatic)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_distinct_firstordefault_boolean(bool async) => AssertQuery( async, ss => ss.Set().Where(g => g.HasSoulPatch && g.Weapons.Distinct().OrderBy(w => w.Id).Select(w => w.IsAutomatic).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_distinct_firstordefault_boolean_with_pushdown(bool async) => AssertQuery( async, ss => ss.Set().Where(g => g.HasSoulPatch && g.Weapons.Distinct().OrderBy(w => w.Id).FirstOrDefault().IsAutomatic)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_distinct_first_boolean(bool async) => AssertQuery( async, @@ -877,7 +877,7 @@ public virtual Task Where_subquery_distinct_first_boolean(bool async) .Where(g => g.HasSoulPatch && g.Weapons.Distinct().OrderBy(w => w.Id).First().IsAutomatic), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_distinct_singleordefault_boolean1(bool async) => AssertQuery( async, @@ -886,7 +886,7 @@ public virtual Task Where_subquery_distinct_singleordefault_boolean1(bool async) .SingleOrDefault()), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_distinct_singleordefault_boolean2(bool async) => AssertQuery( async, @@ -895,7 +895,7 @@ public virtual Task Where_subquery_distinct_singleordefault_boolean2(bool async) .SingleOrDefault()), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_distinct_singleordefault_boolean_with_pushdown(bool async) => AssertQuery( async, @@ -903,7 +903,7 @@ public virtual Task Where_subquery_distinct_singleordefault_boolean_with_pushdow => g.HasSoulPatch && g.Weapons.Where(w => w.Name.Contains("Lancer")).Distinct().SingleOrDefault().IsAutomatic), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_distinct_lastordefault_boolean(bool async) => AssertQuery( async, @@ -912,7 +912,7 @@ public virtual Task Where_subquery_distinct_lastordefault_boolean(bool async) .Where(g => !g.Weapons.Distinct().OrderBy(w => w.Id).LastOrDefault().IsAutomatic), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_distinct_last_boolean(bool async) => AssertQuery( async, @@ -921,26 +921,26 @@ public virtual Task Where_subquery_distinct_last_boolean(bool async) .Where(g => !g.HasSoulPatch && g.Weapons.Distinct().OrderBy(w => w.Id).Last().IsAutomatic), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_distinct_orderby_firstordefault_boolean(bool async) => AssertQuery( async, ss => ss.Set().Where(g => g.HasSoulPatch && g.Weapons.Distinct().OrderBy(w => w.Id).Select(w => w.IsAutomatic).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_distinct_orderby_firstordefault_boolean_with_pushdown(bool async) => AssertQuery( async, ss => ss.Set().Where(g => g.HasSoulPatch && g.Weapons.Distinct().OrderBy(w => w.Id).FirstOrDefault().IsAutomatic)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_union_firstordefault_boolean(bool async) => AssertQuery( async, ss => ss.Set().Where(g => g.HasSoulPatch && g.Weapons.Union(g.Weapons).OrderBy(w => w.Id).FirstOrDefault().IsAutomatic)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_join_firstordefault_boolean(bool async) => AssertQuery( async, @@ -948,7 +948,7 @@ public virtual Task Where_subquery_join_firstordefault_boolean(bool async) && g.Weapons.Join(g.Weapons, e => e.Id, e => e.Id, (e1, e2) => e1).OrderBy(w => w.Id).FirstOrDefault() .IsAutomatic)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_left_join_firstordefault_boolean(bool async) => AssertQuery( async, @@ -958,25 +958,25 @@ join i in g.Weapons on o.Id equals i.Id into grouping from i in grouping.DefaultIfEmpty() select o).OrderBy(w => w.Id).FirstOrDefault().IsAutomatic)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_concat_firstordefault_boolean(bool async) => AssertQuery( async, ss => ss.Set().Where(g => g.HasSoulPatch && g.Weapons.Concat(g.Weapons).OrderBy(w => w.Id).FirstOrDefault().IsAutomatic)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Concat_with_count(bool async) => AssertCount( async, ss => ss.Set().Concat(ss.Set())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Concat_scalars_with_count(bool async) => AssertCount( async, ss => ss.Set().Select(g => g.Nickname).Concat(ss.Set().Select(g2 => g2.FullName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Concat_anonymous_with_count(bool async) => AssertCount( async, @@ -985,37 +985,37 @@ public virtual Task Concat_anonymous_with_count(bool async) .Concat( ss.Set().Select(g2 => new { Gear = g2, Name = g2.FullName }))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Concat_with_scalar_projection(bool async) => AssertQuery( async, ss => ss.Set().Concat(ss.Set()).Select(g => g.Nickname)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_navigation_with_concat_and_count(bool async) => AssertQueryScalar( async, ss => ss.Set().Where(g => !g.HasSoulPatch).Select(g => g.Weapons.Concat(g.Weapons).Count())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Concat_with_collection_navigations(bool async) => AssertQueryScalar( async, ss => ss.Set().Where(g => g.HasSoulPatch).Select(g => g.Weapons.Union(g.Weapons).Count())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_with_collection_navigations(bool async) => AssertQueryScalar( async, ss => ss.Set().OfType().Select(o => o.Reports.Union(o.Reports).Count())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_distinct_firstordefault(bool async) => AssertQuery( async, ss => ss.Set().Where(g => g.HasSoulPatch).Select(g => g.Weapons.Distinct().OrderBy(w => w.Id).FirstOrDefault().Name)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Where_Navigation_Client(bool async) => AssertTranslationFailedWithDetails( () => AssertQuery( @@ -1025,7 +1025,7 @@ public virtual Task Select_Where_Navigation_Client(bool async) select t), CoreStrings.QueryUnableToTranslateMember(nameof(Gear.IsMarcus), nameof(Gear))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Where_Navigation_Null(bool async) => AssertQuery( async, @@ -1033,7 +1033,7 @@ public virtual Task Select_Where_Navigation_Null(bool async) where t.Gear == null select t); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Where_Navigation_Null_Reverse(bool async) => AssertQuery( async, @@ -1041,7 +1041,7 @@ public virtual Task Select_Where_Navigation_Null_Reverse(bool async) where null == t.Gear select t); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Where_Navigation_Equals_Navigation(bool async) => AssertQuery( async, @@ -1056,7 +1056,7 @@ from t2 in ss.Set() AssertEqual(e.t2, e.t2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Conditional_Navigation_With_Trivial_Member_Access(bool async) => AssertQuery( async, @@ -1065,7 +1065,7 @@ public virtual Task Conditional_Navigation_With_Trivial_Member_Access(bool async .Select(g => new { g.Nickname }), elementSorter: e => e.Nickname); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Conditional_Navigation_With_Member_Access_On_Same_Type(bool async) => AssertQuery( async, @@ -1074,7 +1074,7 @@ public virtual Task Conditional_Navigation_With_Member_Access_On_Same_Type(bool .Select(g => new { g.Nickname, g.FullName }), elementSorter: e => e.Nickname); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Conditional_Navigation_With_Member_Access_On_Related_Types(bool async) => AssertQuery( async, @@ -1083,7 +1083,7 @@ public virtual Task Conditional_Navigation_With_Member_Access_On_Related_Types(b .Select(g => new { g.Name }), elementSorter: e => e.Name); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Singleton_Navigation_With_Member_Access(bool async) => AssertQuery( async, @@ -1093,7 +1093,7 @@ public virtual Task Singleton_Navigation_With_Member_Access(bool async) select new { B = ct.Gear.CityOfBirthName }, elementSorter: e => e.B); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Singleton_Navigation_With_Member_Access(bool async) => AssertQuery( async, @@ -1108,7 +1108,7 @@ public virtual Task Select_Singleton_Navigation_With_Member_Access(bool async) Assert.Equal(e.B, e.B); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_Composite_Key(bool async) => AssertQuery( async, @@ -1120,7 +1120,7 @@ join g in ss.Set() from g in grouping select g); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_navigation_translated_to_subquery_composite_key(bool async) => AssertQuery( async, @@ -1129,7 +1129,7 @@ join t in ss.Set() on g.FullName equals t.Gear.FullName select new { g.FullName, t.Note }, elementSorter: e => e.FullName); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_with_order_by_on_inner_sequence_navigation_translated_to_subquery_composite_key(bool async) => AssertQuery( async, @@ -1138,7 +1138,7 @@ join t in ss.Set().OrderBy(tt => tt.Id) on g.FullName equals t.Gear.Full select new { g.FullName, t.Note }, elementSorter: e => e.FullName); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_with_order_by_without_skip_or_take(bool async) => AssertQuery( async, @@ -1147,7 +1147,7 @@ join w in ss.Set().OrderBy(ww => ww.Name) on g.FullName equals w.OwnerFu select new { w.Name, g.FullName }, elementSorter: w => w.Name); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_with_order_by_without_skip_or_take_nested(bool async) => AssertQuery( async, @@ -1157,7 +1157,7 @@ join w in ss.Set().OrderBy(ww => ww.Name) on g.FullName equals w.OwnerFu select new { w.Name, g.FullName }, elementSorter: w => w.Name); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_with_inheritance_and_join_include_joined(bool async) => AssertQuery( async, @@ -1167,7 +1167,7 @@ public virtual Task Collection_with_inheritance_and_join_include_joined(bool asy select g).Include(g => g.Tag), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(o => o.Tag))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_with_inheritance_and_join_include_source(bool async) => AssertQuery( async, @@ -1177,7 +1177,7 @@ public virtual Task Collection_with_inheritance_and_join_include_source(bool asy select g).Include(g => g.Tag), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(o => o.Tag))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Non_unicode_string_literal_is_used_for_non_unicode_column(bool async) => AssertQuery( async, @@ -1185,7 +1185,7 @@ public virtual Task Non_unicode_string_literal_is_used_for_non_unicode_column(bo where c.Location == "Unknown" select c); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Non_unicode_string_literal_is_used_for_non_unicode_column_right(bool async) => AssertQuery( async, @@ -1193,7 +1193,7 @@ public virtual Task Non_unicode_string_literal_is_used_for_non_unicode_column_ri where "Unknown" == c.Location select c); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Non_unicode_parameter_is_used_for_non_unicode_column(bool async) { var value = "Unknown"; @@ -1205,7 +1205,7 @@ public virtual Task Non_unicode_parameter_is_used_for_non_unicode_column(bool as select c); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Non_unicode_string_literals_in_contains_is_used_for_non_unicode_column(bool async) { var cities = new List @@ -1222,7 +1222,7 @@ where cities.Contains(c.Location) select c); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Non_unicode_string_literals_is_used_for_non_unicode_column_with_subquery(bool async) => AssertQuery( async, @@ -1230,7 +1230,7 @@ public virtual Task Non_unicode_string_literals_is_used_for_non_unicode_column_w where c.Location == "Unknown" && c.BornGears.Count(g => g.Nickname == "Paduk") == 1 select c); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Non_unicode_string_literals_is_used_for_non_unicode_column_in_subquery(bool async) => AssertQuery( async, @@ -1238,7 +1238,7 @@ public virtual Task Non_unicode_string_literals_is_used_for_non_unicode_column_i where g.Nickname == "Marcus" && g.CityOfBirth.Location == "Jacinto's location" select g); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Non_unicode_string_literals_is_used_for_non_unicode_column_with_contains(bool async) => AssertQuery( async, @@ -1246,7 +1246,7 @@ public virtual Task Non_unicode_string_literals_is_used_for_non_unicode_column_w where c.Location.Contains("Jacinto") select c); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // Issue #32325 + [Theory, MemberData(nameof(IsAsyncData))] // Issue #32325 public virtual Task Unicode_string_literals_is_used_for_non_unicode_column_with_concat(bool async) => AssertQuery( async, @@ -1254,7 +1254,7 @@ public virtual Task Unicode_string_literals_is_used_for_non_unicode_column_with_ where (c.Location + "Added").Contains("Add") select c); - [ConditionalFact] + [Fact] public virtual void Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result1() { using var context = CreateContext(); @@ -1271,7 +1271,7 @@ orderby g1.Nickname Assert.Equal([0, 0, 0, 2, 0], result.Select(g => g.Weapons.Count)); } - [ConditionalFact] + [Fact] public virtual void Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result2() { using var context = CreateContext(); @@ -1288,7 +1288,7 @@ orderby g1.Nickname Assert.Equal([2, 2, 2, 0, 2], result.Select(g => g.Weapons.Count)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result3(bool async) => AssertQuery( async, @@ -1302,7 +1302,7 @@ from g2 in grouping.DefaultIfEmpty() new ExpectedInclude(g => g.Weapons), new ExpectedInclude(g => g.Weapons))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result4(bool async) { var expectedIncludes = new IExpectedInclude[] @@ -1331,7 +1331,7 @@ from g2 in grouping.DefaultIfEmpty() elementSorter: e => e.g1.Nickname); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_inheritance_and_coalesce_result(bool async) => AssertQuery( async, @@ -1345,7 +1345,7 @@ from g2 in grouping.DefaultIfEmpty() new ExpectedInclude(g => g.Weapons), new ExpectedInclude(g => g.Weapons))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_conditional_result(bool async) => AssertQuery( async, @@ -1361,7 +1361,7 @@ from g2 in grouping.DefaultIfEmpty() new ExpectedInclude(g => g.Weapons), new ExpectedInclude(g => g.Weapons))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_complex_projection_result(bool async) { var expectedIncludes = new IExpectedInclude[] @@ -1394,45 +1394,45 @@ from g2 in grouping.DefaultIfEmpty() elementSorter: e => e.g1.Nickname + " " + e.g2?.Nickname); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Coalesce_operator_in_predicate(bool async) => AssertQuery( async, ss => ss.Set().Where(x => (bool?)x.Gear.HasSoulPatch ?? false)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Coalesce_operator_in_predicate_with_other_conditions(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Note != "K.I.A." && ((bool?)x.Gear.HasSoulPatch ?? false))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Coalesce_operator_in_projection_with_other_conditions(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(x => x.Note != "K.I.A." && ((bool?)x.Gear.HasSoulPatch ?? false))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_type_compensation_works_with_predicate(bool async) => AssertQuery( async, ss => ss.Set().Where(t => t.Note != "K.I.A." && t.Gear.HasSoulPatch)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_type_compensation_works_with_predicate2(bool async) => AssertQuery( async, ss => ss.Set().Where(t => t.Gear.HasSoulPatch), ss => ss.Set().Where(t => t.Gear.MaybeScalar(x => x.HasSoulPatch) == true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_type_compensation_works_with_predicate_negated(bool async) => AssertQuery( async, ss => ss.Set().Where(t => !t.Gear.HasSoulPatch), ss => ss.Set().Where(t => !t.Gear.MaybeScalar(x => x.HasSoulPatch) == true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_type_compensation_works_with_predicate_negated_complex1(bool async) => AssertQuery( async, @@ -1442,7 +1442,7 @@ public virtual Task Optional_navigation_type_compensation_works_with_predicate_n : t.Gear.MaybeScalar(x => x.HasSoulPatch)) == true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_type_compensation_works_with_predicate_negated_complex2(bool async) => AssertQuery( async, @@ -1452,45 +1452,45 @@ public virtual Task Optional_navigation_type_compensation_works_with_predicate_n : t.Gear.MaybeScalar(x => x.HasSoulPatch)) == true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_type_compensation_works_with_conditional_expression(bool async) => AssertQuery( async, // ReSharper disable once RedundantTernaryExpression ss => ss.Set().Where(t => t.Gear.HasSoulPatch ? true : false)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_type_compensation_works_with_binary_expression(bool async) => AssertQuery( async, ss => ss.Set().Where(t => t.Gear.HasSoulPatch || t.Note.Contains("Cole"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_type_compensation_works_with_binary_and_expression(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(t => t.Gear.HasSoulPatch && t.Note.Contains("Cole"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_type_compensation_works_with_projection(bool async) => AssertQueryScalar( async, ss => ss.Set().Where(t => t.Note != "K.I.A.").Select(t => t.Gear.SquadId)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_type_compensation_works_with_projection_into_anonymous_type(bool async) => AssertQuery( async, ss => ss.Set().Where(t => t.Note != "K.I.A.").Select(t => new { t.Gear.SquadId }), elementSorter: e => e.SquadId); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_type_compensation_works_with_DTOs(bool async) => AssertQuery( async, ss => ss.Set().Where(t => t.Note != "K.I.A.").Select(t => new Squad { Id = t.Gear.SquadId })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_type_compensation_works_with_list_initializers(bool async) => AssertQuery( async, @@ -1503,39 +1503,39 @@ public virtual Task Optional_navigation_type_compensation_works_with_list_initia }), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_type_compensation_works_with_array_initializers(bool async) => AssertQuery( async, ss => ss.Set().Where(t => t.Note != "K.I.A.").Select(t => new[] { t.Gear.SquadId }), elementSorter: e => e[0]); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_type_compensation_works_with_orderby(bool async) => AssertQuery( async, ss => ss.Set().Where(t => t.Note != "K.I.A.").OrderBy(t => t.Gear.SquadId).Select(t => t)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_type_compensation_works_with_all(bool async) => AssertAll( async, ss => ss.Set().Where(t => t.Note != "K.I.A."), predicate: t => t.Gear.HasSoulPatch); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_type_compensation_works_with_negated_predicate(bool async) => AssertQuery( async, ss => ss.Set().Where(t => t.Note != "K.I.A.").Where(t => !t.Gear.HasSoulPatch)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_type_compensation_works_with_contains(bool async) => AssertQuery( async, ss => ss.Set().Where(t => t.Note != "K.I.A." && ss.Set().Select(g => g.SquadId).Contains(t.Gear.SquadId))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_type_compensation_works_with_skip(bool async) => AssertInvalidMaterializationType( () => AssertQuery( @@ -1546,7 +1546,7 @@ public virtual Task Optional_navigation_type_compensation_works_with_skip(bool a elementAsserter: (e, a) => AssertCollection(e, a, ordered: true)), "IEnumerable"); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_type_compensation_works_with_take(bool async) => AssertInvalidMaterializationType( () => AssertQuery( @@ -1557,7 +1557,7 @@ public virtual Task Optional_navigation_type_compensation_works_with_take(bool a elementAsserter: (e, a) => AssertCollection(e, a, ordered: true)), "IEnumerable"); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_correlated_filtered_collection(bool async) => AssertQuery( async, @@ -1568,7 +1568,7 @@ public virtual Task Select_correlated_filtered_collection(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_correlated_filtered_collection_with_composite_key(bool async) => AssertQuery( async, @@ -1577,7 +1577,7 @@ public virtual Task Select_correlated_filtered_collection_with_composite_key(boo assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_correlated_filtered_collection_returning_queryable_throws(bool async) => AssertInvalidMaterializationType( () => AssertQuery( @@ -1587,7 +1587,7 @@ public virtual Task Select_correlated_filtered_collection_returning_queryable_th elementAsserter: (e, a) => AssertCollection(e, a)), typeof(IQueryable).ShortDisplayName()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_correlated_filtered_collection_works_with_caching(bool async) => AssertQuery( async, @@ -1595,7 +1595,7 @@ public virtual Task Select_correlated_filtered_collection_works_with_caching(boo assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_predicate_value_equals_condition(bool async) => AssertQuery( async, @@ -1605,7 +1605,7 @@ join w in ss.Set() on true equals w.SynergyWithId != null select g); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_predicate_value(bool async) => AssertQuery( async, @@ -1615,7 +1615,7 @@ join w in ss.Set() on g.HasSoulPatch equals true select g); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_predicate_condition_equals_condition(bool async) => AssertQuery( async, @@ -1625,7 +1625,7 @@ join w in ss.Set() on g.FullName != null equals w.SynergyWithId != null select g); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Left_join_predicate_value_equals_condition(bool async) => AssertQuery( async, @@ -1637,7 +1637,7 @@ into group1 from w in group1.DefaultIfEmpty() select g); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Left_join_predicate_value(bool async) => AssertQuery( async, @@ -1649,7 +1649,7 @@ into group1 from w in group1.DefaultIfEmpty() select g); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Left_join_predicate_condition_equals_condition(bool async) => AssertQuery( async, @@ -1661,7 +1661,7 @@ into group1 from w in group1.DefaultIfEmpty() select g); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Orderby_added_for_client_side_GroupJoin_composite_dependent_to_principal_LOJ_when_incomplete_key_is_used(bool async) => AssertTranslationFailed(() => AssertQuery( async, @@ -1679,7 +1679,7 @@ private static IEnumerable ClientDefaultIfEmpty(IEnumerable< => source?.Count() == 0 ? [default] : source; // ReSharper restore PossibleMultipleEnumeration - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Complex_predicate_with_AndAlso_and_nullable_bool_property(bool async) => AssertQuery( async, @@ -1690,7 +1690,7 @@ public virtual Task Complex_predicate_with_AndAlso_and_nullable_bool_property(bo where w.Id != 50 && w.Owner.MaybeScalar(x => x.HasSoulPatch) == false select w); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Distinct_with_optional_navigation_is_translated_to_sql(bool async) => AssertQueryScalar( async, @@ -1698,7 +1698,7 @@ public virtual Task Distinct_with_optional_navigation_is_translated_to_sql(bool where g.Tag.Note != "Foo" select g.HasSoulPatch).Distinct()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_with_optional_navigation_is_translated_to_sql(bool async) => AssertSum( async, @@ -1706,7 +1706,7 @@ public virtual Task Sum_with_optional_navigation_is_translated_to_sql(bool async where g.Tag.Note != "Foo" select g.SquadId)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Count_with_optional_navigation_is_translated_to_sql(bool async) => AssertCount( async, @@ -1714,7 +1714,7 @@ public virtual Task Count_with_optional_navigation_is_translated_to_sql(bool asy where g.Tag.Note != "Foo" select g.HasSoulPatch)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FirstOrDefault_with_manually_created_groupjoin_is_translated_to_sql(bool async) => AssertFirstOrDefault( async, @@ -1724,7 +1724,7 @@ from g in grouping.DefaultIfEmpty() where s.Name == "Kilo" select s); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Any_with_optional_navigation_as_subquery_predicate_is_translated_to_sql(bool async) => AssertQuery( async, @@ -1732,7 +1732,7 @@ public virtual Task Any_with_optional_navigation_as_subquery_predicate_is_transl where !s.Members.Any(m => m.Tag.Note == "Dom's Tag") select s.Name); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task All_with_optional_navigation_is_translated_to_sql(bool async) => AssertAll( async, @@ -1740,7 +1740,7 @@ public virtual Task All_with_optional_navigation_is_translated_to_sql(bool async select g, predicate: g => g.Tag.Note != "Foo"); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Client_side_equality_with_parameter_works_with_optional_navigations(bool async) { var prm = "Marcus' Tag"; @@ -1753,7 +1753,7 @@ public virtual Task Client_side_equality_with_parameter_works_with_optional_navi private static bool ClientEquals(string first, string second) => first == second; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_nullable_guid_list_closure(bool async) { var ids = new List @@ -1768,7 +1768,7 @@ public virtual Task Contains_with_local_nullable_guid_list_closure(bool async) ss => ss.Set().Where(e => ids.Contains(e.Id))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Unnecessary_include_doesnt_get_added_complex_when_projecting_EF_Property(bool async) => AssertQuery( async, @@ -1779,7 +1779,7 @@ public virtual Task Unnecessary_include_doesnt_get_added_complex_when_projecting .Select(g => new { FullName = EF.Property(g, "FullName") }), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_order_bys_are_properly_lifted_from_subquery_created_by_include(bool async) => AssertQuery( async, @@ -1793,7 +1793,7 @@ public virtual Task Multiple_order_bys_are_properly_lifted_from_subquery_created .Select(g => g.FullName), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Order_by_is_properly_lifted_from_subquery_with_same_order_by_in_the_outer_query(bool async) => AssertQuery( async, @@ -1804,7 +1804,7 @@ public virtual Task Order_by_is_properly_lifted_from_subquery_with_same_order_by .Select(g => g.FullName), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_is_properly_lifted_from_subquery_created_by_include(bool async) => AssertQuery( async, @@ -1817,7 +1817,7 @@ public virtual Task Where_is_properly_lifted_from_subquery_created_by_include(bo elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(e => e.Tag)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Subquery_is_lifted_from_main_from_clause_of_SelectMany(bool async) => AssertQuery( async, @@ -1827,7 +1827,7 @@ orderby g1.FullName where g1.HasSoulPatch && !g2.HasSoulPatch select new { Name1 = g1.FullName, Name2 = g2.FullName }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Subquery_containing_SelectMany_projecting_main_from_clause_gets_lifted(bool async) => AssertQuery( async, @@ -1841,7 +1841,7 @@ orderby g.FullName select g.FullName, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Subquery_containing_join_projecting_main_from_clause_gets_lifted(bool async) => AssertQuery( async, @@ -1854,7 +1854,7 @@ orderby g.Nickname select g.Nickname, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Subquery_containing_left_join_projecting_main_from_clause_gets_lifted(bool async) => AssertQuery( async, @@ -1868,7 +1868,7 @@ orderby g.Nickname select g.Nickname, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Subquery_containing_join_gets_lifted_clashing_names(bool async) => AssertQuery( async, @@ -1883,7 +1883,7 @@ join tag in ss.Set() on gear.Nickname equals tag.GearNickName select gear.Nickname, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Subquery_created_by_include_gets_lifted_nested(bool async) => AssertQuery( async, @@ -1894,7 +1894,7 @@ orderby gear.Nickname elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(e => e.CityOfBirth)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Subquery_is_lifted_from_additional_from_clause(bool async) => AssertQuery( async, @@ -1906,7 +1906,7 @@ where g1.HasSoulPatch && !g2.HasSoulPatch select new { Name1 = g1.FullName, Name2 = g2.FullName }, elementSorter: e => (e.Name1, e.Name2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Subquery_with_result_operator_is_not_lifted(bool async) => AssertQuery( async, @@ -1915,7 +1915,7 @@ orderby g.Rank select g.FullName, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_with_orderby_followed_by_orderBy_is_pushed_down(bool async) => AssertQuery( async, @@ -1924,7 +1924,7 @@ orderby g.Rank select g.FullName, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_without_orderby_followed_by_orderBy_is_pushed_down1(bool async) => AssertQuery( async, @@ -1933,7 +1933,7 @@ orderby g.Rank select g.FullName, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_without_orderby_followed_by_orderBy_is_pushed_down2(bool async) => AssertQuery( async, @@ -1943,7 +1943,7 @@ orderby g.Rank select g.FullName, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_without_orderby_followed_by_orderBy_is_pushed_down3(bool async) => AssertQuery( async, @@ -1952,7 +1952,7 @@ public virtual Task Take_without_orderby_followed_by_orderBy_is_pushed_down3(boo select g.FullName, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_length_of_string_property(bool async) => AssertQuery( async, @@ -1960,7 +1960,7 @@ public virtual Task Select_length_of_string_property(bool async) select new { w.Name, w.Name.Length }, elementSorter: e => e.Name); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Client_method_on_collection_navigation_in_predicate(bool async) => AssertTranslationFailed(() => AssertQuery( async, @@ -1968,7 +1968,7 @@ public virtual Task Client_method_on_collection_navigation_in_predicate(bool asy where g.HasSoulPatch && FavoriteWeapon(g.Weapons).Name == "Marcus' Lancer" select g.Nickname)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Client_method_on_collection_navigation_in_predicate_accessed_by_ef_property(bool async) => AssertTranslationFailed(() => AssertQuery( async, @@ -1976,7 +1976,7 @@ public virtual Task Client_method_on_collection_navigation_in_predicate_accessed where !g.HasSoulPatch && FavoriteWeapon(EF.Property>(g, "Weapons")).Name == "Cole's Gnasher" select g.Nickname)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Client_method_on_collection_navigation_in_order_by(bool async) => AssertTranslationFailed(() => AssertQuery( async, @@ -1986,7 +1986,7 @@ orderby FavoriteWeapon(g.Weapons).Name descending select g.Nickname, assertOrder: true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Client_method_on_collection_navigation_in_additional_from_clause(bool async) => AssertTranslationFailed(() => AssertQuery( async, @@ -1995,7 +1995,7 @@ from v in Veterans(g.Reports) select new { g = g.Nickname, v = v.Nickname }, elementSorter: e => e.g + e.v)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Client_method_on_collection_navigation_in_outer_join_key(bool async) { var message = (await Assert.ThrowsAsync(() => AssertQuery( @@ -2013,7 +2013,7 @@ private static Weapon FavoriteWeapon(IEnumerable weapons) private static IEnumerable Veterans(IEnumerable gears) => gears.Where(g => g.Nickname is "Marcus" or "Dom" or "Cole Train" or "Baird"); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Member_access_on_derived_entity_using_cast(bool async) => AssertQuery( async, @@ -2023,7 +2023,7 @@ where f is LocustHorde select new { ((LocustHorde)f).Name, ((LocustHorde)f).Eradicated }, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Member_access_on_derived_materialized_entity_using_cast(bool async) => AssertQuery( async, @@ -2038,7 +2038,7 @@ orderby f.Name Assert.Equal(e.Eradicated, a.Eradicated); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Member_access_on_derived_entity_using_cast_and_let(bool async) => AssertQuery( async, @@ -2049,7 +2049,7 @@ orderby horde.Name select new { horde.Name, horde.Eradicated }, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Property_access_on_derived_entity_using_cast(bool async) => AssertQuery( async, @@ -2060,7 +2060,7 @@ orderby f.Name select new { Name = EF.Property(horde, "Name"), Eradicated = EF.Property((LocustHorde)f, "Eradicated") }, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_access_on_derived_entity_using_cast(bool async) => AssertQuery( async, @@ -2070,7 +2070,7 @@ orderby f.Name select new { f.Name, Threat = ((LocustHorde)f).Commander.ThreatLevel }, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_access_on_derived_materialized_entity_using_cast(bool async) => AssertQuery( async, @@ -2091,7 +2091,7 @@ orderby f.Name Assert.Equal(e.Threat, a.Threat); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_access_via_EFProperty_on_derived_entity_using_cast(bool async) => AssertQuery( async, @@ -2101,7 +2101,7 @@ orderby f.Name select new { f.Name, Threat = EF.Property((LocustHorde)f, "Commander").ThreatLevel }, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_access_fk_on_derived_entity_using_cast(bool async) => AssertQuery( async, @@ -2111,7 +2111,7 @@ orderby f.Name select new { f.Name, CommanderName = ((LocustHorde)f).Commander.Name }, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_navigation_access_on_derived_entity_using_cast(bool async) => AssertQuery( async, @@ -2121,7 +2121,7 @@ orderby f.Name select new { f.Name, LeadersCount = ((LocustHorde)f).Leaders.Count }, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_navigation_access_on_derived_entity_using_cast_in_SelectMany(bool async) => AssertQuery( async, @@ -2131,7 +2131,7 @@ orderby l.Name select new { f.Name, LeaderName = l.Name }, elementSorter: e => (e.Name, e.LeaderName)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_on_derived_entity_using_OfType(bool async) => AssertQuery( async, @@ -2144,7 +2144,7 @@ orderby lh.Name new ExpectedInclude(e2 => e2.Leaders)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_on_derived_entity_with_cast(bool async) // TODO: should we disable this scenario? see #14671 => AssertQuery( @@ -2156,7 +2156,7 @@ orderby f.Id elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(e1 => e1.Capital)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Distinct_on_subquery_doesnt_get_lifted(bool async) => AssertQueryScalar( async, @@ -2164,7 +2164,7 @@ public virtual Task Distinct_on_subquery_doesnt_get_lifted(bool async) select ig).Distinct() select g.HasSoulPatch); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Cast_result_operator_on_subquery_is_properly_lifted_to_a_convert(bool async) => AssertQueryScalar( async, @@ -2172,7 +2172,7 @@ public virtual Task Cast_result_operator_on_subquery_is_properly_lifted_to_a_con select f).Cast() select lh.Eradicated); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Comparing_two_collection_navigations_composite_key(bool async) => AssertQuery( async, @@ -2184,7 +2184,7 @@ orderby g1.Nickname select new { Nickname1 = g1.Nickname, Nickname2 = g2.Nickname }, elementSorter: e => (e.Nickname1, e.Nickname2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Comparing_two_collection_navigations_inheritance(bool async) => AssertQuery( async, @@ -2196,7 +2196,7 @@ where f is LocustHorde && o.HasSoulPatch select new { f.Name, o.Nickname }, elementSorter: e => (e.Name, e.Nickname)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Comparing_entities_using_Equals_inheritance(bool async) => AssertQuery( async, @@ -2207,7 +2207,7 @@ where g.Equals(o) select new { Nickname1 = g.Nickname, Nickname2 = o.Nickname }, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_on_nullable_array_produces_correct_sql(bool async) { var cities = new[] { "Ephyra", null }; @@ -2217,13 +2217,13 @@ public virtual Task Contains_on_nullable_array_produces_correct_sql(bool async) ss => ss.Set().Where(g => g.SquadId < 2 && cities.Contains(g.AssignedCity.Name))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Optional_navigation_with_collection_composite_key(bool async) => AssertQuery( async, ss => ss.Set().Where(t => t.Gear is Officer && ((Officer)t.Gear).Reports.Count(r => r.Nickname == "Dom") > 0)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_null_conditional_with_inheritance(bool async) => AssertQuery( async, @@ -2231,7 +2231,7 @@ public virtual Task Select_null_conditional_with_inheritance(bool async) .Where(f => f is LocustHorde) .Select(f => EF.Property((LocustHorde)f, "CommanderName") != null ? ((LocustHorde)f).CommanderName : null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_null_conditional_with_inheritance_negative(bool async) => AssertQueryScalar( async, @@ -2239,7 +2239,7 @@ public virtual Task Select_null_conditional_with_inheritance_negative(bool async .Where(f => f is LocustHorde) .Select(f => EF.Property((LocustHorde)f, "CommanderName") != null ? ((LocustHorde)f).Eradicated : null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_collection_navigation_with_inheritance1(bool async) => AssertQuery( async, @@ -2252,7 +2252,7 @@ public virtual Task Project_collection_navigation_with_inheritance1(bool async) AssertCollection(e.Leaders, a.Leaders); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_collection_navigation_with_inheritance2(bool async) => AssertQuery( async, @@ -2265,7 +2265,7 @@ public virtual Task Project_collection_navigation_with_inheritance2(bool async) AssertCollection(e.Gears ?? new List(), a.Gears); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_collection_navigation_with_inheritance3(bool async) => AssertQuery( async, @@ -2282,21 +2282,21 @@ public virtual Task Project_collection_navigation_with_inheritance3(bool async) AssertCollection(e.Gears ?? new List(), a.Gears); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_on_derived_type_using_string(bool async) => AssertQuery( async, ss => ss.Set().Include("DefeatedBy"), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(lc => lc.DefeatedBy))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_on_derived_type_using_EF_Property(bool async) => AssertQuery( async, ss => ss.Set().Include(lc => EF.Property((LocustCommander)lc, "DefeatedBy")), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(lc => lc.DefeatedBy))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_on_derived_type_using_string_nested1(bool async) => AssertQuery( async, @@ -2306,7 +2306,7 @@ public virtual Task Include_reference_on_derived_type_using_string_nested1(bool new ExpectedInclude(lc => lc.DefeatedBy), new ExpectedInclude(g => g.Squad, "DefeatedBy"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_on_derived_type_using_string_nested2(bool async) => AssertQuery( async, @@ -2317,56 +2317,56 @@ public virtual Task Include_reference_on_derived_type_using_string_nested2(bool new ExpectedInclude(o => o.Reports, "DefeatedBy"), new ExpectedInclude(g => g.CityOfBirth, "DefeatedBy.Reports"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_on_derived_type_using_lambda(bool async) => AssertQuery( async, ss => ss.Set().Include(ll => ((LocustCommander)ll).DefeatedBy), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(lc => lc.DefeatedBy))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_on_derived_type_using_lambda_with_soft_cast(bool async) => AssertQuery( async, ss => ss.Set().Include(ll => (ll as LocustCommander).DefeatedBy), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(lc => lc.DefeatedBy))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_on_derived_type_using_lambda_with_tracking(bool async) => AssertQuery( async, ss => ss.Set().AsTracking().Include(ll => ((LocustCommander)ll).DefeatedBy), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(lc => lc.DefeatedBy))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_on_derived_type_using_string(bool async) => AssertQuery( async, ss => ss.Set().Include("Reports"), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(o => o.Reports))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_on_derived_type_using_EF_Property(bool async) => AssertQuery( async, ss => ss.Set().Include(o => EF.Property>((Officer)o, "Reports")), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(o => o.Reports))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_on_derived_type_using_lambda(bool async) => AssertQuery( async, ss => ss.Set().Include(g => ((Officer)g).Reports), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(o => o.Reports))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_on_derived_type_using_lambda_with_soft_cast(bool async) => AssertQuery( async, ss => ss.Set().Include(g => (g as Officer).Reports), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(o => o.Reports))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_base_navigation_on_derived_entity(bool async) => AssertQuery( async, @@ -2376,7 +2376,7 @@ public virtual Task Include_base_navigation_on_derived_entity(bool async) new ExpectedInclude(e1 => e1.Tag), new ExpectedInclude(e2 => e2.Weapons))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ThenInclude_collection_on_derived_after_base_reference(bool async) => AssertQuery( async, @@ -2386,7 +2386,7 @@ public virtual Task ThenInclude_collection_on_derived_after_base_reference(bool new ExpectedInclude(e1 => e1.Gear), new ExpectedInclude(e2 => e2.Weapons, "Gear"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ThenInclude_collection_on_derived_after_derived_reference(bool async) => AssertQuery( async, @@ -2397,7 +2397,7 @@ public virtual Task ThenInclude_collection_on_derived_after_derived_reference(bo new ExpectedInclude(e2 => e2.DefeatedBy, "Commander"), new ExpectedInclude(e3 => e3.Reports, "Commander.DefeatedBy"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ThenInclude_collection_on_derived_after_derived_collection(bool async) => AssertQuery( async, @@ -2407,7 +2407,7 @@ public virtual Task ThenInclude_collection_on_derived_after_derived_collection(b new ExpectedInclude(e1 => e1.Reports), new ExpectedInclude(e2 => e2.Reports, "Reports"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ThenInclude_reference_on_derived_after_derived_collection(bool async) => AssertQuery( async, @@ -2417,7 +2417,7 @@ public virtual Task ThenInclude_reference_on_derived_after_derived_collection(bo new ExpectedInclude(e1 => e1.Leaders), new ExpectedInclude(e2 => e2.DefeatedBy, "Leaders"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_derived_included_on_one_method(bool async) => AssertQuery( async, @@ -2428,7 +2428,7 @@ public virtual Task Multiple_derived_included_on_one_method(bool async) new ExpectedInclude(e2 => e2.DefeatedBy, "Commander"), new ExpectedInclude(e3 => e3.Reports, "Commander.DefeatedBy"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_on_derived_multi_level(bool async) => AssertQuery( async, @@ -2439,7 +2439,7 @@ public virtual Task Include_on_derived_multi_level(bool async) new ExpectedInclude(e2 => e2.Squad, "Reports"), new ExpectedInclude(e3 => e3.Missions, "Reports.Squad"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_collection_and_invalid_navigation_using_string_throws(bool async) { var message = (await Assert.ThrowsAsync(() => AssertQuery( @@ -2451,7 +2451,7 @@ public virtual async Task Include_collection_and_invalid_navigation_using_string .GenerateMessage("Foo", "Reports.Foo"), message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_nullable_bool_in_conditional_works(bool async) => AssertQuery( async, @@ -2460,7 +2460,7 @@ public virtual Task Projecting_nullable_bool_in_conditional_works(bool async) new { Prop = cg.Gear != null ? cg.Gear.HasSoulPatch : false }), e => e.Prop); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_naked_navigation_with_ToList(bool async) => AssertQuery( async, @@ -2471,7 +2471,7 @@ select g.Weapons.ToList(), assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_naked_navigation_with_ToList_followed_by_projecting_count(bool async) => AssertQueryScalar( async, @@ -2481,7 +2481,7 @@ orderby g.Nickname select g.Weapons.ToList()).Select(e => e.Count), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_naked_navigation_with_ToArray(bool async) => AssertQuery( async, @@ -2492,7 +2492,7 @@ select g.Weapons.ToArray(), assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_basic_projection(bool async) => AssertQuery( async, @@ -2505,7 +2505,7 @@ orderby g.Nickname assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_basic_projection_explicit_to_list(bool async) => AssertQuery( async, @@ -2518,7 +2518,7 @@ orderby g.Nickname assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_basic_projection_explicit_to_array(bool async) => AssertQuery( async, @@ -2531,7 +2531,7 @@ orderby g.Nickname assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_basic_projection_ordered(bool async) => AssertQuery( async, @@ -2545,7 +2545,7 @@ orderby w.Name descending assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a, ordered: true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_basic_projection_composite_key(bool async) => AssertQuery( async, @@ -2574,7 +2574,7 @@ from o in ss.Set().OfType() }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_basic_projecting_single_property(bool async) => AssertQuery( async, @@ -2587,7 +2587,7 @@ orderby g.Nickname assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_basic_projecting_constant(bool async) => AssertQuery( async, @@ -2600,7 +2600,7 @@ orderby g.Nickname assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_basic_projecting_constant_bool(bool async) => AssertQuery( async, @@ -2613,7 +2613,7 @@ orderby g.Nickname assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_projection_of_collection_thru_navigation(bool async) => AssertQuery( async, @@ -2624,7 +2624,7 @@ select g.Squad.Missions.Where(m => m.MissionId != 17).ToList(), assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_project_anonymous_collection_result(bool async) => AssertQuery( async, @@ -2643,7 +2643,7 @@ where s.Id < 20 AssertCollection(e.Collection, a.Collection, elementSorter: ee => ee.FullName); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_nested(bool async) => AssertQuery( async, @@ -2660,7 +2660,7 @@ where ps.SquadId < 7 elementSorter: ee => ee.Count(), elementAsserter: (ee, aa) => AssertCollection(ee, aa))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_nested_mixed_streaming_with_buffer1(bool async) => AssertQuery( async, @@ -2677,7 +2677,7 @@ where ps.SquadId < 2 elementSorter: ee => ee.Count(), elementAsserter: (ee, aa) => AssertCollection(ee, aa))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_nested_mixed_streaming_with_buffer2(bool async) => AssertQuery( async, @@ -2694,7 +2694,7 @@ where ps.SquadId < 7 elementSorter: ee => ee.Count(), elementAsserter: (ee, aa) => AssertCollection(ee, aa))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_nested_with_custom_ordering(bool async) => AssertQuery( async, @@ -2730,7 +2730,7 @@ public virtual Task Correlated_collections_nested_with_custom_ordering(bool asyn }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_same_collection_projected_multiple_times(bool async) => AssertQuery( async, @@ -2750,7 +2750,7 @@ from g in ss.Set() AssertCollection(e.Second, a.Second); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_similar_collection_projected_multiple_times(bool async) => AssertQuery( async, @@ -2771,7 +2771,7 @@ orderby g.Rank AssertCollection(e.Second, a.Second); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_different_collections_projected(bool async) => AssertQuery( async, @@ -2792,7 +2792,7 @@ orderby o.FullName AssertCollection(e.Second, a.Second, ordered: true); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys(bool async) => AssertQuery( async, @@ -2803,7 +2803,7 @@ where o.Reports.Any() select o.FullName, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery(bool async) => AssertQuery( async, @@ -2825,7 +2825,7 @@ where o.Reports.Any() AssertCollection(e.OuterCollection2, a.OuterCollection2, ordered: true); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery_duplicated_orderings( bool async) => AssertQuery( @@ -2849,7 +2849,7 @@ where o.Reports.Any() AssertCollection(e.OuterCollection2, a.OuterCollection2, ordered: true); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery_complex_orderings( bool async) => AssertQuery( @@ -2872,7 +2872,7 @@ where o.Reports.Any() AssertCollection(e.OuterCollection2, a.OuterCollection2, ordered: true); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_multiple_nested_complex_collections(bool async) => AssertQuery( async, @@ -2938,7 +2938,7 @@ orderby w.IsAutomatic AssertCollection(e.OuterCollection2, a.OuterCollection2, ordered: true); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_inner_subquery_selector_references_outer_qsre(bool async) => AssertQuery( async, @@ -2957,7 +2957,7 @@ from o in ss.Set().OfType() AssertCollection(e.Collection, a.Collection, elementSorter: ee => (ee.ReportName, ee.OfficerName)); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_inner_subquery_predicate_references_outer_qsre(bool async) => AssertQuery( async, @@ -2977,7 +2977,7 @@ from o in ss.Set().OfType() AssertCollection(e.Collection, a.Collection, elementSorter: ee => ee.ReportName); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_nested_inner_subquery_references_outer_qsre_one_level_up(bool async) => AssertQuery( async, @@ -3011,7 +3011,7 @@ from o in ss.Set().OfType() }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_nested_inner_subquery_references_outer_qsre_two_levels_up(bool async) => AssertQuery( async, @@ -3045,7 +3045,7 @@ from o in ss.Set().OfType() }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_on_select_many(bool async) => AssertQuery( async, @@ -3075,7 +3075,7 @@ select m AssertCollection(e.Collection2, a.Collection2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_with_Skip(bool async) => AssertQuery( async, @@ -3083,7 +3083,7 @@ public virtual Task Correlated_collections_with_Skip(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a, ordered: true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_with_Take(bool async) => AssertQuery( async, @@ -3091,7 +3091,7 @@ public virtual Task Correlated_collections_with_Take(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a, ordered: true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_with_Distinct(bool async) => AssertQuery( async, @@ -3099,7 +3099,7 @@ public virtual Task Correlated_collections_with_Distinct(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a, ordered: true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_with_FirstOrDefault(bool async) => AssertQuery( async, @@ -3107,7 +3107,7 @@ public virtual Task Correlated_collections_with_FirstOrDefault(bool async) .Select(s => s.Members.OrderBy(m => m.Nickname).Select(m => m.FullName).FirstOrDefault()), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_on_left_join_with_predicate(bool async) => AssertQuery( async, @@ -3128,7 +3128,7 @@ from g in grouping.DefaultIfEmpty() AssertCollection(e.WeaponNames, a.WeaponNames); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_on_RightJoin_with_predicate(bool async) => AssertQuery( async, @@ -3155,7 +3155,7 @@ public virtual Task Correlated_collections_on_RightJoin_with_predicate(bool asyn AssertCollection(e.WeaponNames, a.WeaponNames); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_on_left_join_with_null_value(bool async) => AssertQuery( async, @@ -3173,7 +3173,7 @@ orderby t.Note assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_left_join_with_self_reference(bool async) => AssertQuery( async, @@ -3194,7 +3194,7 @@ from o in grouping.DefaultIfEmpty() AssertCollection(e.ReportNames, a.ReportNames); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_deeply_nested_left_join(bool async) => AssertQuery( async, @@ -3227,7 +3227,7 @@ from g in grouping.DefaultIfEmpty() AssertCollection(ee.AutomaticWeapons, aa.AutomaticWeapons); })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_from_left_join_with_additional_elements_projected_of_that_join(bool async) => AssertQuery( async, @@ -3246,7 +3246,7 @@ public virtual Task Correlated_collections_from_left_join_with_additional_elemen AssertCollection(ee.Weapons, aa.Weapons, ordered: true); })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_complex_scenario1(bool async) => AssertQuery( async, @@ -3279,7 +3279,7 @@ from r in ss.Set() }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_complex_scenario2(bool async) => AssertQuery( async, @@ -3324,7 +3324,7 @@ from o in ss.Set().OfType() }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_with_funky_orderby_complex_scenario1(bool async) => AssertQuery( async, @@ -3358,7 +3358,7 @@ from r in ss.Set() }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collections_with_funky_orderby_complex_scenario2(bool async) => AssertQuery( async, @@ -3407,34 +3407,34 @@ from o in ss.Set().OfType() }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_with_top_level_FirstOrDefault(bool async) => AssertFirstOrDefault( async, ss => ss.Set().OrderBy(g => g.Nickname).Select(g => g.Weapons), asserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_with_top_level_Count(bool async) => AssertCount( async, ss => ss.Set().Select(g => g.Weapons)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_with_top_level_Last_with_orderby_on_outer(bool async) => AssertLast( async, ss => ss.Set().OrderByDescending(g => g.FullName).Select(g => g.Weapons), asserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_with_top_level_Last_with_order_by_on_inner(bool async) => AssertLast( async, ss => ss.Set().OrderBy(g => g.FullName).Select(g => g.Weapons.OrderBy(w => w.Name).ToList()), asserter: (e, a) => AssertCollection(e, a, ordered: true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Null_semantics_on_nullable_bool_from_inner_join_subquery_is_fully_applied(bool async) => AssertQuery( async, @@ -3444,7 +3444,7 @@ join h in ss.Set().OfType().Where(f => f.Name == "Swarm") where h.Eradicated != true select h); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Null_semantics_on_nullable_bool_from_left_join_subquery_is_fully_applied(bool async) => AssertQuery( async, @@ -3456,7 +3456,7 @@ from h in grouping.DefaultIfEmpty() where h.Eradicated != true select h); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_on_derived_type_with_order_by_and_paging(bool async) => AssertQuery( async, @@ -3468,28 +3468,28 @@ public virtual Task Include_on_derived_type_with_order_by_and_paging(bool async) new ExpectedInclude(e1 => e1.DefeatedBy), new ExpectedInclude(e2 => e2.Weapons, "DefeatedBy"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_required_navigation_on_derived_type(bool async) => AssertQuery( async, ss => ss.Set().Select(ll => ((LocustCommander)ll).HighCommand.Name), ss => ss.Set().Select(ll => ll is LocustCommander ? ((LocustCommander)ll).HighCommand.Name : null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_required_navigation_on_the_same_type_with_cast(bool async) => AssertQuery( async, ss => ss.Set().Select(g => g.CityOfBirth.Name), ss => ss.Set().Select(g => g.CityOfBirth.Name)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_required_navigation_on_derived_type(bool async) => AssertQuery( async, ss => ss.Set().Where(ll => ((LocustCommander)ll).HighCommand.IsOperational), ss => ss.Set().Where(ll => ll is LocustCommander ? ((LocustCommander)ll).HighCommand.IsOperational : false)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Outer_parameter_in_join_key(bool async) => AssertQuery( async, @@ -3505,7 +3505,7 @@ join g in ss.Set() on o.FullName equals g.FullName assertOrder: true, elementAsserter: (e, a) => AssertCollection(e.Collection, a.Collection)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Outer_parameter_in_join_key_inner_and_outer(bool async) => AssertQuery( async, @@ -3521,7 +3521,7 @@ join g in ss.Set() on o.FullName equals o.Nickname assertOrder: true, elementAsserter: (e, a) => AssertCollection(e.Collection, a.Collection)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Outer_parameter_in_group_join_with_DefaultIfEmpty(bool async) => AssertQuery( async, @@ -3538,7 +3538,7 @@ from g in grouping.DefaultIfEmpty() assertOrder: true, elementAsserter: (e, a) => AssertCollection(e.Collection, a.Collection)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_with_concat(bool async) => Assert.Equal( CoreStrings.SetOperationWithDifferentIncludesInOperands, @@ -3550,7 +3550,7 @@ public virtual async Task Include_with_concat(bool async) new ExpectedInclude(g => g.Squad), new ExpectedInclude(o => o.Squad))))).Message); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Negated_bool_ternary_inside_anonymous_type_in_projection(bool async) => AssertQuery( async, @@ -3563,7 +3563,7 @@ public virtual Task Negated_bool_ternary_inside_anonymous_type_in_projection(boo }), elementSorter: e => e.c); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Order_by_entity_qsre(bool async) => AssertQuery( async, @@ -3571,7 +3571,7 @@ public virtual Task Order_by_entity_qsre(bool async) ss => ss.Set().OrderBy(g => g.AssignedCity.Name).ThenByDescending(g => g.Nickname).Select(f => f.FullName), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Order_by_entity_qsre_with_inheritance(bool async) => AssertQuery( async, @@ -3579,7 +3579,7 @@ public virtual Task Order_by_entity_qsre_with_inheritance(bool async) .Select(lc => lc.Name), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Order_by_entity_qsre_composite_key(bool async) => AssertQuery( async, @@ -3589,7 +3589,7 @@ public virtual Task Order_by_entity_qsre_composite_key(bool async) .ThenBy(w => w.Id).Select(w => w.Name), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Order_by_entity_qsre_with_other_orderbys(bool async) => AssertQuery( async, @@ -3603,7 +3603,7 @@ public virtual Task Order_by_entity_qsre_with_other_orderbys(bool async) .ThenBy(w => w.Name), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_on_entity_qsre_keys(bool async) => AssertQuery( async, @@ -3612,7 +3612,7 @@ join w2 in ss.Set() on w1 equals w2 select new { Name1 = w1.Name, Name2 = w2.Name }, elementSorter: e => e.Name1 + " " + e.Name2); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_on_entity_qsre_keys_composite_key(bool async) => AssertQuery( async, @@ -3621,7 +3621,7 @@ join g2 in ss.Set() on g1 equals g2 select new { GearName1 = g1.FullName, GearName2 = g2.FullName }, elementSorter: e => (e.GearName1, e.GearName2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_on_entity_qsre_keys_inheritance(bool async) => AssertQuery( async, @@ -3630,7 +3630,7 @@ join o in ss.Set().OfType() on g equals o select new { GearName = g.FullName, OfficerName = o.FullName }, elementSorter: e => (e.GearName, e.OfficerName)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_on_entity_qsre_keys_outer_key_is_navigation(bool async) => AssertQuery( async, @@ -3639,7 +3639,7 @@ join w2 in ss.Set() on w1.SynergyWith equals w2 select new { Name1 = w1.Name, Name2 = w2.Name }, elementSorter: e => (e.Name1, e.Name2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_on_entity_qsre_keys_inner_key_is_navigation(bool async) => AssertQuery( async, @@ -3649,7 +3649,7 @@ join g in ss.Set() on c equals g.AssignedCity select new { CityName = c.Name, GearNickname = g.Nickname }, elementSorter: e => (e.CityName, e.GearNickname)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_on_entity_qsre_keys_inner_key_is_navigation_composite_key(bool async) => AssertQuery( async, @@ -3659,7 +3659,7 @@ join t in ss.Set().Where(tt => tt.Note == "Cole's Tag" || tt.Note == "Do select new { g.Nickname, t.Note }, elementSorter: e => (e.Nickname, e.Note)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_on_entity_qsre_keys_inner_key_is_nested_navigation(bool async) => AssertQuery( async, @@ -3669,7 +3669,7 @@ join w in ss.Set().Where(ww => ww.IsAutomatic) on s equals w.Owner.Squad select new { SquadName = s.Name, WeaponName = w.Name }, elementSorter: e => (e.SquadName, e.WeaponName)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_on_entity_qsre_keys_inner_key_is_nested_navigation(bool async) => AssertQuery( async, @@ -3679,7 +3679,7 @@ from w in grouping.DefaultIfEmpty() select new { SquadName = s.Name, WeaponName = w.Name }, elementSorter: e => (e.SquadName, e.WeaponName)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_with_complex_key_selector(bool async) => AssertQuery( async, @@ -3698,7 +3698,7 @@ public virtual Task Join_with_complex_key_selector(bool async) .Select(r => new { r.o.Id, TagId = r.i.Id }), elementSorter: e => (e.Id, e.TagId)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Streaming_correlated_collection_issue_11403_returning_ordered_enumerable_throws(bool async) => AssertInvalidMaterializationType( () => AssertFirstOrDefault( @@ -3709,7 +3709,7 @@ public virtual Task Streaming_correlated_collection_issue_11403_returning_ordere asserter: (e, a) => AssertCollection(e, a, ordered: true)), typeof(IOrderedEnumerable).ShortDisplayName()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Streaming_correlated_collection_issue_11403(bool async) => AssertFirstOrDefault( async, @@ -3718,21 +3718,21 @@ public virtual Task Streaming_correlated_collection_issue_11403(bool async) .Select(g => g.Weapons.Where(w => !w.IsAutomatic).OrderBy(w => w.Id).ToList()), asserter: (e, a) => AssertCollection(e, a, ordered: true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_one_value_type_from_empty_collection(bool async) => AssertQuery( async, ss => ss.Set().Where(s => s.Name == "Kilo").Select(s => new { s.Name, SquadId = s.Members.Where(m => m.HasSoulPatch).Select(m => m.SquadId).FirstOrDefault() })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_one_value_type_converted_to_nullable_from_empty_collection(bool async) => AssertQuery( async, ss => ss.Set().Where(s => s.Name == "Kilo").Select(s => new { s.Name, SquadId = s.Members.Where(m => m.HasSoulPatch).Select(m => (int?)m.SquadId).FirstOrDefault() })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_one_value_type_with_client_projection_from_empty_collection(bool async) => AssertQuery( async, @@ -3747,7 +3747,7 @@ public virtual Task Project_one_value_type_with_client_projection_from_empty_col private static int ClientFunction(int a, int b) => a + b + 1; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_on_subquery_projecting_one_value_type_from_empty_collection(bool async) => AssertQuery( async, @@ -3755,35 +3755,35 @@ public virtual Task Filter_on_subquery_projecting_one_value_type_from_empty_coll .Where(s => s.Members.Where(m => m.HasSoulPatch).Select(m => m.SquadId).FirstOrDefault() != 0).Select(s => s.Name), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_projecting_single_constant_int(bool async) => AssertQuery( async, ss => ss.Set() .Select(s => new { s.Name, Gear = s.Members.Where(g => g.HasSoulPatch).Select(g => 42).FirstOrDefault() })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_projecting_single_constant_string(bool async) => AssertQuery( async, ss => ss.Set().Select(s => new { s.Name, Gear = s.Members.Where(g => g.HasSoulPatch).Select(g => "Foo").FirstOrDefault() })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_projecting_single_constant_bool(bool async) => AssertQuery( async, ss => ss.Set() .Select(s => new { s.Name, Gear = s.Members.Where(g => g.HasSoulPatch).Select(g => true).FirstOrDefault() })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_projecting_single_constant_inside_anonymous(bool async) => AssertQuery( async, ss => ss.Set().Select(s => new { s.Name, Gear = s.Members.Where(g => g.HasSoulPatch).Select(g => new { One = 1 }).FirstOrDefault() })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_projecting_multiple_constants_inside_anonymous(bool async) => AssertQuery( async, @@ -3792,7 +3792,7 @@ public virtual Task Select_subquery_projecting_multiple_constants_inside_anonymo s.Name, Gear = s.Members.Where(g => g.HasSoulPatch).Select(g => new { True1 = true, False1 = false }).FirstOrDefault() })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_with_order_by_constant(bool async) => AssertQuery( async, @@ -3800,7 +3800,7 @@ public virtual Task Include_with_order_by_constant(bool async) expectedQuery: ss => ss.Set(), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(s => s.Members))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_order_by_constant(bool async) => AssertQuery( async, @@ -3815,14 +3815,14 @@ public virtual Task Correlated_collection_order_by_constant(bool async) public class MyDTO; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_projecting_single_constant_null_of_non_mapped_type(bool async) => AssertQuery( async, ss => ss.Set().Select(s => new { s.Name, Gear = s.Members.Where(g => g.HasSoulPatch).Select(g => (MyDTO)null).FirstOrDefault() })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_projecting_single_constant_of_non_mapped_type(bool async) => AssertQuery( async, @@ -3838,7 +3838,7 @@ public virtual Task Select_subquery_projecting_single_constant_of_non_mapped_typ } }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_order_by_constant_null_of_non_mapped_type(bool async) => AssertQuery( async, @@ -3851,7 +3851,7 @@ public virtual Task Correlated_collection_order_by_constant_null_of_non_mapped_t AssertCollection(e.Weapons, a.Weapons); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_OrderBy_aggregate(bool async) => AssertQuery( async, @@ -3861,7 +3861,7 @@ public virtual Task Include_collection_OrderBy_aggregate(bool async) elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(o => o.Reports)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_complex_OrderBy2(bool async) => AssertQuery( async, @@ -3871,7 +3871,7 @@ public virtual Task Include_collection_with_complex_OrderBy2(bool async) elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(o => o.Reports)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_complex_OrderBy3(bool async) => AssertQuery( async, @@ -3881,7 +3881,7 @@ public virtual Task Include_collection_with_complex_OrderBy3(bool async) elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(o => o.Reports)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_with_complex_OrderBy(bool async) => AssertQuery( async, @@ -3891,7 +3891,7 @@ public virtual Task Correlated_collection_with_complex_OrderBy(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_with_very_complex_order_by(bool async) => AssertQuery( async, @@ -3904,68 +3904,68 @@ public virtual Task Correlated_collection_with_very_complex_order_by(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Cast_to_derived_type_causes_client_eval(bool async) => Assert.ThrowsAsync(() => AssertQuery(async, ss => ss.Set().Cast())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Cast_to_derived_type_after_OfType_works(bool async) => AssertQuery( async, ss => ss.Set().OfType().Cast()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_boolean(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(g => g.Weapons.OrderBy(w => w.Id).Select(w => w.IsAutomatic).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_boolean_with_pushdown(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(g => g.Weapons.OrderBy(w => w.Id).FirstOrDefault().IsAutomatic)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_int_with_inside_cast_and_coalesce(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(g => g.Weapons.OrderBy(w => w.Id).Select(w => (int?)w.Id).FirstOrDefault() ?? 42)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_int_with_outside_cast_and_coalesce(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(g => (int?)g.Weapons.OrderBy(w => w.Id).Select(w => w.Id).FirstOrDefault() ?? 42)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_int_with_pushdown_and_coalesce(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(g => (int?)g.Weapons.OrderBy(w => w.Id).FirstOrDefault().Id ?? 42)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_int_with_pushdown_and_coalesce2(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(g => (int?)g.Weapons.OrderBy(w => w.Id).FirstOrDefault().Id ?? g.Weapons.OrderBy(w => w.Id).FirstOrDefault().Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_boolean_empty(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(g => g.Weapons.Where(w => w.Name == "BFG").OrderBy(w => w.Id).Select(w => w.IsAutomatic).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_boolean_empty_with_pushdown(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(g => (bool?)g.Weapons.Where(w => w.Name == "BFG").OrderBy(w => w.Id).FirstOrDefault().IsAutomatic), ss => ss.Set().Select(g => (bool?)null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_distinct_singleordefault_boolean1(bool async) => AssertQueryScalar( async, @@ -3973,7 +3973,7 @@ public virtual Task Select_subquery_distinct_singleordefault_boolean1(bool async .Select(g => g.Weapons.Where(w => w.Name.Contains("Lancer")).Distinct().Select(w => w.IsAutomatic).SingleOrDefault()), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_distinct_singleordefault_boolean2(bool async) => AssertQueryScalar( async, @@ -3981,7 +3981,7 @@ public virtual Task Select_subquery_distinct_singleordefault_boolean2(bool async .Select(g => g.Weapons.Where(w => w.Name.Contains("Lancer")).Select(w => w.IsAutomatic).Distinct().SingleOrDefault()), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_distinct_singleordefault_boolean_with_pushdown(bool async) => AssertQueryScalar( async, @@ -3989,21 +3989,21 @@ public virtual Task Select_subquery_distinct_singleordefault_boolean_with_pushdo .Select(g => g.Weapons.Where(w => w.Name.Contains("Lancer")).Distinct().SingleOrDefault().IsAutomatic), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_distinct_singleordefault_boolean_empty1(bool async) => AssertQueryScalar( async, ss => ss.Set().Where(g => g.HasSoulPatch) .Select(g => g.Weapons.Where(w => w.Name == "BFG").Distinct().Select(w => w.IsAutomatic).SingleOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_distinct_singleordefault_boolean_empty2(bool async) => AssertQueryScalar( async, ss => ss.Set().Where(g => g.HasSoulPatch) .Select(g => g.Weapons.Where(w => w.Name == "BFG").Select(w => w.IsAutomatic).Distinct().SingleOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_distinct_singleordefault_boolean_empty_with_pushdown(bool async) => AssertQueryScalar( async, @@ -4012,7 +4012,7 @@ public virtual Task Select_subquery_distinct_singleordefault_boolean_empty_with_ ss => ss.Set().Where(g => g.HasSoulPatch).Select(g => (bool?)null), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Cast_subquery_to_base_type_using_typed_ToList(bool async) => AssertQuery( async, @@ -4031,7 +4031,7 @@ public virtual Task Cast_subquery_to_base_type_using_typed_ToList(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Cast_ordered_subquery_to_base_type_using_typed_ToArray(bool async) => AssertQuery( async, @@ -4050,7 +4050,7 @@ public virtual Task Cast_ordered_subquery_to_base_type_using_typed_ToArray(bool assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a, ordered: true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_with_complex_order_by_funcletized_to_constant_bool(bool async) { var nicknames = new List(); @@ -4067,7 +4067,7 @@ orderby nicknames.Contains(g.Nickname) descending }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Double_order_by_on_nullable_bool_coming_from_optional_navigation(bool async) => AssertQuery( async, @@ -4076,7 +4076,7 @@ public virtual Task Double_order_by_on_nullable_bool_coming_from_optional_naviga .ThenBy(w => w != null ? (int?)w.Id : null), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Double_order_by_on_Like(bool async) => AssertQuery( async, @@ -4085,14 +4085,14 @@ public virtual Task Double_order_by_on_Like(bool async) ss => ss.Set().Select(w => w.SynergyWith).OrderBy(w => w != null ? w.Name.EndsWith("Lancer") : false) .Select(w => w)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Double_order_by_on_is_null(bool async) => AssertQuery( async, ss => ss.Set().Select(w => w.SynergyWith).OrderBy(w => w.Name == null).OrderBy(w => w.Name == null).Select(w => w), ss => ss.Set().Select(w => w.SynergyWith).OrderBy(w => w != null ? w.Name == null : false).Select(w => w)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Double_order_by_on_string_compare(bool async) => AssertQuery( async, @@ -4101,13 +4101,13 @@ public virtual Task Double_order_by_on_string_compare(bool async) ss => ss.Set().OrderBy(w => w != null ? w.Name.CompareTo("Marcus' Lancer") == 0 : false).ThenBy(w => w.Id), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Double_order_by_binary_expression(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(w => w.Id + 2).OrderBy(w => w.Id + 2).Select(w => new { Binary = w.Id + 2 })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_compare_with_null_conditional_argument(bool async) => AssertQuery( async, @@ -4115,7 +4115,7 @@ public virtual Task String_compare_with_null_conditional_argument(bool async) ss => ss.Set().Select(w => w.SynergyWith).OrderBy(w => w != null ? w.Name.CompareTo("Marcus' Lancer") == 0 : false) .Select(c => c)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_compare_with_null_conditional_argument2(bool async) => AssertQuery( async, @@ -4123,7 +4123,7 @@ public virtual Task String_compare_with_null_conditional_argument2(bool async) ss => ss.Set().Select(w => w.SynergyWith).OrderBy(w => w != null ? "Marcus' Lancer".CompareTo(w.Name) == 0 : false) .Select(w => w)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_concat_with_null_conditional_argument(bool async) => AssertQuery( async, @@ -4131,7 +4131,7 @@ public virtual Task String_concat_with_null_conditional_argument(bool async) ss => ss.Set().Select(w => w.SynergyWith).OrderBy(w => w != null ? w.Name + 5 : null), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_concat_with_null_conditional_argument2(bool async) => AssertQuery( async, @@ -4139,7 +4139,7 @@ public virtual Task String_concat_with_null_conditional_argument2(bool async) ss => ss.Set().Select(w => w.SynergyWith).OrderBy(w => w != null ? string.Concat(w.Name, "Marcus' Lancer") : null), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_concat_nullable_expressions_are_coalesced(bool async) { object nullableParam = null; @@ -4150,7 +4150,7 @@ public virtual Task String_concat_nullable_expressions_are_coalesced(bool async) ss => ss.Set().Select(w => w.FullName + string.Empty + w.LeaderNickname ?? string.Empty + nullableParam ?? string.Empty)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_concat_on_various_types(bool async) => AssertQuery( async, @@ -4167,43 +4167,43 @@ from m in ss.Set() }, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Include_Select_Average(bool async) => AssertQueryScalar( async, ss => ss.Set().Include(g => g.CityOfBirth).GroupBy(g => g.Rank).Select(g => g.Average(gg => gg.SquadId))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Include_Select_Sum(bool async) => AssertQueryScalar( async, ss => ss.Set().Include(g => g.CityOfBirth).GroupBy(g => g.Rank).Select(g => g.Sum(gg => gg.SquadId))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Include_Select_Count(bool async) => AssertQueryScalar( async, ss => ss.Set().Include(g => g.CityOfBirth).GroupBy(g => g.Rank).Select(g => g.Count())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Include_Select_LongCount(bool async) => AssertQueryScalar( async, ss => ss.Set().Include(g => g.CityOfBirth).GroupBy(g => g.Rank).Select(g => g.LongCount())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Include_Select_Max(bool async) => AssertQueryScalar( async, ss => ss.Set().Include(g => g.CityOfBirth).GroupBy(g => g.Rank).Select(g => g.Max(gg => gg.SquadId))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Include_Select_Min(bool async) => AssertQueryScalar( async, ss => ss.Set().Include(g => g.CityOfBirth).GroupBy(g => g.Rank).Select(g => g.Min(gg => gg.SquadId))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Include_Aggregate_with_anonymous_selector(bool async) => AssertQuery( async, @@ -4212,7 +4212,7 @@ public virtual Task GroupBy_Property_Include_Aggregate_with_anonymous_selector(b .Select(g => new { g.Key, c = g.Count() }), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Group_by_with_include_with_entity_in_result_selector(bool async) => AssertQuery( async, @@ -4237,7 +4237,7 @@ public virtual Task Group_by_with_include_with_entity_in_result_selector(bool as } }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_with_group_by_and_FirstOrDefault_gets_properly_applied(bool async) => AssertQuery( async, @@ -4247,14 +4247,14 @@ public virtual Task Include_with_group_by_and_FirstOrDefault_gets_properly_appli new ExpectedInclude(e1 => e1.CityOfBirth), new ExpectedInclude(e2 => e2.CityOfBirth))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_Cast_to_base(bool async) => AssertQuery( async, ss => ss.Set().OfType().Include(o => o.Weapons).Cast(), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(e => e.Weapons))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_with_client_method_and_member_access_still_applies_includes(bool async) => AssertQuery( async, @@ -4262,13 +4262,13 @@ public virtual Task Include_with_client_method_and_member_access_still_applies_i .Include(g => g.Tag) .Select(g => new { g.Nickname, Client(g).FullName })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_with_projection_of_unmapped_property_still_gets_applied(bool async) => AssertQueryScalar( async, ss => ss.Set().Include(g => g.Weapons).Select(g => g.IsMarcus)); - [ConditionalFact] + [Fact] public virtual Task Multiple_includes_with_client_method_around_entity_and_also_projecting_included_collection() { using var ctx = CreateContext(); @@ -4293,7 +4293,7 @@ public virtual Task Multiple_includes_with_client_method_around_entity_and_also_ public static TEntity Client(TEntity entity) => entity; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_same_expression_containing_IsNull_correctly_deduplicates_the_ordering(bool async) => AssertQueryScalar( async, @@ -4301,26 +4301,26 @@ public virtual Task OrderBy_same_expression_containing_IsNull_correctly_deduplic .OrderBy(e => e.HasValue) .ThenBy(e => e.HasValue).Select(e => e)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetValueOrDefault_in_projection(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(w => w.SynergyWithId.GetValueOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetValueOrDefault_in_filter(bool async) => AssertQuery( async, ss => ss.Set().Where(w => w.SynergyWithId.GetValueOrDefault() == 0)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetValueOrDefault_in_filter_non_nullable_column(bool async) => AssertQuery( async, ss => ss.Set().Where(w => ((int?)w.Id).GetValueOrDefault() == 0), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetValueOrDefault_on_DateTimeOffset(bool async) { var defaultValue = default(DateTimeOffset); @@ -4331,27 +4331,27 @@ public virtual Task GetValueOrDefault_on_DateTimeOffset(bool async) assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetValueOrDefault_in_order_by(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(w => w.SynergyWithId.GetValueOrDefault()).ThenBy(w => w.Id), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetValueOrDefault_with_argument(bool async) => AssertQuery( async, ss => ss.Set().Where(w => w.SynergyWithId.GetValueOrDefault(w.Id) == 1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetValueOrDefault_with_argument_complex(bool async) => AssertQuery( async, ss => ss.Set().Where(w => w.SynergyWithId.GetValueOrDefault(w.Name.Length + 42) > 10), ss => ss.Set().Where(w => (w.SynergyWithId == null ? w.Name.Length + 42 : w.SynergyWithId) > 10)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_with_complex_predicate_containing_subquery(bool async) => AssertQuery( async, @@ -4359,7 +4359,7 @@ public virtual Task Filter_with_complex_predicate_containing_subquery(bool async where g.FullName != "Dom" && g.Weapons.OrderBy(w => w.Id).FirstOrDefault(w => w.IsAutomatic) != null select g); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Query_with_complex_let_containing_ordering_and_filter_projecting_firstOrDefault_element_of_let(bool async) => AssertQuery( async, @@ -4377,7 +4377,7 @@ let automaticWeapons Assert.Equal(e.WeaponName, a.WeaponName); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Null_semantics_is_correctly_applied_for_function_comparisons_that_take_arguments_from_optional_navigation( bool async) => AssertQuery( @@ -4385,7 +4385,7 @@ public virtual Task Null_semantics_is_correctly_applied_for_function_comparisons ss => ss.Set().Where(t => t.Note.Substring(0, t.Gear.SquadId) == t.GearNickName), ss => ss.Set().Where(t => t.Gear.Maybe(x => t.Note.Substring(0, x.SquadId)) == t.GearNickName)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Null_semantics_is_correctly_applied_for_function_comparisons_that_take_arguments_from_optional_navigation_complex(bool async) => AssertQuery( @@ -4393,19 +4393,19 @@ public virtual Task ss => ss.Set().Where(t => t.Note.Substring(0, t.Gear.Squad.Name.Length) == t.GearNickName), ss => ss.Set().Where(t => t.Gear.Maybe(x => t.Note.Substring(0, x.Squad.Name.Length)) == t.GearNickName)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OfTypeNav1(bool async) => AssertQuery( async, ss => ss.Set().Where(g => g.Tag.Note != "Foo").OfType().Where(o => o.Tag.Note != "Bar")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OfTypeNav2(bool async) => AssertQuery( async, ss => ss.Set().Where(g => g.Tag.Note != "Foo").OfType().Where(o => o.AssignedCity.Location != "Bar")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OfTypeNav3(bool async) => AssertQuery( async, @@ -4419,7 +4419,7 @@ public virtual Task OfTypeNav3(bool async) .OfType() .Where(o => o.Tag.Note != "Bar")); - [ConditionalFact] + [Fact] public virtual Task Nav_rewrite_Distinct_with_convert() // Issue #17328. => AssertTranslationFailed(() => @@ -4431,7 +4431,7 @@ public virtual Task Nav_rewrite_Distinct_with_convert() return Task.CompletedTask; }); - [ConditionalFact] + [Fact] public virtual Task Nav_rewrite_Distinct_with_convert_anonymous() // Issue #17328. => AssertTranslationFailed(() => @@ -4443,13 +4443,13 @@ public virtual Task Nav_rewrite_Distinct_with_convert_anonymous() return Task.CompletedTask; }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nav_rewrite_with_convert1(bool async) => AssertQuery( async, ss => ss.Set().Where(f => f.Capital.Name != "Foo").Select(f => ((LocustHorde)f).Commander)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nav_rewrite_with_convert2(bool async) => AssertQuery( async, @@ -4458,7 +4458,7 @@ public virtual Task Nav_rewrite_with_convert2(bool async) .Select(f => (LocustHorde)f) .Where(lh => lh.Commander.Name != "Bar")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nav_rewrite_with_convert3(bool async) => AssertQuery( async, @@ -4469,19 +4469,19 @@ public virtual Task Nav_rewrite_with_convert3(bool async) elementSorter: e => e.horde.Id, elementAsserter: (e, a) => AssertEqual(e.horde, a.horde)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_contains_on_navigation_with_composite_keys(bool async) => AssertQuery( async, ss => ss.Set().Where(g => ss.Set().Any(c => c.BornGears.Contains(g)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_derivied_entity_with_convert_to_parent(bool async) => AssertQuery( async, ss => ss.Set().OfType().Select(f => (Faction)f)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_with_complex_order_by(bool async) => AssertQuery( async, @@ -4492,20 +4492,20 @@ public virtual Task Include_with_complex_order_by(bool async) elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(e => e.Weapons)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Anonymous_projection_take_followed_by_projecting_single_element_from_collection_navigation(bool async) => AssertQuery( async, ss => ss.Set().Select(g => new { Gear = g }).Take(25) .Select(e => e.Gear.Weapons.OrderBy(w => w.Id).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Bool_projection_from_subquery_treated_appropriately_in_where(bool async) => AssertQuery( async, ss => ss.Set().Where(c => ss.Set().OrderBy(g => g.Nickname).ThenBy(g => g.SquadId).FirstOrDefault().HasSoulPatch)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task DateTimeOffset_Contains_Less_than_Greater_than(bool async) { var dto = new DateTimeOffset(599898024001234567, new TimeSpan(1, 30, 0)); @@ -4518,7 +4518,7 @@ public virtual Task DateTimeOffset_Contains_Less_than_Greater_than(bool async) ss => ss.Set().Where(m => start <= m.Timeline.Date && m.Timeline < end && dates.Contains(m.Timeline))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task DateTimeOffsetNow_minus_timespan(bool async) { var timeSpan = new TimeSpan(1000); @@ -4529,14 +4529,14 @@ public virtual Task DateTimeOffsetNow_minus_timespan(bool async) assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_inside_interpolated_string_expanded(bool async) => AssertQuery( async, ss => ss.Set() .Select(w => w.SynergyWithId.HasValue ? $"SynergyWithOwner: {w.SynergyWith.OwnerFullName}" : string.Empty)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Left_join_projection_using_coalesce_tracking(bool async) => AssertQuery( async, @@ -4546,7 +4546,7 @@ on g1.LeaderNickname equals g2.Nickname into grouping from g2 in grouping.DefaultIfEmpty() select g2 ?? g1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Left_join_projection_using_conditional_tracking(bool async) => AssertQuery( async, @@ -4556,7 +4556,7 @@ on g1.LeaderNickname equals g2.Nickname into grouping from g2 in grouping.DefaultIfEmpty() select g2 == null ? g1 : g2); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_collection_navigation_nested_with_take_composite_key(bool async) => AssertQuery( async, @@ -4566,7 +4566,7 @@ where t.Gear is Officer elementSorter: e => e?.Count() ?? 0, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_collection_navigation_nested_composite_key(bool async) => AssertQuery( async, @@ -4576,7 +4576,7 @@ where t.Gear is Officer elementSorter: e => e?.Count ?? 0, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Null_checks_in_correlated_predicate_are_correctly_translated(bool async) => AssertQuery( async, @@ -4600,7 +4600,7 @@ public virtual Task Null_checks_in_correlated_predicate_are_correctly_translated AssertCollection(e.collection, a.collection); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector(bool async) { var isAutomatic = true; @@ -4617,7 +4617,7 @@ from w in g.Weapons.Where(ww => ww.IsAutomatic == isAutomatic).DefaultIfEmpty() }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector_not_equal(bool async) { var isAutomatic = true; @@ -4634,7 +4634,7 @@ from w in g.Weapons.Where(ww => ww.IsAutomatic != isAutomatic).DefaultIfEmpty() }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector_order_comparison(bool async) { var prm = 1; @@ -4651,7 +4651,7 @@ from w in g.Weapons.Where(ww => ww.Id > prm).DefaultIfEmpty() }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task DefaultIfEmpty_top_level_over_column_with_nullable_value_type(bool async) => AssertQuery( async, @@ -4660,7 +4660,7 @@ public virtual Task DefaultIfEmpty_top_level_over_column_with_nullable_value_typ .Select(c => c.Rating) .DefaultIfEmpty()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task DefaultIfEmpty_top_level_over_arbitrary_expression_with_nullable_value_type(bool async) => AssertQuery( async, @@ -4669,7 +4669,7 @@ public virtual Task DefaultIfEmpty_top_level_over_arbitrary_expression_with_null .Select(m => m.Rating + 2) .DefaultIfEmpty()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task DefaultIfEmpty_top_level_over_arbitrary_expression_with_non_nullable_value_type(bool async) => AssertQuery( async, @@ -4678,7 +4678,7 @@ public virtual Task DefaultIfEmpty_top_level_over_arbitrary_expression_with_non_ .Select(m => m.Id + 2) .DefaultIfEmpty()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_with_inner_being_a_subquery_projecting_single_property(bool async) => AssertQuery( async, @@ -4689,7 +4689,7 @@ select g2.Nickname ) on g.Nickname equals inner select g); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_with_inner_being_a_subquery_projecting_anonymous_type_with_single_property(bool async) => AssertQuery( async, @@ -4700,25 +4700,25 @@ from g2 in ss.Set() ) on g.Nickname equals inner.Nickname select g); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_based_on_complex_expression1(bool async) => AssertQuery( async, ss => ss.Set().Where(f => f is LocustHorde ? (f as LocustHorde).Commander != null : false)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_based_on_complex_expression2(bool async) => AssertQuery( async, ss => ss.Set().Where(f => f is LocustHorde).Where(f => ((LocustHorde)f).Commander != null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_based_on_complex_expression3(bool async) => AssertQuery( async, ss => ss.Set().Where(f => f is LocustHorde).Select(f => ((LocustHorde)f).Commander)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Navigation_based_on_complex_expression4(bool async) // Nav expansion. Issue #17782. => await Assert.ThrowsAsync(() => AssertQuery( @@ -4727,7 +4727,7 @@ public virtual async Task Navigation_based_on_complex_expression4(bool async) from lc2 in ss.Set().OfType() select (lc1 ?? lc2).DefeatedBy)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Navigation_based_on_complex_expression5(bool async) // Nav expansion. Issue #17782. => await Assert.ThrowsAsync(() => AssertQuery( @@ -4736,7 +4736,7 @@ public virtual async Task Navigation_based_on_complex_expression5(bool async) join lc2 in ss.Set().OfType() on true equals true select (lc1 ?? lc2).DefeatedBy)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Navigation_based_on_complex_expression6(bool async) // Nav expansion. Issue #17782. => await Assert.ThrowsAsync(() => AssertQuery( @@ -4745,31 +4745,31 @@ public virtual async Task Navigation_based_on_complex_expression6(bool async) join lc2 in ss.Set().OfType() on true equals true select (lc1.Name == "Queen Myrrah" ? lc1 : lc2).DefeatedBy)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_as_operator(bool async) => AssertQuery( async, ss => ss.Set().Select(ll => ll as LocustCommander)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_datetimeoffset_comparison_in_projection(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(m => m.Timeline > DateTimeOffset.Now)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OfType_in_subquery_works(bool async) => AssertQuery( async, ss => ss.Set().SelectMany(o => o.Reports.OfType().Select(o1 => o1.AssignedCity))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nullable_bool_comparison_is_translated_to_server(bool async) => AssertQuery( async, ss => ss.Set().Select(lh => new { IsEradicated = lh.Eradicated == true })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Accessing_reference_navigation_collection_composition_generates_single_query(bool async) => AssertQuery( async, @@ -4785,7 +4785,7 @@ public virtual Task Accessing_reference_navigation_collection_composition_genera assertOrder: true, elementAsserter: (e, a) => AssertCollection(e.Weapons, a.Weapons, elementSorter: ee => ee.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Reference_include_chain_loads_correctly_when_middle_is_null(bool async) => AssertQuery( async, @@ -4794,7 +4794,7 @@ public virtual Task Reference_include_chain_loads_correctly_when_middle_is_null( e, a, new ExpectedInclude(t => t.Gear), new ExpectedInclude(t => t.Squad, "Gear"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Accessing_property_of_optional_navigation_in_child_projection_works(bool async) => AssertQuery( async, @@ -4807,13 +4807,13 @@ public virtual Task Accessing_property_of_optional_navigation_in_child_projectio assertOrder: true, elementAsserter: (e, a) => AssertCollection(e.Items, a.Items, elementSorter: ee => ee.Nickname)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_navigation_ofType_filter_works(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.BornGears.OfType().Any(o => o.Nickname == "Marcus"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_after_select_with_cast_throws(bool async) => Assert.Equal( CoreStrings.IncludeOnNonEntity("h => h.Commander"), @@ -4822,7 +4822,7 @@ public virtual async Task Include_after_select_with_cast_throws(bool async) ss => ss.Set().Where(f => f is LocustHorde).Select(f => (LocustHorde)f).Include(h => h.Commander)))) .Message); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_after_select_with_entity_projection_throws(bool async) => Assert.Equal( CoreStrings.IncludeOnNonEntity("c => c.BornGears"), @@ -4830,7 +4830,7 @@ public virtual async Task Include_after_select_with_entity_projection_throws(boo async, ss => ss.Set().Select(f => f.Capital).Include(c => c.BornGears)))).Message); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_after_select_anonymous_projection_throws(bool async) => Assert.Equal( CoreStrings.IncludeOnNonEntity("x => x.f.Capital"), @@ -4838,15 +4838,15 @@ public virtual async Task Include_after_select_anonymous_projection_throws(bool async, ss => ss.Set().Select(f => new { f }).Include(x => x.f.Capital)))).Message); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_after_Select_throws(bool async) => AssertQuery(async, ss => ss.Set().Select(f => f).Include(h => h.Capital)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_after_SelectMany_throws(bool async) => AssertQuery(async, ss => ss.Set().SelectMany(f => f.Capital.BornGears).Include(g => g.Squad)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Query_reusing_parameter_doesnt_declare_duplicate_parameter(bool async) { var prm = new ComplexParameter { Inner = new ComplexParameterInner { Nickname = "Marcus" } }; @@ -4861,7 +4861,7 @@ public virtual Task Query_reusing_parameter_doesnt_declare_duplicate_parameter(b assertOrder: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Query_reusing_parameter_with_inner_query_doesnt_declare_duplicate_parameter(bool async) { var squadId = 1; @@ -4877,7 +4877,7 @@ public virtual Task Query_reusing_parameter_with_inner_query_doesnt_declare_dupl assertOrder: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Query_reusing_parameter_with_inner_query_expression_doesnt_declare_duplicate_parameter(bool async) { var gearId = 1; @@ -4888,7 +4888,7 @@ public virtual Task Query_reusing_parameter_with_inner_query_expression_doesnt_d ss => ss.Set().Where(s => s.Members.AsQueryable().Where(predicate).Where(predicate).Any())); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Query_reusing_parameter_doesnt_declare_duplicate_parameter_complex(bool async) { var prm = new ComplexParameter { Inner = new ComplexParameterInner { Squad = new Squad { Id = 1 } } }; @@ -4919,7 +4919,7 @@ private class ComplexParameterInner public Squad Squad { get; set; } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_entity_and_collection_element(bool async) // can't use AssertIncludeQuery here, see #18191 => AssertQuery( @@ -4937,7 +4937,7 @@ public virtual Task Project_entity_and_collection_element(bool async) AssertEqual(e.weapon, a.weapon); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Complex_GroupBy_after_set_operator(bool async) => AssertQuery( async, @@ -4954,7 +4954,7 @@ from g in ss.Set() }), elementSorter: e => (e.Name, e.Count, e.Sum)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Complex_GroupBy_after_set_operator_using_result_selector(bool async) => AssertQuery( async, @@ -4972,7 +4972,7 @@ from g in ss.Set() }), elementSorter: e => (e.Name, e.Count, e.Sum)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Left_join_with_GroupBy_with_composite_group_key(bool async) => AssertQuery( async, @@ -4985,7 +4985,7 @@ into groupby select new { groupby.Key.CityOfBirthName, groupby.Key.HasSoulPatch }, elementSorter: e => (e.CityOfBirthName, e.HasSoulPatch)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_with_boolean_grouping_key(bool async) => AssertQuery( async, @@ -5012,7 +5012,7 @@ public virtual Task GroupBy_with_boolean_grouping_key(bool async) }), elementSorter: e => (e.CityOfBirthName, e.HasSoulPatch, e.IsMarcus, e.Count)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_with_boolean_groupin_key_thru_navigation_access(bool async) => AssertQuery( async, @@ -5024,7 +5024,7 @@ public virtual Task GroupBy_with_boolean_groupin_key_thru_navigation_access(bool .Select(g => new { g.Key.HasSoulPatch, Name = g.Key.Name.Maybe(x => x.ToLower()) }), elementSorter: e => (e.HasSoulPatch, e.Name)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Group_by_over_projection_with_multiple_properties_accessed_thru_navigation(bool async) => AssertQuery( async, @@ -5039,7 +5039,7 @@ public virtual Task Group_by_over_projection_with_multiple_properties_accessed_t .GroupBy(x => x.CityOfBirthName) .Select(g => g.Key)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Group_by_with_aggregate_max_on_entity_type(bool async) => Assert.ThrowsAsync(() => AssertQuery( async, @@ -5047,7 +5047,7 @@ public virtual Task Group_by_with_aggregate_max_on_entity_type(bool async) .GroupBy(g => g.CityOfBirthName) .Select(g => new { g.Key, Aggregate = g.Max() }))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Group_by_on_StartsWith_with_null_parameter_as_argument(bool async) { var prm = (string)null; @@ -5058,7 +5058,7 @@ public virtual Task Group_by_on_StartsWith_with_null_parameter_as_argument(bool ss => ss.Set().GroupBy(g => false).Select(g => g.Key)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Group_by_with_having_StartsWith_with_null_parameter_as_argument(bool async) { var prm = (string)null; @@ -5070,7 +5070,7 @@ public virtual Task Group_by_with_having_StartsWith_with_null_parameter_as_argum assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_StartsWith_with_null_parameter_as_argument(bool async) { var prm = (string)null; @@ -5081,7 +5081,7 @@ public virtual Task Select_StartsWith_with_null_parameter_as_argument(bool async ss => ss.Set().Select(g => false)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_null_parameter_is_not_null(bool async) { var prm = (string)null; @@ -5092,7 +5092,7 @@ public virtual Task Select_null_parameter_is_not_null(bool async) ss => ss.Set().Select(g => false)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_null_parameter_is_not_null(bool async) { var prm = (string)null; @@ -5104,7 +5104,7 @@ public virtual Task Where_null_parameter_is_not_null(bool async) assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_StartsWith_with_null_parameter_as_argument(bool async) { var prm = (string)null; @@ -5116,7 +5116,7 @@ public virtual Task OrderBy_StartsWith_with_null_parameter_as_argument(bool asyn assertOrder: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_Contains_empty_list(bool async) { var ids = new List(); @@ -5127,7 +5127,7 @@ public virtual Task OrderBy_Contains_empty_list(bool async) ss => ss.Set().OrderBy(g => ids.Contains(g.SquadId)).Select(g => g)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_with_enum_flags_parameter(bool async) { MilitaryRank? rank = MilitaryRank.Private; @@ -5152,7 +5152,7 @@ await AssertQuery( assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FirstOrDefault_navigation_access_entity_equality_in_where_predicate_apply_peneding_selector(bool async) => AssertQuery( async, @@ -5164,7 +5164,7 @@ public virtual Task FirstOrDefault_navigation_access_entity_equality_in_where_pr // ss => ss.Set() // .Where(f => f.Capital == ss.Set().OrderBy(s => s.Nickname).FirstOrDefault().CityOfBirth)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Conditional_expression_with_test_being_simplified_to_constant_simple(bool isAsync) { var prm = true; @@ -5177,7 +5177,7 @@ public virtual Task Conditional_expression_with_test_being_simplified_to_constan : g.CityOfBirthName == prm2)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Conditional_expression_with_test_being_simplified_to_constant_complex(bool isAsync) { var prm = true; @@ -5191,7 +5191,7 @@ public virtual Task Conditional_expression_with_test_being_simplified_to_constan : g.CityOfBirthName == prm3)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Bitwise_operation_with_non_null_parameter_optimizes_null_checks(bool async) { var ranks = MilitaryRank.Corporal | MilitaryRank.Sergeant | MilitaryRank.General; @@ -5209,7 +5209,7 @@ await AssertQueryScalar( ss => ss.Set().Select(g => (g.Rank | (g.Rank | (ranks | (g.Rank | ranks)))) == ranks)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Bitwise_operation_with_null_arguments(bool async) { await AssertQuery( @@ -5240,7 +5240,7 @@ await AssertQuery( ss => ss.Set().Where(w => (w.AmmunitionType & prm) == prm)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Logical_operation_with_non_null_parameter_optimizes_null_checks(bool async) { var prm = true; @@ -5254,13 +5254,13 @@ await AssertQuery( ss => ss.Set().Where(g => (g.HasSoulPatch || prm) != prm)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Cast_OfType_works_correctly(bool async) => AssertQuery( async, ss => ss.Set().Cast().OfType().Select(o => o.FullName)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_inner_source_custom_projection_followed_by_filter(bool async) => AssertQuery( async, @@ -5276,14 +5276,14 @@ on ll.Name equals h.CommanderName where h.IsEradicated != true select h); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Byte_array_filter_by_length_literal_does_not_cast_on_varbinary_n(bool async) => AssertQuery( async, ss => ss.Set().Where(w => w.Banner5.Length == 5), ss => ss.Set().Where(w => w.Banner5 != null && w.Banner5.Length == 5)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_bool_coming_from_optional_navigation(bool async) => AssertQuery( async, @@ -5291,7 +5291,7 @@ public virtual Task OrderBy_bool_coming_from_optional_navigation(bool async) ss => ss.Set().Select(w => w.SynergyWith).OrderBy(w => w.MaybeScalar(x => x.IsAutomatic)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task DateTimeOffset_Date_returns_datetime(bool async) { var dateTimeOffset = new DateTimeOffset(2, 3, 1, 8, 0, 0, new TimeSpan(-5, 0, 0)); @@ -5301,19 +5301,19 @@ public virtual Task DateTimeOffset_Date_returns_datetime(bool async) ss => ss.Set().Where(m => m.Timeline.Date >= dateTimeOffset.Date)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Conditional_with_conditions_evaluating_to_false_gets_optimized(bool async) => AssertQuery( async, ss => ss.Set().Select(g => g.Nickname == null && g.Nickname != null ? g.CityOfBirthName : g.FullName)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Conditional_with_conditions_evaluating_to_true_gets_optimized(bool async) => AssertQuery( async, ss => ss.Set().Select(g => g.Nickname == null || g.Nickname != null ? g.CityOfBirthName : g.FullName)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_required_string_column_compared_to_null_parameter(bool async) { var nullParameter = default(string); @@ -5323,7 +5323,7 @@ public virtual Task Projecting_required_string_column_compared_to_null_parameter ss => ss.Set().Select(g => g.Nickname == nullParameter)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Group_by_nullable_property_HasValue_and_project_the_grouping_key(bool async) => AssertQueryScalar( async, @@ -5331,7 +5331,7 @@ public virtual Task Group_by_nullable_property_HasValue_and_project_the_grouping .GroupBy(w => w.SynergyWithId.HasValue) .Select(g => g.Key)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Group_by_nullable_property_and_project_the_grouping_key_HasValue(bool async) => AssertQueryScalar( async, @@ -5339,7 +5339,7 @@ public virtual Task Group_by_nullable_property_and_project_the_grouping_key_HasV .GroupBy(w => w.SynergyWithId) .Select(g => g.Key.HasValue)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Checked_context_with_cast_does_not_fail(bool isAsync) { checked @@ -5350,7 +5350,7 @@ public virtual Task Checked_context_with_cast_does_not_fail(bool isAsync) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Checked_context_with_addition_does_not_fail(bool isAsync) { checked @@ -5361,7 +5361,7 @@ public virtual Task Checked_context_with_addition_does_not_fail(bool isAsync) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Checked_context_throws_on_client_evaluation(bool isAsync) { checked @@ -5376,27 +5376,27 @@ public virtual Task Checked_context_throws_on_client_evaluation(bool isAsync) private int GetThreatLevel() => 256; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_on_collection_of_byte_subquery(bool async) => AssertQuery( async, ss => ss.Set() .Where(l => ss.Set().Select(ll => ll.ThreatLevelByte).Contains(l.ThreatLevelByte))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_on_collection_of_nullable_byte_subquery(bool async) => AssertQuery( async, ss => ss.Set().Where(l => ss.Set().Select(ll => ll.ThreatLevelNullableByte).Contains(l.ThreatLevelNullableByte))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_on_collection_of_nullable_byte_subquery_null_constant(bool async) => AssertQuery( async, ss => ss.Set().Where(l => ss.Set().Select(ll => ll.ThreatLevelNullableByte).Contains(null))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_on_collection_of_nullable_byte_subquery_null_parameter(bool async) { var prm = default(byte?); @@ -5406,7 +5406,7 @@ public virtual Task Contains_on_collection_of_nullable_byte_subquery_null_parame ss => ss.Set().Where(l => ss.Set().Select(ll => ll.ThreatLevelNullableByte).Contains(prm))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Subquery_projecting_non_nullable_scalar_contains_non_nullable_value_doesnt_need_null_expansion(bool async) => AssertQuery( async, @@ -5414,7 +5414,7 @@ public virtual Task Subquery_projecting_non_nullable_scalar_contains_non_nullabl .SelectMany(l => ss.Set() .Where(g => ss.Set().Select(x => x.ThreatLevelByte).Contains(l.ThreatLevelByte)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Subquery_projecting_non_nullable_scalar_contains_non_nullable_value_doesnt_need_null_expansion_negated( bool async) => AssertQuery( @@ -5424,7 +5424,7 @@ public virtual Task Subquery_projecting_non_nullable_scalar_contains_non_nullabl .Where(g => !ss.Set().Select(x => x.ThreatLevelByte).Contains(l.ThreatLevelByte))), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Subquery_projecting_nullable_scalar_contains_nullable_value_needs_null_expansion(bool async) => AssertQuery( async, @@ -5432,7 +5432,7 @@ public virtual Task Subquery_projecting_nullable_scalar_contains_nullable_value_ .SelectMany(l => ss.Set() .Where(g => ss.Set().Select(x => x.ThreatLevelNullableByte).Contains(l.ThreatLevelNullableByte)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Subquery_projecting_nullable_scalar_contains_nullable_value_needs_null_expansion_negated(bool async) => AssertQuery( async, @@ -5441,7 +5441,7 @@ public virtual Task Subquery_projecting_nullable_scalar_contains_nullable_value_ .Where(g => !ss.Set().Select(x => x.ThreatLevelNullableByte).Contains(l.ThreatLevelNullableByte))), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Enum_closure_typed_as_underlying_type_generates_correct_parameter_type(bool async) { var prm = (int)AmmunitionType.Cartridge; @@ -5452,7 +5452,7 @@ public virtual Task Enum_closure_typed_as_underlying_type_generates_correct_para ss => ss.Set().Where(w => w.AmmunitionType != null && prm == (int)w.AmmunitionType)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Enum_flags_closure_typed_as_underlying_type_generates_correct_parameter_type(bool async) { var prm = (int)MilitaryRank.Private + (int)MilitaryRank.Sergeant + (int)MilitaryRank.General; @@ -5463,7 +5463,7 @@ public virtual Task Enum_flags_closure_typed_as_underlying_type_generates_correc .Where(g => (prm & (int)g.Rank) == (int)g.Rank)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Enum_flags_closure_typed_as_different_type_generates_correct_parameter_type(bool async) { var prm = (byte)MilitaryRank.Private + (byte)MilitaryRank.Sergeant; @@ -5474,7 +5474,7 @@ public virtual Task Enum_flags_closure_typed_as_different_type_generates_correct .Where(g => (prm & (short)g.Rank) == (short)g.Rank)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Constant_enum_with_same_underlying_value_as_previously_parameterized_int(bool async) => AssertQueryScalar( async, @@ -5483,7 +5483,7 @@ public virtual Task Constant_enum_with_same_underlying_value_as_previously_param .Take(1) .Select(g => g.Rank & MilitaryRank.Private)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Enum_array_contains(bool async) { var types = new[] { (AmmunitionType?)null, AmmunitionType.Cartridge }; @@ -5494,7 +5494,7 @@ public virtual Task Enum_array_contains(bool async) .Where(w => w.SynergyWith != null && types.Contains(w.SynergyWith.AmmunitionType))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // #35656 + [Theory, MemberData(nameof(IsAsyncData))] // #35656 public virtual Task Coalesce_with_non_root_evaluatable_Convert(bool async) { MilitaryRank? rank = MilitaryRank.Private; @@ -5510,7 +5510,7 @@ public virtual Task Coalesce_with_non_root_evaluatable_Convert(bool async) ss => ss.Set().Where(g => (rank ?? g.Rank) == g.Rank)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Client_eval_followed_by_aggregate_operation(bool async) { await AssertSum( @@ -5530,7 +5530,7 @@ await AssertMax( ss => ss.Set().Select(m => m.Duration.Ticks)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Trying_to_access_unmapped_property_throws_informative_error(bool async) => AssertTranslationFailedWithDetails( () => AssertQuery( @@ -5538,13 +5538,13 @@ public virtual Task Trying_to_access_unmapped_property_throws_informative_error( ss => ss.Set().Where(g => g.IsMarcus)), CoreStrings.QueryUnableToTranslateMember(nameof(Gear.IsMarcus), nameof(Gear))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Trying_to_access_unmapped_property_in_projection(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(g => g.IsMarcus)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Trying_to_access_unmapped_property_inside_aggregate(bool async) => AssertTranslationFailedWithDetails( () => AssertQuery( @@ -5552,7 +5552,7 @@ public virtual Task Trying_to_access_unmapped_property_inside_aggregate(bool asy ss => ss.Set().Where(c => c.BornGears.Count(g => g.IsMarcus) > 0)), CoreStrings.QueryUnableToTranslateMember(nameof(Gear.IsMarcus), nameof(Gear))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Trying_to_access_unmapped_property_inside_subquery(bool async) => AssertTranslationFailedWithDetails( () => AssertQuery( @@ -5561,7 +5561,7 @@ public virtual Task Trying_to_access_unmapped_property_inside_subquery(bool asyn => ss.Set().Where(g => g.IsMarcus).Select(g => g.Nickname).FirstOrDefault() == "Marcus")), CoreStrings.QueryUnableToTranslateMember(nameof(Gear.IsMarcus), nameof(Gear))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Trying_to_access_unmapped_property_inside_join_key_selector(bool async) => AssertTranslationFailedWithDetails( () => AssertQuery( @@ -5572,7 +5572,7 @@ from g in grouping.DefaultIfEmpty() select new { w, g }), CoreStrings.QueryUnableToTranslateMember(nameof(Gear.IsMarcus), nameof(Gear))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Client_projection_with_nested_unmapped_property_bubbles_up_translation_failure_info(bool async) => AssertTranslationFailedWithDetails( () => AssertQuery( @@ -5580,25 +5580,25 @@ public virtual Task Client_projection_with_nested_unmapped_property_bubbles_up_t ss => ss.Set().Select(g => new { nested = ss.Set().Where(gg => gg.IsMarcus).ToList() })), CoreStrings.QueryUnableToTranslateMember(nameof(Gear.IsMarcus), nameof(Gear))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Client_member_and_unsupported_string_Equals_in_the_same_query(bool async) => AssertQuery( async, ss => ss.Set().Where(g => g.FullName.Equals(g.Nickname, StringComparison.InvariantCulture) || g.IsMarcus)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task CompareTo_used_with_non_unicode_string_column_and_constant(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Location.CompareTo("Unknown") == 0)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Coalesce_used_with_non_unicode_string_column_and_constant(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.Location ?? "Unknown")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Groupby_anonymous_type_with_navigations_followed_up_by_anonymous_projection_and_orderby(bool async) => AssertQuery( async, @@ -5613,7 +5613,7 @@ public virtual Task Groupby_anonymous_type_with_navigations_followed_up_by_anony .OrderBy(x => x.Location), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_predicate_with_non_equality_comparison_converted_to_inner_join(bool async) => AssertQuery( async, @@ -5628,7 +5628,7 @@ from w in ss.Set().Where(x => x.OwnerFullName != g.FullName) AssertEqual(e.w, a.w); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_predicate_with_non_equality_comparison_DefaultIfEmpty_converted_to_left_join(bool async) => AssertQuery( async, @@ -5643,7 +5643,7 @@ from w in ss.Set().Where(x => x.OwnerFullName != g.FullName).DefaultIfEm AssertEqual(e.w, a.w); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_predicate_after_navigation_with_non_equality_comparison_DefaultIfEmpty_converted_to_left_join( bool async) => AssertQuery( @@ -5663,13 +5663,13 @@ from w in ss.Set().Select(x => x.SynergyWith).Where(x => x.OwnerFullName AssertEqual(e.w, a.w); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_without_result_selector_and_non_equality_comparison_converted_to_join(bool async) => AssertQuery( async, ss => ss.Set().SelectMany(g => ss.Set().Where(x => x.OwnerFullName != g.FullName).DefaultIfEmpty())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_collection_projection_with_order_comparison_predicate_converted_to_join(bool async) => AssertQuery( async, @@ -5677,7 +5677,7 @@ public virtual Task Filtered_collection_projection_with_order_comparison_predica assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a, elementSorter: ee => ee.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_collection_projection_with_order_comparison_predicate_converted_to_join2(bool async) => AssertQuery( async, @@ -5685,7 +5685,7 @@ public virtual Task Filtered_collection_projection_with_order_comparison_predica assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a, elementSorter: ee => ee.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_collection_projection_with_order_comparison_predicate_converted_to_join3(bool async) => AssertQuery( async, @@ -5693,7 +5693,7 @@ public virtual Task Filtered_collection_projection_with_order_comparison_predica assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a, elementSorter: ee => ee.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_predicate_with_non_equality_comparison_with_Take_doesnt_convert_to_join(bool async) => AssertQuery( async, @@ -5708,7 +5708,7 @@ from w in ss.Set().Where(x => x.OwnerFullName != g.FullName).OrderBy(x = AssertEqual(e.w, a.w); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FirstOrDefault_over_int_compared_to_zero(bool async) => AssertQuery( async, @@ -5722,7 +5722,7 @@ public virtual Task FirstOrDefault_over_int_compared_to_zero(bool async) .Select(s => s.Name), elementSorter: e => e); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_with_inner_collection_references_element_two_levels_up(bool async) => AssertQuery( async, @@ -5740,7 +5740,7 @@ public virtual Task Correlated_collection_with_inner_collection_references_eleme AssertCollection(e.Collection, a.Collection, elementSorter: ee => (ee.OfficerName, ee.ReportName)); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Accessing_derived_property_using_hard_and_soft_cast(bool async) { await AssertQuery( @@ -5752,14 +5752,14 @@ await AssertQuery( ss => ss.Set().Where(ll => ll is LocustCommander && (ll as LocustCommander).HighCommandId != 0)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Cast_to_derived_followed_by_include_and_FirstOrDefault(bool async) => AssertFirstOrDefault( async, ss => ss.Set().Where(ll => ll.Name.Contains("Queen")).Cast().Include(lc => lc.DefeatedBy), asserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(x => x.DefeatedBy))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Cast_to_derived_followed_by_multiple_includes(bool async) => AssertQuery( async, @@ -5770,7 +5770,7 @@ public virtual Task Cast_to_derived_followed_by_multiple_includes(bool async) new ExpectedInclude(x => x.DefeatedBy), new ExpectedInclude(x => x.Weapons, "DefeatedBy"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_take(bool async) => AssertQuery( async, @@ -5788,19 +5788,19 @@ public virtual Task Correlated_collection_take(bool async) AssertEqual(e.CityOfBirth, a.CityOfBirth); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Select_sum(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(m => m.CodeName).Select(g => g.Sum(m => m.Rating))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_with_no_data_nullable_double(bool async) => AssertSum( async, ss => ss.Set().Where(m => m.CodeName == "Operation Foobar").Select(m => m.Rating)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FirstOrDefault_on_empty_collection_of_DateTime_in_subquery(bool async) => AssertQuery( async, @@ -5812,7 +5812,7 @@ orderby t.Id where g.Tag.IssueDate > invalidTagIssueDate select new { g.Nickname, invalidTagIssueDate }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_shadow_properties(bool async) => AssertQuery( async, @@ -5820,7 +5820,7 @@ public virtual Task Project_shadow_properties(bool async) select new { g.Nickname, AssignedCityName = EF.Property(g, "AssignedCityName") }, elementSorter: e => e.Nickname); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Composite_key_entity_equal(bool async) => AssertQuery( async, @@ -5835,7 +5835,7 @@ from g2 in ss.Set() AssertEqual(e.g2, a.g2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Composite_key_entity_not_equal(bool async) => AssertQuery( async, @@ -5850,19 +5850,19 @@ from g2 in ss.Set() AssertEqual(e.g2, a.g2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Composite_key_entity_equal_null(bool async) => AssertQuery( async, ss => ss.Set().OfType().Where(lc => lc.DefeatedBy == null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Composite_key_entity_not_equal_null(bool async) => AssertQuery( async, ss => ss.Set().OfType().Where(lc => lc.DefeatedBy != null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_property_converted_to_nullable_with_comparison(bool async) => AssertQuery( async, @@ -5879,7 +5879,7 @@ public virtual Task Projecting_property_converted_to_nullable_with_comparison(bo : null }).Where(x => x.Nullable.SquadId == 1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_property_converted_to_nullable_with_addition(bool async) => AssertQuery( async, @@ -5908,7 +5908,7 @@ public virtual Task Projecting_property_converted_to_nullable_with_addition(bool : null }).Where(x => x.Nullable != null && x.Nullable.SquadId + 1 == 2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_property_converted_to_nullable_with_addition_and_final_projection(bool async) => AssertQuery( async, @@ -5927,7 +5927,7 @@ public virtual Task Projecting_property_converted_to_nullable_with_addition_and_ .Where(x => x.Nullable.Nickname != null) .Select(x => new { x.Note, Value = x.Nullable.SquadId + 1 })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_property_converted_to_nullable_with_conditional(bool async) => AssertQueryScalar( async, @@ -5944,7 +5944,7 @@ public virtual Task Projecting_property_converted_to_nullable_with_conditional(b : null }).Select(x => x.Note != "K.I.A." ? x.Nullable.SquadId : -1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_property_converted_to_nullable_with_function_call(bool async) => AssertQuery( async, @@ -5962,7 +5962,7 @@ public virtual Task Projecting_property_converted_to_nullable_with_function_call }).Select(x => x.Nullable.Nickname.Substring(0, 3)), ss => ss.Set().Select(x => x.GearNickName == null ? null : x.GearNickName.Substring(0, 3))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_property_converted_to_nullable_with_function_call2(bool async) => AssertQuery( async, @@ -5995,7 +5995,7 @@ public virtual Task Projecting_property_converted_to_nullable_with_function_call .Where(x => x.Nullable.Nickname != null) .Select(x => new { x.Note, Function = x.Nullable == null ? null : x.Note.Substring(0, x.Nullable.SquadId) })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_property_converted_to_nullable_into_element_init(bool async) => AssertQuery( async, @@ -6022,7 +6022,7 @@ public virtual Task Projecting_property_converted_to_nullable_into_element_init( }), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_property_converted_to_nullable_into_member_assignment(bool async) => AssertQuery( async, @@ -6043,7 +6043,7 @@ public virtual Task Projecting_property_converted_to_nullable_into_member_assign .Select(x => new Squad { Id = x.Nullable.SquadId }), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_property_converted_to_nullable_into_new_array(bool async) => AssertQuery( async, @@ -6064,7 +6064,7 @@ public virtual Task Projecting_property_converted_to_nullable_into_new_array(boo .Select(x => new[] { x.Nullable.Nickname.Length, x.Nullable.SquadId, x.Nullable.SquadId + 1, 42 }), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_property_converted_to_nullable_into_unary(bool async) => AssertQuery( async, @@ -6086,7 +6086,7 @@ public virtual Task Projecting_property_converted_to_nullable_into_unary(bool as .Select(x => x.Note), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_property_converted_to_nullable_into_member_access(bool async) => AssertQuery( async, @@ -6102,7 +6102,7 @@ public virtual Task Projecting_property_converted_to_nullable_into_member_access .Select(x => x.Nickname), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_property_converted_to_nullable_and_use_it_in_order_by(bool async) => AssertQuery( async, @@ -6122,7 +6122,7 @@ public virtual Task Projecting_property_converted_to_nullable_and_use_it_in_orde .OrderBy(x => x.Nullable.SquadId).ThenBy(x => x.Note), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_with_distinct_projecting_identifier_column(bool async) => AssertQuery( async, @@ -6149,7 +6149,7 @@ public virtual Task Correlated_collection_with_distinct_projecting_identifier_co }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_with_distinct_projecting_identifier_column_and_correlation_key(bool async) => AssertQuery( async, @@ -6182,7 +6182,7 @@ public virtual Task Correlated_collection_with_distinct_projecting_identifier_co }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_with_distinct_projecting_identifier_column_composite_key(bool async) => AssertQuery( async, @@ -6215,7 +6215,7 @@ public virtual Task Correlated_collection_with_distinct_projecting_identifier_co }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_with_distinct_not_projecting_identifier_column(bool async) => AssertQuery( async, @@ -6242,7 +6242,7 @@ public virtual Task Correlated_collection_with_distinct_not_projecting_identifie }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_with_distinct_not_projecting_identifier_column_also_projecting_complex_expressions( bool async) => AssertQuery( @@ -6276,7 +6276,7 @@ public virtual Task Correlated_collection_with_distinct_not_projecting_identifie }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_with_groupby_not_projecting_identifier_column_but_only_grouping_key_in_final_projection( bool async) => AssertQuery( @@ -6304,7 +6304,7 @@ public virtual Task Correlated_collection_with_groupby_not_projecting_identifier }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_with_groupby_not_projecting_identifier_column_with_group_aggregate_in_final_projection( bool async) => AssertQuery( @@ -6333,7 +6333,7 @@ public virtual Task Correlated_collection_with_groupby_not_projecting_identifier }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_with_groupby_not_projecting_identifier_column_with_group_aggregate_in_final_projection_multiple_grouping_keys( bool async) @@ -6364,7 +6364,7 @@ public virtual Task }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_with_groupby_with_complex_grouping_key_not_projecting_identifier_column_with_group_aggregate_in_final_projection( bool async) @@ -6394,7 +6394,7 @@ public virtual Task }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_via_SelectMany_with_Distinct_missing_indentifying_columns_in_projection(bool async) => AssertQuery( async, @@ -6409,7 +6409,7 @@ public virtual Task Correlated_collection_via_SelectMany_with_Distinct_missing_i elementAsserter: (e, a) => AssertCollection(e, a, elementSorter: ee => ee), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_correlated_collection_followed_by_Distinct(bool async) => AssertQuery( async, @@ -6419,7 +6419,7 @@ public virtual Task Projecting_correlated_collection_followed_by_Distinct(bool a elementSorter: e => e.OrderBy(w => w.Id).FirstOrDefault().Id, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_some_properties_as_well_as_correlated_collection_followed_by_Distinct(bool async) => AssertQuery( async, @@ -6439,7 +6439,7 @@ public virtual Task Projecting_some_properties_as_well_as_correlated_collection_ AssertCollection(e.Weapons, a.Weapons); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_entity_as_well_as_correlated_collection_followed_by_Distinct(bool async) => AssertQuery( async, @@ -6453,7 +6453,7 @@ public virtual Task Projecting_entity_as_well_as_correlated_collection_followed_ AssertCollection(e.Weapons, a.Weapons); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_entity_as_well_as_complex_correlated_collection_followed_by_Distinct(bool async) => AssertQuery( async, @@ -6467,7 +6467,7 @@ public virtual Task Projecting_entity_as_well_as_complex_correlated_collection_f AssertCollection(e.Weapons, a.Weapons); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_entity_as_well_as_correlated_collection_of_scalars_followed_by_Distinct(bool async) => AssertQuery( async, @@ -6481,7 +6481,7 @@ public virtual Task Projecting_entity_as_well_as_correlated_collection_of_scalar AssertCollection(e.Ids, a.Ids); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_with_distinct_3_levels(bool async) => AssertQuery( async, @@ -6494,7 +6494,7 @@ public virtual Task Correlated_collection_with_distinct_3_levels(bool async) }).Distinct(), elementSorter: e => e.s.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_after_distinct_3_levels(bool async) => AssertQuery( async, @@ -6561,7 +6561,7 @@ public virtual Task Correlated_collection_after_distinct_3_levels(bool async) }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_after_distinct_3_levels_without_original_identifiers(bool async) => AssertQuery( async, @@ -6613,13 +6613,13 @@ public virtual Task Correlated_collection_after_distinct_3_levels_without_origin }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Basic_query_gears(bool async) => AssertQuery( async, ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_on_entity_that_is_not_present_in_final_projection_but_uses_TypeIs_instead(bool async) => AssertQuery( async, @@ -6634,13 +6634,13 @@ public virtual Task Include_on_entity_that_is_not_present_in_final_projection_bu AssertEqual(e.IsOfficer, a.IsOfficer); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Comparison_with_value_converted_subclass(bool async) => AssertQuery( async, ss => ss.Set().Where(f => f.ServerAddress == IPAddress.Loopback)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_equality_with_value_converted_property(bool async) => AssertQuery( async, @@ -6648,13 +6648,13 @@ public virtual Task Project_equality_with_value_converted_property(bool async) private static readonly IEnumerable _weaponTypes = [AmmunitionType.Cartridge]; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_on_readonly_enumerable(bool async) => AssertQuery( async, ss => ss.Set().Where(w => _weaponTypes.Contains(w.AmmunitionType))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_navigation_defined_on_base_from_entity_with_inheritance_using_soft_cast(bool async) => AssertQuery( async, @@ -6722,7 +6722,7 @@ public virtual Task Project_navigation_defined_on_base_from_entity_with_inherita AssertEqual(e.NestedOuter.NestedInner.PropertyAfterNavigation, a.NestedOuter.NestedInner.PropertyAfterNavigation); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_navigation_defined_on_derived_from_entity_with_inheritance_using_soft_cast(bool async) => AssertQuery( async, @@ -6788,7 +6788,7 @@ public virtual Task Project_navigation_defined_on_derived_from_entity_with_inher AssertEqual(e.NestedOuter.NestedInner.PropertyAfterNavigation, a.NestedOuter.NestedInner.PropertyAfterNavigation); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_entity_with_itself_grouped_by_key_followed_by_include_skip_take(bool async) => AssertQuery( async, @@ -6797,13 +6797,13 @@ join g2 in ss.Set().Where(x => x.Nickname != "Dom").GroupBy(x => x.HasSoul .Select(g => g.Min(x => x.Nickname.Length)) on g1.Nickname.Length equals g2 select g1).Include(x => x.Weapons).OrderBy(x => x.Nickname).Skip(0).Take(10)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_equals_method_on_nullable_with_object_overload(bool async) => AssertQuery( async, ss => ss.Set().Where(m => m.Rating.Equals(null))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_bool_column_and_Contains(bool async) { var values = new[] { false, true }; @@ -6812,7 +6812,7 @@ public virtual Task Where_bool_column_and_Contains(bool async) ss => ss.Set().Where(g => g.HasSoulPatch && values.Contains(g.HasSoulPatch))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_bool_column_or_Contains(bool async) { var values = new[] { false, true }; @@ -6821,7 +6821,7 @@ public virtual Task Where_bool_column_or_Contains(bool async) ss => ss.Set().Where(g => g.HasSoulPatch && values.Contains(g.HasSoulPatch))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Enum_matching_take_value_gets_different_type_mapping(bool async) { var value = MilitaryRank.Private; @@ -6833,14 +6833,14 @@ public virtual Task Enum_matching_take_value_gets_different_type_mapping(bool as .Select(g => g.Rank & value)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_equality_to_null_with_composite_key(bool async) => AssertQuery( async, ss => ss.Set().Where(s => s.Members.OrderBy(e => e.Nickname).FirstOrDefault() == null), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_equality_to_null_with_composite_key_should_match_nulls(bool async) => AssertQuery( async, @@ -6850,35 +6850,35 @@ public virtual Task Where_subquery_equality_to_null_with_composite_key_should_ma .FirstOrDefault() == null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_equality_to_null_without_composite_key(bool async) => AssertQuery( async, ss => ss.Set().Where(s => s.Weapons.OrderBy(e => e.Name).FirstOrDefault() == null), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_equality_to_null_without_composite_key_should_match_null(bool async) => AssertQuery( async, ss => ss.Set().Where(s => s.Weapons.Where(w => w.Name == "Hammer of Dawn").OrderBy(e => e.Name).FirstOrDefault() == null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ElementAt_basic_with_OrderBy(bool async) => AssertElementAt( async, ss => ss.Set().OrderBy(g => g.FullName), () => 0); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ElementAtOrDefault_basic_with_OrderBy(bool async) => AssertElementAtOrDefault( async, ss => ss.Set().OrderBy(g => g.FullName), () => 1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ElementAtOrDefault_basic_with_OrderBy_parameter(bool async) { var prm = 2; @@ -6889,20 +6889,20 @@ public virtual Task ElementAtOrDefault_basic_with_OrderBy_parameter(bool async) () => prm); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_with_ElementAtOrDefault_equality_to_null_with_composite_key(bool async) => AssertQuery( async, ss => ss.Set().Where(s => s.Members.OrderBy(e => e.Nickname).ElementAtOrDefault(2) == null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_with_ElementAt_using_column_as_index(bool async) => AssertQuery( async, ss => ss.Set().Where(s => s.Members.OrderBy(m => m.Nickname).ElementAt(s.Id).Nickname == "Cole Train"), ss => ss.Set().Where(s => s.Members.OrderBy(m => m.Nickname).ElementAtOrDefault(s.Id).Nickname == "Cole Train")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Using_indexer_on_byte_array_and_string_in_projection(bool async) => AssertQuery( async, @@ -6920,7 +6920,7 @@ public virtual Task Using_indexer_on_byte_array_and_string_in_projection(bool as Assert.Equal(e.String, a.String); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Set_operator_with_navigation_in_projection_groupby_aggregate(bool async) => AssertQuery( async, @@ -6930,7 +6930,7 @@ public virtual Task Set_operator_with_navigation_in_projection_groupby_aggregate .GroupBy(x => new { x.Name }) .Select(x => new { x.Key.Name, SumOfLengths = x.Sum(xx => xx.Location.Length) })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nav_expansion_inside_Contains_argument(bool async) { var numbers = new[] { 1, -1 }; @@ -6940,7 +6940,7 @@ public virtual Task Nav_expansion_inside_Contains_argument(bool async) ss => ss.Set().Where(x => numbers.Contains(x.Weapons.Any() ? 1 : 0))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nav_expansion_with_member_pushdown_inside_Contains_argument(bool async) { var weapons = new[] { "Marcus' Lancer", "Dom's Gnasher" }; @@ -6950,7 +6950,7 @@ public virtual Task Nav_expansion_with_member_pushdown_inside_Contains_argument( ss => ss.Set().Where(x => weapons.Contains(x.Weapons.OrderBy(w => w.Id).FirstOrDefault().Name))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Subquery_inside_Take_argument(bool async) { var numbers = new[] { 0, 1, 2 }; @@ -6963,20 +6963,20 @@ public virtual Task Subquery_inside_Take_argument(bool async) elementAsserter: (e, a) => AssertCollection(e, a, ordered: true)); } - [ConditionalTheory(Skip = "issue #32303"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "issue #32303"), MemberData(nameof(IsAsyncData))] public virtual Task Nav_expansion_inside_Skip_correlated_to_source(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(x => x.Name) .Select(x => x.BornGears.OrderBy(g => g.FullName).Skip(x.StationedGears.Any() ? 1 : 0))); - [ConditionalTheory(Skip = "issue #32303"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "issue #32303"), MemberData(nameof(IsAsyncData))] public virtual Task Nav_expansion_inside_Take_correlated_to_source(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(x => x.Nickname).Select(x => x.Weapons.OrderBy(g => g.Id).Take(x.AssignedCity.Name.Length))); - [ConditionalTheory(Skip = "issue #32303"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "issue #32303"), MemberData(nameof(IsAsyncData))] public virtual Task Nav_expansion_with_member_pushdown_inside_Take_correlated_to_source(bool async) { var numbers = new[] { 0, 1, 2 }; @@ -6989,14 +6989,14 @@ public virtual Task Nav_expansion_with_member_pushdown_inside_Take_correlated_to elementAsserter: (e, a) => AssertCollection(e, a, ordered: true)); } - [ConditionalTheory(Skip = "issue #32303"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "issue #32303"), MemberData(nameof(IsAsyncData))] public virtual Task Nav_expansion_inside_ElementAt_correlated_to_source(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(x => x.Nickname) .Select(x => x.Weapons.OrderBy(g => g.Id).ElementAt(x.AssignedCity != null ? 1 : 0))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_one_to_many_on_composite_key_then_orderby_key_properties(bool async) => AssertQuery( async, @@ -7004,7 +7004,7 @@ public virtual Task Include_one_to_many_on_composite_key_then_orderby_key_proper assertOrder: true, elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(x => x.Weapons))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Find_underlying_property_after_GroupJoin_DefaultIfEmpty(bool async) => AssertQuery( async, @@ -7031,7 +7031,7 @@ private class GearLocustLeaderDto public int? ThreatLevel { get; set; } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Join_include_coalesce_simple(bool async) { await AssertQuery( @@ -7071,7 +7071,7 @@ from o in grouping.DefaultIfEmpty() elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(x => x.Weapons))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Join_include_coalesce_nested(bool async) { await AssertQuery( @@ -7117,7 +7117,7 @@ from o in grouping.DefaultIfEmpty() }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_include_conditional(bool async) => AssertQuery( async, @@ -7139,14 +7139,14 @@ from o in grouping.DefaultIfEmpty() } }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Derived_reference_is_skipped_when_base_type(bool async) => AssertQuery( async, ss => ss.Set().Include(x => ((LocustCommander)x).HighCommand), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(x => x.HighCommand))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Nested_contains_with_enum(bool async) { var key = Guid.Parse("5f221fb9-66f4-442a-92c9-d97ed5989cc7"); @@ -7165,7 +7165,7 @@ await AssertQuery( ss => ss.Set().Where(x => keys.Contains(ammoTypes.Contains(x.AmmunitionType) ? key : key))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] // Issue #33330 public virtual Task Non_string_concat_uses_appropriate_type_mapping(bool async) { diff --git a/test/EFCore.Specification.Tests/Query/IncludeOneToOneTestBase.cs b/test/EFCore.Specification.Tests/Query/IncludeOneToOneTestBase.cs index 7548ce4e4f0..f987e02cf09 100644 --- a/test/EFCore.Specification.Tests/Query/IncludeOneToOneTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/IncludeOneToOneTestBase.cs @@ -12,7 +12,7 @@ public abstract class IncludeOneToOneTestBase(TFixture fixture) : ICla { public TFixture Fixture { get; } = fixture; - [ConditionalFact] + [Fact] public virtual void Include_address() { using var context = CreateContext(); @@ -26,7 +26,7 @@ var people Assert.Equal(4 + 3, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public virtual void Include_address_EF_Property() { using var context = CreateContext(); @@ -40,7 +40,7 @@ var people Assert.Equal(4 + 3, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public virtual void Include_address_shadow() { using var context = CreateContext(); @@ -54,7 +54,7 @@ var people Assert.Equal(3 + 3, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public virtual void Include_address_no_tracking() { using var context = CreateContext(); @@ -69,7 +69,7 @@ var people Assert.Empty(context.ChangeTracker.Entries()); } - [ConditionalFact] + [Fact] public virtual void Include_address_no_tracking_EF_Property() { using var context = CreateContext(); @@ -84,7 +84,7 @@ var people Assert.Empty(context.ChangeTracker.Entries()); } - [ConditionalFact] + [Fact] public virtual void Include_person() { using var context = CreateContext(); @@ -98,7 +98,7 @@ var addresses Assert.Equal(3 + 3, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public virtual void Include_person_EF_Property() { using var context = CreateContext(); @@ -112,7 +112,7 @@ var addresses Assert.Equal(3 + 3, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public virtual void Include_person_shadow() { using var context = CreateContext(); @@ -126,7 +126,7 @@ var addresses Assert.Equal(3 + 3, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public virtual void Include_person_no_tracking() { using var context = CreateContext(); @@ -141,7 +141,7 @@ var addresses Assert.Empty(context.ChangeTracker.Entries()); } - [ConditionalFact] + [Fact] public virtual void Include_person_no_tracking_EF_Property() { using var context = CreateContext(); @@ -156,7 +156,7 @@ var addresses Assert.Empty(context.ChangeTracker.Entries()); } - [ConditionalFact] + [Fact] public virtual void Include_address_when_person_already_tracked() { using var context = CreateContext(); @@ -175,7 +175,7 @@ var people Assert.Equal(4 + 3, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public virtual void Include_person_when_address_already_tracked() { using var context = CreateContext(); diff --git a/test/EFCore.Specification.Tests/Query/Inheritance/FiltersInheritanceQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/Inheritance/FiltersInheritanceQueryTestBase.cs index 8c7178d8452..bfd91505b7a 100644 --- a/test/EFCore.Specification.Tests/Query/Inheritance/FiltersInheritanceQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Inheritance/FiltersInheritanceQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.InheritanceModel; @@ -12,7 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Inheritance; public abstract class FiltersInheritanceQueryTestBase(TFixture fixture) : FilteredQueryTestBase(fixture) where TFixture : InheritanceQueryFixtureBase, new() { - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_use_of_type_animal(bool async) { return AssertFilteredQuery( @@ -21,7 +21,7 @@ public virtual Task Can_use_of_type_animal(bool async) assertOrder: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_use_is_kiwi(bool async) { return AssertFilteredQuery( @@ -29,7 +29,7 @@ public virtual Task Can_use_is_kiwi(bool async) ss => ss.Set().Where(a => a is Kiwi)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_use_is_kiwi_with_other_predicate(bool async) { return AssertFilteredQuery( @@ -37,7 +37,7 @@ public virtual Task Can_use_is_kiwi_with_other_predicate(bool async) ss => ss.Set().Where(a => a is Kiwi && a.CountryId == 1)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_use_is_kiwi_in_projection(bool async) { return AssertFilteredQueryScalar( @@ -45,7 +45,7 @@ public virtual Task Can_use_is_kiwi_in_projection(bool async) ss => ss.Set().Select(a => a is Kiwi)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_use_of_type_bird(bool async) { return AssertFilteredQuery( @@ -54,7 +54,7 @@ public virtual Task Can_use_of_type_bird(bool async) assertOrder: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_use_of_type_bird_predicate(bool async) { return AssertFilteredQuery( @@ -66,7 +66,7 @@ public virtual Task Can_use_of_type_bird_predicate(bool async) assertOrder: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_use_of_type_bird_with_projection(bool async) { return AssertFilteredQuery( @@ -77,7 +77,7 @@ public virtual Task Can_use_of_type_bird_with_projection(bool async) elementSorter: e => e.Name); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_use_of_type_bird_first(bool async) { return AssertFirst( @@ -85,7 +85,7 @@ public virtual Task Can_use_of_type_bird_first(bool async) ss => ss.Set().OfType().OrderBy(a => a.Species)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_use_of_type_kiwi(bool async) { return AssertFilteredQuery( @@ -93,7 +93,7 @@ public virtual Task Can_use_of_type_kiwi(bool async) ss => ss.Set().OfType()); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_use_derived_set(bool async) { return AssertFilteredQuery( @@ -102,7 +102,7 @@ public virtual Task Can_use_derived_set(bool async) assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Can_use_IgnoreQueryFilters_and_GetDatabaseValues(bool async) { using var context = Fixture.CreateContext(); diff --git a/test/EFCore.Specification.Tests/Query/Inheritance/InheritanceComplexTypesQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/Inheritance/InheritanceComplexTypesQueryTestBase.cs index d7f5563e5ab..054484fe29d 100644 --- a/test/EFCore.Specification.Tests/Query/Inheritance/InheritanceComplexTypesQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Inheritance/InheritanceComplexTypesQueryTestBase.cs @@ -16,55 +16,55 @@ namespace Microsoft.EntityFrameworkCore.Query.Inheritance; public abstract class InheritanceComplexTypesQueryTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : InheritanceQueryFixtureBase, new() { - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_on_complex_type_property_on_derived_type(bool async) => AssertQuery( async, ss => ss.Set().Where(d => d.ChildComplexType!.Int == 10)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_on_complex_type_property_on_base_type(bool async) => AssertQuery( async, ss => ss.Set().Where(d => d.ParentComplexType!.Int == 8)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_on_nested_complex_type_property_on_derived_type(bool async) => AssertQuery( async, ss => ss.Set().Where(d => d.ChildComplexType!.Nested!.NestedInt == 58)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_on_nested_complex_type_property_on_base_type(bool async) => AssertQuery( async, ss => ss.Set().Where(d => d.ParentComplexType!.Nested!.NestedInt == 50)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_complex_type_on_derived_type(bool async) => AssertQuery( async, ss => ss.Set().Select(d => d.ChildComplexType)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_complex_type_on_base_type(bool async) => AssertQuery( async, ss => ss.Set().Select(d => d.ParentComplexType)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_nested_complex_type_on_derived_type(bool async) => AssertQuery( async, ss => ss.Set().Select(d => d.ChildComplexType!.Nested)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_nested_complex_type_on_base_type(bool async) => AssertQuery( async, ss => ss.Set().Select(d => d.ParentComplexType!.Nested)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Subquery_over_complex_collection(bool async) => AssertQuery( async, diff --git a/test/EFCore.Specification.Tests/Query/Inheritance/InheritanceQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/Inheritance/InheritanceQueryTestBase.cs index 427acb31eac..1e71c6de55b 100644 --- a/test/EFCore.Specification.Tests/Query/Inheritance/InheritanceQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Inheritance/InheritanceQueryTestBase.cs @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Inheritance; public abstract class InheritanceQueryTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : InheritanceQueryFixtureBase, new() { - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Can_query_when_shared_column(bool async) { await AssertSingle( @@ -26,32 +26,32 @@ await AssertSingle( ss => ss.Set()); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_query_all_types_when_shared_column(bool async) => AssertQuery( async, ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_use_of_type_animal(bool async) => AssertQuery( async, ss => ss.Set().OfType().OrderBy(a => a.Species), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_use_is_kiwi(bool async) => AssertQuery( async, ss => ss.Set().Where(a => a is Kiwi)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_use_is_kiwi_with_cast(bool async) => AssertQuery( async, ss => ss.Set().Select(a => new { Value = a is Kiwi ? ((Kiwi)a).FoundOn : default })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_use_backwards_is_animal(bool async) => AssertQuery( async, @@ -59,26 +59,26 @@ public virtual Task Can_use_backwards_is_animal(bool async) // ReSharper disable once ConvertTypeCheckToNullCheck ss => ss.Set().Where(a => a is Animal)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_use_is_kiwi_with_other_predicate(bool async) => AssertQuery( async, ss => ss.Set().Where(a => a is Kiwi && a.CountryId == 1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_use_is_kiwi_in_projection(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(a => a is Kiwi)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_use_of_type_bird(bool async) => AssertQuery( async, ss => ss.Set().OfType().OrderBy(a => a.Species), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_use_of_type_bird_predicate(bool async) => AssertQuery( async, @@ -88,7 +88,7 @@ public virtual Task Can_use_of_type_bird_predicate(bool async) .OrderBy(a => a.Species), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_use_of_type_bird_with_projection(bool async) => AssertQuery( async, @@ -96,52 +96,52 @@ public virtual Task Can_use_of_type_bird_with_projection(bool async) .OfType() .Select(b => new { b.EagleId })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_use_of_type_bird_first(bool async) => AssertFirst( async, ss => ss.Set().OfType().OrderBy(a => a.Species)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_use_of_type_kiwi(bool async) => AssertQuery( async, ss => ss.Set().OfType()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_use_backwards_of_type_animal(bool async) => AssertQuery( async, ss => ss.Set().OfType()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_use_of_type_rose(bool async) => AssertQuery( async, ss => ss.Set().OfType()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_query_all_animals(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(a => a.Species), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_query_all_animal_views(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(av => av.CountryId), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_query_all_plants(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(a => a.Species), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_filter_all_animals(bool async) => AssertQuery( async, @@ -149,26 +149,26 @@ public virtual Task Can_filter_all_animals(bool async) .OrderBy(a => a.Species) .Where(a => a.Name == "Great spotted kiwi")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_query_all_birds(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(a => a.Species), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_query_just_kiwis(bool async) => AssertSingle( async, ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_query_just_roses(bool async) => AssertSingle( async, ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_include_animals(bool async) => AssertQuery( async, @@ -180,7 +180,7 @@ public virtual Task Can_include_animals(bool async) AssertInclude(e, a, new ExpectedInclude(x => x.Animals)); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_include_prey(bool async) => AssertSingle( async, @@ -191,7 +191,7 @@ public virtual Task Can_include_prey(bool async) AssertInclude(e, a, new ExpectedInclude(x => x.Prey)); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_use_of_type_kiwi_where_south_on_derived_property(bool async) => AssertQuery( async, @@ -199,7 +199,7 @@ public virtual Task Can_use_of_type_kiwi_where_south_on_derived_property(bool as .OfType() .Where(x => x.FoundOn == Island.South)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_use_of_type_kiwi_where_north_on_derived_property(bool async) => AssertQuery( async, @@ -208,13 +208,13 @@ public virtual Task Can_use_of_type_kiwi_where_north_on_derived_property(bool as .Where(x => x.FoundOn == Island.North), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Discriminator_used_when_projection_over_derived_type(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(k => k.FoundOn)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Discriminator_used_when_projection_over_derived_type2(bool async) => AssertQuery( async, @@ -224,7 +224,7 @@ public virtual Task Discriminator_used_when_projection_over_derived_type2(bool a .Select(b => new { b.IsFlightless, Discriminator = b.GetType().Name }), elementSorter: e => (e.IsFlightless, e.Discriminator)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Discriminator_with_cast_in_shadow_property(bool async) => AssertQuery( async, @@ -236,13 +236,13 @@ public virtual Task Discriminator_with_cast_in_shadow_property(bool async) .Select(k => new { Predator = ((Bird)k).Name }), elementSorter: e => e.Predator); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Discriminator_used_when_projection_over_of_type(bool async) => AssertQueryScalar( async, ss => ss.Set().OfType().Select(k => k.FoundOn)); - [ConditionalFact] + [Fact] public virtual Task Can_insert_update_delete() { int? eagleId = null; @@ -287,7 +287,7 @@ public virtual Task Can_insert_update_delete() }); } - [ConditionalTheory(Skip = "Issue#16298"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "Issue#16298"), MemberData(nameof(IsAsyncData))] public virtual Task Union_siblings_with_duplicate_property_in_subquery(bool async) // Coke and Tea both have CaffeineGrams, which both need to be projected out on each side and so // requiring alias uniquification. They also have a different number of properties. @@ -297,7 +297,7 @@ public virtual Task Union_siblings_with_duplicate_property_in_subquery(bool asyn .Union(ss.Set()) .Where(d => d.SortIndex > 0)); - [ConditionalTheory(Skip = "Issue#16298"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "Issue#16298"), MemberData(nameof(IsAsyncData))] public virtual Task OfType_Union_subquery(bool async) => AssertQuery( async, @@ -306,7 +306,7 @@ public virtual Task OfType_Union_subquery(bool async) .Union(ss.Set().OfType()) .Where(o => o.FoundOn == Island.North)); - [ConditionalTheory(Skip = "Issue#16298"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "Issue#16298"), MemberData(nameof(IsAsyncData))] public virtual Task OfType_Union_OfType(bool async) => AssertQuery( async, @@ -315,7 +315,7 @@ public virtual Task OfType_Union_OfType(bool async) .Union(ss.Set()) .OfType()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Subquery_OfType(bool async) => AssertQuery( async, @@ -325,7 +325,7 @@ public virtual Task Subquery_OfType(bool async) .Distinct() .OfType()); - [ConditionalTheory(Skip = "Issue#16298"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "Issue#16298"), MemberData(nameof(IsAsyncData))] public virtual Task Union_entity_equality(bool async) => AssertQuery( async, @@ -333,7 +333,7 @@ public virtual Task Union_entity_equality(bool async) .Union(ss.Set().Cast()) .Where(b => b == null)); - [ConditionalFact] + [Fact] public virtual async Task Setting_foreign_key_to_a_different_type_throws() { using var context = CreateContext(); @@ -359,13 +359,13 @@ public virtual async Task Setting_foreign_key_to_a_different_type_throws() } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Byte_enum_value_constant_used_in_projection(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(k => k.IsFlightless ? Island.North : Island.South)); - [ConditionalFact] + [Fact] public virtual async Task Member_access_on_intermediate_type_works() { using var context = CreateContext(); @@ -387,7 +387,7 @@ public virtual async Task Member_access_on_intermediate_type_works() Assert.Equal("Great spotted kiwi", kiwi.Name); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Is_operator_on_result_of_FirstOrDefault(bool async) => AssertQuery( async, @@ -396,80 +396,80 @@ public virtual Task Is_operator_on_result_of_FirstOrDefault(bool async) .OrderBy(a => a.Species), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Selecting_only_base_properties_on_base_type(bool async) => AssertQuery( async, ss => ss.Set().Select(a => new { a.Name }), elementSorter: e => e.Name); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Selecting_only_base_properties_on_derived_type(bool async) => AssertQuery( async, ss => ss.Set().Select(a => new { a.Name }), elementSorter: e => e.Name); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Using_is_operator_on_multiple_type_with_no_result(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e is Kiwi).Where(e => e is Eagle), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Using_is_operator_with_of_type_on_multiple_type_with_no_result(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e is Kiwi).OfType(), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Using_OfType_on_multiple_type_with_no_result(bool async) => AssertTranslationFailed(() => AssertQuery( async, ss => ss.Set().OfType().OfType(), elementSorter: e => e.Name)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetType_in_hierarchy_in_abstract_base_type(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.GetType() == typeof(Animal)), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetType_in_hierarchy_in_intermediate_type(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.GetType() == typeof(Bird)), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetType_in_hierarchy_in_leaf_type_with_sibling(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.GetType() == typeof(Eagle))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetType_in_hierarchy_in_leaf_type_with_sibling2(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.GetType() == typeof(Kiwi))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetType_in_hierarchy_in_leaf_type_with_sibling2_reverse(bool async) => AssertQuery( async, ss => ss.Set().Where(e => typeof(Kiwi) == e.GetType())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetType_in_hierarchy_in_leaf_type_with_sibling2_not_equal(bool async) => AssertQuery( async, ss => ss.Set().Where(e => typeof(Kiwi) != e.GetType())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Primitive_collection_on_subtype(bool async) => AssertQuery( async, diff --git a/test/EFCore.Specification.Tests/Query/InheritanceRelationshipsQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/InheritanceRelationshipsQueryTestBase.cs index 006d622b39b..e29887b4d5c 100644 --- a/test/EFCore.Specification.Tests/Query/InheritanceRelationshipsQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/InheritanceRelationshipsQueryTestBase.cs @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Query; public abstract class InheritanceRelationshipsQueryTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : InheritanceRelationshipsQueryFixtureBase, new() { - [ConditionalFact] + [Fact] public virtual void Changes_in_derived_related_entities_are_detected() { using var context = CreateContext(); @@ -46,7 +46,7 @@ public virtual void Changes_in_derived_related_entities_are_detected() context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking; } - [ConditionalFact] + [Fact] public virtual void Entity_can_make_separate_relationships_with_base_type_and_derived_type_both() { using var context = CreateContext(); @@ -70,7 +70,7 @@ public virtual void Entity_can_make_separate_relationships_with_base_type_and_de Assert.Equal(nameof(DerivedInheritanceRelationshipEntity.DerivedReferenceOnDerived), fkOnDerived.PrincipalToDependent.Name); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_with_inheritance(bool async) => AssertQuery( async, @@ -79,7 +79,7 @@ public virtual Task Include_reference_with_inheritance(bool async) e, a, new ExpectedInclude(x => x.BaseReferenceOnBase))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_with_inheritance_reverse(bool async) => AssertQuery( async, @@ -88,7 +88,7 @@ public virtual Task Include_reference_with_inheritance_reverse(bool async) e, a, new ExpectedInclude(x => x.BaseParent))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_self_reference_with_inheritance(bool async) => AssertQuery( async, @@ -97,7 +97,7 @@ public virtual Task Include_self_reference_with_inheritance(bool async) e, a, new ExpectedInclude(x => x.DerivedSefReferenceOnBase))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_self_reference_with_inheritance_reverse(bool async) => AssertQuery( async, @@ -106,7 +106,7 @@ public virtual Task Include_self_reference_with_inheritance_reverse(bool async) e, a, new ExpectedInclude(x => x.BaseSelfReferenceOnDerived))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_with_inheritance_with_filter(bool async) => AssertQuery( async, @@ -115,7 +115,7 @@ public virtual Task Include_reference_with_inheritance_with_filter(bool async) e, a, new ExpectedInclude(x => x.BaseReferenceOnBase))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_with_inheritance_with_filter_reverse(bool async) => AssertQuery( async, @@ -124,7 +124,7 @@ public virtual Task Include_reference_with_inheritance_with_filter_reverse(bool e, a, new ExpectedInclude(x => x.BaseParent))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_without_inheritance(bool async) => AssertQuery( async, @@ -133,7 +133,7 @@ public virtual Task Include_reference_without_inheritance(bool async) e, a, new ExpectedInclude(x => x.ReferenceOnBase))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_without_inheritance_reverse(bool async) => AssertQuery( async, @@ -142,7 +142,7 @@ public virtual Task Include_reference_without_inheritance_reverse(bool async) e, a, new ExpectedInclude(x => x.Parent))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_without_inheritance_with_filter(bool async) => AssertQuery( async, @@ -151,7 +151,7 @@ public virtual Task Include_reference_without_inheritance_with_filter(bool async e, a, new ExpectedInclude(x => x.ReferenceOnBase))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_without_inheritance_with_filter_reverse(bool async) => AssertQuery( async, @@ -160,7 +160,7 @@ public virtual Task Include_reference_without_inheritance_with_filter_reverse(bo e, a, new ExpectedInclude(x => x.Parent))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_inheritance(bool async) => AssertQuery( async, @@ -169,7 +169,7 @@ public virtual Task Include_collection_with_inheritance(bool async) e, a, new ExpectedInclude(x => x.BaseCollectionOnBase))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_inheritance_reverse(bool async) => AssertQuery( async, @@ -179,7 +179,7 @@ public virtual Task Include_collection_with_inheritance_reverse(bool async) a, new ExpectedInclude(x => x.BaseParent))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_inheritance_with_filter(bool async) => AssertQuery( async, @@ -188,7 +188,7 @@ public virtual Task Include_collection_with_inheritance_with_filter(bool async) e, a, new ExpectedInclude(x => x.BaseCollectionOnBase))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_inheritance_with_filter_reverse(bool async) => AssertQuery( async, @@ -197,7 +197,7 @@ public virtual Task Include_collection_with_inheritance_with_filter_reverse(bool e, a, new ExpectedInclude(x => x.BaseParent))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_without_inheritance(bool async) => AssertQuery( async, @@ -206,7 +206,7 @@ public virtual Task Include_collection_without_inheritance(bool async) e, a, new ExpectedInclude(x => x.CollectionOnBase))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_without_inheritance_reverse(bool async) => AssertQuery( async, @@ -215,7 +215,7 @@ public virtual Task Include_collection_without_inheritance_reverse(bool async) e, a, new ExpectedInclude(x => x.Parent))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_without_inheritance_with_filter(bool async) => AssertQuery( async, @@ -224,7 +224,7 @@ public virtual Task Include_collection_without_inheritance_with_filter(bool asyn e, a, new ExpectedInclude(x => x.CollectionOnBase))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_without_inheritance_with_filter_reverse(bool async) => AssertQuery( async, @@ -233,7 +233,7 @@ public virtual Task Include_collection_without_inheritance_with_filter_reverse(b e, a, new ExpectedInclude(x => x.Parent))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_with_inheritance_on_derived1(bool async) => AssertQuery( async, @@ -242,7 +242,7 @@ public virtual Task Include_reference_with_inheritance_on_derived1(bool async) e, a, new ExpectedInclude(x => x.BaseReferenceOnBase))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_with_inheritance_on_derived2(bool async) => AssertQuery( async, @@ -251,7 +251,7 @@ public virtual Task Include_reference_with_inheritance_on_derived2(bool async) e, a, new ExpectedInclude(x => x.BaseReferenceOnDerived))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_with_inheritance_on_derived4(bool async) => AssertQuery( async, @@ -260,7 +260,7 @@ public virtual Task Include_reference_with_inheritance_on_derived4(bool async) e, a, new ExpectedInclude(x => x.DerivedReferenceOnDerived))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_with_inheritance_on_derived_reverse(bool async) => AssertQuery( async, @@ -269,7 +269,7 @@ public virtual Task Include_reference_with_inheritance_on_derived_reverse(bool a e, a, new ExpectedInclude(x => x.BaseParent))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_with_inheritance_on_derived_with_filter1(bool async) => AssertQuery( async, @@ -278,7 +278,7 @@ public virtual Task Include_reference_with_inheritance_on_derived_with_filter1(b e, a, new ExpectedInclude(x => x.BaseReferenceOnBase))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_with_inheritance_on_derived_with_filter2(bool async) => AssertQuery( async, @@ -287,7 +287,7 @@ public virtual Task Include_reference_with_inheritance_on_derived_with_filter2(b e, a, new ExpectedInclude(x => x.BaseReferenceOnDerived))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_with_inheritance_on_derived_with_filter4(bool async) => AssertQuery( async, @@ -296,7 +296,7 @@ public virtual Task Include_reference_with_inheritance_on_derived_with_filter4(b e, a, new ExpectedInclude(x => x.DerivedReferenceOnDerived))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_with_inheritance_on_derived_with_filter_reverse(bool async) => AssertQuery( async, @@ -305,7 +305,7 @@ public virtual Task Include_reference_with_inheritance_on_derived_with_filter_re e, a, new ExpectedInclude(x => x.BaseParent))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_without_inheritance_on_derived1(bool async) => AssertQuery( async, @@ -314,7 +314,7 @@ public virtual Task Include_reference_without_inheritance_on_derived1(bool async e, a, new ExpectedInclude(x => x.ReferenceOnBase))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_without_inheritance_on_derived2(bool async) => AssertQuery( async, @@ -323,7 +323,7 @@ public virtual Task Include_reference_without_inheritance_on_derived2(bool async e, a, new ExpectedInclude(x => x.ReferenceOnDerived))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_without_inheritance_on_derived_reverse(bool async) => AssertQuery( async, @@ -332,7 +332,7 @@ public virtual Task Include_reference_without_inheritance_on_derived_reverse(boo e, a, new ExpectedInclude(x => x.Parent))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_inheritance_on_derived1(bool async) => AssertQuery( async, @@ -341,7 +341,7 @@ public virtual Task Include_collection_with_inheritance_on_derived1(bool async) e, a, new ExpectedInclude(x => x.BaseCollectionOnBase))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_inheritance_on_derived2(bool async) => AssertQuery( async, @@ -350,7 +350,7 @@ public virtual Task Include_collection_with_inheritance_on_derived2(bool async) e, a, new ExpectedInclude(x => x.BaseCollectionOnDerived))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_inheritance_on_derived3(bool async) => AssertQuery( async, @@ -359,7 +359,7 @@ public virtual Task Include_collection_with_inheritance_on_derived3(bool async) e, a, new ExpectedInclude(x => x.DerivedCollectionOnDerived))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_inheritance_on_derived_reverse(bool async) => AssertQuery( async, @@ -368,7 +368,7 @@ public virtual Task Include_collection_with_inheritance_on_derived_reverse(bool e, a, new ExpectedInclude(x => x.BaseParent))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nested_include_with_inheritance_reference_reference(bool async) => AssertQuery( async, @@ -378,7 +378,7 @@ public virtual Task Nested_include_with_inheritance_reference_reference(bool asy new ExpectedInclude(x => x.BaseReferenceOnBase), new ExpectedInclude(x => x.NestedReference))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nested_include_with_inheritance_reference_reference_on_base(bool async) => AssertQuery( async, @@ -388,7 +388,7 @@ public virtual Task Nested_include_with_inheritance_reference_reference_on_base( new ExpectedInclude(x => x.BaseReferenceOnBase), new ExpectedInclude(x => x.NestedReference))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nested_include_with_inheritance_reference_reference_reverse(bool async) => AssertQuery( async, @@ -398,7 +398,7 @@ public virtual Task Nested_include_with_inheritance_reference_reference_reverse( new ExpectedInclude(x => x.ParentReference), new ExpectedInclude(x => x.BaseParent))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nested_include_with_inheritance_reference_collection(bool async) => AssertQuery( async, @@ -408,7 +408,7 @@ public virtual Task Nested_include_with_inheritance_reference_collection(bool as new ExpectedInclude(x => x.BaseReferenceOnBase), new ExpectedInclude(x => x.NestedCollection))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nested_include_with_inheritance_reference_collection_on_base(bool async) => AssertQuery( async, @@ -418,7 +418,7 @@ public virtual Task Nested_include_with_inheritance_reference_collection_on_base new ExpectedInclude(x => x.BaseReferenceOnBase), new ExpectedInclude(x => x.NestedCollection))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nested_include_with_inheritance_reference_collection_reverse(bool async) => AssertQuery( async, @@ -428,7 +428,7 @@ public virtual Task Nested_include_with_inheritance_reference_collection_reverse new ExpectedInclude(x => x.ParentReference), new ExpectedInclude(x => x.BaseParent))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nested_include_with_inheritance_collection_reference(bool async) => AssertQuery( async, @@ -438,7 +438,7 @@ public virtual Task Nested_include_with_inheritance_collection_reference(bool as new ExpectedInclude(x => x.BaseCollectionOnBase), new ExpectedInclude(x => x.NestedReference))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nested_include_with_inheritance_collection_reference_reverse(bool async) => AssertQuery( async, @@ -448,7 +448,7 @@ public virtual Task Nested_include_with_inheritance_collection_reference_reverse new ExpectedInclude(x => x.ParentCollection), new ExpectedInclude(x => x.BaseParent))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nested_include_with_inheritance_collection_collection(bool async) => AssertQuery( async, @@ -458,7 +458,7 @@ public virtual Task Nested_include_with_inheritance_collection_collection(bool a new ExpectedInclude(x => x.BaseCollectionOnBase), new ExpectedInclude(x => x.NestedCollection))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nested_include_with_inheritance_collection_collection_reverse(bool async) => AssertQuery( async, @@ -468,7 +468,7 @@ public virtual Task Nested_include_with_inheritance_collection_collection_revers new ExpectedInclude(x => x.ParentCollection), new ExpectedInclude(x => x.BaseParent))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nested_include_collection_reference_on_non_entity_base(bool async) => AssertQuery( async, @@ -478,7 +478,7 @@ public virtual Task Nested_include_collection_reference_on_non_entity_base(bool new ExpectedInclude(x => x.Principals), new ExpectedInclude(x => x.Reference))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_projection_on_base_type(bool async) => AssertQuery( async, @@ -491,7 +491,7 @@ public virtual Task Collection_projection_on_base_type(bool async) AssertCollection(e.BaseCollectionOnBase, a.BaseCollectionOnBase); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_on_derived_type_with_queryable_Cast(bool async) => AssertQuery( async, diff --git a/test/EFCore.Specification.Tests/Query/JsonQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/JsonQueryTestBase.cs index 5a5aa932f5b..be9dbf64b93 100644 --- a/test/EFCore.Specification.Tests/Query/JsonQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/JsonQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.JsonQuery; @@ -10,13 +10,13 @@ namespace Microsoft.EntityFrameworkCore.Query; public abstract class JsonQueryTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : JsonQueryFixtureBase, new() { - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Basic_json_projection_owner_entity_NoTrackingWithIdentityResolution(bool async) => AssertQuery( async, ss => ss.Set().AsNoTrackingWithIdentityResolution()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Basic_json_projection_owner_entity_duplicated_NoTrackingWithIdentityResolution(bool async) => AssertQuery( async, @@ -28,7 +28,7 @@ public virtual Task Basic_json_projection_owner_entity_duplicated_NoTrackingWith AssertEqual(e.Second, a.Second); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Basic_json_projection_owner_entity_twice_NoTrackingWithIdentityResolution(bool async) => AssertQuery( async, @@ -40,13 +40,13 @@ public virtual Task Basic_json_projection_owner_entity_twice_NoTrackingWithIdent AssertEqual(e.Second, a.Second); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Basic_json_projection_owned_reference_root_NoTrackingWithIdentityResolution(bool async) => AssertQuery( async, ss => ss.Set().Select(x => x.OwnedReferenceRoot).AsNoTrackingWithIdentityResolution()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Basic_json_projection_owned_reference_duplicated_NoTrackingWithIdentityResolution(bool async) => AssertQuery( async, @@ -68,7 +68,7 @@ public virtual Task Basic_json_projection_owned_reference_duplicated_NoTrackingW AssertEqual(e.Branch2, a.Branch2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Basic_json_projection_owned_reference_duplicated2_NoTrackingWithIdentityResolution(bool async) => AssertQuery( async, @@ -90,52 +90,52 @@ public virtual Task Basic_json_projection_owned_reference_duplicated2_NoTracking AssertEqual(e.Leaf2, a.Leaf2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Basic_json_projection_owned_collection_root_NoTrackingWithIdentityResolution(bool async) => AssertQuery( async, ss => ss.Set().Select(x => x.OwnedCollectionRoot).AsNoTrackingWithIdentityResolution(), elementAsserter: (e, a) => AssertCollection(e, a, ordered: true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Basic_json_projection_owned_reference_branch_NoTrackingWithIdentityResolution(bool async) => AssertQuery( async, ss => ss.Set().Select(x => x.OwnedReferenceRoot.OwnedReferenceBranch).AsNoTrackingWithIdentityResolution()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Basic_json_projection_owned_collection_branch_NoTrackingWithIdentityResolution(bool async) => AssertQuery( async, ss => ss.Set().Select(x => x.OwnedReferenceRoot.OwnedCollectionBranch).AsNoTrackingWithIdentityResolution(), elementAsserter: (e, a) => AssertCollection(e, a, ordered: true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Basic_json_projection_owned_reference_leaf(bool async) => AssertQuery( async, ss => ss.Set().Select(x => x.OwnedReferenceRoot.OwnedReferenceBranch.OwnedReferenceLeaf).AsNoTracking()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Basic_json_projection_owned_collection_leaf(bool async) => AssertQuery( async, ss => ss.Set().Select(x => x.OwnedReferenceRoot.OwnedReferenceBranch.OwnedCollectionLeaf).AsNoTracking(), elementAsserter: (e, a) => AssertCollection(e, a, ordered: true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Basic_json_projection_scalar(bool async) => AssertQuery( async, ss => ss.Set().Select(x => x.OwnedReferenceRoot.Name)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_scalar_length(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.OwnedReferenceRoot.Name.Length > 2).Select(x => x.Name)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Basic_json_projection_enum_inside_json_entity(bool async) => AssertQuery( async, @@ -150,7 +150,7 @@ public virtual Task Basic_json_projection_enum_inside_json_entity(bool async) Assert.Equal(e.Enum, a.Enum); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_projection_enum_with_custom_conversion(bool async) => AssertQuery( async, @@ -165,14 +165,14 @@ public virtual Task Json_projection_enum_with_custom_conversion(bool async) Assert.Equal(e.Enum, a.Enum); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_property_in_predicate(bool async) => AssertQueryScalar( async, ss => ss.Set() .Where(x => x.OwnedReferenceRoot.OwnedReferenceBranch.Fraction < 20.5M).Select(x => x.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_subquery_property_pushdown_length(bool async) => AssertQueryScalar( async, @@ -183,7 +183,7 @@ public virtual Task Json_subquery_property_pushdown_length(bool async) .Distinct() .Select(x => x.Length)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_subquery_reference_pushdown_reference(bool async) => AssertQuery( async, @@ -194,7 +194,7 @@ public virtual Task Json_subquery_reference_pushdown_reference(bool async) .Distinct() .Select(x => x.OwnedReferenceBranch).AsNoTracking()); - [ConditionalTheory(Skip = "issue #24263"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "issue #24263"), MemberData(nameof(IsAsyncData))] public virtual Task Json_subquery_reference_pushdown_reference_anonymous_projection(bool async) => AssertQuery( async, @@ -215,7 +215,7 @@ public virtual Task Json_subquery_reference_pushdown_reference_anonymous_project Assert.Equal(e.Length, a.Length); }); - [ConditionalTheory(Skip = "issue #24263"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "issue #24263"), MemberData(nameof(IsAsyncData))] public virtual Task Json_subquery_reference_pushdown_reference_pushdown_anonymous_projection(bool async) => AssertQuery( async, @@ -247,7 +247,7 @@ public virtual Task Json_subquery_reference_pushdown_reference_pushdown_anonymou Assert.Equal(e.Length, a.Length); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_subquery_reference_pushdown_reference_pushdown_reference(bool async) => AssertQuery( async, @@ -262,7 +262,7 @@ public virtual Task Json_subquery_reference_pushdown_reference_pushdown_referenc .Distinct() .Select(x => x.OwnedReferenceLeaf).AsNoTracking()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_subquery_reference_pushdown_reference_pushdown_collection(bool async) => AssertQuery( async, @@ -278,7 +278,7 @@ public virtual Task Json_subquery_reference_pushdown_reference_pushdown_collecti .Select(x => x.OwnedCollectionLeaf).AsNoTracking(), elementAsserter: (e, a) => AssertCollection(e, a, ordered: true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_subquery_reference_pushdown_property(bool async) => AssertQuery( async, @@ -289,19 +289,19 @@ public virtual Task Json_subquery_reference_pushdown_property(bool async) .Distinct() .Select(x => x.SomethingSomething)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Custom_naming_projection_owner_entity(bool async) => AssertQuery( async, ss => ss.Set().Select(x => x)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Custom_naming_projection_owned_reference(bool async) => AssertQuery( async, ss => ss.Set().Select(x => x.OwnedReferenceRoot.OwnedReferenceBranch).AsNoTracking()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Custom_naming_projection_owned_collection(bool async) => AssertQuery( async, @@ -309,13 +309,13 @@ public virtual Task Custom_naming_projection_owned_collection(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a, ordered: true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Custom_naming_projection_owned_scalar(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(x => x.OwnedReferenceRoot.OwnedReferenceBranch.Fraction)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Custom_naming_projection_everything(bool async) => AssertQuery( async, @@ -341,13 +341,13 @@ public virtual Task Custom_naming_projection_everything(bool async) Assert.Equal(e.nested_scalar, a.nested_scalar); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_entity_with_single_owned(bool async) => AssertQuery( async, ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task LeftJoin_json_entities(bool async) => AssertQuery( async, @@ -360,7 +360,7 @@ public virtual Task LeftJoin_json_entities(bool async) AssertEqual(e.e2, a.e2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task RightJoin_json_entities(bool async) => AssertQuery( async, @@ -377,7 +377,7 @@ public virtual Task RightJoin_json_entities(bool async) AssertEqual(e.e2, a.e2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Left_join_json_entities_complex_projection(bool async) => AssertQuery( async, @@ -404,7 +404,7 @@ from e2 in g.DefaultIfEmpty() AssertCollection(e.OwnedCollectionLeaf, a.OwnedCollectionLeaf, ordered: true); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Left_join_json_entities_json_being_inner(bool async) => AssertQuery( async, @@ -419,7 +419,7 @@ from e2 in g.DefaultIfEmpty() AssertEqual(e.e2, a.e2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Left_join_json_entities_complex_projection_json_being_inner(bool async) => AssertQuery( async, @@ -448,7 +448,7 @@ from e2 in g.DefaultIfEmpty() AssertEqual(e.Name, a.Name); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_json_entity_FirstOrDefault_subquery_with_binding_on_top(bool async) => AssertQueryScalar( async, @@ -459,7 +459,7 @@ public virtual Task Project_json_entity_FirstOrDefault_subquery_with_binding_on_ .Select(xx => xx.OwnedReferenceRoot) .FirstOrDefault().OwnedReferenceBranch.Date)); - [ConditionalTheory(Skip = "issue #28733"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "issue #28733"), MemberData(nameof(IsAsyncData))] public virtual Task Project_json_entity_FirstOrDefault_subquery_with_entity_comparison_on_top(bool async) => AssertQueryScalar( async, @@ -476,19 +476,19 @@ public virtual Task Project_json_entity_FirstOrDefault_subquery_with_entity_comp .Select(xx => xx.OwnedReferenceRoot) .FirstOrDefault().OwnedReferenceBranch))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_entity_with_inheritance_basic_projection(bool async) => AssertQuery( async, ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_entity_with_inheritance_project_derived(bool async) => AssertQuery( async, ss => ss.Set().OfType()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_entity_with_inheritance_project_navigations(bool async) => AssertQuery( async, @@ -506,7 +506,7 @@ public virtual Task Json_entity_with_inheritance_project_navigations(bool async) AssertCollection(e.CollectionOnBase, a.CollectionOnBase, ordered: true); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_entity_with_inheritance_project_navigations_on_derived(bool async) => AssertQuery( async, @@ -528,38 +528,38 @@ public virtual Task Json_entity_with_inheritance_project_navigations_on_derived( AssertCollection(e.CollectionOnDerived, a.CollectionOnDerived, ordered: true); }); - [ConditionalTheory(Skip = "issue #28645"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "issue #28645"), MemberData(nameof(IsAsyncData))] public virtual Task Json_entity_backtracking(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(x => x.OwnedReferenceRoot.OwnedReferenceBranch.OwnedReferenceLeaf.Parent.Date)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_in_projection_basic(bool async) => AssertQuery( async, ss => ss.Set().Select(x => x.OwnedCollectionRoot[1]).AsNoTracking()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_ElementAt_in_projection(bool async) => AssertQuery( async, ss => ss.Set().Select(x => x.OwnedCollectionRoot.AsQueryable().ElementAt(1)).AsNoTracking()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_ElementAtOrDefault_in_projection(bool async) => AssertQuery( async, ss => ss.Set().Select(x => x.OwnedCollectionRoot.AsQueryable().ElementAtOrDefault(1)).AsNoTracking()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_in_projection_project_collection(bool async) => AssertQuery( async, ss => ss.Set().Select(x => x.OwnedCollectionRoot[1].OwnedCollectionBranch).AsNoTracking(), elementAsserter: (e, a) => AssertCollection(e, a, ordered: true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_ElementAt_project_collection(bool async) => AssertQuery( async, @@ -568,7 +568,7 @@ public virtual Task Json_collection_ElementAt_project_collection(bool async) .AsNoTracking(), elementAsserter: (e, a) => AssertCollection(e, a, ordered: true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_ElementAtOrDefault_project_collection(bool async) => AssertQuery( async, @@ -577,7 +577,7 @@ public virtual Task Json_collection_ElementAtOrDefault_project_collection(bool a .AsNoTracking(), elementAsserter: (e, a) => AssertCollection(e, a, ordered: true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_in_projection_using_parameter(bool async) { var prm = 0; @@ -587,7 +587,7 @@ public virtual Task Json_collection_index_in_projection_using_parameter(bool asy ss => ss.Set().Select(x => x.OwnedCollectionRoot[prm]).AsNoTracking()); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_in_projection_using_column(bool async) => AssertQuery( async, @@ -596,41 +596,41 @@ public virtual Task Json_collection_index_in_projection_using_column(bool async) private static int MyMethod(int value) => value; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_in_projection_using_untranslatable_client_method(bool async) => AssertQuery( async, ss => ss.Set().Select(x => x.OwnedCollectionRoot[MyMethod(x.Id)]).AsNoTracking()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_in_projection_using_untranslatable_client_method2(bool async) => AssertQuery( async, ss => ss.Set().Select(x => x.OwnedCollectionRoot[0].OwnedReferenceBranch.OwnedCollectionLeaf[MyMethod(x.Id)]) .AsNoTracking()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_outside_bounds(bool async) => AssertQuery( async, ss => ss.Set().Select(x => x.OwnedCollectionRoot[25]).AsNoTracking(), ss => ss.Set().Select(x => (JsonOwnedRoot)null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_outside_bounds2(bool async) => AssertQuery( async, ss => ss.Set().Select(x => x.OwnedReferenceRoot.OwnedReferenceBranch.OwnedCollectionLeaf[25]).AsNoTracking(), ss => ss.Set().Select(x => (JsonOwnedLeaf)null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_outside_bounds_with_property_access(bool async) => AssertQueryScalar( async, ss => ss.Set().OrderBy(x => x.Id).Select(x => (int?)x.OwnedCollectionRoot[25].Number), ss => ss.Set().Select(x => (int?)null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_in_projection_nested(bool async) { var prm = 1; @@ -640,7 +640,7 @@ public virtual Task Json_collection_index_in_projection_nested(bool async) ss => ss.Set().Select(x => x.OwnedCollectionRoot[0].OwnedCollectionBranch[prm]).AsNoTracking()); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_in_projection_nested_project_scalar(bool async) { var prm = 1; @@ -650,7 +650,7 @@ public virtual Task Json_collection_index_in_projection_nested_project_scalar(bo ss => ss.Set().Select(x => x.OwnedCollectionRoot[0].OwnedCollectionBranch[prm].Date)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_in_projection_nested_project_reference(bool async) { var prm = 1; @@ -661,7 +661,7 @@ public virtual Task Json_collection_index_in_projection_nested_project_reference .AsNoTracking()); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_in_projection_nested_project_collection(bool async) { var prm = 1; @@ -676,7 +676,7 @@ public virtual Task Json_collection_index_in_projection_nested_project_collectio elementAsserter: (e, a) => AssertCollection(e, a, ordered: true)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_in_projection_nested_project_collection_anonymous_projection(bool async) { var prm = 1; @@ -694,13 +694,13 @@ public virtual Task Json_collection_index_in_projection_nested_project_collectio }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_in_predicate_using_constant(bool async) => AssertQueryScalar( async, ss => ss.Set().Where(x => x.OwnedCollectionRoot[0].Name != "Foo").Select(x => x.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_in_predicate_using_variable(bool async) { var prm = 1; @@ -710,7 +710,7 @@ public virtual Task Json_collection_index_in_predicate_using_variable(bool async ss => ss.Set().Where(x => x.OwnedCollectionRoot[prm].Name != "Foo").Select(x => x.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_in_predicate_using_column(bool async) => AssertQuery( async, @@ -722,7 +722,7 @@ public virtual Task Json_collection_index_in_predicate_using_column(bool async) AssertEqual(e.x, a.x); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_in_predicate_using_complex_expression1(bool async) => AssertQuery( async, @@ -735,7 +735,7 @@ public virtual Task Json_collection_index_in_predicate_using_complex_expression1 AssertEqual(e.x, a.x); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_in_predicate_using_complex_expression2(bool async) => AssertQuery( async, @@ -748,13 +748,13 @@ public virtual Task Json_collection_index_in_predicate_using_complex_expression2 AssertEqual(e.x, a.x); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_ElementAt_in_predicate(bool async) => AssertQueryScalar( async, ss => ss.Set().Where(x => x.OwnedCollectionRoot.AsQueryable().ElementAt(1).Name != "Foo").Select(x => x.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_in_predicate_nested_mix(bool async) { var prm = 0; @@ -766,21 +766,21 @@ public virtual Task Json_collection_index_in_predicate_nested_mix(bool async) == "e1_c2_c1_c1")); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_ElementAt_and_pushdown(bool async) => AssertQuery( async, ss => ss.Set() .Select(x => new { x.Id, CollectionElement = x.OwnedCollectionRoot.Select(xx => xx.Number).ElementAt(0) })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_Any_with_predicate(bool async) => AssertQuery( async, ss => ss.Set().Where(j => j.OwnedReferenceRoot.OwnedCollectionBranch.Any(b => b.OwnedReferenceLeaf.SomethingSomething == "e1_r_c1_r"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_Where_ElementAt(bool async) => AssertQuery( async, @@ -790,7 +790,7 @@ public virtual Task Json_collection_Where_ElementAt(bool async) .ElementAt(0).OwnedReferenceLeaf.SomethingSomething == "e1_r_c2_r")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_Skip(bool async) => AssertQuery( async, @@ -800,7 +800,7 @@ public virtual Task Json_collection_Skip(bool async) .ElementAt(0).OwnedReferenceLeaf.SomethingSomething == "e1_r_c2_r")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_OrderByDescending_Skip_ElementAt(bool async) => AssertQuery( async, @@ -816,7 +816,7 @@ public virtual Task Json_collection_OrderByDescending_Skip_ElementAt(bool async) // ordering has been added by the provider as part of the collection translation. // Consider overriding RelationalQueryableMethodTranslatingExpressionVisitor.IsNaturallyOrdered() to identify such naturally-ordered // collections, exempting them from the warning. - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_Distinct_Count_with_predicate(bool async) => AssertQuery( async, @@ -826,14 +826,14 @@ public virtual Task Json_collection_Distinct_Count_with_predicate(bool async) .Count(b => b.OwnedReferenceLeaf.SomethingSomething == "e1_r_c2_r") == 1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_within_collection_Count(bool async) => AssertQuery( async, ss => ss.Set() .Where(j => j.OwnedCollectionRoot.Any(c => c.OwnedCollectionBranch.Count == 2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_in_projection_with_composition_count(bool async) => AssertQueryScalar( async, @@ -841,7 +841,7 @@ public virtual Task Json_collection_in_projection_with_composition_count(bool as .OrderBy(x => x.Id) .Select(x => x.OwnedCollectionRoot.Count)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_in_projection_with_anonymous_projection_of_scalars(bool async) => AssertQuery( async, @@ -851,7 +851,7 @@ public virtual Task Json_collection_in_projection_with_anonymous_projection_of_s .Select(xx => new { xx.Name, xx.Number }) .ToList())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_in_projection_with_composition_where_and_anonymous_projection_of_scalars(bool async) => AssertQuery( async, @@ -862,7 +862,7 @@ public virtual Task Json_collection_in_projection_with_composition_where_and_ano .Select(xx => new { xx.Name, xx.Number }) .ToList())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_in_projection_with_composition_where_and_anonymous_projection_of_primitive_arrays(bool async) => AssertQuery( async, @@ -873,7 +873,7 @@ public virtual Task Json_collection_in_projection_with_composition_where_and_ano .Select(xx => new { xx.Names, xx.Numbers }) .ToList())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_filter_in_projection(bool async) => AssertQuery( async, @@ -887,7 +887,7 @@ public virtual Task Json_collection_filter_in_projection(bool async) AssertCollection(e, a, ordered: true, elementAsserter: (ee, aa) => AssertEqual(ee, aa)); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_nested_collection_filter_in_projection(bool async) => AssertQuery( async, @@ -900,7 +900,7 @@ public virtual Task Json_nested_collection_filter_in_projection(bool async) elementAsserter: (e, a) => AssertCollection( e, a, ordered: true, elementAsserter: (ee, aa) => AssertCollection(ee, aa, ordered: true))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_nested_collection_anonymous_projection_in_projection(bool async) => AssertQuery( async, @@ -930,7 +930,7 @@ public virtual Task Json_nested_collection_anonymous_projection_in_projection(bo AssertCollection(eee.OwnedCollectionLeaf, aaa.OwnedCollectionLeaf, ordered: true); }))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_skip_take_in_projection(bool async) => AssertQuery( async, @@ -941,7 +941,7 @@ public virtual Task Json_collection_skip_take_in_projection(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a, ordered: true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_skip_take_in_projection_project_into_anonymous_type(bool async) => AssertQuery( async, @@ -976,7 +976,7 @@ public virtual Task Json_collection_skip_take_in_projection_project_into_anonymo }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_skip_take_in_projection_with_json_reference_access_as_final_operation(bool async) => AssertQuery( async, @@ -991,7 +991,7 @@ public virtual Task Json_collection_skip_take_in_projection_with_json_reference_ assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a, ordered: true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_distinct_in_projection(bool async) => AssertQuery( async, @@ -1002,7 +1002,7 @@ public virtual Task Json_collection_distinct_in_projection(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a, elementSorter: ee => (ee.Name, ee.Number))); - [ConditionalTheory(Skip = "issue #31397"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "issue #31397"), MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_anonymous_projection_distinct_in_projection(bool async) => AssertQuery( async, @@ -1013,7 +1013,7 @@ public virtual Task Json_collection_anonymous_projection_distinct_in_projection( assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a, elementSorter: ee => ee)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_leaf_filter_in_projection(bool async) => AssertQuery( async, @@ -1025,7 +1025,7 @@ public virtual Task Json_collection_leaf_filter_in_projection(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a, ordered: true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_multiple_collection_projections(bool async) => AssertQuery( async, @@ -1050,7 +1050,7 @@ public virtual Task Json_multiple_collection_projections(bool async) AssertCollection(e.Fourth, a.Fourth); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_branch_collection_distinct_and_other_collection(bool async) => AssertQuery( async, @@ -1068,7 +1068,7 @@ public virtual Task Json_branch_collection_distinct_and_other_collection(bool as AssertCollection(e.Second, a.Second); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_leaf_collection_distinct_and_other_collection(bool async) => AssertQuery( async, @@ -1087,41 +1087,41 @@ public virtual Task Json_leaf_collection_distinct_and_other_collection(bool asyn AssertCollection(e.Second, a.Second); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_of_primitives_SelectMany(bool async) => AssertQuery( async, ss => ss.Set() .SelectMany(x => x.OwnedReferenceRoot.Names)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_of_primitives_index_used_in_predicate(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.OwnedReferenceRoot.Names[0] == "e1_r1")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_of_primitives_index_used_in_projection(bool async) => AssertQueryScalar( async, ss => ss.Set().OrderBy(x => x.Id).Select(x => x.OwnedReferenceRoot.OwnedReferenceBranch.Enums[0]), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_of_primitives_index_used_in_orderby(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(x => x.OwnedReferenceRoot.Numbers[0]), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_of_primitives_contains_in_predicate(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.OwnedReferenceRoot.Names.Contains("e1_r1")), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Json_collection_index_with_parameter_Select_ElementAt(bool async) { var prm = 0; @@ -1134,7 +1134,7 @@ await AssertQuery( })); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Json_collection_index_with_expression_Select_ElementAt(bool async) { var prm = 0; @@ -1151,7 +1151,7 @@ await AssertQuery( : null)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Json_collection_Select_entity_collection_ElementAt(bool async) => await AssertQuery( async, @@ -1167,14 +1167,14 @@ public virtual async Task Json_collection_Select_entity_collection_ElementAt(boo } }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Json_collection_Select_entity_ElementAt(bool async) => await AssertQuery( async, ss => ss.Set().AsNoTracking().Select(x => x.OwnedCollectionRoot.Select(xx => xx.OwnedReferenceBranch).ElementAt(0))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Json_collection_Select_entity_in_anonymous_object_ElementAt(bool async) => await AssertQuery( async, @@ -1186,14 +1186,14 @@ public virtual async Task Json_collection_Select_entity_in_anonymous_object_Elem AssertEqual(e.OwnedReferenceBranch, a.OwnedReferenceBranch); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Json_collection_Select_entity_with_initializer_ElementAt(bool async) => await AssertQuery( async, ss => ss.Set() .Select(x => x.OwnedCollectionRoot.Select(xx => new JsonEntityBasic { Id = x.Id }).ElementAt(0))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_projection_deduplication_with_collection_indexer_in_original(bool async) => AssertQuery( async, @@ -1213,7 +1213,7 @@ public virtual Task Json_projection_deduplication_with_collection_indexer_in_ori AssertCollection(e.Duplicate2, a.Duplicate2, ordered: true); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_projection_deduplication_with_collection_indexer_in_target(bool async) { var prm = 1; @@ -1237,7 +1237,7 @@ public virtual Task Json_projection_deduplication_with_collection_indexer_in_tar }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_projection_deduplication_with_collection_in_original_and_collection_indexer_in_target(bool async) { var prm = 1; @@ -1263,7 +1263,7 @@ public virtual Task Json_projection_deduplication_with_collection_in_original_an }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_in_projection_using_constant_when_owner_is_present(bool async) => AssertQuery( async, @@ -1275,7 +1275,7 @@ public virtual Task Json_collection_index_in_projection_using_constant_when_owne AssertEqual(e.CollectionElement, a.CollectionElement); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_in_projection_using_constant_when_owner_is_not_present(bool async) => AssertQuery( async, @@ -1287,7 +1287,7 @@ public virtual Task Json_collection_index_in_projection_using_constant_when_owne AssertEqual(e.CollectionElement, a.CollectionElement); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_in_projection_using_parameter_when_owner_is_present(bool async) { var prm = 1; @@ -1303,7 +1303,7 @@ public virtual Task Json_collection_index_in_projection_using_parameter_when_own }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_in_projection_using_parameter_when_owner_is_not_present(bool async) { var prm = 1; @@ -1319,7 +1319,7 @@ public virtual Task Json_collection_index_in_projection_using_parameter_when_own }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_after_collection_index_in_projection_using_constant_when_owner_is_present(bool async) => AssertQuery( async, @@ -1332,7 +1332,7 @@ public virtual Task Json_collection_after_collection_index_in_projection_using_c AssertCollection(e.Collection, a.Collection, ordered: true); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_after_collection_index_in_projection_using_constant_when_owner_is_not_present(bool async) => AssertQuery( async, @@ -1345,7 +1345,7 @@ public virtual Task Json_collection_after_collection_index_in_projection_using_c AssertCollection(e.Collection, a.Collection, ordered: true); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_after_collection_index_in_projection_using_parameter_when_owner_is_present(bool async) { var prm = 1; @@ -1362,7 +1362,7 @@ public virtual Task Json_collection_after_collection_index_in_projection_using_p }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_after_collection_index_in_projection_using_parameter_when_owner_is_not_present(bool async) { var prm = 1; @@ -1379,7 +1379,7 @@ public virtual Task Json_collection_after_collection_index_in_projection_using_p }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_in_projection_when_owner_is_present_misc1(bool async) { var prm = 1; @@ -1398,7 +1398,7 @@ public virtual Task Json_collection_index_in_projection_when_owner_is_present_mi }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_in_projection_when_owner_is_not_present_misc1(bool async) { var prm = 1; @@ -1417,7 +1417,7 @@ public virtual Task Json_collection_index_in_projection_when_owner_is_not_presen }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_in_projection_when_owner_is_present_misc2(bool async) => AssertQuery( async, @@ -1431,7 +1431,7 @@ public virtual Task Json_collection_index_in_projection_when_owner_is_present_mi AssertEqual(e.CollectionElement, a.CollectionElement); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_in_projection_when_owner_is_not_present_misc2(bool async) => AssertQuery( async, @@ -1445,7 +1445,7 @@ public virtual Task Json_collection_index_in_projection_when_owner_is_not_presen AssertEqual(e.CollectionElement, a.CollectionElement); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_in_projection_when_owner_is_present_multiple(bool async) { var prm = 1; @@ -1481,7 +1481,7 @@ public virtual Task Json_collection_index_in_projection_when_owner_is_present_mu }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_collection_index_in_projection_when_owner_is_not_present_multiple(bool async) { var prm = 1; @@ -1517,7 +1517,7 @@ public virtual Task Json_collection_index_in_projection_when_owner_is_not_presen }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_scalar_required_null_semantics(bool async) => AssertQuery( async, @@ -1525,7 +1525,7 @@ public virtual Task Json_scalar_required_null_semantics(bool async) .Where(x => x.OwnedReferenceRoot.Number != x.OwnedReferenceRoot.Name.Length) .Select(x => x.Name)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_scalar_optional_null_semantics(bool async) => AssertQuery( async, @@ -1533,42 +1533,42 @@ public virtual Task Json_scalar_optional_null_semantics(bool async) .Where(x => x.OwnedReferenceRoot.Name != x.OwnedReferenceRoot.OwnedReferenceBranch.OwnedReferenceLeaf.SomethingSomething) .Select(x => x.Name)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Group_by_on_json_scalar(bool async) => AssertQuery( async, ss => ss.Set() .GroupBy(x => x.OwnedReferenceRoot.Name).Select(x => new { x.Key, Count = x.Count() })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Group_by_on_json_scalar_using_collection_indexer(bool async) => AssertQuery( async, ss => ss.Set() .GroupBy(x => x.OwnedCollectionRoot[0].Name).Select(x => new { x.Key, Count = x.Count() })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Group_by_First_on_json_scalar(bool async) => AssertQuery( async, ss => ss.Set() .GroupBy(x => x.OwnedReferenceRoot.Name).Select(g => g.OrderBy(x => x.Id).First())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Group_by_FirstOrDefault_on_json_scalar(bool async) => AssertQuery( async, ss => ss.Set() .GroupBy(x => x.OwnedReferenceRoot.Name).Select(g => g.OrderBy(x => x.Id).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Group_by_Skip_Take_on_json_scalar(bool async) => AssertQuery( async, ss => ss.Set() .GroupBy(x => x.OwnedReferenceRoot.Name).Select(g => g.OrderBy(x => x.Id).Skip(1).Take(5))); - [ConditionalTheory(Skip = "issue #29287"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "issue #29287"), MemberData(nameof(IsAsyncData))] public virtual Task Group_by_json_scalar_Orderby_json_scalar_FirstOrDefault(bool async) => AssertQuery( async, @@ -1576,20 +1576,20 @@ public virtual Task Group_by_json_scalar_Orderby_json_scalar_FirstOrDefault(bool .GroupBy(x => x.OwnedReferenceRoot.OwnedReferenceBranch.Enum) .Select(g => g.OrderBy(x => x.OwnedReferenceRoot.Number).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Group_by_json_scalar_Skip_First_project_json_scalar(bool async) => AssertQueryScalar( async, ss => ss.Set() .GroupBy(x => x.OwnedReferenceRoot.Name).Select(g => g.First().OwnedReferenceRoot.OwnedReferenceBranch.Enum)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_with_include_on_json_entity(bool async) => AssertQuery( async, ss => ss.Set().Include(x => x.OwnedReferenceRoot)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_with_include_on_entity_reference(bool async) => AssertQuery( async, @@ -1598,7 +1598,7 @@ public virtual Task Json_with_include_on_entity_reference(bool async) e, a, new ExpectedInclude(x => x.EntityReference))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_with_include_on_entity_collection(bool async) => AssertQuery( async, @@ -1607,7 +1607,7 @@ public virtual Task Json_with_include_on_entity_collection(bool async) e, a, new ExpectedInclude(x => x.EntityCollection))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_including_collection_with_json(bool async) => AssertQuery( async, @@ -1616,7 +1616,7 @@ public virtual Task Entity_including_collection_with_json(bool async) e, a, new ExpectedInclude(x => x.JsonEntityBasics))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_with_include_on_entity_collection_and_reference(bool async) => AssertQuery( async, @@ -1626,7 +1626,7 @@ public virtual Task Json_with_include_on_entity_collection_and_reference(bool as new ExpectedInclude(x => x.EntityReference), new ExpectedInclude(x => x.EntityCollection))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_with_projection_of_json_reference_leaf_and_entity_collection(bool async) => AssertQuery( async, @@ -1638,7 +1638,7 @@ public virtual Task Json_with_projection_of_json_reference_leaf_and_entity_colle AssertCollection(e.EntityCollection, a.EntityCollection); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_with_projection_of_json_reference_and_entity_collection(bool async) => AssertQuery( async, @@ -1649,7 +1649,7 @@ public virtual Task Json_with_projection_of_json_reference_and_entity_collection AssertCollection(e.EntityCollection, a.EntityCollection); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_with_projection_of_multiple_json_references_and_entity_collection(bool async) => AssertQuery( async, @@ -1670,7 +1670,7 @@ public virtual Task Json_with_projection_of_multiple_json_references_and_entity_ AssertEqual(e.Reference4, a.Reference4); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_with_projection_of_json_collection_leaf_and_entity_collection(bool async) => AssertQuery( async, @@ -1682,7 +1682,7 @@ public virtual Task Json_with_projection_of_json_collection_leaf_and_entity_coll AssertCollection(e.EntityCollection, a.EntityCollection); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_with_projection_of_json_collection_and_entity_collection(bool async) => AssertQuery( async, @@ -1693,7 +1693,7 @@ public virtual Task Json_with_projection_of_json_collection_and_entity_collectio AssertCollection(e.EntityCollection, a.EntityCollection); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_with_projection_of_json_collection_element_and_entity_collection(bool async) => AssertQuery( async, @@ -1710,7 +1710,7 @@ public virtual Task Json_with_projection_of_json_collection_element_and_entity_c AssertCollection(e.EntityCollection, a.EntityCollection); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_with_projection_of_mix_of_json_collections_json_references_and_entity_collection(bool async) => AssertQuery( async, @@ -1740,13 +1740,13 @@ public virtual Task Json_with_projection_of_mix_of_json_collections_json_referen AssertCollection(e.EntityCollection, a.EntityCollection); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_all_types_entity_projection(bool async) => AssertQuery( async, ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_all_types_projection_from_owned_entity_reference(bool async) => AssertQuery( async, @@ -1754,7 +1754,7 @@ public virtual Task Json_all_types_projection_from_owned_entity_reference(bool a elementSorter: e => e.TestInt32, elementAsserter: (e, a) => AssertEqual(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_all_types_projection_individual_properties(bool async) => AssertQuery( async, @@ -1788,44 +1788,44 @@ public virtual Task Json_all_types_projection_individual_properties(bool async) x.Reference.TestNullableEnumWithConverterThatHandlesNulls, })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_boolean_predicate(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestBoolean)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_boolean_predicate_negated(bool async) => AssertQuery( async, ss => ss.Set().Where(x => !x.Reference.TestBoolean), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_boolean_projection(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(x => x.Reference.TestBoolean)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_boolean_projection_negated(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(x => !x.Reference.TestBoolean)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_default_string(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestDefaultString != "MyDefaultStringInReference1")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_max_length_string(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestMaxLengthString != "Foo")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_string_condition(bool async) => AssertQuery( async, @@ -1833,237 +1833,237 @@ public virtual Task Json_predicate_on_string_condition(bool async) => (!x.Reference.TestBoolean ? x.Reference.TestMaxLengthString : x.Reference.TestDefaultString) == "MyDefaultStringInReference1")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_byte(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestByte != 3)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_byte_array(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestByteArray != new byte[] { 1, 2, 3 }), ss => ss.Set().Where(x => !x.Reference.TestByteArray.SequenceEqual(new byte[] { 1, 2, 3 }))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_character(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestCharacter != 'z')); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_datetime(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestDateTime != new DateTime(2000, 1, 3))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_datetimeoffset(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestDateTimeOffset != new DateTimeOffset(new DateTime(2000, 1, 4), new TimeSpan(3, 2, 0)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_decimal(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestDecimal != 1.35M)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_double(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestDouble != 33.25)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_guid(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestGuid != new Guid())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_int16(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestInt16 != 3)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_int32(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestInt32 != 33)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_int64(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestInt64 != 333)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_signedbyte(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestSignedByte != 100)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_single(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestSingle != 10.4f)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_timespan(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestTimeSpan != new TimeSpan(3, 2, 0))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_dateonly(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestDateOnly != new DateOnly(3, 2, 1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_timeonly(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestTimeOnly != new TimeOnly(3, 2, 0))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_unisgnedint16(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestUnsignedInt16 != 100)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_unsignedint32(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestUnsignedInt32 != 1000)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_unsignedint64(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestUnsignedInt64 != 10000)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_enum(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestEnum != JsonEnum.Two)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_enumwithintconverter(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestEnumWithIntConverter != JsonEnum.Three)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_nullableenum1(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestNullableEnum != JsonEnum.One)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_nullableenum2(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestNullableEnum != null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_nullableenumwithconverterthathandlesnulls1(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestNullableEnumWithConverterThatHandlesNulls != JsonEnum.One)); - [ConditionalTheory(Skip = "issue #29416"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "issue #29416"), MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_nullableenumwithconverterthathandlesnulls2(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestNullableEnumWithConverterThatHandlesNulls != null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_nullableenumwithconverter1(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestNullableEnumWithIntConverter != JsonEnum.Two)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_nullableenumwithconverter2(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestNullableEnumWithIntConverter != null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_nullableint321(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestNullableInt32 != 100)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_nullableint322(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.TestNullableInt32 != null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_bool_converted_to_int_zero_one(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.BoolConvertedToIntZeroOne)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_bool_converted_to_int_zero_one_with_explicit_comparison(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.BoolConvertedToIntZeroOne == false)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_bool_converted_to_string_True_False(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.BoolConvertedToStringTrueFalse)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_bool_converted_to_string_True_False_with_explicit_comparison(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.BoolConvertedToStringTrueFalse == true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_bool_converted_to_string_Y_N(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.BoolConvertedToStringYN)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_bool_converted_to_string_Y_N_with_explicit_comparison(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.BoolConvertedToStringYN == false)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_int_zero_one_converted_to_bool(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.IntZeroOneConvertedToBool == 1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_string_True_False_converted_to_bool(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.StringTrueFalseConvertedToBool == "False")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_predicate_on_string_Y_N_converted_to_bool(bool async) => AssertQuery( async, ss => ss.Set().Where(x => x.Reference.StringYNConvertedToBool == "N")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_projection_collection_element_and_reference_AsNoTrackingWithIdentityResolution(bool async) => AssertQuery( async, @@ -2081,14 +2081,14 @@ public virtual Task Json_projection_collection_element_and_reference_AsNoTrackin AssertEqual(e.Reference, a.Reference); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_projection_nothing_interesting_AsNoTrackingWithIdentityResolution(bool async) => AssertQuery( async, ss => ss.Set().Select(x => new { x.Id, x.Name }).AsNoTrackingWithIdentityResolution(), elementSorter: e => e.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_projection_owner_entity_AsNoTrackingWithIdentityResolution(bool async) => AssertQuery( async, @@ -2100,7 +2100,7 @@ public virtual Task Json_projection_owner_entity_AsNoTrackingWithIdentityResolut AssertEqual(e.x, a.x); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_nested_collection_anonymous_projection_of_primitives_in_projection_NoTrackingWithIdentityResolution(bool async) => AssertQuery( async, @@ -2126,7 +2126,7 @@ public virtual Task Json_nested_collection_anonymous_projection_of_primitives_in AssertEqual(eee.Fraction, aaa.Fraction); }))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_projection_second_element_through_collection_element_constant_projected_after_owner_nested_AsNoTrackingWithIdentityResolution( bool async) @@ -2146,7 +2146,7 @@ public virtual Task AssertEqual(e.Duplicate, a.Duplicate); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_projection_reference_collection_and_collection_element_nested_AsNoTrackingWithIdentityResolution(bool async) => AssertQuery( async, @@ -2166,7 +2166,7 @@ public virtual Task Json_projection_reference_collection_and_collection_element_ AssertEqual(e.CollectionElement, a.CollectionElement); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_projection_second_element_through_collection_element_parameter_correctly_projected_after_owner_nested_AsNoTrackingWithIdentityResolution( bool async) @@ -2190,7 +2190,7 @@ public virtual Task }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_projection_only_second_element_through_collection_element_constant_projected_nested_AsNoTrackingWithIdentityResolution( bool async) @@ -2207,7 +2207,7 @@ public virtual Task AssertEqual(e.Element, a.Element); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_projection_only_second_element_through_collection_element_parameter_projected_nested_AsNoTrackingWithIdentityResolution( bool async) @@ -2229,7 +2229,7 @@ public virtual Task }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_projection_second_element_through_collection_element_constant_different_values_projected_before_owner_nested_AsNoTrackingWithIdentityResolution( bool async) @@ -2249,7 +2249,7 @@ public virtual Task AssertCollection(e.Original, a.Original, ordered: true); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_projection_nested_collection_and_element_correct_order_AsNoTrackingWithIdentityResolution(bool async) => AssertQuery( async, @@ -2267,7 +2267,7 @@ public virtual Task Json_projection_nested_collection_and_element_correct_order_ AssertEqual(e.Duplicate, a.Duplicate); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_projection_nested_collection_element_using_parameter_and_the_owner_in_correct_order_AsNoTrackingWithIdentityResolution( bool async) @@ -2290,7 +2290,7 @@ public virtual Task }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_projection_second_element_projected_before_owner_as_well_as_root_AsNoTrackingWithIdentityResolution(bool async) => AssertQuery( async, @@ -2309,7 +2309,7 @@ public virtual Task Json_projection_second_element_projected_before_owner_as_wel AssertEqual(e.Duplicate, a.Duplicate); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Json_projection_second_element_projected_before_owner_nested_as_well_as_root_AsNoTrackingWithIdentityResolution( bool async) => AssertQuery( @@ -2331,21 +2331,21 @@ public virtual Task Json_projection_second_element_projected_before_owner_nested AssertEqual(e.Owner, a.Owner); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_json_reference_in_tracking_query_fails(bool async) // verify exception on the provider level, relational and core throw different exceptions => AssertQuery( async, ss => ss.Set().Select(x => x.OwnedReferenceRoot)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_json_collection_in_tracking_query_fails(bool async) // verify exception on the provider level, relational and core throw different exceptions => AssertQuery( async, ss => ss.Set().Select(x => x.OwnedCollectionRoot)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_json_entity_in_tracking_query_fails_even_when_owner_is_present(bool async) // verify exception on the provider level, relational and core throw different exceptions => AssertQuery( diff --git a/test/EFCore.Specification.Tests/Query/ManyToManyNoTrackingQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/ManyToManyNoTrackingQueryTestBase.cs index e28066cad14..60c004ad8e8 100644 --- a/test/EFCore.Specification.Tests/Query/ManyToManyNoTrackingQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/ManyToManyNoTrackingQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.ManyToManyModel; @@ -37,7 +37,7 @@ static Expression ApplyNoTracking(Expression source) source); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_skip_navigation_then_include_inverse_throws_in_no_tracking(bool async) => Assert.Equal( CoreStrings.IncludeWithCycle(nameof(EntityThree.OneSkipPayloadFullShared), nameof(EntityOne.ThreeSkipPayloadFullShared)), diff --git a/test/EFCore.Specification.Tests/Query/ManyToManyQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/ManyToManyQueryTestBase.cs index 7580293d42e..57f12e0ad97 100644 --- a/test/EFCore.Specification.Tests/Query/ManyToManyQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/ManyToManyQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.ManyToManyModel; @@ -10,40 +10,40 @@ namespace Microsoft.EntityFrameworkCore.Query; public abstract class ManyToManyQueryTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : ManyToManyQueryFixtureBase, new() { - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_all(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.TwoSkip.All(e => e.Name.Contains("B")))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_any_without_predicate(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.ThreeSkipPayloadFull.Where(e => e.Name.Contains("B")).Any()), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_any_with_predicate(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.TwoSkipShared.Any(e => e.Name.Contains("B"))), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_contains(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.ThreeSkipPayloadFullShared.Contains(new EntityThree { Id = 1 })), ss => ss.Set().Where(e => e.ThreeSkipPayloadFullShared.Select(i => i.Id).Contains(1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_count_without_predicate(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.SelfSkipPayloadLeft.Count > 0)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_count_with_predicate(bool async) => AssertQuery( async, @@ -51,13 +51,13 @@ public virtual Task Skip_navigation_count_with_predicate(bool async) .ThenBy(e => e.Id), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_long_count_without_predicate(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.ThreeSkipFull.LongCount() > 0)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_long_count_with_predicate(bool async) => AssertQuery( async, @@ -65,79 +65,79 @@ public virtual Task Skip_navigation_long_count_with_predicate(bool async) .ThenBy(e => e.Id), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_select_many_average(bool async) => AssertAverage( async, ss => ss.Set().SelectMany(e => e.CompositeKeySkipShared.Select(e => e.Key1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_select_many_max(bool async) => AssertMax( async, ss => ss.Set().SelectMany(e => e.CompositeKeySkipFull.Select(e => e.Key1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_select_many_min(bool async) => AssertMin( async, ss => ss.Set().SelectMany(e => e.RootSkipShared.Select(e => e.Id))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_select_many_sum(bool async) => AssertSum( async, ss => ss.Set().SelectMany(e => e.CompositeKeySkipShared.Select(e => e.Key1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_select_subquery_average(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(e => e.CompositeKeySkipFull.Average(e => e.Key1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_select_subquery_max(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(e => e.OneSkip.Max(e => e.Id))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_select_subquery_min(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(e => e.OneSkipPayloadFull.Min(e => e.Id))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_select_subquery_sum(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(e => e.OneSkipShared.Sum(e => e.Id))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_order_by_first_or_default(bool async) => AssertQuery( async, ss => ss.Set().Select(e => e.OneSkipPayloadFullShared.OrderBy(i => i.Id).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_order_by_single_or_default(bool async) => AssertQuery( async, ss => ss.Set().Select(e => e.SelfSkipPayloadRight.OrderBy(i => i.Id).Take(1).SingleOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_order_by_last_or_default(bool async) => AssertQuery( async, ss => ss.Set().Select(e => e.OneSkip.OrderBy(i => i.Id).LastOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_order_by_reverse_first_or_default(bool async) => AssertQuery( async, ss => ss.Set().Select(e => e.TwoSkipFull.OrderBy(i => i.Id).Reverse().FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_cast(bool async) => AssertQuery( async, @@ -145,7 +145,7 @@ public virtual Task Skip_navigation_cast(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_of_type(bool async) => AssertQuery( async, @@ -153,7 +153,7 @@ public virtual Task Skip_navigation_of_type(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_with_skip_navigation(bool async) => AssertQuery( async, @@ -168,7 +168,7 @@ on t.Id equals s.SelfSkipSharedRight.OrderBy(e => e.Id).FirstOrDefault().Id AssertEqual(e.s, a.s); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Left_join_with_skip_navigation(bool async) => AssertQuery( async, @@ -193,7 +193,7 @@ from s in grouping.DefaultIfEmpty() AssertEqual(e.s, a.s); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_many_over_skip_navigation(bool async) => AssertQuery( async, @@ -201,7 +201,7 @@ public virtual Task Select_many_over_skip_navigation(bool async) from t in r.ThreeSkipShared select t); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_many_over_skip_navigation_where(bool async) => AssertQuery( async, @@ -209,7 +209,7 @@ public virtual Task Select_many_over_skip_navigation_where(bool async) from t in r.TwoSkip.DefaultIfEmpty() select t); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_many_over_skip_navigation_order_by_skip(bool async) => AssertQuery( async, @@ -217,7 +217,7 @@ public virtual Task Select_many_over_skip_navigation_order_by_skip(bool async) from t in r.ThreeSkipPayloadFull.OrderBy(e => e.Id).Skip(2) select t); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_many_over_skip_navigation_order_by_take(bool async) => AssertQuery( async, @@ -225,7 +225,7 @@ public virtual Task Select_many_over_skip_navigation_order_by_take(bool async) from t in r.TwoSkipShared.OrderBy(e => e.Id).Take(2) select t); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_many_over_skip_navigation_order_by_skip_take(bool async) => AssertQuery( async, @@ -233,7 +233,7 @@ public virtual Task Select_many_over_skip_navigation_order_by_skip_take(bool asy from t in r.ThreeSkipPayloadFullShared.OrderBy(e => e.Id).Skip(2).Take(3) select t); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_many_over_skip_navigation_of_type(bool async) => AssertQuery( async, @@ -241,7 +241,7 @@ public virtual Task Select_many_over_skip_navigation_of_type(bool async) from t in r.RootSkipShared.OfType() select t); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_many_over_skip_navigation_cast(bool async) => AssertQuery( async, @@ -249,7 +249,7 @@ public virtual Task Select_many_over_skip_navigation_cast(bool async) from t in r.BranchSkip.Cast() select t); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_skip_navigation(bool async) => AssertQuery( async, @@ -259,7 +259,7 @@ orderby r.Id assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_skip_navigation_multiple(bool async) => AssertQuery( async, @@ -279,7 +279,7 @@ orderby r.Id AssertCollection(e.CompositeKeySkipShared, a.CompositeKeySkipShared); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_skip_navigation_first_or_default(bool async) => AssertQuery( async, @@ -288,14 +288,14 @@ orderby r.Id select r.CompositeKeySkipFull.OrderBy(e => e.Key1).ThenBy(e => e.Key2).FirstOrDefault(), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_skip_navigation(bool async) => AssertQuery( async, ss => ss.Set().Include(e => e.RootSkipShared), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(et => et.RootSkipShared))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_skip_navigation_then_reference(bool async) => AssertQuery( async, @@ -305,7 +305,7 @@ public virtual Task Include_skip_navigation_then_reference(bool async) new ExpectedInclude(et => et.OneSkip), new ExpectedInclude(et => et.Reference, "OneSkip"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_skip_navigation_then_include_skip_navigation(bool async) => AssertQuery( async, @@ -315,7 +315,7 @@ public virtual Task Include_skip_navigation_then_include_skip_navigation(bool as new ExpectedInclude(et => et.LeafSkipFull), new ExpectedInclude(et => et.OneSkip, "LeafSkipFull"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_skip_navigation_then_include_reference_and_skip_navigation(bool async) => AssertQuery( async, @@ -327,7 +327,7 @@ public virtual Task Include_skip_navigation_then_include_reference_and_skip_navi new ExpectedInclude(et => et.Reference, "OneSkipPayloadFull"), new ExpectedInclude(et => et.SelfSkipPayloadRight, "OneSkipPayloadFull"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_skip_navigation_and_reference(bool async) => AssertQuery( async, @@ -337,7 +337,7 @@ public virtual Task Include_skip_navigation_and_reference(bool async) new ExpectedInclude(et => et.OneSkipShared), new ExpectedInclude(et => et.Reference))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_skip_navigation_then_include_inverse_works_for_tracking_query(bool async) => AssertQuery( async, @@ -347,7 +347,7 @@ public virtual Task Include_skip_navigation_then_include_inverse_works_for_track new ExpectedInclude(et => et.OneSkipPayloadFullShared), new ExpectedInclude(et => et.ThreeSkipPayloadFullShared, "OneSkipPayloadFullShared"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_where(bool async) => AssertQuery( async, @@ -357,7 +357,7 @@ public virtual Task Filtered_include_skip_navigation_where(bool async) new ExpectedFilteredInclude( et => et.OneSkipPayloadFullShared, includeFilter: x => x.Where(i => i.Id < 10)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_order_by(bool async) => AssertQuery( async, @@ -367,7 +367,7 @@ public virtual Task Filtered_include_skip_navigation_order_by(bool async) new ExpectedFilteredInclude( et => et.TwoSkipFull, includeFilter: x => x.OrderBy(i => i.Id)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_order_by_skip(bool async) => AssertQuery( async, @@ -377,7 +377,7 @@ public virtual Task Filtered_include_skip_navigation_order_by_skip(bool async) new ExpectedFilteredInclude( et => et.SelfSkipSharedRight, includeFilter: x => x.OrderBy(i => i.Id).Skip(2)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_order_by_take(bool async) => AssertQuery( async, @@ -387,7 +387,7 @@ public virtual Task Filtered_include_skip_navigation_order_by_take(bool async) new ExpectedFilteredInclude( et => et.TwoSkipShared, includeFilter: x => x.OrderBy(i => i.Id).Take(2)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_order_by_take_EF_Property(bool async) => AssertQuery( async, @@ -398,7 +398,7 @@ public virtual Task Filtered_include_skip_navigation_order_by_take_EF_Property(b new ExpectedFilteredInclude( et => et.TwoSkipShared, includeFilter: x => x.OrderBy(i => i.Id).Take(2)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_order_by_skip_take(bool async) => AssertQuery( async, @@ -408,7 +408,7 @@ public virtual Task Filtered_include_skip_navigation_order_by_skip_take(bool asy new ExpectedFilteredInclude( et => et.ThreeSkipFull, includeFilter: x => x.OrderBy(i => i.Id).Skip(1).Take(2)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_then_include_skip_navigation_where(bool async) => AssertQuery( async, @@ -420,7 +420,7 @@ public virtual Task Filtered_then_include_skip_navigation_where(bool async) new ExpectedFilteredInclude( et => et.OneSkipPayloadFullShared, "ThreeSkipShared", includeFilter: x => x.Where(i => i.Id < 10)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_then_include_skip_navigation_order_by_skip_take(bool async) => AssertQuery( async, @@ -432,7 +432,7 @@ public virtual Task Filtered_then_include_skip_navigation_order_by_skip_take(boo new ExpectedFilteredInclude( et => et.ThreeSkipFull, "CompositeKeySkipShared", includeFilter: x => x.OrderBy(i => i.Id).Skip(1).Take(2)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_where_then_include_skip_navigation(bool async) => AssertQuery( async, @@ -443,7 +443,7 @@ public virtual Task Filtered_include_skip_navigation_where_then_include_skip_nav et => et.CompositeKeySkipFull, includeFilter: x => x.Where(i => i.Key1 < 5)), new ExpectedInclude(et => et.TwoSkipShared, "CompositeKeySkipFull"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where(bool async) => AssertQuery( async, @@ -456,7 +456,7 @@ public virtual Task Filtered_include_skip_navigation_order_by_skip_take_then_inc new ExpectedFilteredInclude( et => et.ThreeSkipFull, "TwoSkip", includeFilter: x => x.Where(i => i.Id < 10)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where_EF_Property(bool async) => AssertQuery( async, @@ -470,7 +470,7 @@ public virtual Task Filtered_include_skip_navigation_order_by_skip_take_then_inc new ExpectedFilteredInclude( et => et.ThreeSkipFull, "TwoSkip", includeFilter: x => x.Where(i => i.Id < 10)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take(bool async) => AssertQuery( async, @@ -483,7 +483,7 @@ public virtual Task Filtered_include_skip_navigation_where_then_include_skip_nav new ExpectedFilteredInclude( et => et.ThreeSkipFull, "TwoSkip", includeFilter: x => x.OrderBy(i => i.Id).Skip(1).Take(2)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_include_on_skip_navigation_combined(bool async) => AssertQuery( async, @@ -495,7 +495,7 @@ public virtual Task Filter_include_on_skip_navigation_combined(bool async) new ExpectedInclude(et => et.Reference, "OneSkip"), new ExpectedInclude(et => et.Collection, "OneSkip"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_include_on_skip_navigation_combined_with_filtered_then_includes(bool async) => AssertQuery( async, @@ -511,7 +511,7 @@ public virtual Task Filter_include_on_skip_navigation_combined_with_filtered_the new ExpectedFilteredInclude( et => et.BranchSkip, "OneSkipPayloadFull", includeFilter: x => x.Where(e => e.Id < 20)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Throws_when_different_filtered_include(bool async) => Assert.Equal( CoreStrings.MultipleFilteredIncludesOnSameNavigation( @@ -523,7 +523,7 @@ public virtual async Task Throws_when_different_filtered_include(bool async) .Include(e => e.OneSkip.Where(i => i.Id < 20)).ThenInclude(e => e.ThreeSkipPayloadFull)))).Message .Replace("\r", "").Replace("\n", "")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Throws_when_different_filtered_then_include(bool async) => Assert.Equal( CoreStrings.MultipleFilteredIncludesOnSameNavigation( @@ -538,7 +538,7 @@ public virtual async Task Throws_when_different_filtered_then_include(bool async .ThenInclude(e => e.OneSkip.Where(i => i.Id < 20)).ThenInclude(e => e.ThreeSkipPayloadFull)))).Message .Replace("\r", "").Replace("\n", "")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_on_skip_navigation_then_filtered_include_on_navigation(bool async) => AssertQuery( async, @@ -551,7 +551,7 @@ public virtual Task Filtered_include_on_skip_navigation_then_filtered_include_on new ExpectedFilteredInclude( et => et.Collection, "OneSkipPayloadFull", includeFilter: x => x.Where(i => i.Id < 5)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_on_navigation_then_filtered_include_on_skip_navigation(bool async) => AssertQuery( async, @@ -563,7 +563,7 @@ public virtual Task Filtered_include_on_navigation_then_filtered_include_on_skip new ExpectedFilteredInclude( et => et.ThreeSkipFull, "Collection", includeFilter: x => x.Where(i => i.Id < 5)))); - [ConditionalTheory(Skip = "Issue#21332"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "Issue#21332"), MemberData(nameof(IsAsyncData))] public virtual Task Includes_accessed_via_different_path_are_merged(bool async) => AssertQuery( async, @@ -579,7 +579,7 @@ public virtual Task Includes_accessed_via_different_path_are_merged(bool async) new ExpectedInclude(e => e.ReferenceInverse, "ThreeSkipPayloadFull"), new ExpectedInclude(e => e.CollectionInverse, "JoinThreePayloadFull.Three"))); - [ConditionalTheory(Skip = "Issue#21332"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "Issue#21332"), MemberData(nameof(IsAsyncData))] public virtual Task Filtered_includes_accessed_via_different_path_are_merged(bool async) => AssertQuery( async, @@ -598,7 +598,7 @@ public virtual Task Filtered_includes_accessed_via_different_path_are_merged(boo new ExpectedInclude(e => e.Reference, "OneSkipPayloadFull.Collection"), new ExpectedInclude(e => e.Reference, "JoinOnePayloadFull.One.Collection"))); - [ConditionalTheory(Skip = "Issue#21332"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "Issue#21332"), MemberData(nameof(IsAsyncData))] public virtual async Task Throws_when_different_filtered_then_include_via_different_paths(bool async) => Assert.Equal( CoreStrings.MultipleFilteredIncludesOnSameNavigation( @@ -614,7 +614,7 @@ public virtual async Task Throws_when_different_filtered_then_include_via_differ .ThenInclude(e => e.Collection.Where(i => i.Id < 10))))).Message .Replace("\r", "").Replace("\n", "")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_many_over_skip_navigation_where_non_equality(bool async) => AssertQuery( async, @@ -622,7 +622,7 @@ public virtual Task Select_many_over_skip_navigation_where_non_equality(bool asy from t in r.TwoSkip.Where(x => x.Id != r.Id).DefaultIfEmpty() select t); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_on_skip_collection_navigation(bool async) { var two = new EntityTwo { Id = 1 }; @@ -633,45 +633,45 @@ public virtual Task Contains_on_skip_collection_navigation(bool async) ss => ss.Set().Where(e => e.TwoSkip.Select(i => i.Id).Contains(two.Id))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetType_in_hierarchy_in_base_type(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.GetType() == typeof(EntityRoot))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetType_in_hierarchy_in_intermediate_type(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.GetType() == typeof(EntityBranch))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetType_in_hierarchy_in_leaf_type(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.GetType() == typeof(EntityLeaf))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetType_in_hierarchy_in_querying_base_type(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.GetType() == typeof(EntityRoot)), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_all_unidirectional(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.TwoSkip.All(e => e.Name.Contains("B")))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_any_with_predicate_unidirectional(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.TwoSkipShared.Any(e => e.Name.Contains("B"))), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_contains_unidirectional(bool async) => AssertQuery( async, @@ -679,13 +679,13 @@ public virtual Task Skip_navigation_contains_unidirectional(bool async) .Where(e => e.ThreeSkipPayloadFullShared.Contains(new UnidirectionalEntityThree { Id = 1 })), ss => ss.Set().Where(e => e.ThreeSkipPayloadFullShared.Select(i => i.Id).Contains(1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_count_without_predicate_unidirectional(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.SelfSkipPayloadLeft.Count > 0)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_count_with_predicate_unidirectional(bool async) => AssertQuery( async, @@ -693,19 +693,19 @@ public virtual Task Skip_navigation_count_with_predicate_unidirectional(bool asy .ThenBy(e => e.Id), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_select_subquery_average_unidirectional(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(e => e.CompositeKeySkipFull.Average(e => e.Key1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_order_by_reverse_first_or_default_unidirectional(bool async) => AssertQuery( async, ss => ss.Set().Select(e => e.TwoSkipFull.OrderBy(i => i.Id).Reverse().FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_navigation_of_type_unidirectional(bool async) => AssertQuery( async, @@ -714,7 +714,7 @@ public virtual Task Skip_navigation_of_type_unidirectional(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_with_skip_navigation_unidirectional(bool async) => AssertQuery( async, @@ -729,7 +729,7 @@ on t.Id equals s.SelfSkipSharedRight.OrderBy(e => e.Id).FirstOrDefault().Id AssertEqual(e.s, a.s); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Left_join_with_skip_navigation_unidirectional(bool async) => AssertQuery( async, @@ -754,7 +754,7 @@ from s in grouping.DefaultIfEmpty() AssertEqual(e.s, a.s); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_many_over_skip_navigation_unidirectional(bool async) => AssertQuery( async, @@ -762,7 +762,7 @@ public virtual Task Select_many_over_skip_navigation_unidirectional(bool async) from t in r.ThreeSkipShared select t); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_many_over_skip_navigation_where_unidirectional(bool async) => AssertQuery( async, @@ -770,7 +770,7 @@ public virtual Task Select_many_over_skip_navigation_where_unidirectional(bool a from t in r.TwoSkip.DefaultIfEmpty() select t); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_many_over_skip_navigation_order_by_take_unidirectional(bool async) => AssertQuery( async, @@ -778,7 +778,7 @@ public virtual Task Select_many_over_skip_navigation_order_by_take_unidirectiona from t in r.TwoSkipShared.OrderBy(e => e.Id).Take(2) select t); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_many_over_skip_navigation_order_by_skip_take_unidirectional(bool async) => AssertQuery( async, @@ -786,7 +786,7 @@ public virtual Task Select_many_over_skip_navigation_order_by_skip_take_unidirec from t in r.ThreeSkipPayloadFullShared.OrderBy(e => e.Id).Skip(2).Take(3) select t); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_many_over_skip_navigation_cast_unidirectional(bool async) => AssertQuery( async, @@ -794,7 +794,7 @@ public virtual Task Select_many_over_skip_navigation_cast_unidirectional(bool as from t in r.BranchSkip.Cast() select t); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_skip_navigation_unidirectional(bool async) => AssertQuery( async, @@ -804,45 +804,45 @@ orderby r.Id assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_skip_navigation_unidirectional(bool async) => AssertQuery( async, ss => ss.Set().Include(e => e.RootSkipShared), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(et => et.RootSkipShared))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_skip_navigation_then_reference_unidirectional(bool async) => AssertQuery( async, ss => ss.Set().Include("UnidirectionalEntityOne1.Reference")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_skip_navigation_then_include_skip_navigation_unidirectional(bool async) => AssertQuery( async, ss => ss.Set().Include("UnidirectionalEntityLeaf.UnidirectionalEntityOne")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_skip_navigation_then_include_reference_and_skip_navigation_unidirectional(bool async) => AssertQuery( async, ss => ss.Set().Include("UnidirectionalEntityOne.Reference") .Include("UnidirectionalEntityOne.UnidirectionalEntityOne")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_skip_navigation_and_reference_unidirectional(bool async) => AssertQuery( async, ss => ss.Set().Include("UnidirectionalEntityOne").Include(e => e.Reference)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_skip_navigation_then_include_inverse_works_for_tracking_query_unidirectional(bool async) => AssertQuery( async, ss => ss.Set().Include("UnidirectionalEntityOne1.ThreeSkipPayloadFullShared")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_where_unidirectional(bool async) => AssertQuery( async, @@ -852,7 +852,7 @@ public virtual Task Filtered_include_skip_navigation_where_unidirectional(bool a new ExpectedFilteredInclude( et => et.OneSkipPayloadFullShared, includeFilter: x => x.Where(i => i.Id < 10)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_order_by_unidirectional(bool async) => AssertQuery( async, @@ -862,7 +862,7 @@ public virtual Task Filtered_include_skip_navigation_order_by_unidirectional(boo new ExpectedFilteredInclude( et => et.TwoSkipFull, includeFilter: x => x.OrderBy(i => i.Id)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_order_by_skip_unidirectional(bool async) => AssertQuery( async, @@ -872,7 +872,7 @@ public virtual Task Filtered_include_skip_navigation_order_by_skip_unidirectiona new ExpectedFilteredInclude( et => et.SelfSkipSharedRight, includeFilter: x => x.OrderBy(i => i.Id).Skip(2)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_order_by_take_unidirectional(bool async) => AssertQuery( async, @@ -882,7 +882,7 @@ public virtual Task Filtered_include_skip_navigation_order_by_take_unidirectiona new ExpectedFilteredInclude( et => et.TwoSkipShared, includeFilter: x => x.OrderBy(i => i.Id).Take(2)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_order_by_skip_take_unidirectional(bool async) => AssertQuery( async, @@ -892,7 +892,7 @@ public virtual Task Filtered_include_skip_navigation_order_by_skip_take_unidirec new ExpectedFilteredInclude( et => et.ThreeSkipFull, includeFilter: x => x.OrderBy(i => i.Id).Skip(1).Take(2)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_skip_navigation_where_then_include_skip_navigation_unidirectional(bool async) => AssertQuery( async, @@ -904,14 +904,14 @@ public virtual Task Filtered_include_skip_navigation_where_then_include_skip_nav et => et.CompositeKeySkipFull, includeFilter: x => x.Where(i => i.Key1 < 5)), new ExpectedInclude(et => et.TwoSkipShared, "CompositeKeySkipFull"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_include_on_skip_navigation_combined_unidirectional(bool async) => AssertQuery( async, ss => ss.Set().Include(e => e.OneSkip.Where(i => i.Id < 10)).ThenInclude(e => e.Reference) .Include(e => e.OneSkip).ThenInclude(e => e.Collection)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Throws_when_different_filtered_include_unidirectional(bool async) => Assert.Equal( CoreStrings.MultipleFilteredIncludesOnSameNavigation( @@ -927,14 +927,14 @@ public virtual async Task Throws_when_different_filtered_include_unidirectional( => EF.Property>(e, "UnidirectionalEntityThree"))))).Message .Replace("\r", "").Replace("\n", "")); - [ConditionalTheory(Skip = "Issue#21332"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "Issue#21332"), MemberData(nameof(IsAsyncData))] public virtual Task Includes_accessed_via_different_path_are_merged_unidirectional(bool async) => AssertQuery( async, ss => ss.Set().Include("ThreeSkipPayloadFull.CollectionInverse") .Include(e => e.JoinThreePayloadFull).ThenInclude(e => e.Three).ThenInclude(e => e.ReferenceInverse)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_many_over_skip_navigation_where_non_equality_unidirectional(bool async) => AssertQuery( async, @@ -942,7 +942,7 @@ public virtual Task Select_many_over_skip_navigation_where_non_equality_unidirec from t in r.TwoSkip.Where(x => x.Id != r.Id).DefaultIfEmpty() select t); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_on_skip_collection_navigation_unidirectional(bool async) { var two = new UnidirectionalEntityTwo { Id = 1 }; @@ -953,25 +953,25 @@ public virtual Task Contains_on_skip_collection_navigation_unidirectional(bool a ss => ss.Set().Where(e => e.TwoSkip.Select(i => i.Id).Contains(two.Id))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetType_in_hierarchy_in_base_type_unidirectional(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.GetType() == typeof(UnidirectionalEntityRoot))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetType_in_hierarchy_in_intermediate_type_unidirectional(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.GetType() == typeof(UnidirectionalEntityBranch))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetType_in_hierarchy_in_leaf_type_unidirectional(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.GetType() == typeof(UnidirectionalEntityLeaf))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetType_in_hierarchy_in_querying_base_type_unidirectional(bool async) => AssertQuery( async, diff --git a/test/EFCore.Specification.Tests/Query/NorthwindAggregateOperatorsQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/NorthwindAggregateOperatorsQueryTestBase.cs index 6e9a1a7f96f..00fa3990317 100644 --- a/test/EFCore.Specification.Tests/Query/NorthwindAggregateOperatorsQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/NorthwindAggregateOperatorsQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Collections.Immutable; @@ -21,7 +21,7 @@ protected virtual void ClearLog() { } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_All(bool async) => AssertAll( async, @@ -54,52 +54,52 @@ public override int GetHashCode() => Order.GetHashCode(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_with_no_arg(bool async) => AssertSum( async, ss => ss.Set().Select(o => o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_with_no_data_cast_to_nullable(bool async) => AssertSum( async, ss => ss.Set().Where(o => o.OrderID < 0).Select(o => (int?)o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_with_no_data_nullable(bool async) => AssertSum( async, ss => ss.Set(), selector: o => o.SupplierID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_with_binary_expression(bool async) => AssertSum( async, ss => ss.Set().Select(o => o.OrderID * 2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_with_no_arg_empty(bool async) => AssertSum( async, ss => ss.Set().Where(o => o.OrderID == 42).Select(o => o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_with_arg(bool async) => AssertSum( async, ss => ss.Set(), selector: o => o.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_with_arg_expression(bool async) => AssertSum( async, ss => ss.Set(), selector: o => o.OrderID + o.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_with_division_on_decimal(bool async) => AssertSum( async, @@ -107,7 +107,7 @@ public virtual Task Sum_with_division_on_decimal(bool async) selector: od => od.Quantity / 2.09m, asserter: (e, a) => Assert.InRange(e - a, -0.1m, 0.1m)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_with_division_on_decimal_no_significant_digits(bool async) => AssertSum( async, @@ -115,35 +115,35 @@ public virtual Task Sum_with_division_on_decimal_no_significant_digits(bool asyn selector: od => od.Quantity / 2m, asserter: (e, a) => Assert.InRange(e - a, -0.1m, 0.1m)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_with_coalesce(bool async) => AssertSum( async, ss => ss.Set().Where(p => p.ProductID < 40), selector: p => p.UnitPrice ?? 0); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_over_subquery(bool async) => AssertSum( async, ss => ss.Set(), selector: c => c.Orders.Sum(int (o) => o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_over_nested_subquery(bool async) => AssertSum( async, ss => ss.Set(), selector: c => c.Orders.Sum(int (o) => 5 + o.OrderDetails.Sum(int (od) => od.ProductID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_over_min_subquery(bool async) => AssertSum( async, ss => ss.Set(), selector: c => c.Orders.Sum(int (o) => 5 + o.OrderDetails.Min(int (od) => od.ProductID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_over_scalar_returning_subquery(bool async) => AssertSum( async, @@ -152,14 +152,14 @@ public virtual Task Sum_over_scalar_returning_subquery(bool async) actualSelector: c => c.Orders.FirstOrDefault().OrderID, expectedSelector: c => c.Orders.Any() ? c.Orders.FirstOrDefault().OrderID : 0); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_over_Any_subquery(bool async) => AssertSum( async, ss => ss.Set(), selector: c => c.Orders.Any() ? c.Orders.FirstOrDefault().OrderID : 0); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Sum_over_uncorrelated_subquery(bool async) { await using var context = CreateContext(); @@ -173,47 +173,47 @@ public virtual async Task Sum_over_uncorrelated_subquery(bool async) AssertEqual(70707, result); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_on_float_column(bool async) => AssertSum( async, ss => ss.Set().Where(od => od.ProductID == 1), selector: od => od.Discount); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_on_float_column_in_subquery(bool async) => AssertQuery( async, ss => ss.Set().Where(o => o.OrderID < 10300).Select(o => new { o.OrderID, Sum = o.OrderDetails.Sum(od => od.Discount) }), e => e.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Average_with_no_arg(bool async) => AssertAverage( async, ss => ss.Set().Select(o => o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Average_with_binary_expression(bool async) => AssertAverage( async, ss => ss.Set().Select(o => o.OrderID * 2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Average_with_arg(bool async) => AssertAverage( async, ss => ss.Set(), selector: o => o.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Average_with_arg_expression(bool async) => AssertAverage( async, ss => ss.Set(), selector: o => o.OrderID + o.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Average_with_division_on_decimal(bool async) => AssertAverage( async, @@ -221,7 +221,7 @@ public virtual Task Average_with_division_on_decimal(bool async) selector: od => od.Quantity / 2.09m, asserter: (e, a) => Assert.InRange(e - a, -0.1m, 0.1m)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Average_with_division_on_decimal_no_significant_digits(bool async) => AssertAverage( async, @@ -229,7 +229,7 @@ public virtual Task Average_with_division_on_decimal_no_significant_digits(bool selector: od => od.Quantity / 2m, asserter: (e, a) => Assert.InRange(e - a, -0.1m, 0.1m)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Average_with_coalesce(bool async) => AssertAverage( async, @@ -237,35 +237,35 @@ public virtual Task Average_with_coalesce(bool async) selector: p => p.UnitPrice ?? 0, asserter: (e, a) => Assert.InRange(e - a, -0.1m, 0.1m)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Average_over_subquery(bool async) => AssertAverage( async, ss => ss.Set(), selector: c => c.Orders.Sum(int (o) => o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Average_over_nested_subquery(bool async) => AssertAverage( async, ss => ss.Set().OrderBy(c => c.CustomerID).Take(3), selector: c => (decimal)c.Orders.Average(double (o) => 5 + o.OrderDetails.Average(int (od) => od.ProductID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Average_over_max_subquery(bool async) => AssertAverage( async, ss => ss.Set().OrderBy(c => c.CustomerID).Take(3), selector: c => (decimal)c.Orders.Average(int (o) => 5 + o.OrderDetails.Max(int (od) => od.ProductID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Average_on_float_column(bool async) => AssertAverage( async, ss => ss.Set().Where(od => od.ProductID == 1), selector: od => od.Discount); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Average_on_float_column_in_subquery(bool async) => AssertQuery( async, @@ -273,7 +273,7 @@ public virtual Task Average_on_float_column_in_subquery(bool async) .Select(o => new { o.OrderID, Sum = o.OrderDetails.Average(od => od.Discount) }), e => e.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Average_on_float_column_in_subquery_with_cast(bool async) => AssertQuery( async, @@ -281,121 +281,121 @@ public virtual Task Average_on_float_column_in_subquery_with_cast(bool async) .Select(o => new { o.OrderID, Sum = o.OrderDetails.Average(od => (float?)od.Discount) }), e => e.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Min_with_no_arg(bool async) => AssertMin( async, ss => ss.Set().Select(o => o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Min_with_arg(bool async) => AssertMin( async, ss => ss.Set(), selector: o => o.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Min_no_data(bool async) => Assert.ThrowsAsync(() => AssertMin( async, ss => ss.Set().Where(o => o.OrderID == -1), selector: o => o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Min_no_data_nullable(bool async) => AssertMin( async, ss => ss.Set().Where(o => o.SupplierID == -1), selector: o => o.SupplierID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Min_no_data_cast_to_nullable(bool async) => AssertMin( async, ss => ss.Set().Where(o => o.OrderID == -1), selector: o => (int?)o.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Min_no_data_subquery(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(c => c.Orders.Where(o => o.OrderID == -1).Min(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task MinBy(bool async) => AssertMinBy( async, ss => ss.Set(), selector: o => o.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task MinBy_no_data_value_type(bool async) => Assert.ThrowsAsync(() => AssertMinBy( async, ss => ss.Set().Where(o => o.OrderID == -1).Select(o => o.OrderID), selector: o => o)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task MinBy_no_data_nullable_source(bool async) => AssertMinBy( async, ss => ss.Set().Where(o => o.SupplierID == -1).Select(o => o.SupplierID), selector: o => o ?? 0 /*non nullable selector*/); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task MinBy_no_data_reference_type_source(bool async) => AssertMinBy( async, ss => ss.Set().Where(o => o.SupplierID == -1), selector: o => o.ProductID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task MinBy_no_data_nullable_selector(bool async) => Assert.ThrowsAsync(() => AssertMinBy( async, ss => ss.Set().Where(o => o.OrderID == -1).Select(o => o.OrderID), selector: o => (int?)o)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task MinBy_no_data_subquery_reference_type(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.Orders.Where(o => o.OrderID == -1).MinBy(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task MinBy_no_data_subquery_value_type(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.Orders.Where(o => o.OrderID == -1).Select(o => o.OrderID).MinBy(o => o))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Max_no_data(bool async) => Assert.ThrowsAsync(() => AssertMax( async, ss => ss.Set().Where(o => o.OrderID == -1), selector: o => o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Max_no_data_nullable(bool async) => AssertMax( async, ss => ss.Set().Where(o => o.SupplierID == -1), selector: o => o.SupplierID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Max_no_data_cast_to_nullable(bool async) => AssertMax( async, ss => ss.Set().Where(o => o.OrderID == -1), selector: o => (int?)o.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Max_no_data_subquery(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(c => c.Orders.Where(o => o.OrderID == -1).Max(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task MaxBy_no_data_value_type(bool async) => Assert.ThrowsAsync(() => AssertMaxBy( async, @@ -403,290 +403,290 @@ public virtual Task MaxBy_no_data_value_type(bool async) selector: o => o)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task MaxBy_no_data_nullable_source(bool async) => AssertMaxBy( async, ss => ss.Set().Where(o => o.SupplierID == -1).Select(o => o.SupplierID), selector: o => o ?? 0 /*non nullable selector*/); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task MaxBy_no_data_reference_type_source(bool async) => AssertMaxBy( async, ss => ss.Set().Where(o => o.SupplierID == -1), selector: o => o.ProductID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task MaxBy_no_data_nullable_selector(bool async) => Assert.ThrowsAsync(() => AssertMaxBy( async, ss => ss.Set().Where(o => o.OrderID == -1).Select(x => x.OrderID), selector: o => (int?)o)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task MaxBy_no_data_subquery_reference_type(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.Orders.Where(o => o.OrderID == -1).MaxBy(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task MaxBy_no_data_subquery_value_type(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.Orders.Where(o => o.OrderID == -1).Select(o => o.OrderID).MaxBy(o => o))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Average_no_data(bool async) => Assert.ThrowsAsync(() => AssertAverage( async, ss => ss.Set().Where(o => o.OrderID == -1), selector: o => o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Average_no_data_nullable(bool async) => AssertAverage( async, ss => ss.Set().Where(o => o.SupplierID == -1), selector: o => o.SupplierID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Average_no_data_cast_to_nullable(bool async) => AssertAverage( async, ss => ss.Set().Where(o => o.OrderID == -1), selector: o => (int?)o.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Average_no_data_subquery(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(c => c.Orders.Where(o => o.OrderID == -1).Average(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Min_with_coalesce(bool async) => AssertMin( async, ss => ss.Set().Where(p => p.ProductID < 40), selector: p => p.UnitPrice ?? 0); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Min_over_subquery(bool async) => AssertMin( async, ss => ss.Set(), selector: c => c.Orders.Sum(o => o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Min_over_nested_subquery(bool async) => AssertMin( async, ss => ss.Set().OrderBy(c => c.CustomerID).Take(3), selector: c => c.Orders.Min(o => 5 + o.OrderDetails.Min(int (od) => od.ProductID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Min_over_max_subquery(bool async) => AssertMin( async, ss => ss.Set().OrderBy(c => c.CustomerID).Take(3), selector: c => c.Orders.Min(o => 5 + o.OrderDetails.Max(int (od) => od.ProductID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task MinBy_with_coalesce(bool async) => AssertMinBy( async, ss => ss.Set().Where(p => p.ProductID < 40), selector: p => p.UnitPrice ?? 0); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task MinBy_over_subquery(bool async) => AssertMinBy( async, ss => ss.Set(), selector: c => c.Orders.Sum(o => o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task MinBy_over_nested_subquery(bool async) => AssertMinBy( async, ss => ss.Set().OrderBy(c => c.CustomerID).Take(3), selector: c => c.Orders.MinBy(o => 5 + o.OrderDetails.MinBy(int (od) => od.ProductID).ProductID).OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task MinBy_over_max_subquery(bool async) => AssertMinBy( async, ss => ss.Set().OrderBy(c => c.CustomerID).Take(3), selector: c => c.Orders.MinBy(o => 5 + o.OrderDetails.Max(int (od) => od.ProductID)).OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Max_with_no_arg(bool async) => AssertMax( async, ss => ss.Set().Select(o => o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Max_with_arg(bool async) => AssertMax( async, ss => ss.Set(), selector: o => o.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Max_with_coalesce(bool async) => AssertMax( async, ss => ss.Set().Where(p => p.ProductID < 40), selector: p => p.UnitPrice ?? 0); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Max_over_subquery(bool async) => AssertMax( async, ss => ss.Set(), selector: c => c.Orders.Sum(o => o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Max_over_nested_subquery(bool async) => AssertMax( async, ss => ss.Set().OrderBy(c => c.CustomerID).Take(3), selector: c => c.Orders.Max(o => 5 + o.OrderDetails.Max(int (od) => od.ProductID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Max_over_sum_subquery(bool async) => AssertMax( async, ss => ss.Set().OrderBy(c => c.CustomerID).Take(3), selector: c => c.Orders.Max(o => 5 + o.OrderDetails.Sum(int (od) => od.ProductID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task MaxBy(bool async) => AssertMaxBy( async, ss => ss.Set(), selector: o => o.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task MaxBy_with_coalesce(bool async) => AssertMaxBy( async, ss => ss.Set().Where(p => p.ProductID < 40), selector: p => p.UnitPrice ?? 0); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task MaxBy_over_subquery(bool async) => AssertMaxBy( async, ss => ss.Set(), selector: c => c.Orders.Sum(o => o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task MaxBy_over_nested_subquery(bool async) => AssertMaxBy( async, ss => ss.Set().OrderBy(c => c.CustomerID).Take(3), selector: c => c.Orders.MaxBy(o => 5 + o.OrderDetails.MaxBy(int (od) => od.ProductID).ProductID).OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task MaxBy_over_sum_subquery(bool async) => AssertMaxBy( async, ss => ss.Set().OrderBy(c => c.CustomerID).Take(3), selector: c => c.Orders.MaxBy(o => 5 + o.OrderDetails.Sum(int (od) => od.ProductID)).OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Count_with_no_predicate(bool async) => AssertCount( async, ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Count_with_predicate(bool async) => AssertCount( async, ss => ss.Set(), predicate: o => o.CustomerID == "ALFKI"); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Count_with_order_by(bool async) => AssertCount( async, ss => ss.Set().OrderBy(o => o.CustomerID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_OrderBy_Count(bool async) => AssertCount( async, ss => ss.Set().Where(o => o.CustomerID == "ALFKI").OrderBy(o => o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_Where_Count(bool async) => AssertCount( async, ss => ss.Set().OrderBy(o => o.OrderID).Where(o => o.CustomerID == "ALFKI")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_Count_with_predicate(bool async) => AssertCount( async, ss => ss.Set().OrderBy(o => o.OrderID), predicate: o => o.CustomerID == "ALFKI"); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_Where_Count_with_predicate(bool async) => AssertCount( async, ss => ss.Set().OrderBy(o => o.OrderID).Where(o => o.OrderID > 10), predicate: o => o.CustomerID != "ALFKI"); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_OrderBy_Count_client_eval(bool async) => AssertTranslationFailed(() => AssertCount( async, ss => ss.Set().Where(o => ClientEvalPredicate(o)).OrderBy(o => ClientEvalSelectorStateless()))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_Where_Count_client_eval(bool async) => AssertTranslationFailed(() => AssertCount( async, ss => ss.Set().OrderBy(o => ClientEvalSelectorStateless()).Where(o => ClientEvalPredicate(o)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_Where_Count_client_eval_mixed(bool async) => AssertTranslationFailed(() => AssertCount( async, ss => ss.Set().OrderBy(o => o.OrderID).Where(o => ClientEvalPredicate(o)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_Count_with_predicate_client_eval(bool async) => AssertTranslationFailed(() => AssertCount( async, ss => ss.Set().OrderBy(o => ClientEvalSelectorStateless()), predicate: o => ClientEvalPredicate(o))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_Count_with_predicate_client_eval_mixed(bool async) => AssertTranslationFailed(() => AssertCount( async, ss => ss.Set().OrderBy(o => o.OrderID), predicate: o => ClientEvalPredicate(o))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_Where_Count_with_predicate_client_eval(bool async) => AssertTranslationFailed(() => AssertCount( async, ss => ss.Set().OrderBy(o => ClientEvalSelectorStateless()).Where(o => ClientEvalPredicate(o)), predicate: o => ClientEvalPredicate(o))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_Where_Count_with_predicate_client_eval_mixed(bool async) => AssertTranslationFailed(() => AssertCount( async, ss => ss.Set().OrderBy(o => o.OrderID).Where(o => ClientEvalPredicate(o)), predicate: o => o.CustomerID != "ALFKI")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_client_Take(bool async) => AssertQuery( async, @@ -698,32 +698,32 @@ protected static bool ClientEvalPredicate(Order order) private static int ClientEvalSelectorStateless() => 42; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Distinct(bool async) => AssertQuery( async, ss => ss.Set().Distinct()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Distinct_Scalar(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.City).Distinct()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_Distinct(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(c => c.CustomerID).Select(c => c.City).Distinct()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Distinct_OrderBy(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.Country).Distinct().OrderBy(c => c), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Distinct_OrderBy2(bool async) => AssertQuery( async, @@ -731,7 +731,7 @@ public virtual Task Distinct_OrderBy2(bool async) ss => ss.Set().Distinct().OrderBy(c => c.CustomerID, StringComparer.Ordinal), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Distinct_OrderBy3(bool async) => AssertQuery( async, @@ -739,100 +739,100 @@ public virtual Task Distinct_OrderBy3(bool async) ss => ss.Set().Select(c => new { c.CustomerID }).Distinct().OrderBy(a => a.CustomerID, StringComparer.Ordinal), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Distinct_Count(bool async) => AssertCount( async, ss => ss.Set().Distinct()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Select_Distinct_Count(bool async) => AssertCount( async, ss => ss.Set().Select(c => c.City).Select(c => c).Distinct()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Single_Throws(bool async) => Assert.ThrowsAsync(async () => await AssertSingle(async, ss => ss.Set())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Single_Predicate(bool async) => AssertSingle( async, ss => ss.Set(), predicate: c => c.CustomerID == "ALFKI"); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_Single(bool async) => AssertSingle( async, ss => ss.Set().Where(c => c.CustomerID == "ALFKI")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SingleOrDefault_Throws(bool async) => Assert.ThrowsAsync(async () => await AssertSingleOrDefault(async, ss => ss.Set())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SingleOrDefault_Predicate(bool async) => AssertSingle( async, ss => ss.Set(), predicate: c => c.CustomerID == "ALFKI"); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_SingleOrDefault(bool async) => AssertSingleOrDefault( async, ss => ss.Set().Where(c => c.CustomerID == "ALFKI")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task First(bool async) => AssertFirst( async, ss => ss.Set().OrderBy(c => c.ContactName)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task First_Predicate(bool async) => AssertFirst( async, ss => ss.Set().OrderBy(c => c.ContactName), predicate: c => c.City == "London"); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_First(bool async) => AssertFirst( async, // ReSharper disable once ReplaceWithSingleCallToFirst ss => ss.Set().OrderBy(c => c.ContactName).Where(c => c.City == "London")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FirstOrDefault(bool async) => AssertFirstOrDefault( async, ss => ss.Set().OrderBy(c => c.ContactName)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FirstOrDefault_Predicate(bool async) => AssertFirstOrDefault( async, ss => ss.Set().OrderBy(c => c.ContactName), predicate: c => c.City == "London"); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_FirstOrDefault(bool async) => AssertFirstOrDefault( async, ss => ss.Set().OrderBy(c => c.ContactName).Where(c => c.City == "London")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FirstOrDefault_inside_subquery_gets_server_evaluated(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.CustomerID == "ALFKI" && c.Orders.Where(o => o.CustomerID == "ALFKI").FirstOrDefault().CustomerID == "ALFKI")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_collection_navigation_with_FirstOrDefault_chained(bool async) => AssertQuery( async, @@ -843,7 +843,7 @@ public virtual Task Multiple_collection_navigation_with_FirstOrDefault_chained(b .Maybe(x => x.OrderDetails) .Maybe(xx => xx.OrderBy(od => od.ProductID).FirstOrDefault()))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_collection_navigation_with_FirstOrDefault_chained_projecting_scalar(bool async) => AssertQueryScalar( async, @@ -855,70 +855,70 @@ public virtual Task Multiple_collection_navigation_with_FirstOrDefault_chained_p .Maybe(x => x.OrderDetails) .MaybeScalar(x => x.OrderBy(od => od.ProductID).FirstOrDefault().ProductID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task First_inside_subquery_gets_client_evaluated(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.CustomerID == "ALFKI" && c.Orders.Where(o => o.CustomerID == "ALFKI").First().CustomerID == "ALFKI")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Last(bool async) => AssertLast( async, ss => ss.Set().OrderBy(c => c.ContactName)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Last_when_no_order_by(bool async) => AssertLast( async, ss => ss.Set().Where(c => c.CustomerID == "ALFKI")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task LastOrDefault_when_no_order_by(bool async) => AssertLastOrDefault( async, ss => ss.Set().Where(c => c.CustomerID == "ALFKI")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Last_Predicate(bool async) => AssertLast( async, ss => ss.Set().OrderBy(c => c.ContactName), predicate: c => c.City == "London"); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_Last(bool async) => AssertLast( async, ss => ss.Set().OrderBy(c => c.ContactName).Where(c => c.City == "London")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task LastOrDefault(bool async) => AssertLastOrDefault( async, ss => ss.Set().OrderBy(c => c.ContactName)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task LastOrDefault_Predicate(bool async) => AssertLastOrDefault( async, ss => ss.Set().OrderBy(c => c.ContactName), predicate: c => c.City == "London"); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_LastOrDefault(bool async) => AssertLastOrDefault( async, ss => ss.Set().OrderBy(c => c.ContactName).Where(c => c.City == "London")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_subquery(bool async) => AssertQuery( async, ss => ss.Set().Where(c => ss.Set().Select(o => o.CustomerID).Contains(c.CustomerID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Contains_with_local_array_closure(bool async) { var ids = new[] { "ABCDE", "ALFKI" }; @@ -935,7 +935,7 @@ await AssertQuery( assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Contains_with_subquery_and_local_array_closure(bool async) { var ids = new[] { "London", "Buenos Aires" }; @@ -953,7 +953,7 @@ await AssertQuery( .Where(c => ss.Set().Where(c1 => ids.Contains(c1.City)).Any(e => e.CustomerID == c.CustomerID))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Contains_with_local_uint_array_closure(bool async) { var ids = new uint[] { 0, 1 }; @@ -970,7 +970,7 @@ await AssertQuery( assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Contains_with_local_nullable_uint_array_closure(bool async) { var ids = new uint?[] { 0, 1 }; @@ -987,13 +987,13 @@ await AssertQuery( assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_array_inline(bool async) => AssertQuery( async, ss => ss.Set().Where(c => new[] { "ABCDE", "ALFKI" }.Contains(c.CustomerID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_list_closure(bool async) { var ids = new List { "ABCDE", "ALFKI" }; @@ -1002,7 +1002,7 @@ public virtual Task Contains_with_local_list_closure(bool async) ss => ss.Set().Where(c => ids.Contains(c.CustomerID))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_object_list_closure(bool async) { var ids = new List { "ABCDE", "ALFKI" }; @@ -1011,7 +1011,7 @@ public virtual Task Contains_with_local_object_list_closure(bool async) ss => ss.Set().Where(c => ids.Contains(EF.Property(c, nameof(Customer.CustomerID))))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_list_closure_all_null(bool async) { var ids = new List { null, null }; @@ -1021,13 +1021,13 @@ public virtual Task Contains_with_local_list_closure_all_null(bool async) assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_list_inline(bool async) => AssertQuery( async, ss => ss.Set().Where(c => new List { "ABCDE", "ALFKI" }.Contains(c.CustomerID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Contains_with_local_list_inline_closure_mix(bool async) { var id = "ALFKI"; @@ -1043,7 +1043,7 @@ await AssertQuery( ss => ss.Set().Where(c => new List { "ABCDE", id }.Contains(c.CustomerID))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Contains_with_local_enumerable_closure(bool async) { var ids = new[] { "ABCDE", "ALFKI" }.Where(e => e != null); @@ -1060,7 +1060,7 @@ await AssertQuery( assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_object_enumerable_closure(bool async) { var ids = new List { "ABCDE", "ALFKI" }.Where(e => e != null); @@ -1069,7 +1069,7 @@ public virtual Task Contains_with_local_object_enumerable_closure(bool async) ss => ss.Set().Where(c => ids.Contains(EF.Property(c, nameof(Customer.CustomerID))))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_enumerable_closure_all_null(bool async) { var ids = new List { null, null }.Where(e => e != null); @@ -1079,13 +1079,13 @@ public virtual Task Contains_with_local_enumerable_closure_all_null(bool async) assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Contains_with_local_enumerable_inline(bool async) => await AssertQuery( async, ss => ss.Set().Where(c => new List { "ABCDE", "ALFKI" }.Where(e => e != null).Contains(c.CustomerID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Contains_with_local_enumerable_inline_closure_mix(bool async) { var id = "ALFKI"; @@ -1101,7 +1101,7 @@ await AssertQuery( ss => ss.Set().Where(c => new List { "ABCDE", id }.Where(e => e != null).Contains(c.CustomerID))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Contains_with_local_ordered_enumerable_closure(bool async) { var ids = new[] { "ABCDE", "ALFKI" }.Order(); @@ -1118,7 +1118,7 @@ await AssertQuery( assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_object_ordered_enumerable_closure(bool async) { var ids = new List { "ABCDE", "ALFKI" }.Order(); @@ -1127,7 +1127,7 @@ public virtual Task Contains_with_local_object_ordered_enumerable_closure(bool a ss => ss.Set().Where(c => ids.Contains(EF.Property(c, nameof(Customer.CustomerID))))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_ordered_enumerable_closure_all_null(bool async) { var ids = new List { null, null }.Order(); @@ -1137,13 +1137,13 @@ public virtual Task Contains_with_local_ordered_enumerable_closure_all_null(bool assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_ordered_enumerable_inline(bool async) => AssertQuery( async, ss => ss.Set().Where(c => new List { "ABCDE", "ALFKI" }.Order().Contains(c.CustomerID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Contains_with_local_ordered_enumerable_inline_closure_mix(bool async) { var id = "ALFKI"; @@ -1159,7 +1159,7 @@ await AssertQuery( ss => ss.Set().Where(c => new List { "ABCDE", id }.Order().Contains(c.CustomerID))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Contains_with_local_read_only_collection_closure(bool async) { var ids = new[] { "ABCDE", "ALFKI" }.AsReadOnly(); @@ -1176,7 +1176,7 @@ await AssertQuery( assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_object_read_only_collection_closure(bool async) { var ids = new List { "ABCDE", "ALFKI" }.AsReadOnly(); @@ -1185,7 +1185,7 @@ public virtual Task Contains_with_local_object_read_only_collection_closure(bool ss => ss.Set().Where(c => ids.Contains(EF.Property(c, nameof(Customer.CustomerID))))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_ordered_read_only_collection_all_null(bool async) { var ids = new List { null, null }.AsReadOnly(); @@ -1195,13 +1195,13 @@ public virtual Task Contains_with_local_ordered_read_only_collection_all_null(bo assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_read_only_collection_inline(bool async) => AssertQuery( async, ss => ss.Set().Where(c => new List { "ABCDE", "ALFKI" }.AsReadOnly().Contains(c.CustomerID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Contains_with_local_read_only_collection_inline_closure_mix(bool async) { var id = "ALFKI"; @@ -1217,7 +1217,7 @@ await AssertQuery( ss => ss.Set().Where(c => new List { "ABCDE", id }.AsReadOnly().Contains(c.CustomerID))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Contains_with_local_non_primitive_list_inline_closure_mix(bool async) { var id = "ALFKI"; @@ -1235,7 +1235,7 @@ await AssertQuery( .Select(i => i.CustomerID).Contains(c.CustomerID))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_non_primitive_list_closure_mix(bool async) { var ids = new List { new() { CustomerID = "ABCDE" }, new() { CustomerID = "ALFKI" } }; @@ -1245,7 +1245,7 @@ public virtual Task Contains_with_local_non_primitive_list_closure_mix(bool asyn ss => ss.Set().Where(c => ids.Select(i => i.CustomerID).Contains(c.CustomerID))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_collection_false(bool async) { string[] ids = ["ABCDE", "ALFKI"]; @@ -1255,7 +1255,7 @@ public virtual Task Contains_with_local_collection_false(bool async) ss => ss.Set().Where(c => !ids.Contains(c.CustomerID))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_collection_complex_predicate_and(bool async) { string[] ids = ["ABCDE", "ALFKI"]; @@ -1265,7 +1265,7 @@ public virtual Task Contains_with_local_collection_complex_predicate_and(bool as ss => ss.Set().Where(c => (c.CustomerID == "ALFKI" || c.CustomerID == "ABCDE") && ids.Contains(c.CustomerID))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_collection_complex_predicate_or(bool async) { string[] ids = ["ABCDE", "ALFKI"]; @@ -1275,7 +1275,7 @@ public virtual Task Contains_with_local_collection_complex_predicate_or(bool asy ss => ss.Set().Where(c => ids.Contains(c.CustomerID) || (c.CustomerID == "ALFKI" || c.CustomerID == "ABCDE"))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_collection_complex_predicate_not_matching_ins1(bool async) { string[] ids = ["ABCDE", "ALFKI"]; @@ -1285,7 +1285,7 @@ public virtual Task Contains_with_local_collection_complex_predicate_not_matchin ss => ss.Set().Where(c => (c.CustomerID == "ALFKI" || c.CustomerID == "ABCDE") || !ids.Contains(c.CustomerID))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_collection_complex_predicate_not_matching_ins2(bool async) { string[] ids = ["ABCDE", "ALFKI"]; @@ -1296,7 +1296,7 @@ public virtual Task Contains_with_local_collection_complex_predicate_not_matchin assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_collection_sql_injection(bool async) { string[] ids = ["ALFKI", "ABC')); GO; DROP TABLE Orders; GO; --"]; @@ -1306,7 +1306,7 @@ public virtual Task Contains_with_local_collection_sql_injection(bool async) ss => ss.Set().Where(c => ids.Contains(c.CustomerID) || (c.CustomerID == "ALFKI" || c.CustomerID == "ABCDE"))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_collection_empty_closure(bool async) { string[] ids = []; @@ -1317,20 +1317,20 @@ public virtual Task Contains_with_local_collection_empty_closure(bool async) assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_collection_empty_inline(bool async) => AssertQuery( async, ss => ss.Set().Where(c => !(new List().Contains(c.CustomerID)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_top_level(bool async) => AssertSingleResult( async, syncQuery: ss => ss.Set().Select(c => c.CustomerID).Contains("ALFKI"), asyncQuery: ss => ss.Set().Select(c => c.CustomerID).ContainsAsync("ALFKI", default)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_tuple_array_closure(bool async) { var ids = new[] { Tuple.Create(1, 2), Tuple.Create(10248, 11) }; @@ -1340,7 +1340,7 @@ public virtual Task Contains_with_local_tuple_array_closure(bool async) ss => ss.Set().Where(o => ids.Contains(new Tuple(o.OrderID, o.ProductID)))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_local_anonymous_type_array_closure(bool async) { var ids = new[] { new { Id1 = 1, Id2 = 2 }, new { Id1 = 10248, Id2 = 11 } }; @@ -1350,7 +1350,7 @@ public virtual Task Contains_with_local_anonymous_type_array_closure(bool async) ss => ss.Set().Where(o => ids.Contains(new { Id1 = o.OrderID, Id2 = o.ProductID }))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OfType_Select(bool async) => AssertFirst( async, @@ -1359,7 +1359,7 @@ public virtual Task OfType_Select(bool async) .OrderBy(o => o.OrderID) .Select(o => o.Customer.City)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OfType_Select_OfType_Select(bool async) => AssertFirst( async, @@ -1370,7 +1370,7 @@ public virtual Task OfType_Select_OfType_Select(bool async) .OrderBy(o => o.OrderID) .Select(o => o.Customer.City)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Average_with_non_matching_types_in_projection_doesnt_produce_second_explicit_cast(bool async) => AssertAverage( async, @@ -1379,7 +1379,7 @@ public virtual Task Average_with_non_matching_types_in_projection_doesnt_produce .OrderBy(o => o.OrderID) .Select(o => (long)o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Max_with_non_matching_types_in_projection_introduces_explicit_cast(bool async) => AssertMax( async, @@ -1388,7 +1388,7 @@ public virtual Task Max_with_non_matching_types_in_projection_introduces_explici .OrderBy(o => o.OrderID) .Select(o => (long)o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Min_with_non_matching_types_in_projection_introduces_explicit_cast(bool async) => AssertMin( async, @@ -1396,19 +1396,19 @@ public virtual Task Min_with_non_matching_types_in_projection_introduces_explici .Where(o => o.CustomerID.StartsWith("A")) .Select(o => (long)o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_Take_Last_gives_correct_result(bool async) => AssertLast( async, ss => ss.Set().OrderBy(c => c.CustomerID).Take(20)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_Skip_Last_gives_correct_result(bool async) => AssertLast( async, ss => ss.Set().OrderBy(c => c.CustomerID).Skip(20)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_over_entityType_should_rewrite_to_identity_equality(bool async) => AssertSingleResult( async, @@ -1419,7 +1419,7 @@ public virtual Task Contains_over_entityType_should_rewrite_to_identity_equality .Where(o => o.CustomerID == "VINET") .ContainsAsync(ss.Set().Single(o => o.OrderID == 10248), default)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task List_Contains_over_entityType_should_rewrite_to_identity_equality(bool async) { var someOrder = new Order { OrderID = 10248 }; @@ -1429,14 +1429,14 @@ public virtual Task List_Contains_over_entityType_should_rewrite_to_identity_equ ss => ss.Set().Where(c => c.Orders.Contains(someOrder))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task List_Contains_with_constant_list(bool async) => AssertQuery( async, ss => ss.Set().Where(c => new List { new() { CustomerID = "ALFKI" }, new() { CustomerID = "ANATR" } }.Contains(c))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task List_Contains_with_parameter_list(bool async) { var customers = new List { new() { CustomerID = "ALFKI" }, new() { CustomerID = "ANATR" } }; @@ -1446,7 +1446,7 @@ public virtual Task List_Contains_with_parameter_list(bool async) ss => ss.Set().Where(c => customers.Contains(c))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_parameter_list_value_type_id(bool async) { var orders = new List { new() { OrderID = 10248 }, new() { OrderID = 10249 } }; @@ -1456,13 +1456,13 @@ public virtual Task Contains_with_parameter_list_value_type_id(bool async) ss => ss.Set().Where(o => orders.Contains(o))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_constant_list_value_type_id(bool async) => AssertQuery( async, ss => ss.Set().Where(o => new List { new() { OrderID = 10248 }, new() { OrderID = 10249 } }.Contains(o))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task IImmutableSet_Contains_with_parameter(bool async) { IImmutableSet ids = ImmutableHashSet.Empty.Add("ALFKI"); @@ -1472,7 +1472,7 @@ public virtual Task IImmutableSet_Contains_with_parameter(bool async) ss => ss.Set().Where(c => ids.Contains(c.CustomerID))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task IReadOnlySet_Contains_with_parameter(bool async) { IReadOnlySet ids = new HashSet { "ALFKI" }; @@ -1482,7 +1482,7 @@ public virtual Task IReadOnlySet_Contains_with_parameter(bool async) ss => ss.Set().Where(c => ids.Contains(c.CustomerID))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task HashSet_Contains_with_parameter(bool async) { var ids = new HashSet { "ALFKI" }; @@ -1492,7 +1492,7 @@ public virtual Task HashSet_Contains_with_parameter(bool async) ss => ss.Set().Where(c => ids.Contains(c.CustomerID))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ImmutableHashSet_Contains_with_parameter(bool async) { var ids = ImmutableHashSet.Empty.Add("ALFKI"); @@ -1504,34 +1504,34 @@ public virtual Task ImmutableHashSet_Contains_with_parameter(bool async) private static readonly IEnumerable _customers = ["ALFKI", "WRONG"]; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Array_cast_to_IEnumerable_Contains_with_constant(bool async) => AssertQuery( async, ss => ss.Set().Where(c => _customers.Contains(c.CustomerID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_over_keyless_entity_throws(bool async) => AssertSingleResult( async, ss => ss.Set().Contains(ss.Set().First()), ss => ss.Set().ContainsAsync(ss.Set().First(), default)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_over_entityType_with_null_should_rewrite_to_false(bool async) => AssertSingleResult( async, ss => ss.Set().Where(o => o.CustomerID == "VINET").Contains(null), ss => ss.Set().Where(o => o.CustomerID == "VINET").ContainsAsync(null, default)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_over_entityType_with_null_should_rewrite_to_identity_equality_subquery(bool async) => AssertQuery( async, ss => ss.Set().Where(o => ss.Set().Where(o => o.CustomerID == "VINET").Contains(null)), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_over_entityType_with_null_in_projection(bool async) => AssertQuery( async, @@ -1539,21 +1539,21 @@ public virtual Task Contains_over_entityType_with_null_in_projection(bool async) .Contains(null)), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_over_scalar_with_null_should_rewrite_to_identity_equality_subquery(bool async) => AssertQuery( async, ss => ss.Set().Where(o => ss.Set().Where(o => o.CustomerID == "VINET").Select(o => o.EmployeeID).Contains(null)), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_over_entityType_with_null_should_rewrite_to_identity_equality_subquery_negated(bool async) => AssertQuery( async, ss => ss.Set() .Where(o => !ss.Set().Where(o => o.CustomerID == "VINET").Select(o => o.EmployeeID).Contains(null))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_over_entityType_with_null_should_rewrite_to_identity_equality_subquery_complex(bool async) => AssertQuery( async, @@ -1562,46 +1562,46 @@ public virtual Task Contains_over_entityType_with_null_should_rewrite_to_identit == ss.Set().Where(o => o.CustomerID != "VINET").Select(o => o.EmployeeID) .Contains(null))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_over_nullable_scalar_with_null_in_subquery_translated_correctly(bool async) => AssertQueryScalar( async, ss => ss.Set() .Select(o => ss.Set().Where(o => o.CustomerID == "VINET").Select(o => o.EmployeeID).Contains(null))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_over_non_nullable_scalar_with_null_in_subquery_simplifies_to_false(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => ss.Set().Where(o => o.CustomerID != "VINET").Select(o => o.CustomerID).Contains(null))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_over_entityType_should_materialize_when_composite(bool async) => AssertQuery( async, ss => ss.Set().Where(o => o.ProductID == 42 && ss.Set().Contains(o))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_over_entityType_should_materialize_when_composite2(bool async) => AssertQuery( async, ss => ss.Set().Where(o => o.ProductID == 42 && ss.Set().Where(x => x.OrderID > 42).Contains(o))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_FirstOrDefault_in_projection_does_not_do_client_eval(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(c => c.CustomerID.FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_constant_Sum(bool async) => AssertSum( async, ss => ss.Set(), selector: e => 1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_any_equals_operator(bool async) { var ids = new List @@ -1616,13 +1616,13 @@ public virtual Task Where_subquery_any_equals_operator(bool async) ss => ss.Set().Where(c => ids.Any(li => li == c.CustomerID))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_any_equals(bool async) => AssertQuery( async, ss => ss.Set().Where(c => new[] { "ABCDE", "ALFKI", "ANATR" }.Any(li => li.Equals(c.CustomerID)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_any_equals_static(bool async) { var ids = new List @@ -1637,7 +1637,7 @@ public virtual Task Where_subquery_any_equals_static(bool async) ss => ss.Set().Where(c => ids.Any(li => Equals(li, c.CustomerID)))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_subquery_where_any(bool async) { var ids = new[] { "ABCDE", "ALFKI", "ANATR" }; @@ -1651,7 +1651,7 @@ await AssertQuery( ss => ss.Set().Where(c => c.City == "México D.F.").Where(c => ids.Any(li => c.CustomerID == li))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_all_not_equals_operator(bool async) { var ids = new List @@ -1666,7 +1666,7 @@ public virtual Task Where_subquery_all_not_equals_operator(bool async) ss => ss.Set().Where(c => ids.All(li => li != c.CustomerID))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_all_not_equals(bool async) => AssertQuery( async, @@ -1677,7 +1677,7 @@ public virtual Task Where_subquery_all_not_equals(bool async) "ANATR" }.All(li => !li.Equals(c.CustomerID)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_all_not_equals_static(bool async) { var ids = new List @@ -1692,7 +1692,7 @@ public virtual Task Where_subquery_all_not_equals_static(bool async) ss => ss.Set().Where(c => ids.All(li => !Equals(li, c.CustomerID)))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_subquery_where_all(bool async) { var ids = new List @@ -1711,37 +1711,37 @@ await AssertQuery( ss => ss.Set().Where(c => c.City == "México D.F.").Where(c => ids.All(li => c.CustomerID != li))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Cast_to_same_Type_Count_works(bool async) => AssertCount( async, ss => ss.Set().Cast()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Cast_before_aggregate_is_preserved(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(c => c.Orders.Select(o => (double?)o.OrderID).Average())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Enumerable_min_is_mapped_to_Queryable_1(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(c => c.Orders.Min(o => (double?)o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Enumerable_min_is_mapped_to_Queryable_2(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(c => c.Orders.Select(o => (double?)o.OrderID).Min())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task DefaultIfEmpty_selects_only_required_columns(bool async) => AssertQuery( async, ss => ss.Set().Select(p => new { p.ProductID, p.ProductName }).DefaultIfEmpty().Select(p => p.ProductName)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_Last_member_access_in_projection_translated(bool async) => AssertQuery( async, @@ -1750,7 +1750,7 @@ public virtual Task Collection_Last_member_access_in_projection_translated(bool ss => ss.Set().Where(c => c.CustomerID.StartsWith("F")) .Where(c => c.Orders.OrderByDescending(o => o.OrderID).LastOrDefault().Maybe(x => x.CustomerID) == c.CustomerID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_LastOrDefault_member_access_in_projection_translated(bool async) => AssertQuery( async, @@ -1759,14 +1759,14 @@ public virtual Task Collection_LastOrDefault_member_access_in_projection_transla ss => ss.Set().Where(c => c.CustomerID.StartsWith("F")) .Where(c => c.Orders.OrderByDescending(o => o.OrderID).LastOrDefault().Maybe(x => x.CustomerID) == c.CustomerID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_over_explicit_cast_over_column(bool async) => AssertSum( async, ss => ss.Set(), o => (long?)o.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Count_on_projection_with_client_eval(bool async) { await AssertCount( @@ -1782,7 +1782,7 @@ await AssertCount( ss => ss.Set().Select(o => new { Id = CodeFormat(o.OrderID) })); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Average_with_unmapped_property_access_throws_meaningful_exception(bool async) => AssertTranslationFailedWithDetails( () => AssertAverage( @@ -1794,67 +1794,67 @@ public virtual Task Average_with_unmapped_property_access_throws_meaningful_exce private static string CodeFormat(int str) => str.ToString(); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_over_empty_returns_zero(bool async) => AssertSum( async, ss => ss.Set().Where(o => o.OrderID == 42), o => o.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Average_over_default_returns_default(bool async) => AssertAverage( async, ss => ss.Set().Where(o => o.OrderID == 10248), o => o.OrderID - 10248); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Max_over_default_returns_default(bool async) => AssertMax( async, ss => ss.Set().Where(o => o.OrderID == 10248), o => o.OrderID - 10248); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Min_over_default_returns_default(bool async) => AssertMin( async, ss => ss.Set().Where(o => o.OrderID == 10248), o => o.OrderID - 10248); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Average_after_DefaultIfEmpty_does_not_throw(bool async) => AssertAverage( async, ss => ss.Set().Where(o => o.OrderID == 10243).Select(o => o.OrderID).DefaultIfEmpty()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Max_after_DefaultIfEmpty_does_not_throw(bool async) => AssertMax( async, ss => ss.Set().Where(o => o.OrderID == 10243).Select(o => o.OrderID).DefaultIfEmpty()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Min_after_DefaultIfEmpty_does_not_throw(bool async) => AssertMin( async, ss => ss.Set().Where(o => o.OrderID == 10243).Select(o => o.OrderID).DefaultIfEmpty()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task MaxBy_after_DefaultIfEmpty_does_not_throw(bool async) => AssertMaxBy( async, ss => ss.Set().Where(o => o.OrderID == 10243).Select(o => o.OrderID).DefaultIfEmpty(), selector: c => c); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task MinBy_after_DefaultIfEmpty_does_not_throw(bool async) => AssertMinBy( async, ss => ss.Set().Where(o => o.OrderID == 10243).Select(o => o.OrderID).DefaultIfEmpty(), selector: c => c); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Average_on_nav_subquery_in_projection(bool async) => AssertQuery( async, @@ -1874,14 +1874,14 @@ public virtual Task Average_on_nav_subquery_in_projection(bool async) } }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task All_true(bool async) => AssertAll( async, ss => ss.Set(), predicate: x => true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Count_after_client_projection(bool async) => AssertCount( async, @@ -1890,13 +1890,13 @@ public virtual Task Count_after_client_projection(bool async) .Select(o => new { o.OrderID, Customer = o.Customer is Customer ? new { o.Customer.ContactName } : null }) .Take(1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Not_Any_false(bool async) => AssertQuery( async, ss => ss.Set().Where(c => !c.Orders.Any(o => false)).Select(c => c.CustomerID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // #32374 + [Theory, MemberData(nameof(IsAsyncData))] // #32374 public virtual Task Contains_inside_aggregate_function_with_GroupBy(bool async) { var cities = new[] { "London", "Berlin" }; @@ -1908,7 +1908,7 @@ public virtual Task Contains_inside_aggregate_function_with_GroupBy(bool async) .Select(g => g.Count(c => cities.Contains(c.City)))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // #32374 + [Theory, MemberData(nameof(IsAsyncData))] // #32374 public virtual Task Contains_inside_Average_without_GroupBy(bool async) { var cities = new[] { "London", "Berlin" }; @@ -1919,7 +1919,7 @@ public virtual Task Contains_inside_Average_without_GroupBy(bool async) selector: c => cities.Contains(c.City) ? 1.0 : 0.0); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // #32374 + [Theory, MemberData(nameof(IsAsyncData))] // #32374 public virtual Task Contains_inside_Sum_without_GroupBy(bool async) { var cities = new[] { "London", "Berlin" }; @@ -1930,7 +1930,7 @@ public virtual Task Contains_inside_Sum_without_GroupBy(bool async) selector: c => cities.Contains(c.City) ? 1 : 0); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // #32374 + [Theory, MemberData(nameof(IsAsyncData))] // #32374 public virtual Task Contains_inside_Count_without_GroupBy(bool async) { var cities = new[] { "London", "Berlin" }; @@ -1941,7 +1941,7 @@ public virtual Task Contains_inside_Count_without_GroupBy(bool async) predicate: c => cities.Contains(c.City)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // #32374 + [Theory, MemberData(nameof(IsAsyncData))] // #32374 public virtual Task Contains_inside_LongCount_without_GroupBy(bool async) { var cities = new[] { "London", "Berlin" }; @@ -1952,7 +1952,7 @@ public virtual Task Contains_inside_LongCount_without_GroupBy(bool async) predicate: c => cities.Contains(c.City)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // #32374 + [Theory, MemberData(nameof(IsAsyncData))] // #32374 public virtual Task Contains_inside_Max_without_GroupBy(bool async) { var cities = new[] { "London", "Berlin" }; @@ -1963,7 +1963,7 @@ public virtual Task Contains_inside_Max_without_GroupBy(bool async) selector: c => cities.Contains(c.City) ? 1 : 0); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // #32374 + [Theory, MemberData(nameof(IsAsyncData))] // #32374 public virtual Task Contains_inside_Min_without_GroupBy(bool async) { var cities = new[] { "London", "Berlin" }; @@ -1974,7 +1974,7 @@ public virtual Task Contains_inside_Min_without_GroupBy(bool async) selector: c => cities.Contains(c.City) ? 1 : 0); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Return_type_of_singular_operator_is_preserved(bool async) { await AssertFirst( @@ -2022,7 +2022,7 @@ await AssertLastOrDefault( asserter: (e, a) => Assert.Equal(e.CustomerId, a.CustomerId)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Type_casting_inside_sum(bool async) => AssertSum( async, diff --git a/test/EFCore.Specification.Tests/Query/NorthwindAsNoTrackingQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/NorthwindAsNoTrackingQueryTestBase.cs index 144c98f7f4d..3afd4b056c7 100644 --- a/test/EFCore.Specification.Tests/Query/NorthwindAsNoTrackingQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/NorthwindAsNoTrackingQueryTestBase.cs @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore.Query; public abstract class NorthwindAsNoTrackingQueryTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : NorthwindQueryFixtureBase, new() { - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] public virtual Task Entity_not_added_to_state_manager(bool useParam, bool async) => useParam ? AssertQuery( @@ -20,7 +20,7 @@ public virtual Task Entity_not_added_to_state_manager(bool useParam, bool async) async, ss => ss.Set().AsNoTracking()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Applied_to_body_clause(bool async) => AssertQuery( async, @@ -30,7 +30,7 @@ on c.CustomerID equals o.CustomerID where c.CustomerID == "ALFKI" select o); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Applied_to_multiple_body_clauses(bool async) => AssertQuery( async, @@ -40,7 +40,7 @@ from o in ss.Set().AsNoTracking() select new { c, o }, elementSorter: e => (e.c.CustomerID, e.o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Applied_to_body_clause_with_projection(bool async) => AssertQuery( async, @@ -57,7 +57,7 @@ on c.CustomerID equals o.CustomerID }, elementSorter: e => (e.CustomerID, e.o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Applied_to_projection(bool async) => AssertQuery( async, @@ -68,7 +68,7 @@ on c.CustomerID equals o.CustomerID select new { c, o }).AsNoTracking(), elementSorter: e => (e.c.CustomerID, e.o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Can_get_current_values(bool async) { using var db = CreateContext(); @@ -89,7 +89,7 @@ public virtual async Task Can_get_current_values(bool async) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_and_collection(bool async) => AssertQuery( async, @@ -98,13 +98,13 @@ public virtual Task Include_reference_and_collection(bool async) .Include(o => o.OrderDetails) .AsNoTracking()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Applied_after_navigation_expansion(bool async) => AssertQuery( async, ss => ss.Set().Where(o => o.Customer.City != "London").AsNoTracking()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_simple_shadow(bool async) => AssertQuery( async, @@ -112,13 +112,13 @@ public virtual Task Where_simple_shadow(bool async) .Where(e => EF.Property(e, "Title") == "Sales Representative") .AsNoTracking()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Query_fast_path_when_ctor_binding(bool async) => AssertQuery( async, ss => ss.Set().AsNoTracking()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_simple(bool async) => AssertQuery( async, diff --git a/test/EFCore.Specification.Tests/Query/NorthwindAsTrackingQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/NorthwindAsTrackingQueryTestBase.cs index 2a9824031d2..5ca1b0fbd1f 100644 --- a/test/EFCore.Specification.Tests/Query/NorthwindAsTrackingQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/NorthwindAsTrackingQueryTestBase.cs @@ -11,7 +11,7 @@ public abstract class NorthwindAsTrackingQueryTestBase(TFixture fixtur { protected TFixture Fixture { get; } = fixture; - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Entity_added_to_state_manager(bool useParam) { using var context = CreateContext(); @@ -23,7 +23,7 @@ public virtual void Entity_added_to_state_manager(bool useParam) Assert.Equal(91, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public virtual void Applied_to_body_clause() { using var context = CreateContext(); @@ -39,7 +39,7 @@ on c.CustomerID equals o.CustomerID Assert.Equal(6, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public virtual void Applied_to_multiple_body_clauses() { using var context = CreateContext(); @@ -54,7 +54,7 @@ from o in context.Set().AsTracking() Assert.Equal(919, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public virtual void Applied_to_body_clause_with_projection() { using var context = CreateContext(); @@ -76,7 +76,7 @@ on c.CustomerID equals o.CustomerID Assert.Equal(7, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public virtual void Applied_to_projection() { using var context = CreateContext(); diff --git a/test/EFCore.Specification.Tests/Query/NorthwindChangeTrackingQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/NorthwindChangeTrackingQueryTestBase.cs index 2650bca5f98..b7fa985b058 100644 --- a/test/EFCore.Specification.Tests/Query/NorthwindChangeTrackingQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/NorthwindChangeTrackingQueryTestBase.cs @@ -11,7 +11,7 @@ public abstract class NorthwindChangeTrackingQueryTestBase(TFixture fi { protected TFixture Fixture { get; } = fixture; - [ConditionalFact] + [Fact] public virtual void Entity_reverts_when_state_set_to_unchanged() { using var context = CreateContext(); @@ -37,7 +37,7 @@ public virtual void Entity_reverts_when_state_set_to_unchanged() Assert.Equal(EntityState.Unchanged, firstTrackedEntity.State); } - [ConditionalFact] + [Fact] public virtual void Multiple_entities_can_revert() { using var context = CreateContext(); @@ -66,7 +66,7 @@ public virtual void Multiple_entities_can_revert() Assert.Equal(customerRegion, newCustomerRegion); } - [ConditionalFact] + [Fact] public virtual void Entity_does_not_revert_when_attached_on_DbContext() { using var context = CreateContext(); @@ -90,7 +90,7 @@ public virtual void Entity_does_not_revert_when_attached_on_DbContext() Assert.Equal("425-882-8080", firstTrackedEntity.Property(c => c.Phone).OriginalValue); } - [ConditionalFact] + [Fact] public virtual void Entity_does_not_revert_when_attached_on_DbSet() { using var context = CreateContext(); @@ -115,7 +115,7 @@ public virtual void Entity_does_not_revert_when_attached_on_DbSet() } // ReSharper disable PossibleMultipleEnumeration - [ConditionalFact] + [Fact] public virtual void Entity_range_does_not_revert_when_attached_dbContext() { using var context = CreateContext(); @@ -153,7 +153,7 @@ public virtual void Entity_range_does_not_revert_when_attached_dbContext() Assert.Equal("425-882-8080", trackedEntity1.Property(c => c.Phone).OriginalValue); } - [ConditionalFact] + [Fact] public virtual void Entity_range_does_not_revert_when_attached_dbSet() { using var context = CreateContext(); @@ -192,7 +192,7 @@ public virtual void Entity_range_does_not_revert_when_attached_dbSet() } // ReSharper restore PossibleMultipleEnumeration - [ConditionalFact] + [Fact] public virtual void Can_disable_and_reenable_query_result_tracking() { using var context = CreateContext(); @@ -220,7 +220,7 @@ public virtual void Can_disable_and_reenable_query_result_tracking() Assert.Equal(9, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public virtual void Can_disable_and_reenable_query_result_tracking_starting_with_NoTracking() { using var context = CreateNoTrackingContext(); @@ -241,7 +241,7 @@ public virtual void Can_disable_and_reenable_query_result_tracking_starting_with Assert.Single(context.ChangeTracker.Entries()); } - [ConditionalFact] + [Fact] public virtual void Can_disable_and_reenable_query_result_tracking_query_caching() { using (var context = CreateContext()) @@ -267,7 +267,7 @@ public virtual void Can_disable_and_reenable_query_result_tracking_query_caching } } - [ConditionalFact] + [Fact] public virtual void Can_disable_and_reenable_query_result_tracking_query_caching_using_options() { using (var context = CreateContext()) @@ -291,7 +291,7 @@ public virtual void Can_disable_and_reenable_query_result_tracking_query_caching } } - [ConditionalFact] + [Fact] public virtual void Can_disable_and_reenable_query_result_tracking_query_caching_single_context() { using var context = CreateContext(); @@ -312,7 +312,7 @@ public virtual void Can_disable_and_reenable_query_result_tracking_query_caching Assert.Equal(9, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public virtual void AsTracking_switches_tracking_on_when_off_in_options() { using var context = CreateNoTrackingContext(); @@ -322,7 +322,7 @@ public virtual void AsTracking_switches_tracking_on_when_off_in_options() Assert.Equal(9, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public virtual void Precedence_of_tracking_modifiers() { using var context = CreateContext(); @@ -332,7 +332,7 @@ public virtual void Precedence_of_tracking_modifiers() Assert.Equal(9, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public virtual void Precedence_of_tracking_modifiers2() { using var context = CreateContext(); @@ -342,7 +342,7 @@ public virtual void Precedence_of_tracking_modifiers2() Assert.Empty(context.ChangeTracker.Entries()); } - [ConditionalFact] + [Fact] public virtual void Precedence_of_tracking_modifiers3() { using var context = CreateContext(); @@ -358,7 +358,7 @@ on c.CustomerID equals o.CustomerID Assert.Equal(6, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public virtual void Precedence_of_tracking_modifiers4() { using var context = CreateContext(); @@ -374,7 +374,7 @@ on c.CustomerID equals o.CustomerID Assert.Empty(context.ChangeTracker.Entries()); } - [ConditionalFact] + [Fact] public virtual void Precedence_of_tracking_modifiers5() { using var context = CreateContext(); diff --git a/test/EFCore.Specification.Tests/Query/NorthwindCompiledQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/NorthwindCompiledQueryTestBase.cs index 4b5fa4d554e..0a0b8fb492a 100644 --- a/test/EFCore.Specification.Tests/Query/NorthwindCompiledQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/NorthwindCompiledQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.Northwind; @@ -15,7 +15,7 @@ public abstract class NorthwindCompiledQueryTestBase(TFixture fixture) { protected TFixture Fixture { get; } = fixture; - [ConditionalFact] + [Fact] public virtual void DbSet_query() { var query = EF.CompileQuery((NorthwindContext context) => context.Customers); @@ -31,7 +31,7 @@ public virtual void DbSet_query() } } - [ConditionalFact] + [Fact] public virtual void DbSet_query_first() { var query = EF.CompileQuery((NorthwindContext context) => context.Set().OrderBy(c => c.CustomerID).First()); @@ -42,7 +42,7 @@ public virtual void DbSet_query_first() } } - [ConditionalFact] + [Fact] public virtual void Keyless_query() { var query = EF.CompileQuery((NorthwindContext context) => context.CustomerQueries); @@ -58,7 +58,7 @@ public virtual void Keyless_query() } } - [ConditionalFact] + [Fact] public virtual void Keyless_query_first() { var query = EF.CompileQuery((NorthwindContext context) => context.CustomerQueries.OrderBy(c => c.CompanyName).First()); @@ -69,7 +69,7 @@ public virtual void Keyless_query_first() } } - [ConditionalFact] + [Fact] public virtual void Query_ending_with_include() { var query = EF.CompileQuery((NorthwindContext context) @@ -86,7 +86,7 @@ public virtual void Query_ending_with_include() } } - [ConditionalFact] + [Fact] public virtual void Untyped_context() { var query = EF.CompileQuery((DbContext context) => context.Set()); @@ -102,7 +102,7 @@ public virtual void Untyped_context() } } - [ConditionalFact] + [Fact] public virtual void Query_with_single_parameter() { var query = EF.CompileQuery((NorthwindContext context, string customerID) @@ -119,7 +119,7 @@ public virtual void Query_with_single_parameter() } } - [ConditionalFact] + [Fact] public virtual void Query_with_single_parameter_with_include() { var query = EF.CompileQuery((NorthwindContext context, string customerID) @@ -136,7 +136,7 @@ public virtual void Query_with_single_parameter_with_include() } } - [ConditionalFact] + [Fact] public virtual void First_query_with_single_parameter() { var query = EF.CompileQuery((NorthwindContext context, string customerID) @@ -153,7 +153,7 @@ public virtual void First_query_with_single_parameter() } } - [ConditionalFact] + [Fact] public virtual void Query_with_two_parameters() { var query = EF.CompileQuery((NorthwindContext context, object _, string customerID) @@ -170,7 +170,7 @@ public virtual void Query_with_two_parameters() } } - [ConditionalFact] + [Fact] public virtual void Query_with_three_parameters() { var query = EF.CompileQuery((NorthwindContext context, object _, int __, string customerID) @@ -187,7 +187,7 @@ public virtual void Query_with_three_parameters() } } - [ConditionalFact] + [Fact] public virtual void Query_with_array_parameter() { var query = EF.CompileQuery((NorthwindContext context, string[] args) @@ -204,7 +204,7 @@ public virtual void Query_with_array_parameter() } } - [ConditionalFact] + [Fact] public virtual void Query_with_contains() { var query = EF.CompileQuery((NorthwindContext context, string[] args) @@ -221,7 +221,7 @@ public virtual void Query_with_contains() } } - [ConditionalFact] + [Fact] public virtual void Multiple_queries() { var query = EF.CompileQuery((NorthwindContext context) @@ -239,7 +239,7 @@ public virtual void Multiple_queries() } } - [ConditionalFact] + [Fact] public virtual void Query_with_closure() { var customerID = "ALFKI"; @@ -260,7 +260,7 @@ public virtual void Query_with_closure() } } - [ConditionalFact] + [Fact] public virtual void Query_with_closure_null() { string customerID = null; @@ -274,7 +274,7 @@ public virtual void Query_with_closure_null() } } - [ConditionalFact] + [Fact] public virtual async Task DbSet_query_async() { var query = EF.CompileAsyncQuery((NorthwindContext context) => context.Customers); @@ -290,7 +290,7 @@ public virtual async Task DbSet_query_async() } } - [ConditionalFact] + [Fact] public virtual async Task DbSet_query_first_async() { var query = EF.CompileAsyncQuery((NorthwindContext context) @@ -302,7 +302,7 @@ public virtual async Task DbSet_query_first_async() } } - [ConditionalFact] + [Fact] public virtual async Task Keyless_query_async() { var query = EF.CompileAsyncQuery((NorthwindContext context) => context.CustomerQueries); @@ -318,7 +318,7 @@ public virtual async Task Keyless_query_async() } } - [ConditionalFact] + [Fact] public virtual async Task Keyless_query_first_async() { var query = EF.CompileAsyncQuery((NorthwindContext context) @@ -330,7 +330,7 @@ public virtual async Task Keyless_query_first_async() } } - [ConditionalFact] + [Fact] public virtual async Task Untyped_context_async() { var query = EF.CompileAsyncQuery((DbContext context) => context.Set()); @@ -346,7 +346,7 @@ public virtual async Task Untyped_context_async() } } - [ConditionalFact] + [Fact] public virtual async Task Query_with_single_parameter_async() { var query = EF.CompileAsyncQuery((NorthwindContext context, string customerID) @@ -363,7 +363,7 @@ public virtual async Task Query_with_single_parameter_async() } } - [ConditionalFact] + [Fact] public virtual async Task First_query_with_single_parameter_async() { var query = EF.CompileAsyncQuery((NorthwindContext context, string customerID) @@ -380,7 +380,7 @@ public virtual async Task First_query_with_single_parameter_async() } } - [ConditionalFact] + [Fact] public virtual async Task First_query_with_cancellation_async() { var query = EF.CompileAsyncQuery((NorthwindContext context, string customerID, CancellationToken ct) @@ -399,7 +399,7 @@ public virtual async Task First_query_with_cancellation_async() } } - [ConditionalFact] + [Fact] public virtual async Task Query_with_two_parameters_async() { var query = EF.CompileAsyncQuery((NorthwindContext context, object _, string customerID) @@ -416,7 +416,7 @@ public virtual async Task Query_with_two_parameters_async() } } - [ConditionalFact] + [Fact] public virtual async Task Query_with_three_parameters_async() { var query = EF.CompileAsyncQuery((NorthwindContext context, object _, int __, string customerID) @@ -433,7 +433,7 @@ public virtual async Task Query_with_three_parameters_async() } } - [ConditionalFact] + [Fact] public virtual async Task Query_with_array_parameter_async() { var query = EF.CompileAsyncQuery((NorthwindContext context, string[] args) @@ -450,7 +450,7 @@ public virtual async Task Query_with_array_parameter_async() } } - [ConditionalFact] + [Fact] public virtual async Task Query_with_closure_async() { var customerID = "ALFKI"; @@ -471,7 +471,7 @@ public virtual async Task Query_with_closure_async() } } - [ConditionalFact] + [Fact] public virtual async Task Query_with_closure_async_null() { string customerID = null; @@ -485,7 +485,7 @@ public virtual async Task Query_with_closure_async_null() } } - [ConditionalFact] + [Fact] public virtual void Compiled_query_when_does_not_end_in_query_operator() { var query = EF.CompileQuery((NorthwindContext context, string customerID) @@ -497,7 +497,7 @@ public virtual void Compiled_query_when_does_not_end_in_query_operator() } } - [ConditionalFact] + [Fact] public virtual void Compiled_query_when_using_member_on_context() { var query = EF.CompileQuery((NorthwindContext context) @@ -516,7 +516,7 @@ public virtual void Compiled_query_when_using_member_on_context() } } - [ConditionalFact] + [Fact] public virtual async Task Compiled_query_with_max_parameters() { var syncEnumerableQuery = EF.CompileQuery(( @@ -801,7 +801,7 @@ await asyncSingleResultQueryWithCancellationToken( "CHOPS", "CONSH", default)); } - [ConditionalFact] + [Fact] public virtual void Compiled_query_with_EF_Constant_throws() { var query = EF.CompileQuery( @@ -813,7 +813,7 @@ public virtual void Compiled_query_with_EF_Constant_throws() Assert.Equal(CoreStrings.EFMethodNotSupportedInCompiledQueries("EF.Constant"), message); } - [ConditionalFact] + [Fact] public virtual void Compiled_query_with_EF_Parameter_throws() { var customerID = "ALFKI"; diff --git a/test/EFCore.Specification.Tests/Query/NorthwindDbFunctionsQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/NorthwindDbFunctionsQueryTestBase.cs index d5e130f7aed..0441352dcdc 100644 --- a/test/EFCore.Specification.Tests/Query/NorthwindDbFunctionsQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/NorthwindDbFunctionsQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.Northwind; @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query; public abstract class NorthwindDbFunctionsQueryTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : NorthwindQueryFixtureBase, new() { - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Like_literal(bool async) => AssertCount( async, @@ -18,7 +18,7 @@ public virtual Task Like_literal(bool async) c => EF.Functions.Like(c.ContactName, "%M%"), c => c.ContactName.Contains("M") || c.ContactName.Contains("m")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Like_identity(bool async) => AssertCount( async, @@ -27,7 +27,7 @@ public virtual Task Like_identity(bool async) c => EF.Functions.Like(c.ContactName, c.ContactName), c => true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Like_literal_with_escape(bool async) => AssertCount( async, @@ -36,7 +36,7 @@ public virtual Task Like_literal_with_escape(bool async) c => EF.Functions.Like(c.ContactName, "!%", "!"), c => c.ContactName.Contains("%")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Like_all_literals(bool async) => AssertCount( async, @@ -45,7 +45,7 @@ public virtual Task Like_all_literals(bool async) c => EF.Functions.Like("FOO", "%O%"), c => "FOO".Contains("O") || "FOO".Contains("m")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Like_all_literals_with_escape(bool async) => AssertCount( async, diff --git a/test/EFCore.Specification.Tests/Query/NorthwindEFPropertyIncludeQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/NorthwindEFPropertyIncludeQueryTestBase.cs index b29842a6e09..9332d2c6a1a 100644 --- a/test/EFCore.Specification.Tests/Query/NorthwindEFPropertyIncludeQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/NorthwindEFPropertyIncludeQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.Northwind; @@ -12,7 +12,7 @@ public abstract class NorthwindEFPropertyIncludeQueryTestBase(TFixture { private static readonly IncludeRewritingExpressionVisitor _includeRewritingExpressionVisitor = new(); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_non_existing_navigation(bool async) => Assert.Contains( CoreStrings.InvalidIncludeExpression("Property(o, \"ArcticMonkeys\")"), diff --git a/test/EFCore.Specification.Tests/Query/NorthwindFunctionsQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/NorthwindFunctionsQueryTestBase.cs index c66bcf4ded5..822e85d22d2 100644 --- a/test/EFCore.Specification.Tests/Query/NorthwindFunctionsQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/NorthwindFunctionsQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.Northwind; @@ -28,7 +28,7 @@ protected virtual void ClearLog() { } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Client_evaluation_of_uncorrelated_method_call(bool async) => AssertQuery( async, @@ -36,14 +36,14 @@ public virtual Task Client_evaluation_of_uncorrelated_method_call(bool async) .Where(od => od.UnitPrice < 7) .Where(od => Math.Abs(-10) < od.ProductID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Order_by_length_twice(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(c => c.CustomerID.Length).ThenBy(c => c.CustomerID.Length).ThenBy(c => c.CustomerID), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Order_by_length_twice_followed_by_projection_of_naked_collection_navigation(bool async) => AssertQuery( async, @@ -52,7 +52,7 @@ public virtual Task Order_by_length_twice_followed_by_projection_of_naked_collec assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_over_round_works_correctly_in_projection(bool async) => AssertQuery( async, @@ -66,7 +66,7 @@ public virtual Task Sum_over_round_works_correctly_in_projection(bool async) Assert.Equal(e.Sum, a.Sum); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_over_round_works_correctly_in_projection_2(bool async) => AssertQuery( async, @@ -80,7 +80,7 @@ public virtual Task Sum_over_round_works_correctly_in_projection_2(bool async) Assert.Equal(e.Sum, a.Sum); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_over_truncate_works_correctly_in_projection(bool async) => AssertQuery( async, @@ -94,7 +94,7 @@ public virtual Task Sum_over_truncate_works_correctly_in_projection(bool async) Assert.Equal(e.Sum, a.Sum); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Sum_over_truncate_works_correctly_in_projection_2(bool async) => AssertQuery( async, @@ -108,13 +108,13 @@ public virtual Task Sum_over_truncate_works_correctly_in_projection_2(bool async Assert.Equal(e.Sum, a.Sum); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_functions_nested(bool async) => AssertQuery( async, ss => ss.Set().Where(c => Math.Pow(c.CustomerID.Length, 2) == 25)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Static_equals_nullable_datetime_compared_to_non_nullable(bool async) { var arg = new DateTime(1996, 7, 4); @@ -124,7 +124,7 @@ public virtual Task Static_equals_nullable_datetime_compared_to_non_nullable(boo ss => ss.Set().Where(o => Equals(o.OrderDate, arg))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Static_equals_int_compared_to_long(bool async) { long arg = 10248; diff --git a/test/EFCore.Specification.Tests/Query/NorthwindGroupByQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/NorthwindGroupByQueryTestBase.cs index 9cf62879be5..b029cb843b1 100644 --- a/test/EFCore.Specification.Tests/Query/NorthwindGroupByQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/NorthwindGroupByQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Diagnostics.CodeAnalysis; @@ -20,13 +20,13 @@ protected virtual void ClearLog() #region GroupByProperty - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Select_Average(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.CustomerID).Select(g => g.Average(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Select_Average_with_group_enumerable_projected(bool async) // Select with aggregate after grouping. Issue #18923. => AssertTranslationFailed(() => @@ -36,61 +36,61 @@ public virtual Task GroupBy_Property_Select_Average_with_group_enumerable_projec .GroupBy(o => o.CustomerID, (k, es) => new { k, es }) .Select(g => g.es.Average(int (o) => o.OrderID)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Select_Count(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.CustomerID).Select(g => g.Count())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Select_LongCount(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.CustomerID).Select(g => g.LongCount())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Select_Count_with_nulls(bool async) => AssertQuery( async, ss => ss.Set().GroupBy(o => o.City).Select(g => new { City = g.Key, Faxes = g.Select(g2 => g2.Fax).Count() })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Select_LongCount_with_nulls(bool async) => AssertQuery( async, ss => ss.Set().GroupBy(o => o.City).Select(g => new { City = g.Key, Faxes = g.Select(g2 => g2.Fax).LongCount() })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Select_Max(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.CustomerID).Select(g => g.Max(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Select_MaxBy(bool async) => AssertQuery( async, ss => ss.Set().GroupBy(o => o.CustomerID).Select(g => g.MaxBy(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Select_Min(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.CustomerID).Select(g => g.Min(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Select_MinBy(bool async) => AssertQuery( async, ss => ss.Set().GroupBy(o => o.CustomerID).Select(g => g.MinBy(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Select_Sum(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => EF.Property(o, "CustomerID")).Select(g => g.Sum(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Select_Sum_Min_Max_Avg(bool async) => AssertQuery( async, @@ -104,7 +104,7 @@ public virtual Task GroupBy_Property_Select_Sum_Min_Max_Avg(bool async) }), e => (e.Min, e.Max)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Select_Key_Average(bool async) => AssertQuery( async, @@ -112,7 +112,7 @@ public virtual Task GroupBy_Property_Select_Key_Average(bool async) new { g.Key, Average = g.Average(o => o.OrderID) }), e => e.Key); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Select_Key_Count(bool async) => AssertQuery( async, @@ -120,7 +120,7 @@ public virtual Task GroupBy_Property_Select_Key_Count(bool async) new { g.Key, Count = g.Count() }), e => e.Key); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Select_Key_LongCount(bool async) => AssertQuery( async, @@ -128,7 +128,7 @@ public virtual Task GroupBy_Property_Select_Key_LongCount(bool async) new { g.Key, LongCount = g.LongCount() }), e => e.Key); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Select_Key_Max(bool async) => AssertQuery( async, @@ -136,7 +136,7 @@ public virtual Task GroupBy_Property_Select_Key_Max(bool async) new { g.Key, Max = g.Max(o => o.OrderID) }), e => e.Key); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Select_Key_Min(bool async) => AssertQuery( async, @@ -144,7 +144,7 @@ public virtual Task GroupBy_Property_Select_Key_Min(bool async) new { g.Key, Min = g.Min(o => o.OrderID) }), e => e.Key); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Select_Key_Sum(bool async) => AssertQuery( async, @@ -152,7 +152,7 @@ public virtual Task GroupBy_Property_Select_Key_Sum(bool async) new { g.Key, Sum = g.Sum(o => o.OrderID) }), e => e.Key); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Select_Key_Sum_Min_Max_Avg(bool async) => AssertQuery( async, @@ -167,7 +167,7 @@ public virtual Task GroupBy_Property_Select_Key_Sum_Min_Max_Avg(bool async) }), e => e.Min + " " + e.Max); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Select_Sum_Min_Key_Max_Avg(bool async) => AssertQuery( async, @@ -182,7 +182,7 @@ public virtual Task GroupBy_Property_Select_Sum_Min_Key_Max_Avg(bool async) }), e => e.Min + " " + e.Max); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Select_key_multiple_times_and_aggregate(bool async) => AssertQuery( async, @@ -195,7 +195,7 @@ public virtual Task GroupBy_Property_Select_key_multiple_times_and_aggregate(boo }), e => e.Key1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Select_Key_with_constant(bool async) => AssertQuery( async, @@ -203,7 +203,7 @@ public virtual Task GroupBy_Property_Select_Key_with_constant(bool async) new { g.Key, Count = g.Count() }), e => e.Key.Value); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_aggregate_projecting_conditional_expression(bool async) => AssertQuery( async, @@ -211,7 +211,7 @@ public virtual Task GroupBy_aggregate_projecting_conditional_expression(bool asy new { g.Key, SomeValue = g.Count() == 0 ? 1 : g.Sum(o => o.OrderID % 2 == 0 ? 1 : 0) / g.Count() }), e => (e.Key, e.SomeValue)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_aggregate_projecting_conditional_expression_based_on_group_key(bool async) => AssertQuery( async, @@ -219,7 +219,7 @@ public virtual Task GroupBy_aggregate_projecting_conditional_expression_based_on new { Key = g.Key == null ? "is null" : "is not null", Sum = g.Sum(o => o.OrderID) }), e => e.Sum); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_with_group_key_access_thru_navigation(bool async) => AssertQuery( async, @@ -228,7 +228,7 @@ public virtual Task GroupBy_with_group_key_access_thru_navigation(bool async) .Select(g => new { g.Key, Aggregate = g.Sum(od => od.OrderID) }), elementSorter: e => e.Key); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_with_group_key_access_thru_nested_navigation(bool async) => AssertQuery( async, @@ -237,7 +237,7 @@ public virtual Task GroupBy_with_group_key_access_thru_nested_navigation(bool as .Select(g => new { g.Key, Aggregate = g.Sum(od => od.OrderID) }), elementSorter: e => e.Key); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task GroupBy_with_grouping_key_using_Like(bool async) { using var context = CreateContext(); @@ -255,7 +255,7 @@ public virtual async Task GroupBy_with_grouping_key_using_Like(bool async) Assert.Equal(30, result.Single(t => t.Key).Count); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_with_grouping_key_DateTime_Day(bool async) => AssertQuery( async, @@ -264,7 +264,7 @@ public virtual Task GroupBy_with_grouping_key_DateTime_Day(bool async) .Select(g => new { g.Key, Count = g.Count() }), elementSorter: e => e.Key); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_with_cast_inside_grouping_aggregate(bool async) => AssertQuery( async, @@ -278,7 +278,7 @@ public virtual Task GroupBy_with_cast_inside_grouping_aggregate(bool async) }), elementSorter: e => e.Key); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Group_by_with_arithmetic_operation_inside_aggregate(bool async) => AssertQuery( async, @@ -292,7 +292,7 @@ public virtual Task Group_by_with_arithmetic_operation_inside_aggregate(bool asy Assert.Equal(e.Sum, a.Sum); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Group_by_with_projection_into_DTO(bool async) => AssertQuery( async, @@ -310,7 +310,7 @@ private class LongIntDto public int Count { get; set; } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_select_function_groupby_followed_by_another_select_with_aggregates(bool async) => await AssertQuery( async, @@ -330,13 +330,13 @@ public virtual async Task Where_select_function_groupby_followed_by_another_sele Sum2 = x.Sum(y => y.Age > 30 && y.Age <= 60 ? y.OrderID : 0) })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Group_by_column_project_constant(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.CustomerID).OrderBy(g => g.Key).Select(e => 42)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Key_plus_key_in_projection(bool async) => AssertQuery( async, @@ -347,14 +347,14 @@ from c in grouping.DefaultIfEmpty() .GroupBy(o => o.OrderID) .Select(g => new { Value = g.Key + g.Key, Average = g.Average(o => o.OrderID) })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_with_aggregate_through_navigation_property(bool async) => AssertQuery( async, ss => ss.Set().GroupBy(c => c.EmployeeID).Select(g => new { max = g.Max(i => i.Customer.Region) }), elementSorter: e => e.max); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_with_aggregate_containing_complex_where(bool async) => AssertQuery( async, @@ -368,43 +368,43 @@ into tg #region GroupByAnonymousAggregate - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_anonymous_Select_Average(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => new { o.CustomerID }).Select(g => g.Average(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_anonymous_Select_Count(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => new { o.CustomerID }).Select(g => g.Count())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_anonymous_Select_LongCount(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => new { o.CustomerID }).Select(g => g.LongCount())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_anonymous_Select_Max(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => new { o.CustomerID }).Select(g => g.Max(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_anonymous_Select_Min(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => new { o.CustomerID }).Select(g => g.Min(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_anonymous_Select_Sum(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => new { o.CustomerID }).Select(g => g.Sum(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_anonymous_Select_Sum_Min_Max_Avg(bool async) => AssertQuery( async, @@ -418,50 +418,50 @@ public virtual Task GroupBy_anonymous_Select_Sum_Min_Max_Avg(bool async) }), e => e.Min + " " + e.Max); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_anonymous_with_alias_Select_Key_Sum(bool async) => AssertQuery( async, ss => ss.Set().GroupBy(o => new { Id = o.CustomerID }).Select(g => new { Key = g.Key.Id, Sum = g.Sum(o => o.OrderID) })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Composite_Select_Average(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => new { o.CustomerID, o.EmployeeID }).Select(g => g.Average(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Composite_Select_Count(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => new { o.CustomerID, o.EmployeeID }).Select(g => g.Count())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Composite_Select_LongCount(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => new { o.CustomerID, o.EmployeeID }).Select(g => g.LongCount())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Composite_Select_Max(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => new { o.CustomerID, o.EmployeeID }).Select(g => g.Max(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Composite_Select_Min(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => new { o.CustomerID, o.EmployeeID }).Select(g => g.Min(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Composite_Select_Sum(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => new { o.CustomerID, o.EmployeeID }).Select(g => g.Sum(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Composite_Select_Sum_Min_Max_Avg(bool async) => AssertQuery( async, @@ -475,7 +475,7 @@ public virtual Task GroupBy_Composite_Select_Sum_Min_Max_Avg(bool async) }), e => e.Min + " " + e.Max); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Composite_Select_Key_Average(bool async) => AssertQuery( async, @@ -483,7 +483,7 @@ public virtual Task GroupBy_Composite_Select_Key_Average(bool async) new { g.Key, Average = g.Average(o => o.OrderID) }), e => e.Key.CustomerID + " " + e.Key.EmployeeID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Composite_Select_Key_Count(bool async) => AssertQuery( async, @@ -491,7 +491,7 @@ public virtual Task GroupBy_Composite_Select_Key_Count(bool async) new { g.Key, Count = g.Count() }), e => e.Key.CustomerID + " " + e.Key.EmployeeID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Composite_Select_Key_LongCount(bool async) => AssertQuery( async, @@ -499,7 +499,7 @@ public virtual Task GroupBy_Composite_Select_Key_LongCount(bool async) new { g.Key, LongCount = g.LongCount() }), e => e.Key.CustomerID + " " + e.Key.EmployeeID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Composite_Select_Key_Max(bool async) => AssertQuery( async, @@ -507,7 +507,7 @@ public virtual Task GroupBy_Composite_Select_Key_Max(bool async) new { g.Key, Max = g.Max(o => o.OrderID) }), e => e.Key.CustomerID + " " + e.Key.EmployeeID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Composite_Select_Key_Min(bool async) => AssertQuery( async, @@ -515,7 +515,7 @@ public virtual Task GroupBy_Composite_Select_Key_Min(bool async) new { g.Key, Min = g.Min(o => o.OrderID) }), e => e.Key.CustomerID + " " + e.Key.EmployeeID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Composite_Select_Key_Sum(bool async) => AssertQuery( async, @@ -523,7 +523,7 @@ public virtual Task GroupBy_Composite_Select_Key_Sum(bool async) new { g.Key, Sum = g.Sum(o => o.OrderID) }), e => e.Key.CustomerID + " " + e.Key.EmployeeID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Composite_Select_Key_Sum_Min_Max_Avg(bool async) => AssertQuery( async, @@ -538,7 +538,7 @@ public virtual Task GroupBy_Composite_Select_Key_Sum_Min_Max_Avg(bool async) }), e => e.Min + " " + e.Max); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Composite_Select_Sum_Min_Key_Max_Avg(bool async) => AssertQuery( async, @@ -553,7 +553,7 @@ public virtual Task GroupBy_Composite_Select_Sum_Min_Key_Max_Avg(bool async) }), e => e.Min + " " + e.Max); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Composite_Select_Sum_Min_Key_flattened_Max_Avg(bool async) => AssertQuery( async, @@ -569,14 +569,14 @@ public virtual Task GroupBy_Composite_Select_Sum_Min_Key_flattened_Max_Avg(bool }), e => e.Min + " " + e.Max); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Dto_as_key_Select_Sum(bool async) => AssertQuery( async, ss => ss.Set().GroupBy(o => new NominalType { CustomerID = o.CustomerID, EmployeeID = o.EmployeeID }).Select(g => new { Sum = g.Sum(o => o.OrderID), g.Key })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Dto_as_element_selector_Select_Sum(bool async) => AssertQuery( async, @@ -606,7 +606,7 @@ private bool Equals(NominalType other) && EmployeeID == other.EmployeeID; } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Composite_Select_Dto_Sum_Min_Key_flattened_Max_Avg(bool async) => AssertQuery( async, @@ -646,7 +646,7 @@ private bool Equals(CompositeDto other) && string.Equals(CustomerId, other.CustomerId); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Composite_Select_Sum_Min_part_Key_flattened_Max_Avg(bool async) => AssertQuery( async, @@ -661,7 +661,7 @@ public virtual Task GroupBy_Composite_Select_Sum_Min_part_Key_flattened_Max_Avg( }), e => e.Min + " " + e.Max); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Constant_Select_Sum_Min_Key_Max_Avg(bool async) => AssertQuery( async, @@ -676,7 +676,7 @@ public virtual Task GroupBy_Constant_Select_Sum_Min_Key_Max_Avg(bool async) }), e => e.Min + " " + e.Max); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Constant_with_element_selector_Select_Sum(bool async) => AssertQuery( async, @@ -684,7 +684,7 @@ public virtual Task GroupBy_Constant_with_element_selector_Select_Sum(bool async new { Sum = g.Sum(o => o.OrderID) }), e => e.Sum); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Constant_with_element_selector_Select_Sum2(bool async) => AssertQuery( async, @@ -692,7 +692,7 @@ public virtual Task GroupBy_Constant_with_element_selector_Select_Sum2(bool asyn new { Sum = g.Sum(o => o.OrderID) }), e => e.Sum); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Constant_with_element_selector_Select_Sum3(bool async) => AssertQuery( async, @@ -706,7 +706,7 @@ public virtual Task GroupBy_Constant_with_element_selector_Select_Sum3(bool asyn new { Sum = g.Sum(o => o.OrderID) }), e => e.Sum); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_after_predicate_Constant_Select_Sum_Min_Key_Max_Avg(bool async) => AssertQuery( async, @@ -721,7 +721,7 @@ public virtual Task GroupBy_after_predicate_Constant_Select_Sum_Min_Key_Max_Avg( }), e => e.Min + " " + e.Max); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Constant_with_element_selector_Select_Sum_Min_Key_Max_Avg(bool async) => AssertQuery( async, @@ -729,7 +729,7 @@ public virtual Task GroupBy_Constant_with_element_selector_Select_Sum_Min_Key_Ma new { Sum = g.Sum(), g.Key }), e => e.Sum); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_constant_with_where_on_grouping_with_aggregate_operators(bool async) => AssertQuery( async, @@ -743,7 +743,7 @@ public virtual Task GroupBy_constant_with_where_on_grouping_with_aggregate_opera Average = g.Where(i => 1 == g.Key).Average(o => o.OrderID), })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_param_Select_Sum_Min_Key_Max_Avg(bool async) { var a = 2; @@ -762,7 +762,7 @@ public virtual Task GroupBy_param_Select_Sum_Min_Key_Max_Avg(bool async) e => e.Min + " " + e.Max); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_param_with_element_selector_Select_Sum(bool async) { var a = 2; @@ -774,7 +774,7 @@ public virtual Task GroupBy_param_with_element_selector_Select_Sum(bool async) e => e.Sum); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_param_with_element_selector_Select_Sum2(bool async) { var a = 2; @@ -786,7 +786,7 @@ public virtual Task GroupBy_param_with_element_selector_Select_Sum2(bool async) e => e.Sum); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_param_with_element_selector_Select_Sum3(bool async) { var a = 2; @@ -804,7 +804,7 @@ public virtual Task GroupBy_param_with_element_selector_Select_Sum3(bool async) e => e.Sum); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_param_with_element_selector_Select_Sum_Min_Key_Max_Avg(bool async) { var a = 2; @@ -816,7 +816,7 @@ public virtual Task GroupBy_param_with_element_selector_Select_Sum_Min_Key_Max_A e => e.Sum); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_anonymous_key_type_mismatch_with_aggregate(bool async) => AssertQuery( async, @@ -825,7 +825,7 @@ public virtual Task GroupBy_anonymous_key_type_mismatch_with_aggregate(bool asyn .Select(g => new { I0 = g.Count(), I1 = g.Key.I0 }), elementSorter: a => a.I1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_based_on_renamed_property_simple(bool async) => AssertQuery( async, @@ -834,7 +834,7 @@ public virtual Task GroupBy_based_on_renamed_property_simple(bool async) .Select(x => new { x.Key, Count = x.Count() }), elementSorter: e => e.Key.Renamed); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_based_on_renamed_property_complex(bool async) => AssertQuery( async, @@ -845,7 +845,7 @@ public virtual Task GroupBy_based_on_renamed_property_complex(bool async) .Select(x => new { x.Key, Count = x.Count() }), elementSorter: e => e.Key); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_groupby_anonymous_orderby_anonymous_projection(bool async) => AssertQuery( async, @@ -856,7 +856,7 @@ into grouping orderby grouping.Key.OrderDate select new { grouping.Key.CustomerID, grouping.Key.OrderDate }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Odata_groupby_empty_key(bool async) => AssertQuery( async, @@ -897,43 +897,43 @@ protected class LastInChain #region GroupByWithElementSelectorAggregate - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_scalar_element_selector_Average(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.CustomerID, o => o.OrderID).Select(g => g.Average())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_scalar_element_selector_Count(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.CustomerID, o => o.OrderID).Select(g => g.Count())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_scalar_element_selector_LongCount(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.CustomerID, o => o.OrderID).Select(g => g.LongCount())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_scalar_element_selector_Max(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.CustomerID, o => o.OrderID).Select(g => g.Max())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_scalar_element_selector_Min(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.CustomerID, o => o.OrderID).Select(g => g.Min())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_scalar_element_selector_Sum(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.CustomerID, o => o.OrderID).Select(g => g.Sum())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_scalar_element_selector_Sum_Min_Max_Avg(bool async) => AssertQuery( async, @@ -947,49 +947,49 @@ public virtual Task GroupBy_Property_scalar_element_selector_Sum_Min_Max_Avg(boo }), e => e.Min + " " + e.Max); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_anonymous_element_selector_Average(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy( o => o.CustomerID, o => new { o.OrderID, o.EmployeeID }).Select(g => g.Average(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_anonymous_element_selector_Count(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy( o => o.CustomerID, o => new { o.OrderID, o.EmployeeID }).Select(g => g.Count())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_anonymous_element_selector_LongCount(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy( o => o.CustomerID, o => new { o.OrderID, o.EmployeeID }).Select(g => g.LongCount())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_anonymous_element_selector_Max(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy( o => o.CustomerID, o => new { o.OrderID, o.EmployeeID }).Select(g => g.Max(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_anonymous_element_selector_Min(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy( o => o.CustomerID, o => new { o.OrderID, o.EmployeeID }).Select(g => g.Min(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_anonymous_element_selector_Sum(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy( o => o.CustomerID, o => new { o.OrderID, o.EmployeeID }).Select(g => g.Sum(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_anonymous_element_selector_Sum_Min_Max_Avg(bool async) => AssertQuery( async, @@ -1004,35 +1004,35 @@ public virtual Task GroupBy_Property_anonymous_element_selector_Sum_Min_Max_Avg( }), e => e.Sum + " " + e.Avg); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_element_selector_complex_aggregate(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.CustomerID, o => new { o.OrderID }) .Select(g => g.Sum(e => e.OrderID + 1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_element_selector_complex_aggregate2(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.CustomerID, o => new { o.OrderID, o.OrderDate }) .Select(g => g.Sum(e => e.OrderID + 1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_element_selector_complex_aggregate3(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.CustomerID, o => o.OrderID) .Select(g => g.Sum(e => e + 1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_element_selector_complex_aggregate4(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.CustomerID, o => o.OrderID + 1) .Select(g => g.Sum(e => e))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Element_selector_with_case_block_repeated_inside_another_case_block_in_projection(bool async) => AssertQuery( async, @@ -1042,7 +1042,7 @@ public virtual Task Element_selector_with_case_block_repeated_inside_another_cas into g select new { g.Key.OrderID, Aggregate = g.Sum(s => s.IsAlfki ? s.OrderId : -s.OrderId) }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_conditional_properties(bool async) { var groupByMonth = false; @@ -1077,21 +1077,21 @@ public virtual Task GroupBy_conditional_properties(bool async) #region GroupByAfterComposition - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_empty_key_Aggregate(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => new { }) .Select(g => g.Sum(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_empty_key_Aggregate_Key(bool async) => AssertQuery( async, ss => ss.Set().GroupBy(o => new { }) .Select(g => new { g.Key, Sum = g.Sum(o => o.OrderID) })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_GroupBy_Aggregate(bool async) => AssertQueryScalar( async, @@ -1099,7 +1099,7 @@ public virtual Task OrderBy_GroupBy_Aggregate(bool async) .GroupBy(o => o.CustomerID) .Select(g => g.Sum(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_Skip_GroupBy_Aggregate(bool async) => AssertQueryScalar( async, @@ -1108,7 +1108,7 @@ public virtual Task OrderBy_Skip_GroupBy_Aggregate(bool async) .GroupBy(o => o.CustomerID) .Select(g => g.Average(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_Take_GroupBy_Aggregate(bool async) => AssertQueryScalar( async, @@ -1117,7 +1117,7 @@ public virtual Task OrderBy_Take_GroupBy_Aggregate(bool async) .GroupBy(o => o.CustomerID) .Select(g => g.Min(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_Skip_Take_GroupBy_Aggregate(bool async) => AssertQueryScalar( async, @@ -1127,7 +1127,7 @@ public virtual Task OrderBy_Skip_Take_GroupBy_Aggregate(bool async) .GroupBy(o => o.CustomerID) .Select(g => g.Max(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Distinct_GroupBy_Aggregate(bool async) => AssertQuery( async, @@ -1136,7 +1136,7 @@ public virtual Task Distinct_GroupBy_Aggregate(bool async) .Select(g => new { g.Key, c = g.Count() }), e => e.Key); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Anonymous_projection_Distinct_GroupBy_Aggregate(bool async) => AssertQuery( async, @@ -1146,7 +1146,7 @@ public virtual Task Anonymous_projection_Distinct_GroupBy_Aggregate(bool async) .Select(g => new { g.Key, c = g.Count() }), e => e.Key); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_GroupBy_Aggregate(bool async) => AssertQuery( async, @@ -1155,7 +1155,7 @@ public virtual Task SelectMany_GroupBy_Aggregate(bool async) .Select(g => new { g.Key, c = g.Count() }), e => e.Key); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_GroupBy_Aggregate(bool async) => AssertQuery( async, @@ -1166,7 +1166,7 @@ join c in ss.Set() on o.CustomerID equals c.CustomerID .Select(g => new { g.Key, Count = g.Average(o => o.OrderID) }), e => e.Key); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_required_navigation_member_Aggregate(bool async) => AssertQuery( async, @@ -1174,7 +1174,7 @@ public virtual Task GroupBy_required_navigation_member_Aggregate(bool async) .Select(g => new { CustomerId = g.Key, Count = g.Count() }), e => e.CustomerId); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_complex_GroupBy_Aggregate(bool async) => AssertQuery( async, @@ -1187,7 +1187,7 @@ on o.CustomerID equals c.CustomerID .Select(g => new { g.Key, Count = g.Average(o => o.OrderID) }), e => e.Key); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_GroupBy_Aggregate(bool async) => AssertQuery( async, @@ -1202,7 +1202,7 @@ from o in grouping.DefaultIfEmpty() .Select(g => new { g.Key, Average = g.Average(o => o.OrderID) }), e => e.Key); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_GroupBy_Aggregate_2(bool async) => AssertQuery( async, @@ -1216,7 +1216,7 @@ from o in grouping.DefaultIfEmpty() .Select(g => new { g.Key, Max = g.Max(c => c.City) }), e => e.Key); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_GroupBy_Aggregate_3(bool async) => AssertQuery( async, @@ -1230,7 +1230,7 @@ from c in grouping.DefaultIfEmpty() .Select(g => new { g.Key, Average = g.Average(o => o.OrderID) }), e => e.Key); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_GroupBy_Aggregate_4(bool async) => AssertQuery( async, @@ -1244,7 +1244,7 @@ from o in grouping.DefaultIfEmpty() .Select(g => new { Value = g.Key, Max = g.Max(c => c.City) }), e => e.Value); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_GroupBy_Aggregate_5(bool async) => AssertQuery( async, @@ -1258,7 +1258,7 @@ from c in grouping.DefaultIfEmpty() .Select(g => new { Value = g.Key, Average = g.Average(o => o.OrderID) }), e => e.Value); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_optional_navigation_member_Aggregate(bool async) => AssertQuery( async, @@ -1266,7 +1266,7 @@ public virtual Task GroupBy_optional_navigation_member_Aggregate(bool async) .Select(g => new { Country = g.Key, Count = g.Count() }), e => e.Country); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_complex_GroupBy_Aggregate(bool async) => AssertQuery( async, @@ -1282,7 +1282,7 @@ where o.OrderID > 10300 .Select(g => new { g.Key, Count = g.Average(o => o.OrderID) }), e => e.Key); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Self_join_GroupBy_Aggregate(bool async) => AssertQuery( async, @@ -1292,7 +1292,7 @@ join o2 in ss.Set() on o1.OrderID equals o2.OrderID .Select(g => new { g.Key, Count = g.Average(o => o.OrderID) }), e => e.Key); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_multi_navigation_members_Aggregate(bool async) => AssertQuery( async, @@ -1300,7 +1300,7 @@ public virtual Task GroupBy_multi_navigation_members_Aggregate(bool async) .Select(g => new { CompositeKey = g.Key, Count = g.Count() }), e => e.CompositeKey.CustomerID + " " + e.CompositeKey.ProductName); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_simple_groupby(bool async) => AssertQuery( async, @@ -1309,7 +1309,7 @@ public virtual Task Union_simple_groupby(bool async) .GroupBy(c => c.City) .Select(g => new { g.Key, Total = g.Count() })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_anonymous_GroupBy_Aggregate(bool async) => AssertQuery( async, @@ -1329,14 +1329,14 @@ public virtual Task Select_anonymous_GroupBy_Aggregate(bool async) Avg = g.Average(o => o.C) })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_principal_key_property_optimization(bool async) => AssertQuery( async, ss => ss.Set().GroupBy(o => o.Customer.CustomerID) .Select(g => new { g.Key, Count = g.Count() })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_after_anonymous_projection_and_distinct_followed_by_another_anonymous_projection(bool async) => AssertQuery( async, @@ -1352,7 +1352,7 @@ public virtual Task GroupBy_after_anonymous_projection_and_distinct_followed_by_ Assert.Equal(e.Count, a.Count); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_complex_key_aggregate(bool async) => AssertQuery( async, @@ -1366,7 +1366,7 @@ public virtual Task GroupBy_complex_key_aggregate(bool async) Assert.Equal(e.Count, a.Count); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_complex_key_aggregate_2(bool async) => AssertQuery( async, @@ -1388,7 +1388,7 @@ into g Assert.Equal(e.Payment, a.Payment); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_collection_of_scalar_before_GroupBy_aggregate(bool async) => AssertQuery( async, @@ -1412,7 +1412,7 @@ public virtual Task Select_collection_of_scalar_before_GroupBy_aggregate(bool as #region GroupByAggregateComposition - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_OrderBy_key(bool async) => AssertQuery( async, @@ -1421,7 +1421,7 @@ public virtual Task GroupBy_OrderBy_key(bool async) .Select(g => new { g.Key, c = g.Count() }), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_OrderBy_count(bool async) => AssertQuery( async, @@ -1431,7 +1431,7 @@ public virtual Task GroupBy_OrderBy_count(bool async) .Select(g => new { g.Key, Count = g.Count() }), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_OrderBy_count_Select_sum(bool async) => AssertQuery( async, @@ -1441,7 +1441,7 @@ public virtual Task GroupBy_OrderBy_count_Select_sum(bool async) .Select(g => new { g.Key, Sum = g.Sum(o => o.OrderID) }), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_aggregate_Contains(bool async) => AssertQuery( async, @@ -1450,7 +1450,7 @@ public virtual Task GroupBy_aggregate_Contains(bool async) .Select(g => g.Key) .Contains(o.CustomerID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_aggregate_Pushdown(bool async) => AssertQuery( async, @@ -1461,7 +1461,7 @@ public virtual Task GroupBy_aggregate_Pushdown(bool async) .Take(20) .Skip(4)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_aggregate_using_grouping_key_Pushdown(bool async) => AssertQuery( async, @@ -1472,7 +1472,7 @@ public virtual Task GroupBy_aggregate_using_grouping_key_Pushdown(bool async) .Take(20) .Skip(4)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_aggregate_Pushdown_followed_by_projecting_Length(bool async) => AssertQueryScalar( async, @@ -1484,7 +1484,7 @@ public virtual Task GroupBy_aggregate_Pushdown_followed_by_projecting_Length(boo .Skip(4) .Select(e => e.Length)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_aggregate_Pushdown_followed_by_projecting_constant(bool async) => AssertQueryScalar( async, @@ -1496,7 +1496,7 @@ public virtual Task GroupBy_aggregate_Pushdown_followed_by_projecting_constant(b .Skip(4) .Select(e => 5)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_filter_key(bool async) => AssertQuery( async, @@ -1504,7 +1504,7 @@ public virtual Task GroupBy_filter_key(bool async) .Where(o => o.Key == "ALFKI") .Select(g => new { g.Key, c = g.Count() })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_filter_count(bool async) => AssertQuery( async, @@ -1512,7 +1512,7 @@ public virtual Task GroupBy_filter_count(bool async) .Where(o => o.Count() > 4) .Select(g => new { g.Key, Count = g.Count() })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_count_filter(bool async) => AssertQuery( async, @@ -1521,7 +1521,7 @@ public virtual Task GroupBy_count_filter(bool async) .Select(g => new { Name = g.Key, Count = g.Count() }) .Where(o => o.Count > 0)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_filter_count_OrderBy_count_Select_sum(bool async) => AssertQuery( async, @@ -1536,7 +1536,7 @@ public virtual Task GroupBy_filter_count_OrderBy_count_Select_sum(bool async) Sum = g.Sum(o => o.OrderID) })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Aggregate_Join(bool async) => AssertQuery( async, @@ -1548,7 +1548,7 @@ join c in ss.Set() on a.CustomerID equals c.CustomerID join o in ss.Set() on a.LastOrderID equals o.OrderID select new { c, o }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Aggregate_Join_converted_from_SelectMany(bool async) => AssertQuery( async, @@ -1559,7 +1559,7 @@ from o in ss.Set().GroupBy(o => o.CustomerID) .Where(c1 => c.CustomerID == c1.CustomerID) select c); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Aggregate_LeftJoin_converted_from_SelectMany(bool async) => AssertQuery( async, @@ -1571,7 +1571,7 @@ from o in ss.Set().GroupBy(o => o.CustomerID) .DefaultIfEmpty() select c); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_GroupBy_Aggregate_multijoins(bool async) => AssertQuery( async, @@ -1584,7 +1584,7 @@ on c.CustomerID equals a.CustomerID join o in ss.Set() on a.LastOrderID equals o.OrderID select new { c, o }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_GroupBy_Aggregate_single_join(bool async) => AssertQuery( async, @@ -1596,7 +1596,7 @@ join a in ss.Set().GroupBy(o => o.CustomerID) on c.CustomerID equals a.CustomerID select new { c, a.LastOrderID }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_GroupBy_Aggregate_with_another_join(bool async) => AssertQuery( async, @@ -1615,7 +1615,7 @@ from g in grouping g.OrderID }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_GroupBy_Aggregate_distinct_single_join(bool async) => AssertQuery( async, @@ -1628,7 +1628,7 @@ from c in ss.Set() on c.CustomerID equals a.CustomerID select new { c, a.LastOrderID }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_GroupBy_Aggregate_with_left_join(bool async) => AssertQuery( async, @@ -1650,7 +1650,7 @@ from g in grouping.DefaultIfEmpty() select new { c, LastOrderID = g != null ? g.LastOrderID : (int?)null }, elementSorter: r => r.c.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_GroupBy_Aggregate_in_subquery(bool async) => AssertQuery( async, @@ -1670,7 +1670,7 @@ on o.CustomerID equals i.c.CustomerID i.c.CustomerID }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_GroupBy_Aggregate_on_key(bool async) => AssertQuery( async, @@ -1683,7 +1683,7 @@ on c.CustomerID equals a.Key select new { c, a.LastOrderID }), e => e.c.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_with_result_selector(bool async) => AssertQuery( async, @@ -1702,19 +1702,19 @@ public virtual Task GroupBy_with_result_selector(bool async) }), e => e.Min + " " + e.Max); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Sum_constant(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.CustomerID).Select(g => g.Sum(e => 1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Sum_constant_cast(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.CustomerID).Select(g => g.Sum(e => 1L))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Distinct_GroupBy_OrderBy_key(bool async) => AssertQuery( async, @@ -1724,7 +1724,7 @@ public virtual Task Distinct_GroupBy_OrderBy_key(bool async) .Select(g => new { g.Key, c = g.Count() }), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_nested_collection_with_groupby(bool async) => AssertQuery( async, @@ -1736,7 +1736,7 @@ public virtual Task Select_nested_collection_with_groupby(bool async) assertOrder: true, elementAsserter: (e, a) => Assert.True(e.OrderBy(x => x).SequenceEqual(a.OrderBy(x => x)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_uncorrelated_collection_with_groupby_works(bool async) => AssertQuery( async, @@ -1747,7 +1747,7 @@ public virtual Task Select_uncorrelated_collection_with_groupby_works(bool async assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_uncorrelated_collection_with_groupby_multiple_collections_work(bool async) => AssertQuery( async, @@ -1766,7 +1766,7 @@ public virtual Task Select_uncorrelated_collection_with_groupby_multiple_collect AssertCollection(e.c2, a.c2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_GroupBy_All(bool async) => AssertAll( async, @@ -1795,7 +1795,7 @@ public override int GetHashCode() => Order.GetHashCode(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_multiple_Count_with_predicate(bool async) => AssertQuery( async, @@ -1811,7 +1811,7 @@ into g }, elementSorter: e => e.Key.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_multiple_Sum_with_conditional_projection(bool async) => AssertQuery( async, @@ -1826,7 +1826,7 @@ into g }, elementSorter: e => e.Key.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Key_as_part_of_element_selector(bool async) => AssertQuery( async, @@ -1839,7 +1839,7 @@ public virtual Task GroupBy_Key_as_part_of_element_selector(bool async) Max = g.Max(o => o.OrderDate) })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_composite_Key_as_part_of_element_selector(bool async) => AssertQuery( async, @@ -1852,7 +1852,7 @@ public virtual Task GroupBy_composite_Key_as_part_of_element_selector(bool async Max = g.Max(o => o.OrderDate) })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_with_order_by_skip_and_another_order_by(bool async) => AssertQueryScalar( async, @@ -1866,19 +1866,19 @@ public virtual Task GroupBy_with_order_by_skip_and_another_order_by(bool async) .Select(g => g.Sum(o => o.OrderID)) ); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Select_Count_with_predicate(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.CustomerID).Select(g => g.Count(o => o.OrderID < 10300))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Property_Select_LongCount_with_predicate(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.CustomerID).Select(g => g.LongCount(o => o.OrderID < 10300))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_orderby_projection_with_coalesce_operation(bool async) => AssertQuery( async, @@ -1888,7 +1888,7 @@ public virtual Task GroupBy_orderby_projection_with_coalesce_operation(bool asyn .ThenBy(x => x.Key) .Select(x => new { Locality = x.Key ?? "Unknown", Count = x.Count() })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_let_orderby_projection_with_coalesce_operation(bool async) // Select with grouping. Issue #18923. => AssertTranslationFailedWithDetails( @@ -1902,7 +1902,7 @@ public virtual Task GroupBy_let_orderby_projection_with_coalesce_operation(bool .Select(x => new { Locality = x.g.Key ?? "Unknown", Count = x.citiesCount })), CoreStrings.QuerySelectContainsGrouping); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Min_Where_optional_relationship(bool async) => AssertQuery( async, @@ -1911,7 +1911,7 @@ public virtual Task GroupBy_Min_Where_optional_relationship(bool async) .Select(g => new { g.Key, Count = g.Count() }) .Where(x => x.Count != 2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Min_Where_optional_relationship_2(bool async) => AssertQuery( async, @@ -1920,7 +1920,7 @@ public virtual Task GroupBy_Min_Where_optional_relationship_2(bool async) .Select(g => new { g.Key, Count = g.Count() }) .Where(x => x.Count < 2 || x.Count > 2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_aggregate_over_a_subquery(bool async) => AssertQuery( async, @@ -1934,7 +1934,7 @@ public virtual Task GroupBy_aggregate_over_a_subquery(bool async) AssertEqual(e.Count, a.Count); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_aggregate_join_with_grouping_key(bool async) => AssertQuery( async, @@ -1949,7 +1949,7 @@ public virtual Task GroupBy_aggregate_join_with_grouping_key(bool async) AssertEqual(e.Count, a.Count); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_aggregate_join_with_group_result(bool async) => AssertQuery( async, @@ -1958,7 +1958,7 @@ public virtual Task GroupBy_aggregate_join_with_group_result(bool async) .Select(g => new { g.Key, LastOrderDate = g.Max() }) .Join(ss.Set(), o => o, i => new { Key = i.CustomerID, LastOrderDate = i.OrderDate }, (_, x) => x)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_aggregate_from_right_side_of_join(bool async) => AssertQuery( async, @@ -1977,7 +1977,7 @@ on c.CustomerID equals o.Key AssertEqual(e.Max, a.Max); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_aggregate_join_another_GroupBy_aggregate(bool async) => AssertQuery( async, @@ -1998,7 +1998,7 @@ public virtual Task GroupBy_aggregate_join_another_GroupBy_aggregate(bool async) }), elementSorter: o => o.Key); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_aggregate_after_skip_0_take_0(bool async) => AssertQuery( async, @@ -2009,7 +2009,7 @@ public virtual Task GroupBy_aggregate_after_skip_0_take_0(bool async) .Select(g => new { g.Key, Total = g.Count() }), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_skip_0_take_0_aggregate(bool async) => AssertQuery( async, @@ -2021,7 +2021,7 @@ public virtual Task GroupBy_skip_0_take_0_aggregate(bool async) .Select(g => new { g.Key, Total = g.Count() }), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_aggregate_followed_another_GroupBy_aggregate(bool async) => AssertQuery( async, @@ -2032,7 +2032,7 @@ public virtual Task GroupBy_aggregate_followed_another_GroupBy_aggregate(bool as .Select(g => new { g.Key, Count = g.Count() }), elementSorter: o => o.Key); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task GroupBy_aggregate_SelectMany(bool async) { var message = (await Assert.ThrowsAsync(() => AssertQuery( @@ -2050,7 +2050,7 @@ from o in ss.Set() message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_aggregate_without_selectMany_selecting_first(bool async) => AssertQuery( async, @@ -2063,7 +2063,7 @@ from o in ss.Set() where o.OrderID == id select o); - [ConditionalTheory(Skip = "Issue#27480"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "Issue#27480"), MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_aggregate_left_join_GroupBy_aggregate_left_join(bool async) => AssertQuery( async, @@ -2111,7 +2111,7 @@ into g #region GroupByAggregateChainComposition - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Where_Average(bool async) => AssertQueryScalar( async, @@ -2120,7 +2120,7 @@ public virtual Task GroupBy_Where_Average(bool async) into g select g.Where(e => e.OrderID < 10300).Select(e => (int?)e.OrderID).Average()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Where_Count(bool async) => AssertQueryScalar( async, @@ -2129,7 +2129,7 @@ public virtual Task GroupBy_Where_Count(bool async) into g select g.Where(e => e.OrderID < 10300).Count()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Where_LongCount(bool async) => AssertQueryScalar( async, @@ -2138,7 +2138,7 @@ public virtual Task GroupBy_Where_LongCount(bool async) into g select g.Where(e => e.OrderID < 10300).LongCount()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Where_Max(bool async) => AssertQueryScalar( async, @@ -2147,7 +2147,7 @@ public virtual Task GroupBy_Where_Max(bool async) into g select g.Where(e => e.OrderID < 10300).Select(e => (int?)e.OrderID).Max()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Where_Min(bool async) => AssertQueryScalar( async, @@ -2156,7 +2156,7 @@ public virtual Task GroupBy_Where_Min(bool async) into g select g.Where(e => e.OrderID < 10300).Select(e => (int?)e.OrderID).Min()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Where_Sum(bool async) => AssertQueryScalar( async, @@ -2165,7 +2165,7 @@ public virtual Task GroupBy_Where_Sum(bool async) into g select g.Where(e => e.OrderID < 10300).Select(e => e.OrderID).Sum()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Where_Count_with_predicate(bool async) => AssertQueryScalar( async, @@ -2174,7 +2174,7 @@ public virtual Task GroupBy_Where_Count_with_predicate(bool async) into g select g.Where(e => e.OrderID < 10300).Count(e => e.OrderDate.HasValue && e.OrderDate.Value.Year == 1997)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Where_Where_Count(bool async) => AssertQueryScalar( async, @@ -2183,7 +2183,7 @@ public virtual Task GroupBy_Where_Where_Count(bool async) into g select g.Where(e => e.OrderID < 10300).Where(e => e.OrderDate.HasValue && e.OrderDate.Value.Year == 1997).Count()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Where_Select_Where_Count(bool async) => AssertQueryScalar( async, @@ -2193,7 +2193,7 @@ into g select g.Where(e => e.OrderID < 10300).Select(e => e.OrderDate).Where(e => e.HasValue && e.Value.Year == 1997) .Count()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Where_Select_Where_Select_Min(bool async) => AssertQueryScalar( async, @@ -2205,7 +2205,7 @@ select g.Where(e => e.OrderID < 10300) .Where(e => e.OrderDate.HasValue && e.OrderDate.Value.Year == 1997) .Select(e => (int?)e.OrderID).Min()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_multiple_Sum_with_Select_conditional_projection(bool async) => AssertQuery( async, @@ -2220,7 +2220,7 @@ into g }, elementSorter: e => e.Key.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task LongCount_after_GroupBy_aggregate(bool async) => AssertSingleResult( async, @@ -2233,7 +2233,7 @@ select g.Where(e => e.OrderID < 10300).Count()).LongCount(), into g select g.Where(e => e.OrderID < 10300).Count()).LongCountAsync(default)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Select_Distinct_aggregate(bool async) => AssertQuery( async, @@ -2252,7 +2252,7 @@ public virtual Task GroupBy_Select_Distinct_aggregate(bool async) }), elementSorter: e => e.Key); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_group_Distinct_Select_Distinct_aggregate(bool async) => AssertQuery( async, @@ -2265,7 +2265,7 @@ public virtual Task GroupBy_group_Distinct_Select_Distinct_aggregate(bool async) }), elementSorter: e => e.Key); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_group_Where_Select_Distinct_aggregate(bool async) => AssertQuery( async, @@ -2282,7 +2282,7 @@ public virtual Task GroupBy_group_Where_Select_Distinct_aggregate(bool async) #region FinalGroupBy - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Final_GroupBy_property_entity(bool async) => AssertQuery( async, @@ -2290,7 +2290,7 @@ public virtual Task Final_GroupBy_property_entity(bool async) elementSorter: e => e.Key, elementAsserter: (e, a) => AssertGrouping(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Final_GroupBy_entity(bool async) => AssertQuery( async, @@ -2298,7 +2298,7 @@ public virtual Task Final_GroupBy_entity(bool async) elementSorter: e => e.Key.CustomerID, elementAsserter: (e, a) => AssertGrouping(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Final_GroupBy_property_entity_non_nullable(bool async) => AssertQuery( async, @@ -2306,7 +2306,7 @@ public virtual Task Final_GroupBy_property_entity_non_nullable(bool async) elementSorter: e => e.Key, elementAsserter: (e, a) => AssertGrouping(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Final_GroupBy_property_anonymous_type(bool async) => AssertQuery( async, @@ -2327,7 +2327,7 @@ public virtual Task Final_GroupBy_property_anonymous_type(bool async) AssertEqual(ee.ContactTitle, aa.ContactTitle); })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Final_GroupBy_multiple_properties_entity(bool async) => AssertQuery( async, @@ -2341,7 +2341,7 @@ public virtual Task Final_GroupBy_multiple_properties_entity(bool async) AssertEqual(ee.Region, aa.Region); })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Final_GroupBy_complex_key_entity(bool async) => AssertQuery( async, @@ -2356,7 +2356,7 @@ public virtual Task Final_GroupBy_complex_key_entity(bool async) AssertEqual(ee.Inner.Constant, aa.Inner.Constant); })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Final_GroupBy_nominal_type_entity(bool async) => AssertQuery( async, @@ -2380,7 +2380,7 @@ public int GetHashCode([DisallowNull] RandomClass obj) => HashCode.Combine(obj.City, obj.Constant); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Final_GroupBy_property_anonymous_type_element_selector(bool async) => AssertQuery( async, @@ -2395,7 +2395,7 @@ public virtual Task Final_GroupBy_property_anonymous_type_element_selector(bool AssertEqual(ee.ContactTitle, aa.ContactTitle); })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Final_GroupBy_property_entity_Include_collection(bool async) => AssertQuery( async, @@ -2405,7 +2405,7 @@ public virtual Task Final_GroupBy_property_entity_Include_collection(bool async) e, a, elementAsserter: (ee, aa) => AssertInclude(ee, aa, new ExpectedInclude(c => c.Orders)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Final_GroupBy_property_entity_projecting_collection(bool async) => AssertQuery( async, @@ -2420,7 +2420,7 @@ public virtual Task Final_GroupBy_property_entity_projecting_collection(bool asy AssertCollection(ee.Orders, aa.Orders); })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Final_GroupBy_property_entity_projecting_collection_composed(bool async) => AssertQuery( async, @@ -2437,7 +2437,7 @@ public virtual Task Final_GroupBy_property_entity_projecting_collection_composed AssertCollection(ee.Orders, aa.Orders); })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Final_GroupBy_property_entity_projecting_collection_and_single_result(bool async) => AssertQuery( async, @@ -2460,7 +2460,7 @@ public virtual Task Final_GroupBy_property_entity_projecting_collection_and_sing AssertEqual(ee.LastOrder, aa.LastOrder); })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Final_GroupBy_TagWith(bool async) => AssertQuery( async, @@ -2472,26 +2472,26 @@ public virtual Task Final_GroupBy_TagWith(bool async) #region GroupByWithoutAggregate - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Where_with_grouping_result(bool async) => AssertTranslationFailed(() => AssertQuery( async, ss => ss.Set().GroupBy(c => c.City).Where(e => e.Key.StartsWith("s")))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_OrderBy_with_grouping_result(bool async) => AssertTranslationFailed(() => AssertQuery( async, ss => ss.Set().GroupBy(c => c.City).OrderBy(e => e.Key), assertOrder: true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_SelectMany(bool async) => AssertTranslationFailed(() => AssertQuery( async, ss => ss.Set().GroupBy(c => c.City).SelectMany(g => g))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_GroupBy_SelectMany(bool async) => AssertTranslationFailed(() => AssertQuery( async, @@ -2499,7 +2499,7 @@ public virtual Task OrderBy_GroupBy_SelectMany(bool async) .GroupBy(o => o.CustomerID) .SelectMany(g => g))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_GroupBy_SelectMany_shadow(bool async) => AssertTranslationFailed(() => AssertQuery( async, @@ -2508,20 +2508,20 @@ public virtual Task OrderBy_GroupBy_SelectMany_shadow(bool async) .SelectMany(g => g) .Select(g => EF.Property(g, "Title")))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_with_orderby_take_skip_distinct_followed_by_group_key_projection(bool async) => AssertTranslationFailed(() => AssertQuery( async, ss => ss.Set().GroupBy(o => o.CustomerID).OrderBy(g => g.Key).Take(5).Skip(3).Distinct().Select(g => g.Key), assertOrder: true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Distinct(bool async) => AssertTranslationFailed(() => AssertQuery( async, ss => ss.Set().GroupBy(o => o.CustomerID).Distinct().Select(g => g.Key))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_complex_key_without_aggregate(bool async) => AssertQuery( async, @@ -2535,7 +2535,7 @@ public virtual Task GroupBy_complex_key_without_aggregate(bool async) AssertCollection(e.Count, a.Count); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_selecting_grouping_key_list(bool async) => AssertQuery( async, @@ -2547,7 +2547,7 @@ public virtual Task GroupBy_selecting_grouping_key_list(bool async) AssertCollection(e.Data, a.Data); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_GroupBy_SelectMany(bool async) // Entity equality. Issue #15938. => AssertTranslationFailed(() => AssertQuery( @@ -2561,7 +2561,7 @@ public virtual Task Select_GroupBy_SelectMany(bool async) #region GroupBySelectFirst - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Shadow(bool async) => AssertQuery( async, @@ -2569,7 +2569,7 @@ public virtual Task GroupBy_Shadow(bool async) .GroupBy(e => EF.Property(e, "Title")) .Select(g => EF.Property(g.First(), "Title"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Shadow2(bool async) => AssertQuery( async, @@ -2577,7 +2577,7 @@ public virtual Task GroupBy_Shadow2(bool async) .GroupBy(e => EF.Property(e, "Title")) .Select(g => g.First())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Shadow3(bool async) => AssertQuery( async, @@ -2585,7 +2585,7 @@ public virtual Task GroupBy_Shadow3(bool async) .GroupBy(e => e.EmployeeID) .Select(g => EF.Property(g.First(), "Title"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_select_grouping_list(bool async) => AssertQuery( async, @@ -2599,7 +2599,7 @@ public virtual Task GroupBy_select_grouping_list(bool async) AssertCollection(e.List, a.List); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_select_grouping_array(bool async) => AssertQuery( async, @@ -2613,7 +2613,7 @@ public virtual Task GroupBy_select_grouping_array(bool async) AssertCollection(e.List, a.List); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_select_grouping_composed_list(bool async) => AssertQuery( async, @@ -2627,7 +2627,7 @@ public virtual Task GroupBy_select_grouping_composed_list(bool async) AssertCollection(e.List, a.List); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_select_grouping_composed_list_2(bool async) => AssertQuery( async, @@ -2645,7 +2645,7 @@ public virtual Task GroupBy_select_grouping_composed_list_2(bool async) #region GroupByEntityType - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_with_group_key_being_navigation(bool async) => AssertQuery( async, @@ -2659,7 +2659,7 @@ public virtual Task GroupBy_with_group_key_being_navigation(bool async) AssertEqual(e.Aggregate, a.Aggregate); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_with_group_key_being_nested_navigation(bool async) => AssertQuery( async, @@ -2673,7 +2673,7 @@ public virtual Task GroupBy_with_group_key_being_nested_navigation(bool async) AssertEqual(e.Aggregate, a.Aggregate); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_with_group_key_being_navigation_with_entity_key_projection(bool async) => AssertQuery( async, @@ -2681,7 +2681,7 @@ public virtual Task GroupBy_with_group_key_being_navigation_with_entity_key_proj .GroupBy(od => od.Order) .Select(g => g.Key)); - [ConditionalTheory(Skip = "Issue#29014"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "Issue#29014"), MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_with_group_key_being_navigation_with_complex_projection(bool async) => AssertQuery( async, @@ -2709,14 +2709,14 @@ public virtual Task GroupBy_with_group_key_being_navigation_with_complex_project #region ResultOperatorsAfterGroupBy - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Count_after_GroupBy_aggregate(bool async) => AssertSingleResult( async, ss => ss.Set().GroupBy(o => o.CustomerID).Select(g => g.Sum(gg => gg.OrderID)).Count(), ss => ss.Set().GroupBy(o => o.CustomerID).Select(g => g.Sum(gg => gg.OrderID)).CountAsync(default)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task MinMax_after_GroupBy_aggregate(bool async) { await AssertMin( @@ -2728,73 +2728,73 @@ await AssertMax( ss => ss.Set().GroupBy(o => o.CustomerID).Select(g => g.Sum(gg => gg.OrderID))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task All_after_GroupBy_aggregate(bool async) => AssertAll( async, ss => ss.Set().GroupBy(o => o.CustomerID).Select(g => g.Sum(gg => gg.OrderID)), predicate: ee => true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task All_after_GroupBy_aggregate2(bool async) => AssertAll( async, ss => ss.Set().GroupBy(o => o.CustomerID).Select(g => g.Sum(gg => gg.OrderID)), predicate: ee => ee >= 0); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Any_after_GroupBy_aggregate(bool async) => AssertAny( async, ss => ss.Set().GroupBy(o => o.CustomerID).Select(g => g.Sum(gg => gg.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Count_after_GroupBy_without_aggregate(bool async) => AssertCount( async, ss => ss.Set().GroupBy(o => o.CustomerID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Count_with_predicate_after_GroupBy_without_aggregate(bool async) => AssertCount( async, ss => ss.Set().GroupBy(o => o.CustomerID), g => g.Count() > 1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task LongCount_after_GroupBy_without_aggregate(bool async) => AssertLongCount( async, ss => ss.Set().GroupBy(o => o.CustomerID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task LongCount_with_predicate_after_GroupBy_without_aggregate(bool async) => AssertLongCount( async, ss => ss.Set().GroupBy(o => o.CustomerID), g => g.Count() > 1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Any_after_GroupBy_without_aggregate(bool async) => AssertAny( async, ss => ss.Set().GroupBy(o => o.CustomerID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Any_with_predicate_after_GroupBy_without_aggregate(bool async) => AssertAny( async, ss => ss.Set().GroupBy(o => o.CustomerID), g => g.Count() > 1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task All_with_predicate_after_GroupBy_without_aggregate(bool async) => AssertAll( async, ss => ss.Set().GroupBy(o => o.CustomerID), g => g.Count() > 1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_aggregate_followed_by_another_GroupBy_aggregate(bool async) => AssertQuery( async, @@ -2808,7 +2808,7 @@ public virtual Task GroupBy_aggregate_followed_by_another_GroupBy_aggregate(bool .GroupBy(e => 1) .Select(g => new { g.Key, Count = g.Sum(e => e.Count) })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Count_in_projection(bool async) => AssertQuery( async, @@ -2823,7 +2823,7 @@ public virtual Task GroupBy_Count_in_projection(bool async) HasMultipleProducts = info.OrderDetails.GroupBy(e => e.Product.ProductName).Count() > 1 })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_nominal_type_count(bool async) => AssertCount( async, @@ -2840,7 +2840,7 @@ private class Result(string customerID) #region GroupByInSubquery - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Complex_query_with_groupBy_in_subquery1(bool async) => AssertQuery( async, @@ -2860,7 +2860,7 @@ public virtual Task Complex_query_with_groupBy_in_subquery1(bool async) AssertCollection(e.Subquery, a.Subquery); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Complex_query_with_groupBy_in_subquery2(bool async) => AssertQuery( async, @@ -2880,7 +2880,7 @@ public virtual Task Complex_query_with_groupBy_in_subquery2(bool async) AssertCollection(e.Subquery, a.Subquery); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Complex_query_with_groupBy_in_subquery3(bool async) => AssertQuery( async, @@ -2900,7 +2900,7 @@ public virtual Task Complex_query_with_groupBy_in_subquery3(bool async) AssertCollection(e.Subquery, a.Subquery, elementSorter: i => i.Sum); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Complex_query_with_groupBy_in_subquery4(bool async) => AssertQuery( async, @@ -2920,7 +2920,7 @@ public virtual Task Complex_query_with_groupBy_in_subquery4(bool async) AssertCollection(e.Subquery, a.Subquery); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Complex_query_with_group_by_in_subquery5(bool async) => AssertQuery( async, @@ -2943,7 +2943,7 @@ orderby c.CustomerID AssertCollection(e.Subquery, a.Subquery, elementSorter: ee => ee.CustomerID); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_scalar_subquery(bool async) => AssertQuery( async, @@ -2955,7 +2955,7 @@ public virtual Task GroupBy_scalar_subquery(bool async) .Select(g => new { g.Key, Count = g.Count() }), elementSorter: e => e.Key); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_scalar_aggregate_in_set_operation(bool async) => AssertQuery( async, @@ -2968,7 +2968,7 @@ public virtual Task GroupBy_scalar_aggregate_in_set_operation(bool async) .Select(g => new { CustomerID = g.Key, Sequence = 1 })), elementSorter: e => (e.CustomerID, e.Sequence)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task AsEnumerable_in_subquery_for_GroupBy(bool async) => AssertQuery( async, @@ -2991,7 +2991,7 @@ public virtual Task AsEnumerable_in_subquery_for_GroupBy(bool async) AssertCollection(e.Orders, a.Orders); }); - [ConditionalTheory(Skip = "Issue#27130"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "Issue#27130"), MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_aggregate_from_multiple_query_in_same_projection(bool async) => AssertQuery( async, @@ -3006,7 +3006,7 @@ public virtual Task GroupBy_aggregate_from_multiple_query_in_same_projection(boo }), elementSorter: e => e.Key); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_aggregate_from_multiple_query_in_same_projection_2(bool async) => AssertQuery( async, @@ -3021,7 +3021,7 @@ public virtual Task GroupBy_aggregate_from_multiple_query_in_same_projection_2(b }), elementSorter: e => e.Key); - [ConditionalTheory(Skip = "Issue#27130"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "Issue#27130"), MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_aggregate_from_multiple_query_in_same_projection_3(bool async) => AssertQuery( async, @@ -3040,7 +3040,7 @@ public virtual Task GroupBy_aggregate_from_multiple_query_in_same_projection_3(b #region GroupByAndDistinctWithCorrelatedCollection - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_uncorrelated_collection_with_groupby_when_outer_is_distinct(bool async) => AssertQuery( async, @@ -3060,7 +3060,7 @@ public virtual Task Select_uncorrelated_collection_with_groupby_when_outer_is_di AssertCollection(e.c2, a.c2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_correlated_collection_after_GroupBy_aggregate_when_identifier_does_not_change(bool async) => AssertQuery( async, @@ -3076,7 +3076,7 @@ public virtual Task Select_correlated_collection_after_GroupBy_aggregate_when_id AssertCollection(e.Orders, a.Orders); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_correlated_collection_after_GroupBy_aggregate_when_identifier_changes(bool async) => AssertQuery( async, @@ -3092,7 +3092,7 @@ public virtual Task Select_correlated_collection_after_GroupBy_aggregate_when_id AssertCollection(e.Orders, a.Orders); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_correlated_collection_after_GroupBy_aggregate_when_identifier_changes_to_complex(bool async) => AssertQuery( async, diff --git a/test/EFCore.Specification.Tests/Query/NorthwindIncludeQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/NorthwindIncludeQueryTestBase.cs index 4704ed8d712..310fe08f206 100644 --- a/test/EFCore.Specification.Tests/Query/NorthwindIncludeQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/NorthwindIncludeQueryTestBase.cs @@ -15,7 +15,7 @@ namespace Microsoft.EntityFrameworkCore.Query; public abstract class NorthwindIncludeQueryTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : NorthwindQueryFixtureBase, new() { - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_and_collection_order_by(bool async) => AssertQuery( async, @@ -25,7 +25,7 @@ public virtual Task Include_reference_and_collection_order_by(bool async) new ExpectedInclude(o => o.Customer), new ExpectedInclude(c => c.Orders, "Customer")), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_references_then_include_collection(bool async) => await AssertQuery( async, @@ -35,7 +35,7 @@ public virtual async Task Include_references_then_include_collection(bool async) new ExpectedInclude(o => o.Customer), new ExpectedInclude(c => c.Orders, "Customer"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_property_after_navigation(bool async) => Assert.Equal( CoreStrings.InvalidIncludeExpression("o.Customer.CustomerID"), @@ -43,7 +43,7 @@ public virtual async Task Include_property_after_navigation(bool async) async, ss => ss.Set().Include(o => o.Customer.CustomerID)))).Message); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_property(bool async) => Assert.Equal( CoreStrings.InvalidIncludeExpression("o.OrderDate"), @@ -51,13 +51,13 @@ public virtual async Task Include_property(bool async) async, ss => ss.Set().Include(o => o.OrderDate)))).Message); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_property_expression_invalid(bool async) => Assert.ThrowsAsync(() => AssertQuery( async, ss => ss.Set().Include(o => new { o.Customer, o.OrderDetails }))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Then_include_collection_order_by_collection_column(bool async) => AssertFirstOrDefault( async, @@ -71,7 +71,7 @@ public virtual Task Then_include_collection_order_by_collection_column(bool asyn new ExpectedInclude(c => c.Orders), new ExpectedInclude(o => o.OrderDetails, "Orders"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Then_include_property_expression_invalid(bool async) => Assert.ThrowsAsync(() => AssertQuery( async, @@ -79,7 +79,7 @@ public virtual Task Then_include_property_expression_invalid(bool async) .Include(o => o.Orders) .ThenInclude(o => new { o.Customer, o.OrderDetails }))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_closes_reader(bool async) { using var context = CreateContext(); @@ -95,20 +95,20 @@ public virtual async Task Include_closes_reader(bool async) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_when_result_operator(bool async) => AssertAny( async, ss => ss.Set().Include(c => c.Orders)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.CustomerID.StartsWith("F")).Include(c => c.Orders), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_then_reference(bool async) => AssertQuery( async, @@ -118,41 +118,41 @@ public virtual Task Include_collection_then_reference(bool async) new ExpectedInclude(p => p.OrderDetails), new ExpectedInclude(od => od.Order, "OrderDetails"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_last(bool async) => AssertLast( async, ss => ss.Set().Include(c => c.Orders).OrderBy(c => c.CompanyName), asserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_last_no_orderby(bool async) => AssertLast( async, ss => ss.Set().Include(c => c.Orders)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_skip_no_order_by(bool async) => AssertQuery( async, ss => ss.Set().Skip(10).Include(c => c.Orders), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_take_no_order_by(bool async) => AssertQuery( async, ss => ss.Set().Take(10).Include(c => c.Orders), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_skip_take_no_order_by(bool async) => AssertQuery( async, ss => ss.Set().Skip(10).Take(5).Include(c => c.Orders), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_list(bool async) => AssertQuery( async, @@ -163,14 +163,14 @@ public virtual Task Include_list(bool async) new ExpectedInclude(p => p.OrderDetails), new ExpectedInclude(od => od.Order, "OrderDetails"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_alias_generation(bool async) => AssertQuery( async, ss => ss.Set().Where(o => o.CustomerID.StartsWith("F")).Include(o => o.OrderDetails), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(o => o.OrderDetails))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_and_reference(bool async) => AssertQuery( async, @@ -179,14 +179,14 @@ public virtual Task Include_collection_and_reference(bool async) e, a, new ExpectedInclude(o => o.OrderDetails), new ExpectedInclude(o => o.Customer))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_orderby_take(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(c => c.CustomerID).Take(5).Include(c => c.Orders), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_collection_dependent_already_tracked(bool async) { using var context = CreateContext(); @@ -208,7 +208,7 @@ var customer Assert.Equal(6 + 1, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_on_additional_from_clause(bool async) => AssertQuery( async, @@ -217,7 +217,7 @@ from c2 in ss.Set().Where(c2 => c2.CustomerID.StartsWith("F")).Include select c2, elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_on_additional_from_clause_with_filter(bool async) => AssertQuery( async, @@ -226,7 +226,7 @@ from c2 in ss.Set().Include(c => c.Orders).Where(c => c.CustomerID == select c2, elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_on_additional_from_clause2(bool async) => AssertQuery( async, @@ -234,7 +234,7 @@ public virtual Task Include_collection_on_additional_from_clause2(bool async) from c2 in ss.Set().Include(c2 => c2.Orders) select c1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_where_skip_take_projection(bool async) => AssertQuery( async, @@ -247,7 +247,7 @@ public virtual Task Include_where_skip_take_projection(bool async) .Take(2) .Select(od => new { od.Order.CustomerID })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_join_clause_with_filter(bool async) => AssertQuery( async, @@ -257,7 +257,7 @@ where c.CustomerID.StartsWith("F") select c, elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_left_join_clause_with_filter(bool async) => AssertQuery( async, @@ -268,7 +268,7 @@ where c.CustomerID.StartsWith("F") select c, elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_right_join_clause_with_filter(bool async) => AssertQuery( async, @@ -279,7 +279,7 @@ public virtual Task Include_collection_with_right_join_clause_with_filter(bool a .Select(t => t.c), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_cross_join_clause_with_filter(bool async) => AssertQuery( async, @@ -289,7 +289,7 @@ where c.CustomerID.StartsWith("F") select c, elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_cross_apply_with_filter(bool async) => AssertQuery( async, @@ -299,7 +299,7 @@ where c.CustomerID.StartsWith("F") select c, elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_outer_apply_with_filter(bool async) => AssertQuery( async, @@ -310,7 +310,7 @@ where c.CustomerID.StartsWith("F") select c, elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_outer_apply_with_filter_non_equality(bool async) => AssertQuery( async, @@ -321,7 +321,7 @@ where c.CustomerID.StartsWith("F") select c, elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_on_join_clause_with_order_by_and_filter(bool async) => AssertQuery( async, @@ -333,7 +333,7 @@ orderby c.City elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_order_by_collection_column(bool async) => AssertFirstOrDefault( async, @@ -343,7 +343,7 @@ public virtual Task Include_collection_order_by_collection_column(bool async) .OrderByDescending(c => c.Orders.OrderByDescending(oo => oo.OrderDate).FirstOrDefault().OrderDate), asserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_order_by_key(bool async) => AssertQuery( async, @@ -351,7 +351,7 @@ public virtual Task Include_collection_order_by_key(bool async) elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_order_by_non_key(bool async) => AssertQuery( async, @@ -359,14 +359,14 @@ public virtual Task Include_collection_order_by_non_key(bool async) elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_order_by_non_key_with_take(bool async) => AssertQuery( async, ss => ss.Set().Include(c => c.Orders).OrderBy(c => c.ContactTitle).Take(10), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_order_by_non_key_with_skip(bool async) => AssertQuery( async, @@ -374,14 +374,14 @@ public virtual Task Include_collection_order_by_non_key_with_skip(bool async) .Skip(2), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_order_by_non_key_with_first_or_default(bool async) => AssertFirstOrDefault( async, ss => ss.Set().Include(c => c.Orders).OrderByDescending(c => c.CompanyName), asserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_order_by_subquery(bool async) => AssertFirstOrDefault( async, @@ -391,7 +391,7 @@ public virtual Task Include_collection_order_by_subquery(bool async) .OrderBy(c => c.Orders.OrderBy(o => o.EmployeeID).Select(o => o.OrderDate).FirstOrDefault()), asserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_collection_principal_already_tracked(bool async) { using var context = CreateContext(); @@ -413,34 +413,34 @@ var customer2 Assert.Equal(7, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_single_or_default_no_result(bool async) => AssertSingleOrDefault( async, ss => ss.Set().Include(c => c.Orders), c => c.CustomerID == "ALFKI ?"); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_when_projection(bool async) => AssertQuery( async, ss => ss.Set().Include("Orders").Select(c => c.CustomerID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_filter(bool async) => AssertQuery( async, ss => ss.Set().Include(c => c.Orders).Where(c => c.CustomerID == "ALFKI"), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_filter_reordered(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.CustomerID == "ALFKI").Include(c => c.Orders), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_duplicate_collection(bool async) => AssertQuery( async, @@ -454,7 +454,7 @@ from c2 in ss.Set().Include(c => c.Orders).OrderBy(c => c.CustomerID). AssertInclude(e.c2, a.c2, new ExpectedInclude(c => c.Orders)); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_duplicate_collection_result_operator(bool async) => AssertQuery( async, @@ -468,7 +468,7 @@ from c2 in ss.Set().Include(c => c.Orders).OrderBy(c => c.CustomerID). AssertInclude(e.c2, a.c2, new ExpectedInclude(c => c.Orders)); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_duplicate_collection_result_operator2(bool async) => AssertQuery( async, @@ -482,7 +482,7 @@ from c2 in ss.Set().OrderBy(c => c.CustomerID).Skip(2).Take(2) AssertEqual(e.c2, a.c2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_duplicate_reference(bool async) => AssertQuery( async, @@ -496,7 +496,7 @@ from o2 in ss.Set().Include(o => o.Customer).OrderBy(o => o.CustomerID).T AssertInclude(e.o2, a.o2, new ExpectedInclude(c => c.Customer)); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_duplicate_reference2(bool async) => AssertQuery( async, @@ -510,7 +510,7 @@ from o2 in ss.Set().OrderBy(o => o.OrderID).Skip(2).Take(2) AssertEqual(e.o2, a.o2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_duplicate_reference3(bool async) => AssertQuery( async, @@ -524,7 +524,7 @@ from o2 in ss.Set().OrderBy(o => o.OrderID).Include(o => o.Customer).Skip AssertInclude(e.o2, a.o2, new ExpectedInclude(c => c.Customer)); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_collection_with_client_filter(bool async) => Assert.Contains( CoreStrings.TranslationFailedWithDetails( @@ -535,7 +535,7 @@ public virtual async Task Include_collection_with_client_filter(bool async) ss => ss.Set().Include(c => c.Orders).Where(c => c.IsLondon)))) .Message.Replace("\r", "").Replace("\n", "")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_multi_level_reference_and_collection_predicate(bool async) => AssertSingle( async, @@ -546,7 +546,7 @@ public virtual Task Include_multi_level_reference_and_collection_predicate(bool new ExpectedInclude(o => o.Customer), new ExpectedInclude(c => c.Orders, "Customer"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_multi_level_collection_and_then_include_reference_predicate(bool async) => AssertSingle( async, @@ -557,7 +557,7 @@ public virtual Task Include_multi_level_collection_and_then_include_reference_pr new ExpectedInclude(o => o.OrderDetails), new ExpectedInclude(od => od.Product, "OrderDetails"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_multiple_references(bool async) => AssertQuery( async, @@ -567,7 +567,7 @@ public virtual Task Include_multiple_references(bool async) new ExpectedInclude(od => od.Order), new ExpectedInclude(od => od.Product))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_multiple_references_and_collection_multi_level(bool async) => AssertQuery( async, @@ -580,7 +580,7 @@ public virtual Task Include_multiple_references_and_collection_multi_level(bool new ExpectedInclude(c => c.Orders, "Order.Customer"), new ExpectedInclude(od => od.Product))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_multiple_references_and_collection_multi_level_reverse(bool async) => AssertQuery( async, @@ -593,7 +593,7 @@ public virtual Task Include_multiple_references_and_collection_multi_level_rever new ExpectedInclude(c => c.Orders, "Order.Customer"), new ExpectedInclude(od => od.Product))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_multiple_references_multi_level(bool async) => AssertQuery( async, @@ -604,7 +604,7 @@ public virtual Task Include_multiple_references_multi_level(bool async) new ExpectedInclude(o => o.Customer, "Order"), new ExpectedInclude(od => od.Product))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_multiple_references_multi_level_reverse(bool async) => AssertQuery( async, @@ -615,21 +615,21 @@ public virtual Task Include_multiple_references_multi_level_reverse(bool async) new ExpectedInclude(o => o.Customer, "Order"), new ExpectedInclude(od => od.Product))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference(bool async) => AssertQuery( async, ss => ss.Set().Where(o => o.CustomerID.StartsWith("F")).Include(o => o.Customer), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(o => o.Customer))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_reference_alias_generation(bool async) => await AssertQuery( async, ss => ss.Set().Where(od => od.OrderID % 23 == 13).Include(o => o.Order), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(od => od.Order))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_and_collection(bool async) => AssertQuery( async, @@ -639,7 +639,7 @@ public virtual Task Include_reference_and_collection(bool async) new ExpectedInclude(o => o.Customer), new ExpectedInclude(o => o.OrderDetails))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_force_alias_uniquefication(bool async) => AssertQuery( async, @@ -648,7 +648,7 @@ public virtual Task Include_collection_force_alias_uniquefication(bool async) select o, elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(o => o.OrderDetails))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_reference_dependent_already_tracked(bool async) { using var context = CreateContext(); @@ -665,7 +665,7 @@ var orders Assert.Equal(7, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_single_or_default_when_no_result(bool async) => AssertSingleOrDefault( async, @@ -673,13 +673,13 @@ public virtual Task Include_reference_single_or_default_when_no_result(bool asyn o => o.OrderID == -1, asserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(o => o.Customer))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_when_projection(bool async) => AssertQuery( async, ss => ss.Set().Include(o => o.Customer).Select(o => o.CustomerID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_when_entity_in_projection(bool async) => AssertQuery( async, @@ -692,21 +692,21 @@ public virtual Task Include_reference_when_entity_in_projection(bool async) AssertEqual(e.CustomerID, a.CustomerID); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_with_filter(bool async) => AssertQuery( async, ss => ss.Set().Include(o => o.Customer).Where(o => o.CustomerID == "ALFKI"), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(o => o.Customer))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_with_filter_reordered(bool async) => AssertQuery( async, ss => ss.Set().Where(o => o.CustomerID == "ALFKI").Include(o => o.Customer), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(o => o.Customer))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_references_and_collection_multi_level(bool async) => AssertQuery( async, @@ -717,7 +717,7 @@ public virtual Task Include_references_and_collection_multi_level(bool async) new ExpectedInclude(o => o.Customer, "Order"), new ExpectedInclude(c => c.Orders, "Order.Customer"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_then_include_collection(bool async) => AssertQuery( async, @@ -727,7 +727,7 @@ public virtual Task Include_collection_then_include_collection(bool async) new ExpectedInclude(c => c.Orders), new ExpectedInclude(o => o.OrderDetails, "Orders"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_then_include_collection_then_include_reference(bool async) => AssertQuery( async, @@ -739,7 +739,7 @@ public virtual Task Include_collection_then_include_collection_then_include_refe new ExpectedInclude(o => o.OrderDetails, "Orders"), new ExpectedInclude(od => od.Product, "Orders.OrderDetails"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_then_include_collection_predicate(bool async) => AssertSingleOrDefault( async, @@ -750,7 +750,7 @@ public virtual Task Include_collection_then_include_collection_predicate(bool as new ExpectedInclude(c => c.Orders), new ExpectedInclude(o => o.OrderDetails, "Orders"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_references_and_collection_multi_level_predicate(bool async) => AssertQuery( async, @@ -761,7 +761,7 @@ public virtual Task Include_references_and_collection_multi_level_predicate(bool new ExpectedInclude(o => o.Customer, "Order"), new ExpectedInclude(c => c.Orders, "Order.Customer"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_references_multi_level(bool async) => AssertQuery( async, @@ -771,7 +771,7 @@ public virtual Task Include_references_multi_level(bool async) new ExpectedInclude(od => od.Order), new ExpectedInclude(o => o.Customer, "Order"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_multi_level_reference_then_include_collection_predicate(bool async) => AssertSingle( async, @@ -782,7 +782,7 @@ public virtual Task Include_multi_level_reference_then_include_collection_predic new ExpectedInclude(o => o.Customer), new ExpectedInclude(c => c.Orders, "Customer"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_multiple_references_then_include_collection_multi_level(bool async) => AssertQuery( async, @@ -797,7 +797,7 @@ public virtual Task Include_multiple_references_then_include_collection_multi_le new ExpectedInclude(c => c.Orders, "Order.Customer"), new ExpectedInclude(od => od.Product))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_multiple_references_then_include_collection_multi_level_reverse(bool async) => AssertQuery( async, @@ -812,7 +812,7 @@ public virtual Task Include_multiple_references_then_include_collection_multi_le new ExpectedInclude(c => c.Orders, "Order.Customer"), new ExpectedInclude(od => od.Product))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_multiple_references_then_include_multi_level(bool async) => AssertQuery( async, @@ -826,7 +826,7 @@ public virtual Task Include_multiple_references_then_include_multi_level(bool as new ExpectedInclude(o => o.Customer, "Order"), new ExpectedInclude(od => od.Product))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_multiple_references_then_include_multi_level_reverse(bool async) => AssertQuery( async, @@ -840,7 +840,7 @@ public virtual Task Include_multiple_references_then_include_multi_level_reverse new ExpectedInclude(o => o.Customer, "Order"), new ExpectedInclude(od => od.Product))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_references_then_include_collection_multi_level(bool async) => AssertQuery( async, @@ -855,7 +855,7 @@ public virtual Task Include_references_then_include_collection_multi_level(bool new ExpectedInclude(o => o.Customer, "Order"), new ExpectedInclude(c => c.Orders, "Order.Customer"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_references_then_include_collection_multi_level_predicate(bool async) => AssertQuery( async, @@ -870,7 +870,7 @@ public virtual Task Include_references_then_include_collection_multi_level_predi new ExpectedInclude(o => o.Customer, "Order"), new ExpectedInclude(c => c.Orders, "Order.Customer"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_references_then_include_multi_level(bool async) => AssertQuery( async, @@ -883,14 +883,14 @@ public virtual Task Include_references_then_include_multi_level(bool async) new ExpectedInclude(od => od.Order), new ExpectedInclude(o => o.Customer, "Order"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_with_complex_projection(bool async) => AssertQuery( async, ss => from o in ss.Set().Include(o => o.Customer) select new { CustomerId = new { Id = o.Customer.CustomerID } }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_with_complex_projection_does_not_change_ordering_of_projection(bool async) => AssertQuery( async, @@ -898,21 +898,21 @@ public virtual Task Include_with_complex_projection_does_not_change_ordering_of_ select new { Id = c.CustomerID, TotalOrders = c.Orders.Count }) .Where(e => e.TotalOrders > 2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_with_take(bool async) => AssertQuery( async, ss => ss.Set().OrderByDescending(c => c.ContactName).Include(c => c.Orders).Take(10), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_with_skip(bool async) => AssertQuery( async, ss => ss.Set().Include(c => c.Orders).OrderBy(c => c.ContactName).Skip(80), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_multiple_conditional_order_by(bool async) => AssertQuery( async, @@ -923,7 +923,7 @@ public virtual Task Include_collection_with_multiple_conditional_order_by(bool a .Take(5), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(o => o.OrderDetails))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_with_conditional_order_by(bool async) => AssertQuery( async, @@ -935,7 +935,7 @@ public virtual Task Include_collection_with_conditional_order_by(bool async) elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders)), elementSorter: e => e.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_specified_on_non_entity_not_supported(bool async) => Assert.Equal( CoreStrings.IncludeOnNonEntity("t => t.Item1.Orders"), @@ -943,7 +943,7 @@ public virtual async Task Include_specified_on_non_entity_not_supported(bool asy async, ss => ss.Set().Select(c => new Tuple(c, 5)).Include(t => t.Item1.Orders)))).Message); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_GroupBy_Select(bool async) => AssertQuery( async, @@ -953,7 +953,7 @@ public virtual Task Include_collection_GroupBy_Select(bool async) .GroupBy(e => e.OrderID) .Select(e => e.OrderBy(o => o.OrderID).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_GroupBy_Select(bool async) => AssertQuery( async, @@ -963,7 +963,7 @@ public virtual Task Include_reference_GroupBy_Select(bool async) .GroupBy(e => e.OrderID) .Select(e => e.OrderBy(o => o.OrderID).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_Join_GroupBy_Select(bool async) => AssertQuery( async, @@ -978,7 +978,7 @@ public virtual Task Include_collection_Join_GroupBy_Select(bool async) .GroupBy(e => e.OrderID) .Select(e => e.OrderBy(o => o.OrderID).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_Join_GroupBy_Select(bool async) => AssertQuery( async, @@ -993,7 +993,7 @@ public virtual Task Include_reference_Join_GroupBy_Select(bool async) .GroupBy(e => e.OrderID) .Select(e => e.OrderBy(o => o.OrderID).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_Include_collection_GroupBy_Select(bool async) => AssertQuery( async, @@ -1007,7 +1007,7 @@ public virtual Task Join_Include_collection_GroupBy_Select(bool async) .GroupBy(e => e.OrderID) .Select(e => e.OrderBy(o => o.OrderID).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_Include_reference_GroupBy_Select(bool async) => AssertQuery( async, @@ -1020,7 +1020,7 @@ public virtual Task Join_Include_reference_GroupBy_Select(bool async) .GroupBy(e => e.OrderID) .Select(e => e.OrderBy(o => o.OrderID).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_SelectMany_GroupBy_Select(bool async) => AssertQuery( async, @@ -1030,7 +1030,7 @@ from od in ss.Set() .GroupBy(e => e.OrderID) .Select(e => e.OrderBy(o => o.OrderID).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_SelectMany_GroupBy_Select(bool async) => AssertQuery( async, @@ -1040,7 +1040,7 @@ from od in ss.Set() .GroupBy(e => e.OrderID) .Select(e => e.OrderBy(o => o.OrderID).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_Include_collection_GroupBy_Select(bool async) => AssertQuery( async, @@ -1050,7 +1050,7 @@ from o in ss.Set().Include(o => o.OrderDetails) .GroupBy(e => e.OrderID) .Select(e => e.OrderBy(o => o.OrderID).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_Include_reference_GroupBy_Select(bool async) => AssertQuery( async, @@ -1060,14 +1060,14 @@ from o in ss.Set().Include(o => o.Customer) .GroupBy(e => e.OrderID) .Select(e => e.OrderBy(o => o.OrderID).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_reference_distinct_is_server_evaluated(bool async) => AssertQuery( async, ss => ss.Set().Where(o => o.OrderID < 10250).Include(o => o.Customer).Distinct(), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(o => o.Customer))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_distinct_is_server_evaluated(bool async) => AssertQuery( async, @@ -1077,7 +1077,7 @@ public virtual Task Include_collection_distinct_is_server_evaluated(bool async) .Distinct(), elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_OrderBy_object(bool async) => AssertQuery( async, @@ -1088,7 +1088,7 @@ public virtual Task Include_collection_OrderBy_object(bool async) elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(o => o.OrderDetails)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_OrderBy_empty_list_contains(bool async) { var list = new List(); @@ -1102,7 +1102,7 @@ public virtual Task Include_collection_OrderBy_empty_list_contains(bool async) elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_OrderBy_empty_list_does_not_contains(bool async) { var list = new List(); @@ -1116,7 +1116,7 @@ public virtual Task Include_collection_OrderBy_empty_list_does_not_contains(bool elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_OrderBy_list_contains(bool async) { var list = new List { "ALFKI" }; @@ -1130,7 +1130,7 @@ public virtual Task Include_collection_OrderBy_list_contains(bool async) elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_collection_OrderBy_list_does_not_contains(bool async) { var list = new List { "ALFKI" }; @@ -1144,7 +1144,7 @@ public virtual Task Include_collection_OrderBy_list_does_not_contains(bool async elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(c => c.Orders))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_empty_reference_sets_IsLoaded(bool async) => AssertFirst( async, @@ -1152,7 +1152,7 @@ public virtual Task Include_empty_reference_sets_IsLoaded(bool async) e => e.Manager == null, asserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(emp => emp.Manager))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_is_not_ignored_when_projection_contains_client_method_and_complex_expression(bool async) => AssertQuery( async, @@ -1165,7 +1165,7 @@ private static string ClientMethod(Employee e) => e.FirstName + " reports to " + e.Manager.FirstName; // Issue#18672 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multi_level_includes_are_applied_with_skip(bool async) => AssertFirst( async, @@ -1181,7 +1181,7 @@ orderby c.CustomerID elementAsserter: (eo, ao) => AssertInclude(eo, ao, new ExpectedInclude(o => o.OrderDetails))); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multi_level_includes_are_applied_with_take(bool async) => AssertFirst( async, @@ -1197,7 +1197,7 @@ orderby c.CustomerID elementAsserter: (eo, ao) => AssertInclude(eo, ao, new ExpectedInclude(o => o.OrderDetails))); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multi_level_includes_are_applied_with_skip_take(bool async) => AssertFirst( async, @@ -1213,7 +1213,7 @@ orderby c.CustomerID elementAsserter: (eo, ao) => AssertInclude(eo, ao, new ExpectedInclude(o => o.OrderDetails))); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filtered_include_with_multiple_ordering(bool async) => AssertQuery( async, @@ -1226,7 +1226,7 @@ public virtual Task Filtered_include_with_multiple_ordering(bool async) includeFilter: os => os.OrderBy(o => o.OrderID).Skip(1).OrderByDescending(o => o.OrderDate), assertOrder: true))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_with_cycle_does_not_throw_when_AsNoTrackingWithIdentityResolution(bool async) => AssertQuery( async, @@ -1235,7 +1235,7 @@ where i.OrderID < 10800 select i) .AsNoTrackingWithIdentityResolution()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_with_cycle_does_not_throw_when_AsTracking_NoTrackingWithIdentityResolution(bool async) => AssertQuery( async, @@ -1244,7 +1244,7 @@ where i.OrderID < 10800 select i) .AsTracking(QueryTrackingBehavior.NoTrackingWithIdentityResolution)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Outer_identifier_correctly_determined_when_doing_include_on_right_side_of_left_join(bool async) => AssertQuery( async, @@ -1261,7 +1261,7 @@ from order in group1.DefaultIfEmpty() AssertInclude(e.order, a.order, new ExpectedInclude(e => e.OrderDetails)); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_in_let_followed_by_FirstOrDefault(bool async) => AssertQuery( async, @@ -1275,7 +1275,7 @@ where c.CustomerID.StartsWith("F") elementSorter: e => e.CustomerID, elementAsserter: (e, a) => AssertEqual(e.Order, a.Order)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Repro9735(bool async) => AssertQuery( async, diff --git a/test/EFCore.Specification.Tests/Query/NorthwindJoinQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/NorthwindJoinQueryTestBase.cs index dd967822128..23013d2afad 100644 --- a/test/EFCore.Specification.Tests/Query/NorthwindJoinQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/NorthwindJoinQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.Northwind; @@ -18,7 +18,7 @@ protected virtual void ClearLog() { } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_customers_orders_projection(bool async) => AssertQuery( async, @@ -28,7 +28,7 @@ join o in ss.Set() on c.CustomerID equals o.CustomerID select new { c.ContactName, o.OrderID }, e => e.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_customers_orders_entities(bool async) => AssertQuery( async, @@ -38,7 +38,7 @@ join o in ss.Set() on c.CustomerID equals o.CustomerID select new { c, o }, e => (e.c.CustomerID, e.o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_customers_orders_entities_same_entity_twice(bool async) => AssertQuery( async, @@ -48,7 +48,7 @@ join o in ss.Set() on c.CustomerID equals o.CustomerID select new { A = c, B = c }, e => (e.A.CustomerID, e.B.CustomerID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_select_many(bool async) => AssertQuery( async, @@ -63,7 +63,7 @@ from e in ss.Set() }, e => (e.c.CustomerID, e.o.OrderID, e.e.EmployeeID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Client_Join_select_many(bool async) // Translation failed message. Issue #17328. => AssertTranslationFailed(() => AssertQuery( @@ -82,7 +82,7 @@ from e3 in ss.Set().OrderBy(e => e.EmployeeID).Skip(6).Take(2) private static uint GetEmployeeID(Employee employee) => employee.EmployeeID; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_customers_orders_select(bool async) => AssertQuery( async, @@ -94,7 +94,7 @@ into p select p, e => e.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_customers_orders_with_subquery(bool async) => AssertQuery( async, @@ -106,7 +106,7 @@ join o1 in select new { c.ContactName, o1.OrderID }, e => e.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_customers_orders_with_subquery_with_take(bool async) => AssertQuery( async, @@ -118,7 +118,7 @@ join o1 in select new { c.ContactName, o1.OrderID }, e => e.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_customers_orders_with_subquery_anonymous_property_method(bool async) => AssertQuery( async, @@ -137,7 +137,7 @@ where EF.Property(o1.o2, "CustomerID") == "ALFKI" }, e => e.o1.o2.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_customers_orders_with_subquery_anonymous_property_method_with_take(bool async) => AssertQuery( async, @@ -156,7 +156,7 @@ where EF.Property(o1.o2, "CustomerID") == "HANAR" }, e => e.o1.o2.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_customers_orders_with_subquery_predicate(bool async) => AssertQuery( async, @@ -168,7 +168,7 @@ join o1 in select new { c.ContactName, o1.OrderID }, e => e.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_customers_orders_with_subquery_predicate_with_take(bool async) => AssertQuery( async, @@ -181,7 +181,7 @@ join o1 in select new { c.ContactName, o1.OrderID }, e => e.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_composite_key(bool async) => AssertQuery( async, @@ -192,7 +192,7 @@ from c in ss.Set().Where(c => c.CustomerID.StartsWith("F")) select new { c, o }, e => e.o.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_complex_condition(bool async) => AssertQuery( async, @@ -201,7 +201,7 @@ from c in ss.Set().Where(c => c.CustomerID == "ALFKI") join o in ss.Set().Where(o => o.OrderID < 10250) on true equals true select c.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Join_local_collection_int_closure_is_cached_correctly(bool async) { var ids = new uint[] { 1, 2 }; @@ -219,7 +219,7 @@ join id in ids on e.EmployeeID equals id select e.EmployeeID); } - [ConditionalTheory(Skip = "#30677"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "#30677"), MemberData(nameof(IsAsyncData))] public virtual async Task Join_local_string_closure_is_cached_correctly(bool async) { var ids = "12"; @@ -237,7 +237,7 @@ join id in ids on e.EmployeeID equals id select e.EmployeeID)); } - [ConditionalTheory(Skip = "#30677"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "#30677"), MemberData(nameof(IsAsyncData))] public virtual async Task Join_local_bytes_closure_is_cached_correctly(bool async) { var ids = new byte[] { 1, 2 }; @@ -256,7 +256,7 @@ join id in ids on e.EmployeeID equals id select e.EmployeeID)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_same_collection_multiple(bool async) => AssertQuery( async, @@ -264,7 +264,7 @@ public virtual Task Join_same_collection_multiple(bool async) ss.Set(), o => o.CustomerID, i => i.CustomerID, (c1, c2) => new { c1, c2 }).Join( ss.Set(), o => o.c1.CustomerID, i => i.CustomerID, (c12, c3) => c3)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_same_collection_force_alias_uniquefication(bool async) => AssertQuery( async, @@ -273,7 +273,7 @@ public virtual Task Join_same_collection_force_alias_uniquefication(bool async) ss.Set(), o => o.CustomerID, i => i.CustomerID, (_, o) => new { _, o }), e => (e._.OrderID, e.o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task LeftJoin(bool async) => AssertQuery( async, @@ -285,7 +285,7 @@ public virtual Task LeftJoin(bool async) (c, o) => new { c, o }), e => (e.c.CustomerID, e.o?.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task RightJoin(bool async) => AssertQuery( async, @@ -297,7 +297,7 @@ public virtual Task RightJoin(bool async) (c, o) => new { c, o }), e => (e.c.CustomerID, e.o?.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_customers_employees_shadow(bool async) => AssertQuery( async, @@ -309,7 +309,7 @@ join e in ss.Set() on c.City equals e.City into employees .Select(e => new { Title = EF.Property(e, "Title"), Id = e.EmployeeID }), e => e.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_customers_employees_subquery_shadow(bool async) => AssertQuery( async, @@ -321,7 +321,7 @@ join e in ss.Set().OrderBy(e => e.City) on c.City equals e.City into e .Select(e => new { Title = EF.Property(e, "Title"), Id = e.EmployeeID }), e => e.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_customers_employees_subquery_shadow_take(bool async) => AssertQuery( async, @@ -333,7 +333,7 @@ join e in ss.Set().OrderBy(e => e.City).Take(5) on c.City equals e.Cit .Select(e => new { Title = EF.Property(e, "Title"), Id = e.EmployeeID }), e => e.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_simple(bool async) => AssertQuery( async, @@ -343,7 +343,7 @@ join o in ss.Set() on c.CustomerID equals o.CustomerID into orders from o in orders select o); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_simple2(bool async) => AssertQuery( async, @@ -353,7 +353,7 @@ join o in ss.Set() on c.CustomerID equals o.CustomerID into orders from o in orders select c); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_simple3(bool async) => AssertQuery( async, @@ -364,7 +364,7 @@ from o in orders select new { o.OrderID }, e => e.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_simple_ordering(bool async) => AssertQuery( async, @@ -374,7 +374,7 @@ join o in ss.Set() on c.CustomerID equals o.CustomerID into orders from o in orders select o); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_simple_subquery(bool async) => AssertQuery( async, @@ -384,7 +384,7 @@ join o in ss.Set().OrderBy(o => o.OrderID).Take(4) on c.CustomerID equals from o in orders select o); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_projection(bool async) => AssertQuery( async, @@ -395,7 +395,7 @@ from o in orders select new { c, o }, e => (e.c.CustomerID, e.o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_subquery_projection_outer_mixed(bool async) => AssertQuery( async, @@ -412,7 +412,7 @@ from o2 in orders }, e => (e.A, e.B, e.C)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_as_final_operator(bool async) => AssertQuery( async, @@ -427,7 +427,7 @@ join o in ss.Set() on c.CustomerID equals o.CustomerID into orders AssertCollection(e.orders, a.orders); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Unflattened_GroupJoin_composed(bool async) => AssertQuery( async, @@ -444,7 +444,7 @@ join o in ss.Set() on c.CustomerID equals o.CustomerID into orders AssertCollection(e.orders, a.orders); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Unflattened_GroupJoin_composed_2(bool async) => AssertQuery( async, @@ -462,7 +462,7 @@ join c2 in ss.Set().Where(n => n.City == "Lisboa") on i.c.CustomerID e AssertCollection(e.i.orders, a.i.orders); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_DefaultIfEmpty(bool async) => AssertQuery( async, @@ -473,7 +473,7 @@ from o in orders.DefaultIfEmpty() select new { c, o }, e => (e.c.CustomerID, e.o?.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_DefaultIfEmpty_multiple(bool async) => AssertQuery( async, @@ -491,7 +491,7 @@ from o2 in orders2.DefaultIfEmpty() }, e => (e.c.CustomerID, e.o1?.OrderID, e.o2?.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_DefaultIfEmpty2(bool async) => AssertQuery( async, @@ -502,7 +502,7 @@ from o in orders.DefaultIfEmpty() select new { e, o }, e => (e.e.EmployeeID, e.o?.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_DefaultIfEmpty3(bool async) => AssertQuery( async, @@ -512,7 +512,7 @@ join o in ss.Set() on c.CustomerID equals o.CustomerID into orders from o in orders.DefaultIfEmpty() select o); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_Where(bool async) => AssertQuery( async, @@ -523,7 +523,7 @@ from o in orders where o.CustomerID == "ALFKI" select o); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_Where_OrderBy(bool async) => AssertQuery( async, @@ -535,7 +535,7 @@ from o in orders orderby c.City select o); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_DefaultIfEmpty_Where(bool async) { return AssertQuery( @@ -550,7 +550,7 @@ from o in orders.DefaultIfEmpty() select o); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_GroupJoin_DefaultIfEmpty_Where(bool async) => AssertQuery( async, @@ -564,7 +564,7 @@ from o3 in orders.DefaultIfEmpty() #pragma warning restore RCS1146 // Use conditional access. select o3); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_DefaultIfEmpty_Project(bool async) => AssertQuery( async, @@ -574,7 +574,7 @@ join o in ss.Set() on c.CustomerID equals o.CustomerID into orders from o in orders.DefaultIfEmpty() select o != null ? (object)o.OrderID : null); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_SelectMany_subquery_with_filter(bool async) => AssertQuery( async, @@ -585,7 +585,7 @@ from o in lo.Where(x => x.OrderID > 5) select new { c.ContactName, o.OrderID }, e => (e.ContactName, e.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_SelectMany_subquery_with_filter_orderby(bool async) => AssertQuery( async, @@ -596,7 +596,7 @@ from o in lo.Where(x => x.OrderID > 5).OrderBy(x => x.OrderDate) select new { c.ContactName, o.OrderID }, e => (e.ContactName, e.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_SelectMany_subquery_with_filter_and_DefaultIfEmpty(bool async) => AssertQuery( async, @@ -607,7 +607,7 @@ from o in lo.Where(x => x.OrderID > 5).DefaultIfEmpty() select new { c.ContactName, o }, e => (e.ContactName, e.o?.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_SelectMany_subquery_with_filter_orderby_and_DefaultIfEmpty(bool async) => AssertQuery( async, @@ -618,7 +618,7 @@ from o in lo.Where(x => x.OrderID > 5).OrderBy(x => x.OrderDate).DefaultIfEmpty( select new { c.ContactName, o }, e => (e.ContactName, e.o?.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_Subquery_with_Take_Then_SelectMany_Where(bool async) => AssertQuery( async, @@ -627,7 +627,7 @@ join o in ss.Set().OrderBy(o => o.OrderID).Take(100) on c.CustomerID equa from o in lo.Where(x => x.CustomerID.StartsWith("A")) select new { c.CustomerID, o.OrderID }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_aggregate_anonymous_key_selectors(bool async) => AssertQuery( async, @@ -638,7 +638,7 @@ public virtual Task GroupJoin_aggregate_anonymous_key_selectors(bool async) (c, g) => new { c.CustomerID, Sum = g.Sum(x => x.CustomerID.Length) }), elementSorter: e => e.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_aggregate_anonymous_key_selectors2(bool async) => AssertQuery( async, @@ -649,7 +649,7 @@ public virtual Task GroupJoin_aggregate_anonymous_key_selectors2(bool async) (c, g) => new { c.CustomerID, Sum = g.Sum(x => x.CustomerID.Length) }), elementSorter: e => e.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_aggregate_anonymous_key_selectors_one_argument(bool async) => AssertQuery( async, @@ -660,7 +660,7 @@ public virtual Task GroupJoin_aggregate_anonymous_key_selectors_one_argument(boo (c, g) => new { c.CustomerID, Sum = g.Sum(x => x.CustomerID.Length) }), elementSorter: e => e.CustomerID); - [ConditionalTheory(Skip = "issue 35028"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "issue 35028"), MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_aggregate_nested_anonymous_key_selectors(bool async) => AssertTranslationFailed(() => AssertQuery( async, @@ -671,7 +671,7 @@ public virtual Task GroupJoin_aggregate_nested_anonymous_key_selectors(bool asyn (c, g) => new { c.CustomerID, Sum = g.Sum(int (x) => x.CustomerID.Length) }), elementSorter: e => e.CustomerID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Inner_join_with_tautology_predicate_converts_to_cross_join(bool async) => AssertQuery( async, @@ -679,7 +679,7 @@ public virtual Task Inner_join_with_tautology_predicate_converts_to_cross_join(b join o in ss.Set().OrderBy(o => o.OrderID).Take(10) on 1 equals 1 select new { c.CustomerID, o.OrderID }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Left_join_with_tautology_predicate_doesnt_convert_to_cross_join(bool async) => AssertQuery( async, @@ -688,7 +688,7 @@ join o in ss.Set().OrderBy(o => o.OrderID).Take(10) on c.CustomerID != nu from o in grouping.DefaultIfEmpty() select new { c.CustomerID, o.OrderID }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_client_eval(bool async) => AssertQuery( async, @@ -696,7 +696,7 @@ public virtual Task SelectMany_with_client_eval(bool async) .SelectMany(c => c.Orders.Select(o => new { OrderProperty = ClientMethod(o), CustomerProperty = c.ContactName })), elementSorter: e => e.OrderProperty); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_client_eval_with_collection_shaper(bool async) => AssertQuery( async, @@ -715,7 +715,7 @@ public virtual Task SelectMany_with_client_eval_with_collection_shaper(bool asyn AssertCollection(e.OrderDetails, a.OrderDetails); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_client_eval_with_collection_shaper_ignored(bool async) => AssertQuery( async, @@ -732,7 +732,7 @@ public virtual Task SelectMany_with_client_eval_with_collection_shaper_ignored(b private static int ClientMethod(Order order) => order.OrderID; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_client_eval_with_constructor(bool async) => AssertQuery( async, @@ -808,14 +808,14 @@ public override int GetHashCode() => HashCode.Combine(OrderID, ProductID); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_selecting_outer_entity(bool async) => AssertQuery( async, ss => ss.Set() .SelectMany(c => c.Orders.Select(o => c))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_selecting_outer_element(bool async) => AssertQuery( async, @@ -823,7 +823,7 @@ public virtual Task SelectMany_with_selecting_outer_element(bool async) .Select(e => new { e, Complex = e.CustomerID + e.City }) .SelectMany(c => c.e.Orders.Select(o => c.Complex))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_selecting_outer_entity_column_and_inner_column(bool async) => AssertQuery( async, @@ -832,7 +832,7 @@ public virtual Task SelectMany_with_selecting_outer_entity_column_and_inner_colu .SelectMany(c => c.Orders.OrderBy(o => o.OrderID).Skip(0).Select(o => new { c.City, o.OrderDate })), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_correlated_subquery_take(bool async) => AssertQuery( async, @@ -843,7 +843,7 @@ public virtual Task SelectMany_correlated_subquery_take(bool async) .OrderBy(i => i.CustomerID + i.City) .Take(2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Distinct_SelectMany_correlated_subquery_take(bool async) => AssertQuery( async, @@ -855,7 +855,7 @@ public virtual Task Distinct_SelectMany_correlated_subquery_take(bool async) .OrderBy(i => i.CustomerID + i.City) .Take(2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Distinct_SelectMany_correlated_subquery_take_2(bool async) => AssertQuery( async, @@ -866,7 +866,7 @@ public virtual Task Distinct_SelectMany_correlated_subquery_take_2(bool async) .OrderBy(i => i.CustomerID + i.City) .Take(2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_SelectMany_correlated_subquery_take(bool async) => AssertQuery( async, @@ -879,7 +879,7 @@ public virtual Task Take_SelectMany_correlated_subquery_take(bool async) .OrderBy(i => i.CustomerID + i.City) .Take(2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_in_collection_projection_with_FirstOrDefault_on_top_level(bool async) => AssertFirstOrDefault( async, @@ -891,7 +891,7 @@ public virtual Task Take_in_collection_projection_with_FirstOrDefault_on_top_lev }), asserter: (e, a) => AssertCollection(e.Orders, a.Orders, ordered: true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Condition_on_entity_with_include(bool async) => AssertQuery( async, @@ -901,7 +901,7 @@ on c.CustomerID equals o.CustomerID into g from o in g.DefaultIfEmpty() select new { a = o != null ? o.OrderID : -1 }); - [ConditionalTheory(Skip = "issue #35028"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "issue #35028"), MemberData(nameof(IsAsyncData))] public virtual Task Join_with_key_selectors_being_nested_anonymous_objects(bool async) => AssertQuery( async, diff --git a/test/EFCore.Specification.Tests/Query/NorthwindKeylessEntitiesQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/NorthwindKeylessEntitiesQueryTestBase.cs index f43d0830deb..60782c27f5c 100644 --- a/test/EFCore.Specification.Tests/Query/NorthwindKeylessEntitiesQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/NorthwindKeylessEntitiesQueryTestBase.cs @@ -16,43 +16,43 @@ protected virtual void ClearLog() { } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task KeylessEntity_simple(bool async) => AssertQuery( async, ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task KeylessEntity_where_simple(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.City == "London")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task KeylessEntity_by_database_view(bool async) => AssertQuery( async, ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Auto_initialized_view_set(bool async) => AssertQuery( async, ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task KeylessEntity_with_nav_defining_query(bool async) => AssertQuery( async, ss => ss.Set().Where(cq => cq.OrderCount > 0)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task KeylessEntity_with_defining_query(bool async) => AssertQuery( async, ss => ss.Set().Where(ov => ov.CustomerID == "ALFKI")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task KeylessEntity_with_defining_query_and_correlated_collection(bool async) => AssertQuery( async, @@ -62,7 +62,7 @@ public virtual Task KeylessEntity_with_defining_query_and_correlated_collection( assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task KeylessEntity_with_mixed_tracking(bool async) => AssertQuery( async, @@ -71,7 +71,7 @@ from o in ss.Set().Where(ov => ov.CustomerID == c.CustomerID) select new { c, o }, e => e.c.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task KeylessEntity_with_included_nav(bool async) => AssertQuery( async, @@ -80,7 +80,7 @@ public virtual Task KeylessEntity_with_included_nav(bool async) select ov, elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(ov => ov.Customer))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task KeylessEntity_with_included_navs_multi_level(bool async) => AssertQuery( async, @@ -92,7 +92,7 @@ public virtual Task KeylessEntity_with_included_navs_multi_level(bool async) new ExpectedInclude(ov => ov.Customer), new ExpectedInclude(c => c.Orders, "Customer"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task KeylessEntity_select_where_navigation(bool async) => AssertQuery( async, @@ -100,7 +100,7 @@ public virtual Task KeylessEntity_select_where_navigation(bool async) where ov.Customer.City == "Seattle" select ov); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task KeylessEntity_select_where_navigation_multi_level(bool async) => AssertQuery( async, @@ -108,7 +108,7 @@ public virtual Task KeylessEntity_select_where_navigation_multi_level(bool async where ov.Customer.Orders.Any() select ov); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task KeylessEntity_groupby(bool async) => AssertQuery( async, @@ -122,7 +122,7 @@ public virtual Task KeylessEntity_groupby(bool async) }), elementSorter: e => (e.Key, e.Count, e.Sum)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_mapped_to_view_on_right_side_of_join(bool async) => AssertQuery( async, @@ -132,7 +132,7 @@ from pv in grouping.DefaultIfEmpty() select new { Order = o, ProductView = pv }, elementSorter: e => (e.Order.OrderID, e.ProductView?.ProductID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_correlated_with_keyless_entity_in_predicate_works(bool async) => AssertQuery( async, @@ -142,19 +142,19 @@ public virtual Task Collection_correlated_with_keyless_entity_in_predicate_works .OrderBy(x => x.ContactName) .Take(2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Count_over_keyless_entity(bool async) => AssertCount( async, ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Count_over_keyless_entity_with_pushdown(bool async) => AssertCount( async, ss => ss.Set().OrderBy(x => x.ContactTitle).Take(10)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Count_over_keyless_entity_with_pushdown_empty_projection(bool async) => AssertCount( async, diff --git a/test/EFCore.Specification.Tests/Query/NorthwindMiscellaneousQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/NorthwindMiscellaneousQueryTestBase.cs index bbff0e844c1..a1f0d9d47fc 100644 --- a/test/EFCore.Specification.Tests/Query/NorthwindMiscellaneousQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/NorthwindMiscellaneousQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Globalization; @@ -20,7 +20,7 @@ protected virtual void ClearLog() { } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Multiple_context_instances(bool async) { using var context1 = CreateContext(); @@ -37,7 +37,7 @@ from o in context2.Orders Assert.Equal(CoreStrings.ErrorInvalidQueryable, message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Multiple_context_instances_2(bool async) { using var context1 = CreateContext(); @@ -54,7 +54,7 @@ from o in context2.Set() Assert.Equal(CoreStrings.ErrorInvalidQueryable, message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Multiple_context_instances_set(bool async) { using var context1 = CreateContext(); @@ -72,7 +72,7 @@ from o in set Assert.Equal(CoreStrings.ErrorInvalidQueryable, message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Multiple_context_instances_parameter(bool async) { using var context1 = CreateContext(); @@ -95,7 +95,7 @@ from o in c2.Orders select c).FirstAsync(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Query_when_evaluatable_queryable_method_call_with_repository(bool async) { using var context = CreateContext(); @@ -140,7 +140,7 @@ public IQueryable Find() => _context.Set(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Lifting_when_subquery_nested_order_by_simple(bool async) => AssertQuery( async, @@ -158,7 +158,7 @@ on EF.Property(c1_Orders, "CustomerID") equals _c1 orderby _c1 select c1_Orders); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Lifting_when_subquery_nested_order_by_anonymous(bool async) => AssertQuery( async, @@ -181,7 +181,7 @@ private class Context public readonly Dictionary Arguments = new(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Local_dictionary(bool async) { var context = new Context(); @@ -196,7 +196,7 @@ public virtual Task Local_dictionary(bool async) private static IQueryable QueryableArgQuery(NorthwindContext context, IQueryable ids) => context.Customers.Where(c => ids.Contains(c.CustomerID)); - [ConditionalFact] + [Fact] public virtual void Query_composition_against_ienumerable_set() { using var context = CreateContext(); @@ -212,7 +212,7 @@ var results Assert.Single(results); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Shaper_command_caching_when_parameter_names_different(bool async) { using var context = CreateContext(); @@ -239,7 +239,7 @@ public virtual async Task Shaper_command_caching_when_parameter_names_different( } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Can_convert_manually_build_expression_with_default(bool async) { var parameter = Expression.Parameter(typeof(Customer)); @@ -262,7 +262,7 @@ public static bool Check(string input1, string input2) => false; } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_equality_self(bool async) { return AssertQuery( @@ -274,7 +274,7 @@ public virtual Task Entity_equality_self(bool async) select c.CustomerID); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_equality_local(bool async) { var local = new Customer { CustomerID = "ANATR" }; @@ -286,7 +286,7 @@ public virtual Task Entity_equality_local(bool async) select c.CustomerID); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_equality_local_composite_key(bool async) { var local = new OrderDetail { OrderID = 10248, ProductID = 11 }; @@ -298,7 +298,7 @@ where od.Equals(local) select od); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_equality_local_double_check(bool async) { var local = new Customer { CustomerID = "ANATR" }; @@ -310,7 +310,7 @@ public virtual Task Entity_equality_local_double_check(bool async) select c.CustomerID); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_with_entity_equality_local_on_both_sources(bool async) { var local = new Customer { CustomerID = "ANATR" }; @@ -326,7 +326,7 @@ from c2 in ss.Set() select c2, o => o, i => i, (o, i) => o).Select(e => e.CustomerID)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_equality_local_inline(bool async) => AssertQuery( async, @@ -334,7 +334,7 @@ public virtual Task Entity_equality_local_inline(bool async) where c == new Customer { CustomerID = "ANATR" } select c.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_equality_local_inline_composite_key(bool async) => AssertQuery( async, @@ -342,7 +342,7 @@ public virtual Task Entity_equality_local_inline_composite_key(bool async) where od.Equals(new OrderDetail { OrderID = 10248, ProductID = 11 }) select od); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_equality_null(bool async) => AssertQuery( async, @@ -351,7 +351,7 @@ public virtual Task Entity_equality_null(bool async) select c.CustomerID, assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_equality_null_composite_key(bool async) => AssertQuery( async, @@ -360,7 +360,7 @@ public virtual Task Entity_equality_null_composite_key(bool async) select od, assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_equality_not_null(bool async) => AssertQuery( async, @@ -368,7 +368,7 @@ public virtual Task Entity_equality_not_null(bool async) where c != null select c.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_equality_not_null_composite_key(bool async) => AssertQuery( async, @@ -376,7 +376,7 @@ public virtual Task Entity_equality_not_null_composite_key(bool async) where od != null select od); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_equality_through_nested_anonymous_type_projection(bool async) => AssertQuery( async, @@ -384,7 +384,7 @@ public virtual Task Entity_equality_through_nested_anonymous_type_projection(boo .Select(x => new { CustomerInfo = new { x.Customer } }) .Where(x => x.CustomerInfo.Customer != null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_equality_through_DTO_projection(bool async) => AssertQuery( async, @@ -403,7 +403,7 @@ public override int GetHashCode() => Customer.GetHashCode(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_equality_through_subquery(bool async) => AssertQuery( async, @@ -411,14 +411,14 @@ public virtual Task Entity_equality_through_subquery(bool async) where c.Orders.FirstOrDefault() != null select c.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_equality_through_subquery_composite_key(bool async) => AssertQuery( async, ss => ss.Set() .Where(o => o.OrderDetails.FirstOrDefault() == new OrderDetail { OrderID = 10248, ProductID = 11 })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_equality_through_include(bool async) => AssertQuery( async, @@ -427,21 +427,21 @@ public virtual Task Entity_equality_through_include(bool async) select c.CustomerID, assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_equality_orderby(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(c => c), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_equality_orderby_descending_composite_key(bool async) => AssertQuery( async, ss => ss.Set().OrderByDescending(o => o), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_equality_orderby_subquery(bool async) => AssertQuery( async, @@ -449,39 +449,39 @@ public virtual Task Entity_equality_orderby_subquery(bool async) ss => ss.Set().OrderBy(c => c.Orders.FirstOrDefault() == null ? (int?)null : c.Orders.FirstOrDefault().OrderID), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_equality_orderby_descending_subquery_composite_key(bool async) => AssertQuery( async, ss => ss.Set().OrderByDescending(o => o.OrderDetails.FirstOrDefault()), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Queryable_simple(bool async) => AssertQuery( async, ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Queryable_simple_anonymous(bool async) => AssertQuery( async, ss => ss.Set().Select(c => new { c }), e => e.c.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Queryable_simple_anonymous_projection_subquery(bool async) => AssertQuery( async, ss => ss.Set().Take(91).Select(c => new { c }).Select(a => a.c.City)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Queryable_simple_anonymous_subquery(bool async) => AssertQuery( async, ss => ss.Set().Select(c => new { c }).Take(91).Select(a => a.c)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Queryable_reprojection(bool async) => AssertTranslationFailedWithDetails( () => AssertQuery( @@ -490,20 +490,20 @@ public virtual Task Queryable_reprojection(bool async) .Select(c => new Customer { CustomerID = "Foo", City = c.City })), CoreStrings.QueryUnableToTranslateMember(nameof(Customer.IsLondon), nameof(Customer))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Queryable_nested_simple(bool async) => AssertQuery( async, ss => from c1 in (from c2 in (from c3 in ss.Set() select c3) select c2) select c1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_simple(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(c => c.CustomerID).Take(10), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_simple_parameterized(bool async) { var take = 10; @@ -514,21 +514,21 @@ public virtual Task Take_simple_parameterized(bool async) assertOrder: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_simple_projection(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(c => c.CustomerID).Select(c => c.City).Take(10), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_subquery_projection(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(c => c.CustomerID).Take(2).Select(c => c.City), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip(bool async) => AssertQuery( async, @@ -536,7 +536,7 @@ public virtual Task Skip(bool async) ss => ss.Set().OrderBy(c => c.CustomerID, StringComparer.Ordinal).Skip(5), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_no_orderby(bool async) => AssertQuery( async, @@ -546,7 +546,7 @@ public virtual Task Skip_no_orderby(bool async) /* non-deterministic */ }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_orderby_const(bool async) => AssertQuery( async, @@ -556,14 +556,14 @@ public virtual Task Skip_orderby_const(bool async) /* non-deterministic */ }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_Skip(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(c => c.ContactName).Take(10).Skip(5), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Distinct_Skip(bool async) => AssertQuery( async, @@ -571,14 +571,14 @@ public virtual Task Distinct_Skip(bool async) ss => ss.Set().Distinct().OrderBy(c => c.CustomerID, StringComparer.Ordinal).Skip(5), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_Take(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(c => c.ContactName).Skip(5).Take(10), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_Customers_Orders_Skip_Take(bool async) => AssertQuery( async, @@ -589,7 +589,7 @@ orderby o.OrderID select new { c.ContactName, o.OrderID }).Skip(10).Take(5), e => e.ContactName); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_Customers_Orders_Skip_Take_followed_by_constant_projection(bool async) => AssertQuery( async, @@ -599,7 +599,7 @@ join o in ss.Set() on c.CustomerID equals o.CustomerID orderby o.OrderID select new { c.ContactName, o.OrderID }).Skip(10).Take(5).Select(e => "Foo")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_Customers_Orders_Projection_With_String_Concat_Skip_Take(bool async) => AssertQuery( async, @@ -610,7 +610,7 @@ orderby o.OrderID select new { Contact = c.ContactName + " " + c.ContactTitle, o.OrderID }).Skip(10).Take(5), e => e.Contact); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_Customers_Orders_Orders_Skip_Take_Same_Properties(bool async) => AssertQuery( async, @@ -629,7 +629,7 @@ orderby o.OrderID }).Skip(10).Take(5), e => e.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Ternary_should_not_evaluate_both_sides(bool async) { Customer customer = null; @@ -646,7 +646,7 @@ public virtual Task Ternary_should_not_evaluate_both_sides(bool async) })); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Ternary_should_not_evaluate_both_sides_with_parameter(bool async) { DateTime? param = null; @@ -661,7 +661,7 @@ public virtual Task Ternary_should_not_evaluate_both_sides_with_parameter(bool a })); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Coalesce_Correct_Multiple_Same_TypeMapping(bool async) => AssertQuery( async, @@ -669,21 +669,21 @@ public virtual Task Coalesce_Correct_Multiple_Same_TypeMapping(bool async) .Select(e => (e.ReportsTo + 1L) ?? (e.ReportsTo + 2L) ?? (e.ReportsTo + 3L)), assertOrder: true); - [ConditionalTheory(Skip = "issue #15586"), MemberData(nameof(IsAsyncData))] + [Theory(Skip = "issue #15586"), MemberData(nameof(IsAsyncData))] public virtual Task Coalesce_Correct_TypeMapping_Double(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(e => e.EmployeeID).Select(e => e.ReportsTo ?? 2.25), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Coalesce_Correct_TypeMapping_String(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(c => c.CustomerID).Select(c => c.Region ?? "no region specified"), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Null_Coalesce_Short_Circuit(bool async) { List values = null; @@ -694,7 +694,7 @@ public virtual Task Null_Coalesce_Short_Circuit(bool async) ss => ss.Set().Distinct().Select(c => new { Customer = c, Test = test ?? values.Contains(1) })); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Null_Coalesce_Short_Circuit_with_server_correlated_leftover(bool async) { List values = null; @@ -705,66 +705,66 @@ public virtual Task Null_Coalesce_Short_Circuit_with_server_correlated_leftover( ss => ss.Set().Select(c => new { Result = test ?? values.Select(c2 => c2.CustomerID).Contains(c.CustomerID) })); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Distinct_Skip_Take(bool async) => AssertQuery( async, ss => ss.Set().Distinct().OrderBy(c => c.ContactName).Skip(5).Take(10), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_Distinct(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(c => c.ContactName).Skip(5).Distinct()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_Take_Distinct(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(c => c.ContactName).Skip(5).Take(10).Distinct()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_Take_Any(bool async) => AssertAny( async, ss => ss.Set().OrderBy(c => c.ContactName).Skip(5).Take(10)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_Take_All(bool async) => AssertAll( async, ss => ss.Set().OrderBy(c => c.CustomerID).Skip(4).Take(7), predicate: p => p.CustomerID.StartsWith("B")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_All(bool async) => AssertAll( async, ss => ss.Set().OrderBy(c => c.CustomerID).Take(4), predicate: p => p.CustomerID.StartsWith("A")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_Take_Any_with_predicate(bool async) => AssertAny( async, ss => ss.Set().OrderBy(c => c.CustomerID).Skip(5).Take(7), predicate: p => p.CustomerID.StartsWith("C")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_Any_with_predicate(bool async) => AssertAny( async, ss => ss.Set().OrderBy(c => c.CustomerID).Take(5), predicate: p => p.CustomerID.StartsWith("B")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_Skip_Distinct(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(c => c.ContactName).Take(10).Skip(5).Distinct()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Take_Skip_Distinct_Caching(bool async) { await AssertQuery( @@ -776,140 +776,140 @@ await AssertQuery( ss => ss.Set().OrderBy(c => c.ContactName).Take(15).Skip(10).Distinct()); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_Distinct(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(o => o.OrderID).Take(5).Distinct()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Distinct_Take(bool async) => AssertQuery( async, ss => ss.Set().Distinct().OrderBy(o => o.OrderID).Take(5), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Distinct_Take_Count(bool async) => AssertCount( async, ss => ss.Set().Distinct().Take(5)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_Distinct_Count(bool async) => AssertCount( async, ss => ss.Set().Take(5).Distinct()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_Where_Distinct_Count(bool async) => AssertCount( async, ss => ss.Set().Where(o => o.CustomerID == "FRANK").Take(5).Distinct()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Any_simple(bool async) => AssertAny( async, ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_Take_Count(bool async) => AssertCount( async, ss => ss.Set().OrderBy(o => o.OrderID).Take(5)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_OrderBy_Count(bool async) => AssertCount( async, ss => ss.Set().Take(5).OrderBy(o => o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Any_predicate(bool async) => AssertAny( async, ss => ss.Set(), predicate: c => c.ContactName.StartsWith("A")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Any_nested_negated(bool async) => AssertQuery( async, ss => ss.Set().Where(c => !ss.Set().Any(o => o.CustomerID.StartsWith("A"))), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Any_nested_negated2(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.City != "London" && !ss.Set().Any(o => o.CustomerID.StartsWith("ABC")))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Any_nested_negated3(bool async) => AssertQuery( async, ss => ss.Set().Where(c => !ss.Set().Any(o => o.CustomerID.StartsWith("ABC")) && c.City != "London")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Any_nested(bool async) => AssertQuery( async, ss => ss.Set().Where(c => ss.Set().Any(o => o.CustomerID.StartsWith("A")))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Any_nested2(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.City != "London" && ss.Set().Any(o => o.CustomerID.StartsWith("A")))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Any_nested3(bool async) => AssertQuery( async, ss => ss.Set().Where(c => ss.Set().Any(o => o.CustomerID.StartsWith("A")) && c.City != "London")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Any_with_multiple_conditions_still_uses_exists(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.City == "London" && c.Orders.Any(o => o.EmployeeID == 1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Any_on_distinct(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Orders.Select(o => o.EmployeeID).Distinct().Any(id => id != 1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_on_distinct(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Orders.Select(o => o.EmployeeID).Distinct().Contains(1u))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task All_on_distinct(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Orders.Select(o => o.EmployeeID).Distinct().All(id => id != 1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task All_top_level(bool async) => AssertAll( async, ss => ss.Set(), predicate: c => c.ContactName.StartsWith("A")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task All_top_level_column(bool async) => AssertAll( async, ss => ss.Set(), predicate: c => c.ContactName.StartsWith(c.ContactName)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task All_top_level_subquery(bool async) => AssertSingleResult( async, @@ -919,7 +919,7 @@ public virtual Task All_top_level_subquery(bool async) c1 => ss.Set().Any(c2 => ss.Set().Any(c3 => c1.CustomerID == c3.CustomerID)), default)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task All_top_level_subquery_ef_property(bool async) => AssertSingleResult( async, @@ -929,34 +929,34 @@ public virtual Task All_top_level_subquery_ef_property(bool async) c1 => ss.Set().Any(c2 => ss.Set().Any(c3 => EF.Property(c1, "CustomerID") == c3.CustomerID)), default)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task All_client(bool async) => AssertTranslationFailed(() => AssertAll( async, ss => ss.Set(), predicate: c => c.IsLondon)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task All_client_and_server_top_level(bool async) => AssertTranslationFailed(() => AssertAll( async, ss => ss.Set(), predicate: c => c.CustomerID != "Foo" && c.IsLondon)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task All_client_or_server_top_level(bool async) => AssertTranslationFailed(() => AssertAll( async, ss => ss.Set(), predicate: c => c.CustomerID != "Foo" || c.IsLondon)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_with_single(bool async) => AssertSingle( async, ss => ss.Set().OrderBy(c => c.CustomerID).Take(1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_with_single_select_many(bool async) => AssertSingle( async, @@ -967,13 +967,13 @@ from o in ss.Set() .Take(1) .Cast()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Cast_results_to_object(bool async) => AssertQuery( async, ss => from c in ss.Set().Cast() select c); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task First_client_predicate(bool async) => AssertTranslationFailedWithDetails( () => AssertFirst( @@ -982,7 +982,7 @@ public virtual Task First_client_predicate(bool async) predicate: c => c.IsLondon), CoreStrings.QueryUnableToTranslateMember(nameof(Customer.IsLondon), nameof(Customer))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_select_many_or(bool async) => AssertQuery( async, @@ -994,7 +994,7 @@ from e in ss.Set() select new { c, e }, e => (e.c.CustomerID, +e.e.EmployeeID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_select_many_or2(bool async) => AssertQuery( async, @@ -1006,7 +1006,7 @@ from e in ss.Set() select new { c, e }, e => (e.c.CustomerID, e.e.EmployeeID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_select_many_or3(bool async) => AssertQuery( async, @@ -1019,7 +1019,7 @@ from e in ss.Set() select new { c, e }, e => (e.c.CustomerID, e.e.EmployeeID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_select_many_or4(bool async) => AssertQuery( async, @@ -1033,7 +1033,7 @@ from e in ss.Set() select new { c, e }, e => (e.c.CustomerID, e.e.EmployeeID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_select_many_or_with_parameter(bool async) { var london = "London"; @@ -1052,7 +1052,7 @@ from e in ss.Set() e => (e.c.CustomerID, e.e.EmployeeID)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_anon(bool async) => AssertQuery( async, @@ -1062,7 +1062,7 @@ public virtual Task Where_subquery_anon(bool async) where e.e.EmployeeID == o.o.EmployeeID select new { e, o }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_anon_nested(bool async) => AssertQuery( async, @@ -1080,7 +1080,7 @@ from t in ( c }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_expression(bool async) => AssertQuery( async, @@ -1091,7 +1091,7 @@ public virtual Task Where_subquery_expression(bool async) return ss.Set().Where(x => ss.Set().Where(expr).Any()); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_expression_same_parametername(bool async) => AssertQuery( async, @@ -1102,7 +1102,7 @@ public virtual Task Where_subquery_expression_same_parametername(bool async) return ss.Set().Where(x => ss.Set().Where(expr).Where(o => o.CustomerID == x.CustomerID).Any()); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_DTO_distinct_translated_to_server(bool async) => AssertQuery( async, @@ -1117,7 +1117,7 @@ public virtual Task Select_DTO_distinct_translated_to_server(bool async) Assert.Equal(e.Count, a.Count); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_DTO_constructor_distinct_translated_to_server(bool async) => AssertQuery( async, @@ -1132,7 +1132,7 @@ public virtual Task Select_DTO_constructor_distinct_translated_to_server(bool as Assert.Equal(e.Count, a.Count); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_DTO_constructor_distinct_with_navigation_translated_to_server(bool async) => AssertQuery( async, @@ -1147,7 +1147,7 @@ public virtual Task Select_DTO_constructor_distinct_with_navigation_translated_t Assert.Equal(e.Count, a.Count); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_DTO_constructor_distinct_with_collection_projection_translated_to_server(bool async) => AssertQuery( async, @@ -1163,7 +1163,7 @@ public virtual Task Select_DTO_constructor_distinct_with_collection_projection_t AssertCollection(e.Orders, a.Orders); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Select_DTO_constructor_distinct_with_collection_projection_translated_to_server_with_binding_after_client_eval(bool async) { @@ -1193,7 +1193,7 @@ public virtual async Task } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_DTO_with_member_init_distinct_translated_to_server(bool async) => AssertQuery( async, @@ -1208,7 +1208,7 @@ public virtual Task Select_DTO_with_member_init_distinct_translated_to_server(bo Assert.Equal(e.Count, a.Count); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_nested_collection_count_using_DTO(bool async) => AssertQuery( async, @@ -1222,7 +1222,7 @@ public virtual Task Select_nested_collection_count_using_DTO(bool async) Assert.Equal(e.Count, a.Count); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_DTO_with_member_init_distinct_in_subquery_translated_to_server(bool async) => AssertQuery( async, @@ -1233,7 +1233,7 @@ from o in ss.Set().Where(o => o.OrderID < 10300) from c in ss.Set().Where(c => c.CustomerID == o.Id) select c); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_DTO_with_member_init_distinct_in_subquery_translated_to_server_2(bool async) => AssertQuery( async, @@ -1244,7 +1244,7 @@ from o in ss.Set().Where(o => o.OrderID < 10300) from c in ss.Set().Where(c => o.Id == c.CustomerID) select c); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_DTO_with_member_init_distinct_in_subquery_used_in_projection_translated_to_server(bool async) => AssertQuery( async, @@ -1294,7 +1294,7 @@ public override int GetHashCode() => HashCode.Combine(Id, Count); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_correlated_subquery_filtered_returning_queryable_throws(bool async) => AssertInvalidMaterializationType( () => AssertQuery( @@ -1308,7 +1308,7 @@ select ss.Set().Where(o => o.CustomerID == c.CustomerID), elementAsserter: (e, a) => AssertCollection(e, a)), typeof(IQueryable).ShortDisplayName()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_correlated_subquery_ordered_returning_queryable_throws(bool async) => AssertInvalidMaterializationType( () => AssertQuery( @@ -1320,7 +1320,7 @@ select ss.Set().OrderBy(o => o.OrderID).ThenBy(o => c.CustomerID).Skip(10 elementAsserter: (e, a) => AssertCollection(e, a, ordered: true)), typeof(IQueryable).ShortDisplayName()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_correlated_subquery_ordered_returning_queryable_in_DTO_throws(bool async) => AssertInvalidMaterializationType( () => AssertQuery( @@ -1338,7 +1338,7 @@ private class QueryableDto public IQueryable Orders { get; set; } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_correlated_subquery_filtered(bool async) => AssertQuery( async, @@ -1350,7 +1350,7 @@ select ss.Set().Where(o => o.CustomerID == c.CustomerID).ToList(), assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_correlated_subquery_ordered(bool async) => AssertQuery( async, @@ -1360,7 +1360,7 @@ select ss.Set().OrderBy(o => o.OrderID).ThenBy(o => c.CustomerID).Skip(10 elementSorter: e => e.Count(), elementAsserter: (e, a) => AssertCollection(e, a, ordered: true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_nested_collection_in_anonymous_type_returning_ordered_queryable(bool async) => AssertInvalidMaterializationType( () => AssertQuery( @@ -1386,7 +1386,7 @@ from c in ss.Set() }), typeof(IOrderedQueryable).ShortDisplayName()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_recursive_trivial_returning_queryable(bool async) => AssertInvalidMaterializationType( () => AssertQuery( @@ -1404,7 +1404,7 @@ orderby e3.EmployeeID elementAsserter: (ee, aa) => AssertCollection(ee, aa, ordered: true))), typeof(IQueryable>).ShortDisplayName()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_nested_collection_in_anonymous_type(bool async) => AssertQuery( async, @@ -1429,7 +1429,7 @@ from c in ss.Set() AssertEqual(e.Customer, a.Customer); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_subquery_recursive_trivial(bool async) => AssertQuery( async, @@ -1445,7 +1445,7 @@ orderby e3.EmployeeID elementSorter: ee => ee.Count(), elementAsserter: (ee, aa) => AssertCollection(ee, aa, ordered: true))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_on_bool(bool async) => AssertQuery( async, @@ -1454,7 +1454,7 @@ from p in ss.Set() where ss.Set().Select(p2 => p2.ProductName).Contains("Chai") select p); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_on_collection(bool async) => AssertQuery( async, @@ -1463,7 +1463,7 @@ public virtual Task Where_subquery_on_collection(bool async) .Where(o => o.ProductID == p.ProductID) .Select(od => od.Quantity).Contains(5))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_query_composition(bool async) => AssertQuery( async, @@ -1471,7 +1471,7 @@ public virtual Task Where_query_composition(bool async) where e1.FirstName == ss.Set().OrderBy(e => e.EmployeeID).FirstOrDefault().FirstName select e1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_query_composition_is_null(bool async) => AssertQuery( async, @@ -1479,7 +1479,7 @@ public virtual Task Where_query_composition_is_null(bool async) where ss.Set().SingleOrDefault(e2 => e2.EmployeeID == e1.ReportsTo) == null select e1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_query_composition_is_not_null(bool async) => AssertQuery( async, @@ -1487,7 +1487,7 @@ public virtual Task Where_query_composition_is_not_null(bool async) where ss.Set().SingleOrDefault(e2 => e2.EmployeeID == e1.ReportsTo) != null select e1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_query_composition_entity_equality_one_element_SingleOrDefault(bool async) => AssertQuery( async, @@ -1499,7 +1499,7 @@ public virtual Task Where_query_composition_entity_equality_one_element_SingleOr select e1, assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_query_composition_entity_equality_one_element_Single(bool async) => AssertQuery( async, @@ -1511,7 +1511,7 @@ public virtual Task Where_query_composition_entity_equality_one_element_Single(b select e1, assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_query_composition_entity_equality_one_element_FirstOrDefault(bool async) => AssertQuery( async, @@ -1520,7 +1520,7 @@ public virtual Task Where_query_composition_entity_equality_one_element_FirstOrD select e1, assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_query_composition_entity_equality_one_element_First(bool async) => AssertQuery( async, @@ -1532,7 +1532,7 @@ public virtual Task Where_query_composition_entity_equality_one_element_First(bo select e1, assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_query_composition_entity_equality_no_elements_SingleOrDefault(bool async) => AssertQuery( async, @@ -1544,7 +1544,7 @@ public virtual Task Where_query_composition_entity_equality_no_elements_SingleOr select e1, assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_query_composition_entity_equality_no_elements_Single(bool async) => AssertQuery( async, @@ -1556,7 +1556,7 @@ public virtual Task Where_query_composition_entity_equality_no_elements_Single(b select e1, assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_query_composition_entity_equality_no_elements_FirstOrDefault(bool async) => AssertQuery( async, @@ -1565,7 +1565,7 @@ public virtual Task Where_query_composition_entity_equality_no_elements_FirstOrD select e1, assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_query_composition_entity_equality_no_elements_First(bool async) => AssertQuery( async, @@ -1577,7 +1577,7 @@ public virtual Task Where_query_composition_entity_equality_no_elements_First(bo select e1, assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_query_composition_entity_equality_multiple_elements_SingleOrDefault(bool async) => AssertQuery( async, @@ -1589,7 +1589,7 @@ where ss.Set().OrderBy(e2 => e2.EmployeeID).SingleOrDefault(e2 => e2.E where ss.Set().OrderBy(e2 => e2.EmployeeID).FirstOrDefault(e2 => e2.EmployeeID != e1.ReportsTo).EmployeeID == 1 select e1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_query_composition_entity_equality_multiple_elements_Single(bool async) => AssertQuery( async, @@ -1601,7 +1601,7 @@ public virtual Task Where_query_composition_entity_equality_multiple_elements_Si select e1, assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_query_composition_entity_equality_multiple_elements_FirstOrDefault(bool async) => AssertQuery( async, @@ -1610,7 +1610,7 @@ public virtual Task Where_query_composition_entity_equality_multiple_elements_Fi select e1, assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_query_composition_entity_equality_multiple_elements_First(bool async) => AssertQuery( async, @@ -1622,7 +1622,7 @@ public virtual Task Where_query_composition_entity_equality_multiple_elements_Fi select e1, assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_query_composition2(bool async) => AssertQuery( async, @@ -1632,7 +1632,7 @@ where e1.FirstName select new { Foo = e2 }).First().Foo.FirstName select e1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_query_composition2_FirstOrDefault(bool async) => AssertQuery( async, @@ -1642,7 +1642,7 @@ where e1.FirstName select e2).FirstOrDefault().FirstName select e1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_query_composition2_FirstOrDefault_with_anonymous(bool async) => AssertQuery( async, @@ -1652,7 +1652,7 @@ where e1.FirstName select new { Foo = e2 }).FirstOrDefault().Foo.FirstName select e1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_query_composition3(bool async) => AssertTranslationFailed(() => AssertQuery( async, @@ -1661,7 +1661,7 @@ public virtual Task Where_query_composition3(bool async) select c1)); #pragma warning disable CS9236 // Compiling requires binding the lambda expression at least 200 times - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_query_composition4(bool async) => AssertTranslationFailed(() => AssertQuery( async, @@ -1673,7 +1673,7 @@ from c3 in ss.Set().OrderBy(bool (c) => c.IsLondon).ThenBy(string (c) select c1)); #pragma warning restore CS9236 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_query_composition5(bool async) => AssertTranslationFailedWithDetails( () => AssertQuery( @@ -1683,7 +1683,7 @@ public virtual Task Where_query_composition5(bool async) select c1), CoreStrings.QueryUnableToTranslateMember(nameof(Customer.IsLondon), nameof(Customer))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_query_composition6(bool async) => AssertTranslationFailedWithDetails( () => AssertQuery( @@ -1696,7 +1696,7 @@ where c1.IsLondon select c1), CoreStrings.QueryUnableToTranslateMember(nameof(Customer.IsLondon), nameof(Customer))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_recursive_trivial(bool async) => AssertQuery( async, @@ -1710,14 +1710,14 @@ orderby e1.EmployeeID select e1, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_scalar_primitive(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(e => e.EmployeeID).OrderBy(i => i), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_mixed(bool async) => AssertTranslationFailed(() => AssertQuery( async, @@ -1732,7 +1732,7 @@ from c in ss.Set().OrderBy(c => c.CustomerID).Take(2) }, e => (e.e1.EmployeeID, e.c.CustomerID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_simple1(bool async) => AssertQuery( async, @@ -1742,7 +1742,7 @@ from c in ss.Set() select new { c, e }, e => (e.c.CustomerID, e.e.EmployeeID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_simple_subquery(bool async) => AssertQuery( async, @@ -1752,7 +1752,7 @@ from c in ss.Set() select new { c, e }, e => (e.c.CustomerID, e.e.EmployeeID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_simple2(bool async) => AssertQuery( async, @@ -1768,7 +1768,7 @@ from e2 in ss.Set() }, e => (e.e1.EmployeeID, e.c.CustomerID, e.FirstName)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_entity_deep(bool async) => AssertQuery( async, @@ -1785,7 +1785,7 @@ from e4 in ss.Set() }, e => (e.e2.EmployeeID, e.e3.EmployeeID, e.e1.EmployeeID, e.e4.EmployeeID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_projection1(bool async) => AssertQuery( async, @@ -1794,7 +1794,7 @@ from e2 in ss.Set() select new { e1.City, e2.Country }, e => (e.City, e.Country)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_projection2(bool async) => AssertQuery( async, @@ -1809,7 +1809,7 @@ from e3 in ss.Set() }, e => (e.City, e.Country, e.FirstName)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_nested_simple(bool async) => AssertQuery( async, @@ -1825,7 +1825,7 @@ orderby c1.CustomerID .Select(t => t.c1), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_correlated_simple(bool async) => AssertQuery( async, @@ -1837,7 +1837,7 @@ from e in ss.Set() select new { c, e }, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_correlated_subquery_simple(bool async) => AssertQuery( async, @@ -1850,7 +1850,7 @@ from e in ss.Set().Where(e => e.City == c.City) // DefaultIfEmpty() over empty set followed by Select() to a non-nullable type - should throw "Nullable object must have a value". // (same happens for DefaultIfEmpty().Select() at the toplevel without SelectMany) - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // #35950 + [Theory, MemberData(nameof(IsAsyncData))] // #35950 public virtual Task SelectMany_correlated_with_DefaultIfEmpty_and_Select_value_type_in_selector_throws(bool async) => Assert.ThrowsAsync( () => AssertQuery( @@ -1866,7 +1866,7 @@ from o in c.Orders // DefaultIfEmpty() after Select() to a non-nullable type - should add a COALESCE to the CLR default (0 here). // Note that within the SelectMany selector, DIE is lifted out (and the INNER JOIN/CROSS APPLY is converted to // LEFT JOIN/OUTER APPLY). But the COALESCE must still be applied. - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // #35950 + [Theory, MemberData(nameof(IsAsyncData))] // #35950 public virtual Task SelectMany_correlated_with_Select_value_type_and_DefaultIfEmpty_in_selector(bool async) => AssertQuery( async, @@ -1880,7 +1880,7 @@ from o in c.Orders .DefaultIfEmpty() select o); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_correlated_subquery_hard(bool async) => AssertQuery( async, @@ -1896,7 +1896,7 @@ from e2 in select new { c1, e1 }, e => (e.c1, e.e1.City, e.e1.c1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_cartesian_product_with_ordering(bool async) => AssertQuery( async, @@ -1908,7 +1908,7 @@ from e in ss.Set() select new { c, e.City }, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_primitive(bool async) => AssertQueryScalar( async, @@ -1916,7 +1916,7 @@ public virtual Task SelectMany_primitive(bool async) from i in ss.Set().Select(e2 => e2.EmployeeID) select i); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_primitive_select_subquery(bool async) => AssertQueryScalar( async, @@ -1924,7 +1924,7 @@ public virtual Task SelectMany_primitive_select_subquery(bool async) from i in ss.Set().Select(e2 => e2.EmployeeID) select ss.Set().Any()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_Where_Count(bool async) => AssertCount( async, @@ -1933,14 +1933,14 @@ join o in ss.Set() on c.CustomerID equals o.CustomerID where c.CustomerID == "ALFKI" select c)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_Join_Any(bool async) => AssertQuery( async, ss => ss.Set() .Where(c => c.CustomerID.StartsWith("A") && c.Orders.Any(o => o.OrderDate == new DateTime(1998, 1, 15)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_Join_Exists(bool async) // Translate List.Exists. Issue #17762. => AssertTranslationFailed(() => AssertQuery( @@ -1948,7 +1948,7 @@ public virtual Task Where_Join_Exists(bool async) ss => ss.Set() .Where(c => c.CustomerID == "ALFKI" && c.Orders.Exists(o => o.OrderDate == new DateTime(2008, 10, 24))))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_Join_Exists_Inequality(bool async) // Translate List.Exists. Issue #17762. => AssertTranslationFailed(() => AssertQuery( @@ -1956,21 +1956,21 @@ public virtual Task Where_Join_Exists_Inequality(bool async) ss => ss.Set() .Where(c => c.CustomerID == "ALFKI" && c.Orders.Exists(o => o.OrderDate != new DateTime(2008, 10, 24))))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_Join_Exists_Constant(bool async) // Translate List.Exists. Issue #17762. => AssertTranslationFailed(() => AssertQuery( async, ss => ss.Set().Where(c => c.CustomerID == "ALFKI" && c.Orders.Exists(o => false)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_Join_Not_Exists(bool async) // Translate List.Exists. Issue #17762. => AssertTranslationFailed(() => AssertQuery( async, ss => ss.Set().Where(c => c.CustomerID == "ALFKI" && !c.Orders.Exists(o => false)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_joins_Where_Order_Any(bool async) => AssertAny( async, @@ -1984,7 +1984,7 @@ public virtual Task Multiple_joins_Where_Order_Any(bool async) }) .Where(r => r.cr.City == "London").OrderBy(r => r.cr.CustomerID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_OrderBy_Count(bool async) => AssertCount( async, @@ -1993,7 +1993,7 @@ join o in ss.Set() on c.CustomerID equals o.CustomerID orderby c.CustomerID select c); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_join_select(bool async) => AssertQuery( async, @@ -2003,7 +2003,7 @@ public virtual Task Where_join_select(bool async) join o in ss.Set() on c.CustomerID equals o.CustomerID select c)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_orderby_join_select(bool async) => AssertQuery( async, @@ -2014,7 +2014,7 @@ orderby c.CustomerID join o in ss.Set() on c.CustomerID equals o.CustomerID select c)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_join_orderby_join_select(bool async) => AssertQuery( async, @@ -2025,7 +2025,7 @@ orderby c.CustomerID join od in ss.Set() on o.OrderID equals od.OrderID select c); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_select_many(bool async) => AssertQuery( async, @@ -2035,7 +2035,7 @@ public virtual Task Where_select_many(bool async) from o in ss.Set() select c)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_orderby_select_many(bool async) => AssertQuery( async, @@ -2053,13 +2053,13 @@ protected class Foo protected const uint NonExistentID = uint.MaxValue; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task DefaultIfEmpty_top_level(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.EmployeeID == NonExistentID).DefaultIfEmpty()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_with_DefaultIfEmpty_on_both_sources(bool async) => AssertQuery( async, @@ -2073,25 +2073,25 @@ public virtual Task Join_with_DefaultIfEmpty_on_both_sources(bool async) o => o, i => i, (o, i) => o), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task DefaultIfEmpty_top_level_followed_by_constant_Select(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.EmployeeID == NonExistentID).DefaultIfEmpty().Select(_ => "Foo")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // #36208 + [Theory, MemberData(nameof(IsAsyncData))] // #36208 public virtual Task DefaultIfEmpty_top_level_preceded_by_constant_Select(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.EmployeeID == NonExistentID).Select(_ => "Foo").DefaultIfEmpty()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task DefaultIfEmpty_top_level_arg(bool async) => AssertTranslationFailed(() => AssertQuery( async, ss => ss.Set().Where(c => c.EmployeeID == NonExistentID).DefaultIfEmpty(new Employee()))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task DefaultIfEmpty_top_level_arg_followed_by_projecting_constant(bool async) => AssertTranslationFailed(() => AssertQueryScalar( async, @@ -2100,20 +2100,20 @@ public virtual Task DefaultIfEmpty_top_level_arg_followed_by_projecting_constant .DefaultIfEmpty(new Employee()) .Select(_ => 42))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task DefaultIfEmpty_top_level_positive(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.EmployeeID > 0).DefaultIfEmpty()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task DefaultIfEmpty_top_level_projection(bool async) => AssertQueryScalar( async, ss => from e in ss.Set().Where(e => e.EmployeeID == NonExistentID).Select(e => e.EmployeeID).DefaultIfEmpty() select e); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_customer_orders(bool async) => AssertQuery( async, @@ -2124,7 +2124,7 @@ from o in ss.Set() select new { c.ContactName, o.OrderID }, e => e.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_Count(bool async) => AssertCount( async, @@ -2132,7 +2132,7 @@ public virtual Task SelectMany_Count(bool async) from o in ss.Set() select c.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_LongCount(bool async) => AssertLongCount( async, @@ -2140,7 +2140,7 @@ public virtual Task SelectMany_LongCount(bool async) from o in ss.Set() select c.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_OrderBy_ThenBy_Any(bool async) => AssertAny( async, @@ -2149,7 +2149,7 @@ from o in ss.Set() orderby c.CustomerID, c.City select c); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy(bool async) => AssertQuery( async, @@ -2157,19 +2157,19 @@ public virtual Task OrderBy(bool async) ss => ss.Set().OrderBy(c => c.CustomerID, StringComparer.Ordinal), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_true(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(c => true).Select(c => c)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_integer(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(c => 3).Select(c => c)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_parameter(bool async) { var param = 5; @@ -2178,7 +2178,7 @@ public virtual Task OrderBy_parameter(bool async) ss => ss.Set().OrderBy(c => param).Select(c => c)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_anon(bool async) => AssertQuery( async, @@ -2186,7 +2186,7 @@ public virtual Task OrderBy_anon(bool async) ss => ss.Set().Select(c => new { c.CustomerID }).OrderBy(a => a.CustomerID, StringComparer.Ordinal), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_anon2(bool async) => AssertQuery( async, @@ -2194,7 +2194,7 @@ public virtual Task OrderBy_anon2(bool async) ss => ss.Set().Select(c => new { c }).OrderBy(a => a.c.CustomerID, StringComparer.Ordinal), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_client_mixed(bool async) => AssertTranslationFailedWithDetails( () => AssertQuery( @@ -2203,7 +2203,7 @@ public virtual Task OrderBy_client_mixed(bool async) assertOrder: true), CoreStrings.QueryUnableToTranslateMember(nameof(Customer.IsLondon), nameof(Customer))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_multiple_queries(bool async) => AssertTranslationFailed(() => AssertQuery( async, @@ -2212,14 +2212,14 @@ public virtual Task OrderBy_multiple_queries(bool async) orderby c.IsLondon, o.OrderDate select new { c, o })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_shadow(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(e => EF.Property(e, "Title")).ThenBy(e => e.EmployeeID), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_ThenBy_predicate(bool async) => AssertQuery( async, @@ -2228,7 +2228,7 @@ public virtual Task OrderBy_ThenBy_predicate(bool async) .ThenBy(c => c.CustomerID), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_correlated_subquery1(bool async) => AssertQuery( async, @@ -2238,7 +2238,7 @@ orderby ss.Set().Any(c2 => c2.CustomerID == c.CustomerID), c.CustomerI select c, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_correlated_subquery2(bool async) => AssertQuery( async, @@ -2247,7 +2247,7 @@ public virtual Task OrderBy_correlated_subquery2(bool async) .FirstOrDefault().City != "Nowhere")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_Select(bool async) => AssertQuery( async, @@ -2257,7 +2257,7 @@ public virtual Task OrderBy_Select(bool async) .Select(c => c.ContactName), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_multiple(bool async) => AssertQuery( async, @@ -2268,7 +2268,7 @@ public virtual Task OrderBy_multiple(bool async) .Select(c => c.City), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_ThenBy(bool async) => AssertQuery( async, @@ -2280,7 +2280,7 @@ public virtual Task OrderBy_ThenBy(bool async) .Select(c => c.City), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderByDescending(bool async) => AssertQuery( async, @@ -2288,7 +2288,7 @@ public virtual Task OrderByDescending(bool async) ss => ss.Set().OrderByDescending(c => c.CustomerID, StringComparer.Ordinal).Select(c => c.City), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderByDescending_ThenBy(bool async) => AssertQuery( async, @@ -2300,7 +2300,7 @@ public virtual Task OrderByDescending_ThenBy(bool async) .Select(c => c.City), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderByDescending_ThenByDescending(bool async) => AssertQuery( async, @@ -2312,7 +2312,7 @@ public virtual Task OrderByDescending_ThenByDescending(bool async) .Select(c => c.City), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Order(bool async) => AssertQuery( async, @@ -2320,7 +2320,7 @@ public virtual Task Select_Order(bool async) ss => ss.Set().Select(c => c.CustomerID).Order(StringComparer.Ordinal), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_OrderDescending(bool async) => AssertQuery( async, @@ -2328,7 +2328,7 @@ public virtual Task Select_OrderDescending(bool async) ss => ss.Set().Select(c => c.CustomerID).OrderDescending(StringComparer.Ordinal), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_Order_First(bool async) => AssertQuery( async, @@ -2336,13 +2336,13 @@ public virtual Task Where_Order_First(bool async) ss => ss.Set().AsEnumerable().Where(c => c.Orders.OrderBy(o => o.OrderID).FirstOrDefault()?.OrderID == 10248) .Select(c => c.CustomerID).AsQueryable()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_ThenBy_Any(bool async) => AssertAny( async, ss => ss.Set().OrderBy(c => c.CustomerID).ThenBy(c => c.ContactName)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_Join(bool async) => AssertQuery( async, @@ -2351,7 +2351,7 @@ from c in ss.Set().OrderBy(c => c.CustomerID) join o in ss.Set().OrderBy(o => o.OrderID) on c.CustomerID equals o.CustomerID select new { c.CustomerID, o.OrderID }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_SelectMany(bool async) => AssertQuery( async, @@ -2368,7 +2368,7 @@ from o in ss.Set().OrderBy(o => o.OrderID).Take(3) .Select(t => new { t.c.ContactName, t.o.OrderID }), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Let_any_subquery_anonymous(bool async) => AssertQuery( async, @@ -2380,34 +2380,34 @@ orderby c.CustomerID select new { c, hasOrders }, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_arithmetic(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(e => e.EmployeeID - e.EmployeeID).Select(e => e)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_condition_comparison(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(p => p.UnitsInStock > 0).ThenBy(p => p.ProductID), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_ternary_conditions(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(p => p.UnitsInStock > 10 ? p.ProductID > 40 : p.ProductID <= 40).ThenBy(p => p.ProductID), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_any(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(p => p.Orders.Any(o => o.OrderID > 11000)).ThenBy(p => p.CustomerID), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_Joined(bool async) => AssertQuery( async, @@ -2417,7 +2417,7 @@ from o in ss.Set().Where(o => o.CustomerID == c.CustomerID) select new { c.ContactName, o.OrderDate }, e => (e.ContactName, e.OrderDate)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_Joined_DefaultIfEmpty(bool async) => AssertQuery( async, @@ -2427,7 +2427,7 @@ from o in ss.Set().Where(o => o.CustomerID == c.CustomerID).DefaultIfEmpt select new { c.ContactName, o }, e => (e.ContactName, e.o?.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_Joined_Take(bool async) => AssertQuery( async, @@ -2437,7 +2437,7 @@ from o in ss.Set().Where(o => o.CustomerID == c.CustomerID).Take(4) select new { c.ContactName, o }, e => e.o.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_Joined_DefaultIfEmpty2(bool async) => AssertQuery( async, @@ -2446,7 +2446,7 @@ from c in ss.Set() from o in ss.Set().Where(o => o.CustomerID == c.CustomerID).DefaultIfEmpty() select o); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_Joined_DefaultIfEmpty3(bool async) => AssertQuery( async, @@ -2455,20 +2455,20 @@ from c in ss.Set() from o in ss.Set().Where(o => o.CustomerID == c.CustomerID).Where(o => o.OrderDetails.Any()).DefaultIfEmpty() select o); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_many_cross_join_same_collection(bool async) => AssertQuery( async, ss => ss.Set().SelectMany(c => ss.Set())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_null_coalesce_operator(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(c => c.Region ?? "ZZ").ThenBy(c => c.CustomerID), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_null_coalesce_operator(bool async) => AssertQuery( async, @@ -2483,7 +2483,7 @@ public virtual Task Select_null_coalesce_operator(bool async) .ThenBy(o => o.CustomerID), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_conditional_operator(bool async) { return AssertQuery( @@ -2495,7 +2495,7 @@ public virtual Task OrderBy_conditional_operator(bool async) assertOrder: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_conditional_operator_where_condition_false(bool async) { var fakeCustomer = new Customer(); @@ -2506,14 +2506,14 @@ public virtual Task OrderBy_conditional_operator_where_condition_false(bool asyn .Select(c => c)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_comparison_operator(bool async) => AssertQuery( async, ss => ss.Set() .OrderBy(c => c.Region == "ASK").Select(c => c)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_null_coalesce_operator(bool async) => AssertQuery( async, @@ -2525,20 +2525,20 @@ public virtual Task Projection_null_coalesce_operator(bool async) }), e => e.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_coalesce_operator(bool async) => AssertQuery( async, ss => ss.Set() .Where(c => (c.ContactName ?? c.CompanyName) == "Liz Nixon")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_skip_null_coalesce_operator(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(c => c.Region ?? "ZZ").Take(10).Skip(5).Distinct()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_take_null_coalesce_operator(bool async) => AssertQuery( async, @@ -2553,7 +2553,7 @@ public virtual Task Select_take_null_coalesce_operator(bool async) .Take(5), e => e.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_take_skip_null_coalesce_operator(bool async) => AssertQuery( async, @@ -2569,7 +2569,7 @@ public virtual Task Select_take_skip_null_coalesce_operator(bool async) .Skip(5), e => e.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_take_skip_null_coalesce_operator2(bool async) => AssertQuery( async, @@ -2585,20 +2585,20 @@ public virtual Task Select_take_skip_null_coalesce_operator2(bool async) .Skip(5), e => e.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_take_skip_null_coalesce_operator3(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(c => c.Region ?? "ZZ").Take(10).Skip(5)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Property_when_non_shadow(bool async) => AssertQueryScalar( async, ss => from o in ss.Set() select EF.Property(o, "OrderID")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_Property_when_non_shadow(bool async) => AssertQuery( async, @@ -2606,14 +2606,14 @@ public virtual Task Where_Property_when_non_shadow(bool async) where EF.Property(o, "OrderID") == 10248 select o); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Property_when_shadow(bool async) => AssertQuery( async, ss => from e in ss.Set() select EF.Property(e, "Title")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_Property_when_shadow(bool async) => AssertQuery( async, @@ -2621,13 +2621,13 @@ public virtual Task Where_Property_when_shadow(bool async) where EF.Property(e, "Title") == "Sales Representative" select e); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Property_when_shadow_unconstrained_generic_method(bool async) => AssertQuery( async, ss => ShadowPropertySelect(ss.Set(), "Title")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_Property_when_shadow_unconstrained_generic_method(bool async) => AssertQuery( async, @@ -2639,7 +2639,7 @@ protected IQueryable ShadowPropertySelect(IQueryable sourc protected IQueryable ShadowPropertyWhere(IQueryable source, object column, string value) => source.Where(e => EF.Property(e, (string)column) == value); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_Property_shadow_closure(bool async) { var propertyName = "Title"; @@ -2657,7 +2657,7 @@ await AssertQuery( ss => ss.Set().Where(e => EF.Property(e, propertyName) == value)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Selected_column_can_coalesce(bool async) => AssertQuery( async, @@ -2665,7 +2665,7 @@ public virtual Task Selected_column_can_coalesce(bool async) orderby c.Region ?? "ZZ" select c).Select(x => x)); - [ConditionalFact] + [Fact] public virtual void Can_cast_CreateQuery_result_to_IQueryable_T_bug_1730() { using var context = CreateContext(); @@ -2675,7 +2675,7 @@ public virtual void Can_cast_CreateQuery_result_to_IQueryable_T_bug_1730() products = (IQueryable)products.Provider.CreateQuery(products.Expression); } - [ConditionalFact] + [Fact] public virtual async Task IQueryable_captured_variable() { await using var context = CreateContext(); @@ -2685,7 +2685,7 @@ public virtual async Task IQueryable_captured_variable() _ = await context.Customers.CountAsync(c => nestedOrdersQuery.Count() == 2); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Subquery_Single(bool async) => AssertQuery( async, @@ -2696,7 +2696,7 @@ public virtual Task Select_Subquery_Single(bool async) orderby o.OrderID select o).First()).Take(2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Where_Subquery_Deep_Single(bool async) => AssertQuery( async, @@ -2715,7 +2715,7 @@ select c select od) .Take(2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Where_Subquery_Deep_First(bool async) => AssertQuery( async, @@ -2734,7 +2734,7 @@ select c select od) .Take(2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Where_Subquery_Equality(bool async) => AssertQuery( async, @@ -2757,7 +2757,7 @@ orderby o.OrderID select o, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Throws_on_concurrent_query_list(bool async) { using var context = CreateContext(); @@ -2794,7 +2794,7 @@ public virtual async Task Throws_on_concurrent_query_list(bool async) await blockingTask; } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Throws_on_concurrent_query_first(bool async) { using var context = CreateContext(); @@ -2839,26 +2839,26 @@ private static Customer Process(Customer c, ManualResetEventSlim e, SemaphoreSli return c; } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Environment_newline_is_funcletized(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.CustomerID.Contains(Environment.NewLine)), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Concat_string_int(bool isAsync) => AssertQuery( isAsync, ss => ss.Set().Select(o => o.OrderID + o.CustomerID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Concat_int_string(bool isAsync) => AssertQuery( isAsync, ss => ss.Set().Select(o => o.CustomerID + o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Concat_parameter_string_int(bool isAsync) { var parameter = "-"; @@ -2867,25 +2867,25 @@ public virtual Task Concat_parameter_string_int(bool isAsync) ss => ss.Set().Select(o => parameter + o.OrderID)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Concat_constant_string_int(bool isAsync) => AssertQuery( isAsync, ss => ss.Set().Select(o => "-" + o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_concat_with_navigation1(bool async) => AssertQuery( async, ss => ss.Set().Select(o => o.CustomerID + " " + o.Customer.City)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_concat_with_navigation2(bool async) => AssertQuery( async, ss => ss.Set().Select(o => o.Customer.City + " " + o.Customer.City)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Handle_materialization_properly_when_more_than_two_query_sources_are_involved(bool async) => AssertFirstOrDefault( async, @@ -2894,7 +2894,7 @@ from o in ss.Set() from e in ss.Set() select new { c }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Parameter_extraction_short_circuits_1(bool async) { DateTime? dateFilter = new DateTime(1996, 7, 15); @@ -2920,7 +2920,7 @@ await AssertQuery( && o.OrderDate.Value.Year == dateFilter.Value.Year)))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Parameter_extraction_short_circuits_2(bool async) { DateTime? dateFilter = new DateTime(1996, 7, 15); @@ -2945,7 +2945,7 @@ await AssertQuery( assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Parameter_extraction_short_circuits_3(bool async) { DateTime? dateFilter = new DateTime(1996, 7, 15); @@ -2969,7 +2969,7 @@ await AssertQuery( && o.OrderDate.Value.Year == dateFilter.Value.Year))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Parameter_extraction_can_throw_exception_from_user_code(bool async) { var customer = new Customer(); @@ -2979,7 +2979,7 @@ public virtual Task Parameter_extraction_can_throw_exception_from_user_code(bool ss => ss.Set().Where(c => Equals(c.Orders.First(), customer.Orders.First())))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Parameter_extraction_can_throw_exception_from_user_code_2(bool async) { DateTime? dateFilter = null; @@ -2993,7 +2993,7 @@ public virtual Task Parameter_extraction_can_throw_exception_from_user_code_2(bo && o.OrderDate.Value.Year == dateFilter.Value.Year))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Captured_variable_from_switch_case_pattern_matching(bool async) { object customerIdAsObject = "ALFKI"; @@ -3010,7 +3010,7 @@ await AssertQuery( } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Subquery_member_pushdown_does_not_change_original_subquery_model(bool async) => AssertQuery( async, @@ -3021,7 +3021,7 @@ public virtual Task Subquery_member_pushdown_does_not_change_original_subquery_m .OrderBy(o => o.City), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Subquery_member_pushdown_does_not_change_original_subquery_model2(bool async) => AssertQuery( async, @@ -3037,7 +3037,7 @@ public virtual Task Subquery_member_pushdown_does_not_change_original_subquery_m .OrderBy(o => o.City), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Query_expression_with_to_string_and_contains(bool async) => AssertQuery( async, @@ -3045,7 +3045,7 @@ public virtual Task Query_expression_with_to_string_and_contains(bool async) .Select(o => new Order { CustomerID = o.CustomerID }), elementSorter: e => e.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_expression_other_to_string(bool async) => AssertQuery( async, @@ -3053,7 +3053,7 @@ public virtual Task Select_expression_other_to_string(bool async) .Select(o => new Order { ShipName = o.OrderDate.Value.ToString() }), e => e.ShipName); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_expression_long_to_string(bool async) => AssertQuery( async, @@ -3061,7 +3061,7 @@ public virtual Task Select_expression_long_to_string(bool async) .Select(o => new Order { ShipName = ((long)o.OrderID).ToString() }), e => e.ShipName); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_expression_int_to_string(bool async) => AssertQuery( async, @@ -3069,7 +3069,7 @@ public virtual Task Select_expression_int_to_string(bool async) .Select(o => new Order { ShipName = o.OrderID.ToString() }), e => e.ShipName); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task ToString_with_formatter_is_evaluated_on_the_client(bool async) { await AssertQuery( @@ -3085,7 +3085,7 @@ await AssertQuery( e => e.ShipName); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_expression_date_add_year(bool async) => AssertQuery( async, @@ -3093,7 +3093,7 @@ public virtual Task Select_expression_date_add_year(bool async) .Select(o => new Order { OrderDate = o.OrderDate.Value.AddYears(1) }), e => e.OrderDate); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_expression_datetime_add_month(bool async) => AssertQuery( async, @@ -3102,7 +3102,7 @@ public virtual Task Select_expression_datetime_add_month(bool async) .Select(o => new Order { OrderDate = o.OrderDate.Value.AddMonths(1) }), e => e.OrderDate); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_expression_datetime_add_hour(bool async) => AssertQuery( async, @@ -3110,7 +3110,7 @@ public virtual Task Select_expression_datetime_add_hour(bool async) .Select(o => new Order { OrderDate = o.OrderDate.Value.AddHours(1) }), e => e.OrderDate); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_expression_datetime_add_minute(bool async) => AssertQuery( async, @@ -3118,7 +3118,7 @@ public virtual Task Select_expression_datetime_add_minute(bool async) .Select(o => new Order { OrderDate = o.OrderDate.Value.AddMinutes(1) }), e => e.OrderDate); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_expression_datetime_add_second(bool async) => AssertQuery( async, @@ -3126,7 +3126,7 @@ public virtual Task Select_expression_datetime_add_second(bool async) .Select(o => new Order { OrderDate = o.OrderDate.Value.AddSeconds(1) }), e => e.OrderDate); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_expression_datetime_add_ticks(bool async) => AssertQuery( async, @@ -3134,7 +3134,7 @@ public virtual Task Select_expression_datetime_add_ticks(bool async) .Select(o => new Order { OrderDate = o.OrderDate.Value.AddTicks(TimeSpan.TicksPerMillisecond) }), e => e.OrderDate); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_expression_date_add_milliseconds_above_the_range(bool async) => AssertQuery( async, @@ -3142,14 +3142,14 @@ public virtual Task Select_expression_date_add_milliseconds_above_the_range(bool .Select(o => new Order { OrderDate = o.OrderDate.Value.AddMilliseconds(1000000000000) }), e => e.OrderDate); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_expression_date_add_milliseconds_below_the_range(bool async) => AssertQuery( async, ss => ss.Set().Where(o => o.OrderDate != null) .Select(o => new Order { OrderDate = o.OrderDate.Value.AddMilliseconds(-1000000000000) })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_expression_date_add_milliseconds_large_number_divided(bool async) { var millisecondsPerDay = 86400000L; @@ -3165,7 +3165,7 @@ public virtual Task Select_expression_date_add_milliseconds_large_number_divided e => e.OrderDate); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Add_minutes_on_constant_value(bool async) => AssertQuery( async, @@ -3175,7 +3175,7 @@ public virtual Task Add_minutes_on_constant_value(bool async) assertOrder: true, elementAsserter: (e, a) => AssertEqual(e.Test, a.Test)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_expression_references_are_updated_correctly_with_subquery(bool async) { var nextYear = 2017; @@ -3188,13 +3188,13 @@ public virtual Task Select_expression_references_are_updated_correctly_with_subq .Where(x => x < nextYear)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task DefaultIfEmpty_without_group_join(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.City == "London").DefaultIfEmpty().Where(d => d != null).Select(d => d.CustomerID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task DefaultIfEmpty_in_subquery(bool async) => AssertQuery( async, @@ -3205,7 +3205,7 @@ from o in ss.Set().Where(o => o.CustomerID == c.CustomerID).DefaultIfEmpt select new { c.CustomerID, o.OrderID }), e => (e.CustomerID, e.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task DefaultIfEmpty_in_subquery_not_correlated(bool async) => AssertQuery( async, @@ -3215,7 +3215,7 @@ from o in ss.Set().Where(o => o.OrderID > 15000).DefaultIfEmpty() select new { c.CustomerID, OrderID = o != null ? o.OrderID : (int?)null }), e => (e.CustomerID, e.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task DefaultIfEmpty_in_subquery_nested(bool async) => AssertQuery( async, @@ -3233,7 +3233,7 @@ from o2 in ss.Set().Where(o => o.CustomerID == c.CustomerID).DefaultIfEmp }), e => (e.CustomerID, e.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task DefaultIfEmpty_in_subquery_nested_filter_order_comparison(bool async) => AssertQuery( async, @@ -3251,7 +3251,7 @@ from o2 in ss.Set().Where(o => o.OrderID <= c.CustomerID.Length + 10250). }), e => (e.CustomerID, e.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_skip_take(bool async) => AssertQuery( async, @@ -3261,7 +3261,7 @@ public virtual Task OrderBy_skip_take(bool async) .Take(8), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_skip_skip_take(bool async) => AssertQuery( async, @@ -3272,7 +3272,7 @@ public virtual Task OrderBy_skip_skip_take(bool async) .Take(3), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_skip_take_take(bool async) => AssertQuery( async, @@ -3283,7 +3283,7 @@ public virtual Task OrderBy_skip_take_take(bool async) .Take(3), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_skip_take_take_take_take(bool async) => AssertQuery( async, @@ -3296,7 +3296,7 @@ public virtual Task OrderBy_skip_take_take_take_take(bool async) .Take(5), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_skip_take_skip_take_skip(bool async) => AssertQuery( async, @@ -3309,7 +3309,7 @@ public virtual Task OrderBy_skip_take_skip_take_skip(bool async) .Skip(5), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_skip_take_distinct(bool async) => AssertQuery( async, @@ -3320,7 +3320,7 @@ public virtual Task OrderBy_skip_take_distinct(bool async) .Distinct(), assertOrder: false); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_coalesce_take_distinct(bool async) => AssertQuery( async, @@ -3329,7 +3329,7 @@ public virtual Task OrderBy_coalesce_take_distinct(bool async) .Distinct(), assertOrder: false); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_coalesce_skip_take_distinct(bool async) => AssertQuery( async, @@ -3339,7 +3339,7 @@ public virtual Task OrderBy_coalesce_skip_take_distinct(bool async) .Distinct(), assertOrder: false); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_coalesce_skip_take_distinct_take(bool async) => AssertQuery( async, @@ -3353,7 +3353,7 @@ public virtual Task OrderBy_coalesce_skip_take_distinct_take(bool async) /* non-deterministic */ }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_skip_take_distinct_orderby_take(bool async) => AssertQuery( async, @@ -3366,7 +3366,7 @@ public virtual Task OrderBy_skip_take_distinct_orderby_take(bool async) .Take(8), assertOrder: false); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task No_orderby_added_for_fully_translated_manually_constructed_LOJ(bool async) => AssertQuery( async, @@ -3378,7 +3378,7 @@ from e2 in grouping.DefaultIfEmpty() #pragma warning restore IDE0031 // Use null propagation e => (e.City1, e.City2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task No_orderby_added_for_client_side_GroupJoin_dependent_to_principal_LOJ(bool async) // Translation failed message. Issue #17328. => AssertTranslationFailed(() => AssertQuery( @@ -3392,7 +3392,7 @@ from c in ClientDefaultIfEmpty(grouping) #pragma warning restore IDE0031 // Use null propagation e => (e.Id1, e.Id2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task No_orderby_added_for_client_side_GroupJoin_dependent_to_principal_LOJ_with_additional_join_condition1(bool async) // Translation failed message. Issue #17328. => AssertTranslationFailed(() => AssertQuery( @@ -3407,7 +3407,7 @@ from c in ClientDefaultIfEmpty(grouping) #pragma warning restore IDE0031 // Use null propagation e => (e.Id1, e.Id2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task No_orderby_added_for_client_side_GroupJoin_dependent_to_principal_LOJ_with_additional_join_condition2(bool async) // Translation failed message. Issue #17328. => AssertTranslationFailed(() => AssertQuery( @@ -3422,7 +3422,7 @@ from c in ClientDefaultIfEmpty(grouping) #pragma warning restore IDE0031 // Use null propagation e => (e.Id1, e.Id2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Orderby_added_for_client_side_GroupJoin_principal_to_dependent_LOJ(bool async) // Translation failed message. Issue #17328. => AssertTranslationFailed(() => AssertQuery( @@ -3435,7 +3435,7 @@ from e2 in ClientDefaultIfEmpty(grouping) #pragma warning restore IDE0031 // Use null propagation e => (e.City1, e.City2))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Contains_with_DateTime_Date(bool async) { var dates = new[] { new DateTime(1996, 07, 04), new DateTime(1996, 07, 16) }; @@ -3451,7 +3451,7 @@ await AssertQuery( ss => ss.Set().Where(e => dates.Contains(e.OrderDate.Value.Date))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_subquery_involving_join_binds_to_correct_table(bool async) => AssertQuery( async, @@ -3461,21 +3461,21 @@ public virtual Task Contains_with_subquery_involving_join_binds_to_correct_table .Select(od => od.OrderID) .Contains(o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Anonymous_member_distinct_where(bool async) => AssertQuery( async, ss => ss.Set().Select(c => new { c.CustomerID }).Distinct().Where(n => n.CustomerID == "ALFKI"), e => e.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Anonymous_member_distinct_orderby(bool async) => AssertQuery( async, ss => ss.Set().Select(c => new { c.CustomerID }).Distinct().OrderBy(n => n.CustomerID), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Anonymous_member_distinct_result(bool async) => AssertSingleResult( async, @@ -3483,21 +3483,21 @@ public virtual Task Anonymous_member_distinct_result(bool async) asyncQuery: ss => ss.Set().Select(c => new { c.CustomerID }).Distinct().CountAsync(n => n.CustomerID.StartsWith("A"), default)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Anonymous_complex_distinct_where(bool async) => AssertQuery( async, ss => ss.Set().Select(c => new { A = c.CustomerID + c.City }).Distinct().Where(n => n.A == "ALFKIBerlin"), e => e.A); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Anonymous_complex_distinct_orderby(bool async) => AssertQuery( async, ss => ss.Set().Select(c => new { A = c.CustomerID + c.City }).Distinct().OrderBy(n => n.A), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Anonymous_complex_distinct_result(bool async) => AssertSingleResult( async, @@ -3507,14 +3507,14 @@ public virtual Task Anonymous_complex_distinct_result(bool async) => ss.Set().Select(c => new { A = c.CustomerID + c.City }).Distinct() .CountAsync(n => n.A.StartsWith("A"), default)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Anonymous_complex_orderby(bool async) => AssertQuery( async, ss => ss.Set().Select(c => new { A = c.CustomerID + c.City }).OrderBy(n => n.A), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Anonymous_subquery_orderby(bool async) => AssertQuery( async, @@ -3545,7 +3545,7 @@ public override int GetHashCode() => Property.GetHashCode(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task DTO_member_distinct_where(bool async) => AssertQuery( async, @@ -3554,7 +3554,7 @@ public virtual Task DTO_member_distinct_where(bool async) elementSorter: e => e.Property, elementAsserter: (e, a) => Assert.Equal(e.Property, a.Property)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task DTO_member_distinct_orderby(bool async) => AssertQuery( async, @@ -3562,7 +3562,7 @@ public virtual Task DTO_member_distinct_orderby(bool async) assertOrder: true, elementAsserter: (e, a) => Assert.Equal(e.Property, a.Property)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task DTO_member_distinct_result(bool async) => AssertSingleResult( async, @@ -3572,7 +3572,7 @@ public virtual Task DTO_member_distinct_result(bool async) => ss.Set().Select(c => new DTO { Property = c.CustomerID }).Distinct() .CountAsync(n => n.Property.StartsWith("A"), default)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task DTO_complex_distinct_where(bool async) => AssertQuery( async, @@ -3581,7 +3581,7 @@ public virtual Task DTO_complex_distinct_where(bool async) elementSorter: e => e.Property, elementAsserter: (e, a) => Assert.Equal(e.Property, a.Property)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task DTO_complex_distinct_orderby(bool async) => AssertQuery( async, @@ -3590,7 +3590,7 @@ public virtual Task DTO_complex_distinct_orderby(bool async) assertOrder: true, elementAsserter: (e, a) => Assert.Equal(e.Property, a.Property)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task DTO_complex_distinct_result(bool async) => AssertSingleResult( async, @@ -3599,7 +3599,7 @@ public virtual Task DTO_complex_distinct_result(bool async) asyncQuery: ss => ss.Set().Select(c => new DTO { Property = c.CustomerID + c.City }).Distinct() .CountAsync(n => n.Property.StartsWith("A"), default)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task DTO_complex_orderby(bool async) => AssertQuery( async, @@ -3607,7 +3607,7 @@ public virtual Task DTO_complex_orderby(bool async) assertOrder: true, elementAsserter: (e, a) => Assert.Equal(e.Property, a.Property)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task DTO_subquery_orderby(bool async) => AssertQuery( async, @@ -3618,7 +3618,7 @@ public virtual Task DTO_subquery_orderby(bool async) assertOrder: true, elementAsserter: (e, a) => Assert.Equal(e.Property, a.Property)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_with_orderby_skip_preserves_ordering(bool async) => AssertQuery( async, @@ -3633,7 +3633,7 @@ public virtual Task Include_with_orderby_skip_preserves_ordering(bool async) private static IEnumerable ClientDefaultIfEmpty(IEnumerable source) => source?.Count() == 0 ? [default] : source; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Complex_query_with_repeated_query_model_compiles_correctly(bool async) => AssertQuery( async, @@ -3646,7 +3646,7 @@ where customers.Any() select customers).Any())); #pragma warning disable CS9236 // Compiling requires binding the lambda expression at least 200 times - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Complex_query_with_repeated_nested_query_model_compiles_correctly(bool async) => AssertQuery( async, @@ -3661,7 +3661,7 @@ where customers.Any() select customers).Any())); #pragma warning restore CS9236 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Int16_parameter_can_be_used_for_int_column(bool async) { const ushort parameter = 10300; @@ -3671,7 +3671,7 @@ public virtual Task Int16_parameter_can_be_used_for_int_column(bool async) ss => ss.Set().Where(o => o.OrderID == parameter)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Subquery_is_null_translated_correctly(bool async) => AssertQuery( async, @@ -3683,7 +3683,7 @@ from c in ss.Set() where lastOrder == null select c); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Subquery_is_not_null_translated_correctly(bool async) => AssertQuery( async, @@ -3695,139 +3695,139 @@ from c in ss.Set() where lastOrder != null select c); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_take_average(bool async) => AssertAverage( async, ss => ss.Set().OrderBy(o => o.OrderID).Select(o => o.OrderID).Take(10)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_take_count(bool async) => AssertCount( async, ss => ss.Set().Take(7)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_orderBy_take_count(bool async) => AssertCount( async, ss => ss.Set().OrderBy(c => c.Country).Take(7)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_take_long_count(bool async) => AssertLongCount( async, ss => ss.Set().Take(7)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_orderBy_take_long_count(bool async) => AssertLongCount( async, ss => ss.Set().OrderBy(c => c.Country).Take(7)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_take_max(bool async) => AssertMax( async, ss => ss.Set().OrderBy(o => o.OrderID).Select(o => o.OrderID).Take(10)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_take_min(bool async) => AssertMin( async, ss => ss.Set().OrderBy(o => o.OrderID).Select(o => o.OrderID).Take(10)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_take_sum(bool async) => AssertSum( async, ss => ss.Set().OrderBy(o => o.OrderID).Select(o => o.OrderID).Take(10)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_skip_average(bool async) => AssertAverage( async, ss => ss.Set().OrderBy(o => o.OrderID).Select(o => o.OrderID).Skip(10)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_skip_count(bool async) => AssertCount( async, ss => ss.Set().Skip(7)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_orderBy_skip_count(bool async) => AssertCount( async, ss => ss.Set().OrderBy(c => c.Country).Skip(7)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_skip_long_count(bool async) => AssertLongCount( async, ss => ss.Set().Skip(7)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_orderBy_skip_long_count(bool async) => AssertLongCount( async, ss => ss.Set().OrderBy(c => c.Country).Skip(7)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_skip_max(bool async) => AssertMax( async, ss => ss.Set().OrderBy(o => o.OrderID).Select(o => o.OrderID).Skip(10)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_skip_min(bool async) => AssertMin( async, ss => ss.Set().OrderBy(o => o.OrderID).Select(o => o.OrderID).Skip(10)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_skip_sum(bool async) => AssertSum( async, ss => ss.Set().OrderBy(o => o.OrderID).Select(o => o.OrderID).Skip(10)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_distinct_average(bool async) => AssertAverage( async, ss => ss.Set().Select(o => o.OrderID).Distinct()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_distinct_count(bool async) => AssertCount( async, ss => ss.Set().Distinct()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_distinct_long_count(bool async) => AssertLongCount( async, ss => ss.Set().Distinct()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_distinct_max(bool async) => AssertMax( async, ss => ss.Set().Select(o => o.OrderID).Distinct()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_distinct_min(bool async) => AssertMin( async, ss => ss.Set().Select(o => o.OrderID).Distinct()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_distinct_sum(bool async) => AssertSum( async, ss => ss.Set().Select(o => o.OrderID).Distinct()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Comparing_to_fixed_string_parameter(bool async) => AssertQuery( async, @@ -3838,7 +3838,7 @@ private static IQueryable FindLike(IQueryable cs, string prefi where c.CustomerID.StartsWith(prefix) select c.CustomerID; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Comparing_entities_using_Equals(bool async) => AssertQuery( async, @@ -3849,7 +3849,7 @@ where c1.Equals(c2) orderby c1.CustomerID select new { Id1 = c1.CustomerID, Id2 = c2.CustomerID }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Comparing_different_entity_types_using_Equals(bool async) => AssertQuery( async, @@ -3860,7 +3860,7 @@ where c.Equals(o) select c.CustomerID, assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Comparing_entity_to_null_using_Equals(bool async) => AssertQuery( async, @@ -3870,7 +3870,7 @@ where c.CustomerID.StartsWith("A") orderby c.CustomerID select c.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Comparing_navigations_using_Equals(bool async) => AssertQuery( async, @@ -3883,7 +3883,7 @@ where o1.Customer.Equals(o2.Customer) select new { Id1 = o1.OrderID, Id2 = o2.OrderID }, e => (e.Id1, e.Id2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Comparing_navigations_using_static_Equals(bool async) => AssertQuery( async, @@ -3896,7 +3896,7 @@ where Equals(o1.Customer, o2.Customer) select new { Id1 = o1.OrderID, Id2 = o2.OrderID }, e => (e.Id1, e.Id2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Comparing_non_matching_entities_using_Equals(bool async) => AssertQuery( async, @@ -3908,7 +3908,7 @@ where Equals(c, o) select new { Id1 = c.CustomerID, Id2 = o.OrderID }, assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Comparing_non_matching_collection_navigations_using_Equals(bool async) => AssertQuery( async, @@ -3920,14 +3920,14 @@ where c.Orders.Equals(o.OrderDetails) select new { Id1 = c.CustomerID, Id2 = o.OrderID }, assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Comparing_collection_navigation_to_null(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Orders == null).Select(c => c.CustomerID), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Comparing_collection_navigation_to_null_complex(bool async) => AssertQuery( async, @@ -3939,7 +3939,7 @@ public virtual Task Comparing_collection_navigation_to_null_complex(bool async) .Select(od => new { od.ProductID, od.OrderID }), e => (e.ProductID, e.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Compare_collection_navigation_with_itself(bool async) => AssertQuery( async, @@ -3948,7 +3948,7 @@ where c.CustomerID.StartsWith("A") where c.Orders == c.Orders select c.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Compare_two_collection_navigations_with_different_query_sources(bool async) => AssertQuery( async, @@ -3960,7 +3960,7 @@ from c2 in ss.Set() select new { Id1 = c1.CustomerID, Id2 = c2.CustomerID }, e => (e.Id1, e.Id2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Compare_two_collection_navigations_using_equals(bool async) => AssertQuery( async, @@ -3972,7 +3972,7 @@ where Equals(c1.Orders, c2.Orders) select new { Id1 = c1.CustomerID, Id2 = c2.CustomerID }, e => (e.Id1, e.Id2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Compare_two_collection_navigations_with_different_property_chains(bool async) => AssertQuery( async, @@ -3985,7 +3985,7 @@ from o in ss.Set() select new { Id1 = c.CustomerID, Id2 = o.OrderID }, e => (e.Id1, e.Id2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_ThenBy_same_column_different_direction(bool async) => AssertQuery( async, @@ -3996,7 +3996,7 @@ public virtual Task OrderBy_ThenBy_same_column_different_direction(bool async) .Select(c => c.CustomerID), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_OrderBy_same_column_different_direction(bool async) => AssertQuery( async, @@ -4007,7 +4007,7 @@ public virtual Task OrderBy_OrderBy_same_column_different_direction(bool async) .Select(c => c.CustomerID), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Complex_nested_query_doesnt_try_binding_to_grandparent_when_parent_returns_complex_result(bool async) => AssertQuery( async, @@ -4022,14 +4022,14 @@ public virtual Task Complex_nested_query_doesnt_try_binding_to_grandparent_when_ Assert.Equal(e.OuterOrders.Count, a.OuterOrders.Count); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Complex_nested_query_properly_binds_to_grandparent_when_parent_returns_scalar_result(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.CustomerID == "ALFKI") .Select(c => new { c.CustomerID, OuterOrders = c.Orders.Count(o => c.Orders.Count() > 0) })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_Dto_projection_skip_take(bool async) => AssertQuery( async, @@ -4039,7 +4039,7 @@ public virtual Task OrderBy_Dto_projection_skip_take(bool async) .Take(10), elementSorter: e => e.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_take_count_works(bool async) => AssertCount( async, @@ -4049,7 +4049,7 @@ on o.CustomerID equals c.CustomerID select o) .Take(5)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_empty_list_contains(bool async) { var list = new List(); @@ -4059,7 +4059,7 @@ public virtual Task OrderBy_empty_list_contains(bool async) ss => ss.Set().OrderBy(c => list.Contains(c.CustomerID)).Select(c => c)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_empty_list_does_not_contains(bool async) { var list = new List(); @@ -4069,7 +4069,7 @@ public virtual Task OrderBy_empty_list_does_not_contains(bool async) ss => ss.Set().OrderBy(c => !list.Contains(c.CustomerID)).Select(c => c)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Manual_expression_tree_typed_null_equality(bool async) { using var context = CreateContext(); @@ -4095,7 +4095,7 @@ public virtual Task Manual_expression_tree_typed_null_equality(bool async) .Select(selector)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Let_subquery_with_multiple_occurrences(bool async) => AssertQuery( async, @@ -4107,7 +4107,7 @@ select od.Quantity where details.Any() select new { Count = details.Count() }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Let_entity_equality_to_null(bool async) => AssertQuery( async, @@ -4116,7 +4116,7 @@ public virtual Task Let_entity_equality_to_null(bool async) where o != null select new { c.CustomerID, o.OrderDate }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Let_entity_equality_to_other_entity(bool async) { return AssertQuery( @@ -4133,7 +4133,7 @@ public virtual Task Let_entity_equality_to_other_entity(bool async) }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_after_client_method(bool async) => AssertTranslationFailed(() => AssertQueryScalar( async, @@ -4145,7 +4145,7 @@ public virtual Task SelectMany_after_client_method(bool async) private static string ClientOrderBy(Customer c) => c.CustomerID; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Client_OrderBy_GroupBy_Group_ordering_works(bool async) => AssertTranslationFailed(() => AssertQuery( async, @@ -4164,21 +4164,21 @@ protected static bool ClientEvalPredicate(Order order) protected internal uint ClientEvalSelector(Order order) => order.EmployeeID % 10 ?? 0; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_navigation_equal_to_null_for_subquery(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Orders.OrderBy(o => o.OrderID).FirstOrDefault().OrderDetails == null), ss => ss.Set().Where(c => c.Orders.OrderBy(o => o.OrderID).FirstOrDefault() == null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Dependent_to_principal_navigation_equal_to_null_for_subquery(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Orders.OrderBy(o => o.OrderID).FirstOrDefault().Customer == null), ss => ss.Set().Where(c => c.Orders.OrderBy(o => o.OrderID).Select(o => o.CustomerID).FirstOrDefault() == null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_navigation_equality_rewrite_for_subquery(bool async) // Dependency issues between visitors Issue #20445. => AssertTranslationFailed(() => AssertQuery( @@ -4187,25 +4187,25 @@ public virtual Task Collection_navigation_equality_rewrite_for_subquery(bool asy && ss.Set().Where(o => o.OrderID < 10300).OrderBy(o => o.OrderID).FirstOrDefault().OrderDetails == ss.Set().Where(o => o.OrderID > 10500).OrderBy(o => o.OrderID).FirstOrDefault().OrderDetails))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Inner_parameter_in_nested_lambdas_gets_preserved(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Orders.Where(o => c == new Customer { CustomerID = o.CustomerID }).Count() > 0)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Convert_to_nullable_on_nullable_value_is_ignored(bool async) => AssertQuery( async, ss => ss.Set().Select(o => new Order { OrderDate = o.OrderDate.Value })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_inside_interpolated_string_is_expanded(bool async) => AssertQuery( async, ss => ss.Set().Select(o => $"CustomerCity:{o.Customer.City}")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Client_code_using_instance_method_throws(bool async) => AssertQuery( async, @@ -4214,7 +4214,7 @@ public virtual Task Client_code_using_instance_method_throws(bool async) private string InstanceMethod(Customer c) => c.City; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Client_code_using_instance_in_static_method(bool async) => AssertQuery( async, @@ -4223,13 +4223,13 @@ public virtual Task Client_code_using_instance_in_static_method(bool async) private static string StaticMethod(NorthwindMiscellaneousQueryTestBase containingClass, Customer c) => c.City; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Client_code_using_instance_in_anonymous_type(bool async) => AssertQuery( async, ss => ss.Set().Select(c => new { A = this })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Client_code_unknown_method(bool async) => AssertQuery( async, @@ -4239,7 +4239,7 @@ public virtual Task Client_code_unknown_method(bool async) public static string UnknownMethod(string foo) => foo; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Context_based_client_method(bool async) { using (var context = CreateContext()) @@ -4269,7 +4269,7 @@ public virtual async Task Context_based_client_method(bool async) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_object_type_server_evals(bool async) { Expression>[] orderingExpressions = @@ -4288,7 +4288,7 @@ public virtual Task OrderBy_object_type_server_evals(bool async) assertOrder: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task AsQueryable_in_query_server_evals(bool async) => AssertQuery( async, @@ -4304,7 +4304,7 @@ public virtual Task AsQueryable_in_query_server_evals(bool async) private static Expression> ValidYear => a => a.OrderDate.Value.Year == 1998; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Subquery_DefaultIfEmpty_Any(bool async) => AssertAny( async, @@ -4315,7 +4315,7 @@ public virtual Task Subquery_DefaultIfEmpty_Any(bool async) select e)); // Issue#18374 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_skip_collection_projection(bool async) => AssertQuery( async, @@ -4332,7 +4332,7 @@ public virtual Task Projection_skip_collection_projection(bool async) AssertCollection(e.ProductIds, a.ProductIds, ordered: true, elementAsserter: (ie, ia) => Assert.Equal(ie, ia)); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_take_collection_projection(bool async) => AssertQuery( async, @@ -4349,7 +4349,7 @@ public virtual Task Projection_take_collection_projection(bool async) AssertCollection(e.ProductIds, a.ProductIds, ordered: true, elementAsserter: (ie, ia) => Assert.Equal(ie, ia)); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_skip_take_collection_projection(bool async) => AssertQuery( async, @@ -4367,7 +4367,7 @@ public virtual Task Projection_skip_take_collection_projection(bool async) AssertCollection(e.ProductIds, a.ProductIds, ordered: true, elementAsserter: (ie, ia) => Assert.Equal(ie, ia)); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_skip_projection(bool async) => AssertQuery( async, @@ -4378,7 +4378,7 @@ public virtual Task Projection_skip_projection(bool async) .Skip(5) .Select(e => new { e.Item.Customer.City })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_take_projection(bool async) => AssertQuery( async, @@ -4389,7 +4389,7 @@ public virtual Task Projection_take_projection(bool async) .Take(10) .Select(e => new { e.Item.Customer.City })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_skip_take_projection(bool async) => AssertQuery( async, @@ -4402,7 +4402,7 @@ public virtual Task Projection_skip_take_projection(bool async) .Select(e => new { e.Item.Customer.City })); // Issue#19207 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_projection_skip(bool async) => AssertQuery( async, @@ -4418,7 +4418,7 @@ public virtual Task Collection_projection_skip(bool async) AssertCollection(e.OrderDetails, a.OrderDetails); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_projection_take(bool async) => AssertQuery( async, @@ -4434,7 +4434,7 @@ public virtual Task Collection_projection_take(bool async) AssertCollection(e.OrderDetails, a.OrderDetails); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_projection_skip_take(bool async) => AssertQuery( async, @@ -4451,7 +4451,7 @@ public virtual Task Collection_projection_skip_take(bool async) AssertCollection(e.OrderDetails, a.OrderDetails); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Anonymous_projection_skip_empty_collection_FirstOrDefault(bool async) => AssertQuery( async, @@ -4461,7 +4461,7 @@ public virtual Task Anonymous_projection_skip_empty_collection_FirstOrDefault(bo .Skip(0) .Select(e => e.Customer.Orders.FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Anonymous_projection_take_empty_collection_FirstOrDefault(bool async) => AssertQuery( async, @@ -4471,7 +4471,7 @@ public virtual Task Anonymous_projection_take_empty_collection_FirstOrDefault(bo .Take(1) .Select(e => e.Customer.Orders.FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Anonymous_projection_skip_take_empty_collection_FirstOrDefault(bool async) => AssertQuery( async, @@ -4482,7 +4482,7 @@ public virtual Task Anonymous_projection_skip_take_empty_collection_FirstOrDefau .Take(1) .Select(e => e.Customer.Orders.FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Checked_context_with_arithmetic_does_not_fail(bool isAsync) { checked @@ -4497,7 +4497,7 @@ public virtual Task Checked_context_with_arithmetic_does_not_fail(bool isAsync) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Checked_context_with_case_to_same_nullable_type_does_not_fail(bool isAsync) => AssertMax( isAsync, @@ -4507,7 +4507,7 @@ public virtual Task Checked_context_with_case_to_same_nullable_type_does_not_fai detail => (short?)detail.Quantity ); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_equality_with_null_coalesce_client_side(bool async) { var a = new Customer { CustomerID = "ALFKI" }; @@ -4518,7 +4518,7 @@ public virtual Task Entity_equality_with_null_coalesce_client_side(bool async) ss => ss.Set().Where(c => c == (a ?? b))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_equality_contains_with_list_of_null(bool async) { var customers = new List { null, new() { CustomerID = "ALFKI" } }; @@ -4528,7 +4528,7 @@ public virtual Task Entity_equality_contains_with_list_of_null(bool async) ss => ss.Set().Where(c => customers.Contains(c))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task MemberInitExpression_NewExpression_is_funcletized_even_when_bindings_are_not_evaluatable(bool async) { var randomString = "random"; @@ -4547,7 +4547,7 @@ private class Dto(string value) public Dto NestedDto { get; set; } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Funcletize_conditional_with_evaluatable_test(bool async) => AssertQuery( async, @@ -4556,7 +4556,7 @@ public virtual Task Funcletize_conditional_with_evaluatable_test(bool async) private static bool AlwaysFalse() => false; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Null_parameter_name_works(bool async) { using var context = CreateContext(); @@ -4578,17 +4578,17 @@ public virtual async Task Null_parameter_name_works(bool async) Assert.Empty(result); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task String_include_on_incorrect_property_throws(bool async) => Assert.ThrowsAsync(async () => await AssertQuery( async, ss => ss.Set().Include("OrderDetails"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task EF_Property_include_on_incorrect_property_throws(bool async) => Assert.ThrowsAsync(async () => await AssertQuery( async, ss => ss.Set().Include(c => EF.Property(c, "OrderDetails")))); - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] public virtual async Task Perform_identity_resolution_reuses_same_instances(bool async, bool useAsTracking) { using var context = CreateContext(); @@ -4612,7 +4612,7 @@ public virtual async Task Perform_identity_resolution_reuses_same_instances(bool Assert.Empty(context.ChangeTracker.Entries()); } - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] public virtual async Task Perform_identity_resolution_reuses_same_instances_across_joins(bool async, bool useAsTracking) { using var context = CreateContext(); @@ -4639,32 +4639,32 @@ on c.CustomerID equals o.CustomerID Assert.Empty(context.ChangeTracker.Entries()); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Using_string_Equals_with_StringComparison_throws_informative_error(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.CustomerID.Equals("ALFKI", StringComparison.InvariantCulture))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Using_static_string_Equals_with_StringComparison_throws_informative_error(bool async) => AssertQuery( async, ss => ss.Set().Where(c => string.Equals(c.CustomerID, "ALFKI", StringComparison.InvariantCulture))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Single_non_scalar_projection_after_skip_uses_join(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.Orders.OrderBy(o => o.OrderDate).ThenBy(o => o.OrderID).Skip(2).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_distinct_Select_with_client_bindings(bool async) => AssertQuery( async, ss => ss.Set().Where(o => o.OrderID < 20000).Select(o => o.OrderDate.Value.Year).Distinct() .Select(e => new DTO { Property = ClientMethod(e) })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ToList_over_string(bool async) => AssertQuery( async, @@ -4672,7 +4672,7 @@ public virtual Task ToList_over_string(bool async) assertOrder: true, elementAsserter: (e, a) => Assert.True(e.Property.SequenceEqual(a.Property))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ToArray_over_string(bool async) => AssertQuery( async, @@ -4680,7 +4680,7 @@ public virtual Task ToArray_over_string(bool async) assertOrder: true, elementAsserter: (e, a) => Assert.True(e.Property.SequenceEqual(a.Property))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task AsEnumerable_over_string(bool async) => AssertQuery( async, @@ -4691,7 +4691,7 @@ public virtual Task AsEnumerable_over_string(bool async) private static int ClientMethod(int s) => s; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Non_nullable_property_through_optional_navigation(bool async) => Assert.Equal( "Nullable object must have a value.", @@ -4699,7 +4699,7 @@ public virtual async Task Non_nullable_property_through_optional_navigation(bool async, ss => ss.Set().Select(e => new { e.Region.Length })))).Message); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Max_on_empty_sequence_throws(bool async) { using var context = CreateContext(); @@ -4708,7 +4708,7 @@ public virtual async Task Max_on_empty_sequence_throws(bool async) _ = async ? await query.ToListAsync() : query.ToList(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Pending_selector_in_cardinality_reducing_method_is_applied_before_expanding_collection_navigation_member( bool async) => AssertQuery( @@ -4732,7 +4732,7 @@ public virtual Task Pending_selector_in_cardinality_reducing_method_is_applied_b }), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Distinct_followed_by_ordering_on_condition(bool async) { var searchTerm = "c"; @@ -4748,7 +4748,7 @@ public virtual Task Distinct_followed_by_ordering_on_condition(bool async) assertOrder: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task DefaultIfEmpty_Sum_over_collection_navigation(bool async) => AssertQuery( async, @@ -4756,7 +4756,7 @@ public virtual Task DefaultIfEmpty_Sum_over_collection_navigation(bool async) .Select(c => new { c.CustomerID, Sum = c.Orders.Select(o => o.OrderID).DefaultIfEmpty().Sum() }), elementSorter: c => c.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_equality_on_subquery_with_null_check(bool async) => AssertQuery( async, @@ -4771,13 +4771,13 @@ public virtual Task Entity_equality_on_subquery_with_null_check(bool async) elementSorter: c => c.CustomerID, elementAsserter: (e, a) => AssertEqual(e.Order, a.Order)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task DefaultIfEmpty_over_empty_collection_followed_by_projecting_constant(bool async) => AssertFirstOrDefault( async, ss => ss.Set().Where(c => false).DefaultIfEmpty().Select(c => "520")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FirstOrDefault_with_predicate_nested(bool async) => AssertQuery( async, @@ -4811,7 +4811,7 @@ public class TestDto }; } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task First_on_collection_in_projection(bool async) => AssertQuery( async, @@ -4824,13 +4824,13 @@ public virtual Task First_on_collection_in_projection(bool async) Assert.Equal(e.OrderDate, a.OrderDate); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SkipWhile_throws_meaningful_exception(bool async) => AssertTranslationFailed(() => AssertQuery( async, ss => ss.Set().OrderBy(c => c.CustomerID).SkipWhile(c => c.CustomerID != "Foo").Skip(1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Skip_0_Take_0_works_when_parameter(bool async) { await AssertQuery( @@ -4843,7 +4843,7 @@ await AssertQuery( ss => ss.Set().OrderBy(c => c.CustomerID).Skip(1).Take(1)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_0_Take_0_works_when_constant(bool async) => AssertQueryScalar( async, @@ -4852,7 +4852,7 @@ public virtual Task Skip_0_Take_0_works_when_constant(bool async) .Select(e => e.Orders.OrderBy(o => o.OrderID).Skip(0).Take(0).Any()), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_1_Take_0_works_when_constant(bool async) => AssertQueryScalar( async, @@ -4861,7 +4861,7 @@ public virtual Task Skip_1_Take_0_works_when_constant(bool async) .Select(e => e.Orders.OrderBy(o => o.OrderID).Skip(1).Take(0).Any()), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_0_works_when_constant(bool async) => AssertQueryScalar( async, @@ -4870,7 +4870,7 @@ public virtual Task Take_0_works_when_constant(bool async) .Select(e => e.Orders.OrderBy(o => o.OrderID).Take(0).Any()), assertOrder: true); - [ConditionalFact] + [Fact] public virtual async Task ToListAsync_can_be_canceled() { for (var i = 0; i < 10; i++) @@ -4905,7 +4905,7 @@ public virtual async Task ToListAsync_can_be_canceled() } } - [ConditionalFact] + [Fact] public virtual async Task ToListAsync_with_canceled_token() { using var context = CreateContext(); @@ -4915,7 +4915,7 @@ public virtual async Task ToListAsync_with_canceled_token() Assert.Contains(CoreEventId.QueryCanceled, Fixture.ListLoggerFactory.Log.Select(l => l.Id)); } - [ConditionalFact] + [Fact] public virtual async Task Mixed_sync_async_query() { using var context = CreateContext(); @@ -4947,7 +4947,7 @@ protected virtual async Task Single_Predicate_Cancellation_test(CancellationToke Assert.Equal("ALFKI", result.CustomerID); } - [ConditionalFact] + [Fact] public virtual async Task Mixed_sync_async_in_query_cache() { using var context = CreateContext(); @@ -4955,7 +4955,7 @@ public virtual async Task Mixed_sync_async_in_query_cache() Assert.Equal(91, (await context.Customers.AsNoTracking().ToListAsync()).Count); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Load_should_track_results(bool async) { using var context = CreateContext(); @@ -4971,7 +4971,7 @@ public virtual async Task Load_should_track_results(bool async) Assert.Equal(91, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_with_distinct_without_default_identifiers_projecting_columns(bool async) => AssertQuery( async, @@ -4998,7 +4998,7 @@ public virtual Task Correlated_collection_with_distinct_without_default_identifi }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_with_distinct_without_default_identifiers_projecting_columns_with_navigation(bool async) => AssertQuery( async, @@ -5031,7 +5031,7 @@ public virtual Task Correlated_collection_with_distinct_without_default_identifi }); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_nested_collection_with_distinct(bool async) => AssertQuery( async, @@ -5044,7 +5044,7 @@ public virtual Task Select_nested_collection_with_distinct(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_projection_after_DefaultIfEmpty(bool async) => AssertQuery( async, @@ -5054,21 +5054,21 @@ public virtual Task Collection_projection_after_DefaultIfEmpty(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e.Orders, a.Orders)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_navigation_equal_to_null_for_subquery_using_ElementAtOrDefault_constant_zero(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Orders.OrderBy(o => o.OrderID).ElementAtOrDefault(0).OrderDetails == null), ss => ss.Set().Where(c => c.Orders.OrderBy(o => o.OrderID).ElementAtOrDefault(0) == null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_navigation_equal_to_null_for_subquery_using_ElementAtOrDefault_constant_one(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Orders.OrderBy(o => o.OrderID).ElementAtOrDefault(1).OrderDetails == null), ss => ss.Set().Where(c => c.Orders.OrderBy(o => o.OrderID).ElementAtOrDefault(1) == null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_navigation_equal_to_null_for_subquery_using_ElementAtOrDefault_parameter(bool async) { var prm = 2; @@ -5079,13 +5079,13 @@ public virtual Task Collection_navigation_equal_to_null_for_subquery_using_Eleme ss => ss.Set().Where(c => c.Orders.OrderBy(o => o.OrderID).ElementAtOrDefault(prm) == null)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Subquery_with_navigation_inside_inline_collection(bool async) => AssertQuery( async, ss => ss.Set().Where(c => new[] { 100, c.Orders.Count }.Sum() > 101)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // #32234 + [Theory, MemberData(nameof(IsAsyncData))] // #32234 public virtual async Task Parameter_collection_Contains_with_projection_and_ordering(bool async) { var ids = new[] { 10248, 10249 }; @@ -5100,7 +5100,7 @@ await AssertQuery( .Select(x => x)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_over_concatenated_columns_with_different_sizes(bool async) { var data = new[] { "ALFKI" + "Alfreds Futterkiste", "ANATR" + "Ana Trujillo Emparedados y helados" }; @@ -5110,7 +5110,7 @@ public virtual Task Contains_over_concatenated_columns_with_different_sizes(bool ss => ss.Set().Where(c => data.Contains(c.CustomerID + c.CompanyName))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_over_concatenated_column_and_constant(bool async) { var data = new[] { "ALFKI" + "SomeConstant", "ANATR" + "SomeConstant", "ALFKI" + "X" }; @@ -5120,7 +5120,7 @@ public virtual Task Contains_over_concatenated_column_and_constant(bool async) ss => ss.Set().Where(c => data.Contains(c.CustomerID + "SomeConstant"))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_over_concatenated_column_and_parameter(bool async) { var data = new[] { "ALFKI" + "SomeVariable", "ANATR" + "SomeVariable", "ALFKI" + "X" }; @@ -5131,7 +5131,7 @@ public virtual Task Contains_over_concatenated_column_and_parameter(bool async) ss => ss.Set().Where(c => data.Contains(c.CustomerID + someVariable))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_over_concatenated_parameter_and_constant(bool async) { var data = new[] { "ALFKI" + "SomeConstant", "ANATR" + "SomeConstant" }; @@ -5142,7 +5142,7 @@ public virtual Task Contains_over_concatenated_parameter_and_constant(bool async ss => ss.Set().Where(c => ((IEnumerable)data).Contains(someVariable + "SomeConstant"))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_over_concatenated_columns_both_fixed_length(bool async) { var data = new[] { "ALFKIALFKI", "ALFKI", "ANATR" + "Ana Trujillo Emparedados y helados", "ANATR" + "ANATR" }; @@ -5152,7 +5152,7 @@ public virtual Task Contains_over_concatenated_columns_both_fixed_length(bool as ss => ss.Set().Where(o => data.Contains(o.CustomerID + o.Customer.CustomerID))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Compiler_generated_local_closure_produces_valid_parameter_name(bool async) => Run_compiler_generated_local_closure_produces_valid_parameter_name( async, @@ -5175,7 +5175,7 @@ private class MyCustomerDetails public string City { get; set; } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Static_member_access_gets_parameterized_within_larger_evaluatable(bool async) => AssertQuery( async, @@ -5184,7 +5184,7 @@ public virtual Task Static_member_access_gets_parameterized_within_larger_evalua private static string StaticProperty => "ALF"; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_nanosecond_and_microsecond_component(bool async) => AssertQuery( async, @@ -5192,41 +5192,41 @@ public virtual Task Where_nanosecond_and_microsecond_component(bool async) ss => ss.Set().Where(o => o.OrderDate.Value.Nanosecond != 0 && o.OrderDate.Value.Microsecond != 0), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Ternary_Not_Null_Contains(bool async) => AssertFirstOrDefault( async, ss => ss.Set().OrderBy(x => x.OrderID).Select(x => x != null ? x.OrderID + "" : null), x => x.Contains("1")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Ternary_Not_Null_endsWith_Non_Numeric_First_Part(bool async) => AssertFirstOrDefault( async, ss => ss.Set().OrderBy(x => x.OrderID).Select(x => x != null ? "" + x.OrderID + "" : null), x => x.EndsWith("1")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Ternary_Null_Equals_Non_Numeric_First_Part(bool async) => AssertFirstOrDefault( async, ss => ss.Set().OrderBy(x => x.OrderID).Select(x => x == null ? null : "" + x.OrderID + ""), x => x == "1"); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Ternary_Null_StartsWith(bool async) => AssertFirstOrDefault( async, ss => ss.Set().OrderBy(x => x.OrderID).Select(x => x == null ? null : x.OrderID + ""), x => x.StartsWith("1")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // #35118 + [Theory, MemberData(nameof(IsAsyncData))] // #35118 public virtual Task Column_access_inside_subquery_predicate(bool async) => AssertQuery( async, ss => ss.Set().Where(c => ss.Set().Where(o => c.CustomerID == "ALFKI").Any())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // #35152 + [Theory, MemberData(nameof(IsAsyncData))] // #35152 public virtual Task Cast_to_object_over_parameter_directly_in_lambda(bool async) { var i = 8; @@ -5236,7 +5236,7 @@ public virtual Task Cast_to_object_over_parameter_directly_in_lambda(bool async) ss => ss.Set().OrderBy(o => (object)i).Select(o => o)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // #35507 + [Theory, MemberData(nameof(IsAsyncData))] // #35507 public virtual Task Late_subquery_pushdown(bool async) => AssertQuery( async, diff --git a/test/EFCore.Specification.Tests/Query/NorthwindNavigationsQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/NorthwindNavigationsQueryTestBase.cs index 4a7abd58df4..112c5d7ae00 100644 --- a/test/EFCore.Specification.Tests/Query/NorthwindNavigationsQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/NorthwindNavigationsQueryTestBase.cs @@ -19,7 +19,7 @@ protected virtual void ClearLog() { } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_with_nav_projected_in_subquery_when_client_eval(bool async) => AssertTranslationFailed(() => AssertQuery( async, @@ -28,7 +28,7 @@ join o in ss.Set().Select(o => ClientProjection(o, o.Customer)) on c.Cust join od in ss.Set().Select(od => ClientProjection(od, od.Product)) on o.OrderID equals od.OrderID select c)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_with_nav_in_predicate_in_subquery_when_client_eval(bool async) => AssertTranslationFailed(() => AssertQuery( async, @@ -37,7 +37,7 @@ join o in ss.Set().Where(o => ClientPredicate(o, o.Customer)) on c.Custom join od in ss.Set().Where(od => ClientPredicate(od, od.Product)) on o.OrderID equals od.OrderID select c)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Join_with_nav_in_orderby_in_subquery_when_client_eval(bool async) => AssertTranslationFailed(() => AssertQuery( async, @@ -57,7 +57,7 @@ private static bool ClientPredicate(T t, object _) private static int ClientOrderBy(T t, object _) => _randomGenerator.Next(0, 20); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Where_Navigation(bool async) => AssertQuery( async, @@ -65,7 +65,7 @@ public virtual Task Select_Where_Navigation(bool async) where o.Customer.City == "Seattle" select o); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Where_Navigation_Contains(bool async) => AssertQuery( async, @@ -73,7 +73,7 @@ public virtual Task Select_Where_Navigation_Contains(bool async) where o.Customer.City.Contains("Sea") select o); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Where_Navigation_Scalar_Equals_Navigation_Scalar(bool async) => AssertQuery( async, @@ -88,7 +88,7 @@ from o2 in ss.Set().Where(o => o.OrderID < 10400) AssertEqual(e.o2, a.o2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Where_Navigation_Scalar_Equals_Navigation_Scalar_Projected(bool async) => AssertQuery( async, @@ -98,7 +98,7 @@ from o2 in ss.Set().Where(o => o.OrderID < 10400) select new { o1.CustomerID, C2 = o2.CustomerID }, elementSorter: e => e.CustomerID + " " + e.C2); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Where_Navigation_Client(bool async) => AssertTranslationFailedWithDetails( () => AssertQuery( @@ -108,7 +108,7 @@ where o.Customer.IsLondon select o), CoreStrings.QueryUnableToTranslateMember(nameof(Customer.IsLondon), nameof(Customer))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Where_Navigation_Deep(bool async) => AssertQuery( async, @@ -117,28 +117,28 @@ public virtual Task Select_Where_Navigation_Deep(bool async) orderby od.OrderID, od.ProductID select od).Take(1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_Select_Navigation(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(c => c.CustomerID).Take(2) .Select(c => c.Orders.OrderBy(o => o.OrderID).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_collection_FirstOrDefault_project_single_column1(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(c => c.CustomerID).Take(2) .Select(c => c.Orders.OrderBy(o => o.OrderID).FirstOrDefault().CustomerID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_collection_FirstOrDefault_project_single_column2(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(c => c.CustomerID).Take(2) .Select(c => c.Orders.OrderBy(o => o.OrderID).Select(o => o.CustomerID).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_collection_FirstOrDefault_project_anonymous_type(bool async) => AssertQuery( async, @@ -146,7 +146,7 @@ public virtual Task Select_collection_FirstOrDefault_project_anonymous_type(bool => c.Orders.OrderBy(o => o.OrderID).Select(o => new { o.CustomerID, o.OrderID }).FirstOrDefault()), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_collection_FirstOrDefault_project_anonymous_type_client_eval(bool async) => AssertQuery( async, @@ -158,13 +158,13 @@ public virtual Task Select_collection_FirstOrDefault_project_anonymous_type_clie private static int ClientFunction(int a, int b) => a + b + 1; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_collection_FirstOrDefault_project_entity(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(c => c.CustomerID).Take(2).Select(c => c.Orders.OrderBy(o => o.OrderID).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_Select_Navigation(bool async) => AssertQuery( async, @@ -173,7 +173,7 @@ public virtual Task Skip_Select_Navigation(bool async) .Select(c => c.Orders.OrderBy(o => o.OrderID).FirstOrDefault()), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Where_Navigation_Null(bool async) => AssertQuery( async, @@ -181,7 +181,7 @@ public virtual Task Select_Where_Navigation_Null(bool async) where e.Manager == null select e); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Where_Navigation_Null_Reverse(bool async) => AssertQuery( async, @@ -189,7 +189,7 @@ public virtual Task Select_Where_Navigation_Null_Reverse(bool async) where null == e.Manager select e); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Where_Navigation_Null_Deep(bool async) => AssertQuery( async, @@ -197,7 +197,7 @@ public virtual Task Select_Where_Navigation_Null_Deep(bool async) where e.Manager.Manager == null select e); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Where_Navigation_Equals_Navigation(bool async) => AssertQuery( async, @@ -209,7 +209,7 @@ where o2.CustomerID.StartsWith("A") select new { o1, o2 }, elementSorter: e => e.o1.OrderID + " " + e.o2.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Where_Navigation_Included(bool async) => AssertQuery( async, @@ -218,7 +218,7 @@ public virtual Task Select_Where_Navigation_Included(bool async) select o, elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(o => o.Customer))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_with_multiple_optional_navigations(bool async) { var expectedIncludes = new IExpectedInclude[] @@ -234,14 +234,14 @@ public virtual Task Include_with_multiple_optional_navigations(bool async) elementAsserter: (e, a) => AssertInclude(e, a, expectedIncludes)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_count_plus_sum(bool async) => AssertQuery( async, ss => ss.Set().Select(o => new { Total = o.OrderDetails.Sum(od => od.Quantity) + o.OrderDetails.Count() }), elementSorter: e => e.Total); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Singleton_Navigation_With_Member_Access(bool async) => AssertQuery( async, @@ -251,7 +251,7 @@ public virtual Task Singleton_Navigation_With_Member_Access(bool async) select new { B = o.Customer.City }, elementSorter: e => e.B); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Singleton_Navigation_With_Member_Access(bool async) => AssertQuery( async, @@ -261,7 +261,7 @@ public virtual Task Select_Singleton_Navigation_With_Member_Access(bool async) select new { A = o.Customer, B = o.Customer.City }, elementSorter: e => e.A + " " + e.B); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Where_Navigation_Multiple_Access(bool async) => AssertQuery( async, @@ -270,14 +270,14 @@ public virtual Task Select_Where_Navigation_Multiple_Access(bool async) && o.Customer.Phone != "555 555 5555" select o); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Navigation(bool async) => AssertQuery( async, ss => from o in ss.Set() select o.Customer); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Navigations(bool async) => AssertQuery( async, @@ -290,7 +290,7 @@ public virtual Task Select_Navigations(bool async) AssertEqual(e.B, a.B); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Navigations_Where_Navigations(bool async) => AssertQuery( async, @@ -305,7 +305,7 @@ public virtual Task Select_Navigations_Where_Navigations(bool async) AssertEqual(e.B, a.B); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_collection_navigation_simple(bool async) => AssertQuery( async, @@ -320,7 +320,7 @@ orderby c.CustomerID AssertCollection(e.Orders, a.Orders); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_collection_navigation_simple2(bool async) => AssertQuery( async, @@ -335,7 +335,7 @@ orderby c.CustomerID Assert.Equal(e.Count, a.Count); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_collection_navigation_simple_followed_by_ordering_by_scalar(bool async) => AssertQuery( async, @@ -350,7 +350,7 @@ orderby c.CustomerID }, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_collection_navigation_multi_part(bool async) => AssertQuery( async, @@ -364,7 +364,7 @@ public virtual Task Select_collection_navigation_multi_part(bool async) AssertCollection(e.Orders, a.Orders); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_collection_navigation_multi_part2(bool async) => AssertQuery( async, @@ -375,7 +375,7 @@ public virtual Task Select_collection_navigation_multi_part2(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e.Orders, a.Orders)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_select_nav_prop_any(bool async) => AssertQuery( async, @@ -385,14 +385,14 @@ public virtual Task Collection_select_nav_prop_any(bool async) select new { Any = (c.Orders ?? new List()).Any() }, elementSorter: e => e.Any); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_select_nav_prop_predicate(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(c => c.Orders.Count > 0), ss => ss.Set().Select(c => (c.Orders ?? new List()).Count > 0)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_where_nav_prop_any(bool async) => AssertQuery( async, @@ -403,7 +403,7 @@ where c.Orders.Any() where (c.Orders ?? new List()).Any() select c); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_where_nav_prop_any_predicate(bool async) => AssertQuery( async, @@ -414,7 +414,7 @@ where c.Orders.Any(o => o.OrderID > 0) where (c.Orders ?? new List()).Any(o => o.OrderID > 0) select c); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_select_nav_prop_all(bool async) => AssertQuery( async, @@ -424,7 +424,7 @@ public virtual Task Collection_select_nav_prop_all(bool async) select new { All = (c.Orders ?? new List()).All(o => o.CustomerID == "ALFKI") }, elementSorter: e => e.All); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_select_nav_prop_all_client(bool async) => AssertTranslationFailedWithDetails( () => AssertQuery( @@ -438,7 +438,7 @@ orderby c.CustomerID assertOrder: true), CoreStrings.QueryUnableToTranslateMember(nameof(Order.ShipCity), nameof(Order))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_where_nav_prop_all(bool async) => AssertQuery( async, @@ -449,7 +449,7 @@ where c.Orders.All(o => o.CustomerID == "ALFKI") where (c.Orders ?? new List()).All(o => o.CustomerID == "ALFKI") select c); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_where_nav_prop_all_client(bool async) => AssertTranslationFailedWithDetails( () => AssertQuery( @@ -460,7 +460,7 @@ where c.Orders.All(o => o.ShipCity == "London") select c), CoreStrings.QueryUnableToTranslateMember(nameof(Order.ShipCity), nameof(Order))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_select_nav_prop_count(bool async) => AssertQuery( async, @@ -470,7 +470,7 @@ public virtual Task Collection_select_nav_prop_count(bool async) select new { (c.Orders ?? new List()).Count }, elementSorter: e => e.Count); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_where_nav_prop_count(bool async) => AssertQuery( async, @@ -481,7 +481,7 @@ where c.Orders.Count() > 5 where (c.Orders ?? new List()).Count() > 5 select c); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_where_nav_prop_count_reverse(bool async) => AssertQuery( async, @@ -492,7 +492,7 @@ public virtual Task Collection_where_nav_prop_count_reverse(bool async) where 5 < (c.Orders ?? new List()).Count() select c); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_orderby_nav_prop_count(bool async) => AssertQuery( async, @@ -504,7 +504,7 @@ orderby c.Orders.Count(), c.CustomerID select c, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_select_nav_prop_long_count(bool async) => AssertQuery( async, @@ -514,7 +514,7 @@ public virtual Task Collection_select_nav_prop_long_count(bool async) select new { C = (c.Orders ?? new List()).LongCount() }, elementSorter: e => e.C); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_multiple_complex_projections(bool async) => AssertQuery( async, @@ -532,7 +532,7 @@ where o.CustomerID.StartsWith("A") }, elementSorter: e => e.scalar2); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_select_nav_prop_sum(bool async) => AssertQuery( async, @@ -542,7 +542,7 @@ public virtual Task Collection_select_nav_prop_sum(bool async) select new { Sum = (c.Orders ?? new List()).Sum(o => o.OrderID) }, elementSorter: e => e.Sum); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_select_nav_prop_sum_plus_one(bool async) => AssertQuery( async, @@ -552,7 +552,7 @@ public virtual Task Collection_select_nav_prop_sum_plus_one(bool async) select new { Sum = (c.Orders ?? new List()).Sum(o => o.OrderID) + 1 }, elementSorter: e => e.Sum); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_where_nav_prop_sum(bool async) => AssertQuery( async, @@ -563,7 +563,7 @@ where c.Orders.Sum(o => o.OrderID) > 1000 where (c.Orders ?? new List()).Sum(o => o.OrderID) > 1000 select c); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_select_nav_prop_first_or_default(bool async) => AssertQuery( async, @@ -575,7 +575,7 @@ orderby c.CustomerID select new { First = (c.Orders ?? new List()).FirstOrDefault() }, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_select_nav_prop_first_or_default_then_nav_prop(bool async) { var orderIds = new[] { 10643, 10692, 10702, 10835, 10952, 11011 }; @@ -599,21 +599,21 @@ orderby c.CustomerID elementAsserter: (e, a) => AssertEqual(e.Customer, a.Customer)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_select_nav_prop_first_or_default_then_nav_prop_nested(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.CustomerID.StartsWith("A")) .Select(c => ss.Set().FirstOrDefault(o => o.CustomerID == "ALFKI").Customer.City)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_select_nav_prop_single_or_default_then_nav_prop_nested(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.CustomerID.StartsWith("A")) .Select(c => ss.Set().SingleOrDefault(o => o.OrderID == 10643).Customer.City)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_select_nav_prop_first_or_default_then_nav_prop_nested_using_property_method(bool async) => AssertQuery( async, @@ -629,14 +629,14 @@ public virtual Task Collection_select_nav_prop_first_or_default_then_nav_prop_ne : null) ); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_select_nav_prop_first_or_default_then_nav_prop_nested_with_orderby(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.CustomerID.StartsWith("A")) .Select(c => ss.Set().OrderBy(o => o.CustomerID).FirstOrDefault(o => o.CustomerID == "ALFKI").Customer.City)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_fk_based_inside_contains(bool async) => AssertQuery( async, @@ -644,7 +644,7 @@ public virtual Task Navigation_fk_based_inside_contains(bool async) where new[] { "ALFKI" }.Contains(o.Customer.CustomerID) select o); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_inside_contains(bool async) => AssertQuery( async, @@ -652,7 +652,7 @@ public virtual Task Navigation_inside_contains(bool async) where new[] { "Novigrad", "Seattle" }.Contains(o.Customer.City) select o); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_inside_contains_nested(bool async) => AssertQuery( async, @@ -660,7 +660,7 @@ public virtual Task Navigation_inside_contains_nested(bool async) where new[] { "Novigrad", "Seattle" }.Contains(od.Order.Customer.City) select od); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_from_join_clause_inside_contains(bool async) => AssertQuery( async, @@ -669,7 +669,7 @@ join o in ss.Set() on od.OrderID equals o.OrderID where new[] { "USA", "Redania" }.Contains(o.Customer.Country) select od); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_subquery_on_navigation(bool async) // Complex entity equality. Issue #15260. => Assert.Equal( @@ -682,7 +682,7 @@ where p.OrderDetails.Contains( .FirstOrDefault(orderDetail => orderDetail.Quantity == 1)) select p))).Message); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_subquery_on_navigation2(bool async) // Complex entity equality. Issue #15260. => Assert.Equal( @@ -694,7 +694,7 @@ where p.OrderDetails.Contains( ss.Set().OrderByDescending(o => o.OrderID).ThenBy(o => o.ProductID).FirstOrDefault()) select p))).Message); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_on_navigation_client_eval(bool async) => AssertQuery( async, @@ -708,7 +708,7 @@ where c.Orders.Select(o => o.OrderID).Contains( private static int ClientMethod(int argument) => argument; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_in_subquery_referencing_outer_query(bool async) => AssertQuery( async, @@ -721,7 +721,7 @@ public virtual Task Navigation_in_subquery_referencing_outer_query(bool async) where o.OrderID == 10643 || o.OrderID == 10692 select o); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_in_subquery_referencing_outer_query_with_client_side_result_operator_and_count(bool async) => AssertQuery( async, @@ -734,7 +734,7 @@ public virtual Task Navigation_in_subquery_referencing_outer_query_with_client_s > 0 select o); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_single_scalar_value_subquery_is_properly_inlined(bool async) => AssertQuery( async, @@ -744,7 +744,7 @@ public virtual Task Project_single_scalar_value_subquery_is_properly_inlined(boo select new { c.CustomerID, OrderId = c.Orders.OrderBy(o => o.OrderID).Select(o => (int?)o.OrderID).FirstOrDefault() }, elementSorter: e => e.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_single_entity_value_subquery_works(bool async) => AssertQuery( async, @@ -754,7 +754,7 @@ orderby c.CustomerID select new { c.CustomerID, Order = c.Orders.OrderBy(o => o.OrderID).FirstOrDefault() }, assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_single_scalar_value_subquery_in_query_with_optional_navigation_works(bool async) => AssertQuery( async, @@ -769,7 +769,7 @@ orderby o.OrderID }).Take(3), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_with_complex_subquery_and_LOJ_gets_flattened(bool async) => AssertQuery( async, @@ -783,7 +783,7 @@ on c.CustomerID equals subquery.CustomerID into result from subquery in result.DefaultIfEmpty() select c); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupJoin_with_complex_subquery_and_LOJ_gets_flattened2(bool async) => AssertQuery( async, @@ -797,13 +797,13 @@ on c.CustomerID equals subquery.CustomerID into result from subquery in result.DefaultIfEmpty() select c.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_with_collection_with_nullable_type_key(bool async) => AssertQuery( async, ss => ss.Set().Where(o => o.Customer.Orders.Count(oo => oo.OrderID > 10260) > 30)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_include_with_multiple_optional_navigations(bool async) => AssertQuery( async, diff --git a/test/EFCore.Specification.Tests/Query/NorthwindQueryFiltersQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/NorthwindQueryFiltersQueryTestBase.cs index f9134ce2c3f..ad2bdb7262c 100644 --- a/test/EFCore.Specification.Tests/Query/NorthwindQueryFiltersQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/NorthwindQueryFiltersQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.Northwind; @@ -13,7 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Query; public abstract class NorthwindQueryFiltersQueryTestBase(TFixture fixture) : FilteredQueryTestBase(fixture) where TFixture : NorthwindQueryFixtureBase, new() { - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Count_query(bool async) { return AssertFilteredCount( @@ -21,7 +21,7 @@ public virtual Task Count_query(bool async) ss => ss.Set()); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Materialized_query(bool async) { return AssertFilteredQuery( @@ -29,7 +29,7 @@ public virtual Task Materialized_query(bool async) ss => ss.Set()); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Find(bool async) { using var context = Fixture.CreateContext(); @@ -43,7 +43,7 @@ public virtual async Task Find(bool async) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Client_eval(bool async) { Assert.Equal( @@ -54,7 +54,7 @@ public virtual async Task Client_eval(bool async) ss => ss.Set()))).Message)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Materialized_query_parameter(bool async) { using var context = Fixture.CreateContext(); @@ -70,7 +70,7 @@ public virtual async Task Materialized_query_parameter(bool async) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Materialized_query_parameter_new_context(bool async) { using var context1 = Fixture.CreateContext(); @@ -94,7 +94,7 @@ public virtual async Task Materialized_query_parameter_new_context(bool async) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_query(bool async) { return AssertFilteredQuery( @@ -102,7 +102,7 @@ public virtual Task Projection_query(bool async) ss => ss.Set().Select(c => c.CustomerID)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Projection_query_parameter(bool async) { using var context = Fixture.CreateContext(); @@ -120,7 +120,7 @@ public virtual async Task Projection_query_parameter(bool async) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_query(bool async) { return AssertFilteredQuery( @@ -129,7 +129,7 @@ public virtual Task Include_query(bool async) elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(x => x.Orders))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_query_opt_out(bool async) { return AssertQuery( @@ -138,7 +138,7 @@ public virtual Task Include_query_opt_out(bool async) elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(x => x.Orders))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Included_many_to_one_query2(bool async) { return AssertFilteredQuery( @@ -146,7 +146,7 @@ public virtual Task Included_many_to_one_query2(bool async) ss => ss.Set().Include(o => o.Customer)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Included_many_to_one_query(bool async) { return AssertFilteredQuery( @@ -155,7 +155,7 @@ public virtual Task Included_many_to_one_query(bool async) elementAsserter: (e, a) => AssertInclude(e, a, new ExpectedInclude(x => x.Customer))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_reference_that_itself_has_query_filter_with_another_reference(bool async) { return AssertFilteredQuery( @@ -163,7 +163,7 @@ public virtual Task Project_reference_that_itself_has_query_filter_with_another_ ss => ss.Set().Select(od => od.Order)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Included_one_to_many_query_with_client_eval(bool async) { Assert.Equal( @@ -174,7 +174,7 @@ public virtual async Task Included_one_to_many_query_with_client_eval(bool async ss => ss.Set().Include(p => p.OrderDetails)))).Message)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navs_query(bool async) { return AssertFilteredQuery( @@ -186,7 +186,7 @@ where od.Discount < 10 select c); } - [ConditionalFact] + [Fact] public virtual void Compiled_query() { var query = EF.CompileQuery((NorthwindContext context, string customerID) @@ -199,7 +199,7 @@ public virtual void Compiled_query() Assert.Equal("BLAUS", query(context2, "BLAUS").First().CustomerID); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_Equality(bool async) { return AssertFilteredQuery( diff --git a/test/EFCore.Specification.Tests/Query/NorthwindQueryTaggingQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/NorthwindQueryTaggingQueryTestBase.cs index 4a533a56233..6c6bb64596a 100644 --- a/test/EFCore.Specification.Tests/Query/NorthwindQueryTaggingQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/NorthwindQueryTaggingQueryTestBase.cs @@ -12,7 +12,7 @@ public abstract class NorthwindQueryTaggingQueryTestBase(TFixture fixt { protected TFixture Fixture { get; } = fixture; - [ConditionalFact] + [Fact] public virtual void Single_query_tag() { using var context = CreateContext(); @@ -25,7 +25,7 @@ var customer Assert.NotNull(customer); } - [ConditionalFact] + [Fact] public virtual void Single_query_multiple_tags() { using var context = CreateContext(); @@ -39,7 +39,7 @@ var customer Assert.NotNull(customer); } - [ConditionalFact] + [Fact] public virtual void Duplicate_tags() { using var context = CreateContext(); @@ -53,7 +53,7 @@ var customer Assert.NotNull(customer); } - [ConditionalFact] + [Fact] public virtual void Tags_on_subquery() { using var context = CreateContext(); @@ -65,7 +65,7 @@ from o in context.Orders.OrderBy(o => o.OrderID).Take(5).TagWith("Laurel") Assert.Equal(5, customers.Count); } - [ConditionalFact] + [Fact] public virtual void Tag_on_include_query() { using var context = CreateContext(); @@ -79,7 +79,7 @@ var customer Assert.NotNull(customer); } - [ConditionalFact] + [Fact] public virtual void Tag_on_scalar_query() { using var context = CreateContext(); @@ -93,7 +93,7 @@ var customer Assert.NotNull(customer); } - [ConditionalFact] + [Fact] public virtual void Single_query_multiline_tag() { using var context = CreateContext(); @@ -109,7 +109,7 @@ var customer Assert.NotNull(customer); } - [ConditionalFact] + [Fact] public virtual void Single_query_multiple_multiline_tag() { using var context = CreateContext(); @@ -130,7 +130,7 @@ var customer Assert.NotNull(customer); } - [ConditionalFact] + [Fact] public virtual void Single_query_multiline_tag_with_empty_lines() { using var context = CreateContext(); diff --git a/test/EFCore.Specification.Tests/Query/NorthwindSelectQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/NorthwindSelectQueryTestBase.cs index 419ea6fbeda..0d89f4095fb 100644 --- a/test/EFCore.Specification.Tests/Query/NorthwindSelectQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/NorthwindSelectQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.Northwind; @@ -20,7 +20,7 @@ protected virtual void ClearLog() { } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_into(bool async) => AssertQuery( async, @@ -30,14 +30,14 @@ into id where id == "ALFKI" select id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_when_arithmetic_expression_precedence(bool async) => AssertQuery( async, ss => ss.Set().Select(o => new { A = o.OrderID / (o.OrderID / 2), B = o.OrderID / o.OrderID / 2 }), e => (e.A, e.B)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_when_arithmetic_expressions(bool async) => AssertQuery( async, @@ -53,7 +53,7 @@ public virtual Task Projection_when_arithmetic_expressions(bool async) }), elementSorter: e => e.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_when_arithmetic_mixed(bool async) => AssertQuery( async, @@ -71,7 +71,7 @@ from e in ss.Set().OrderBy(e => e.EmployeeID).Take(5) }, elementSorter: e => e.OrderID + " " + e.EmployeeID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_when_arithmetic_mixed_subqueries(bool async) => AssertQuery( async, @@ -89,19 +89,19 @@ public virtual Task Projection_when_arithmetic_mixed_subqueries(bool async) }, elementSorter: e => (e.e2.EmployeeID, e.o2.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_when_null_value(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.Region)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_when_client_evald_subquery(bool async) => AssertQuery( async, ss => ss.Set().Select(c => string.Join(", ", c.Orders.Select(o => o.CustomerID).ToList()))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_to_object_array(bool async) => AssertQuery( async, @@ -109,7 +109,7 @@ public virtual Task Project_to_object_array(bool async) .Select(e => new object[] { e.EmployeeID, e.ReportsTo, EF.Property(e, "Title") }), elementAsserter: (e, a) => AssertArrays(e, a, 3)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_of_entity_type_into_object_array(bool async) => AssertQuery( async, @@ -117,7 +117,7 @@ public virtual Task Projection_of_entity_type_into_object_array(bool async) .Select(c => new object[] { c }), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_of_multiple_entity_types_into_object_array(bool async) => AssertQuery( async, @@ -125,14 +125,14 @@ public virtual Task Projection_of_multiple_entity_types_into_object_array(bool a .Select(o => new object[] { o, o.Customer }), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_of_entity_type_into_object_list(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(c => c.CustomerID).Select(c => new List { c }), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_to_int_array(bool async) => AssertQuery( async, @@ -152,7 +152,7 @@ private static void AssertArrays(T[] expectedArray, T[] actualArray, int coun } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Select_bool_closure(bool async) { var boolean = false; @@ -170,7 +170,7 @@ await AssertQuery( e => e.f); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_bool_closure_with_order_by_property_with_cast_to_nullable(bool async) { var boolean = false; @@ -181,7 +181,7 @@ public virtual Task Select_bool_closure_with_order_by_property_with_cast_to_null assertOrder: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Select_bool_closure_with_order_parameter_with_cast_to_nullable(bool async) { var boolean = false; @@ -191,27 +191,27 @@ await AssertQueryScalar( assertOrder: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_scalar(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.City)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_anonymous_one(bool async) => AssertQuery( async, ss => ss.Set().Select(c => new { c.City }), e => e.City); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_anonymous_two(bool async) => AssertQuery( async, ss => ss.Set().Select(c => new { c.City, c.Phone }), e => e.Phone); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_anonymous_three(bool async) => AssertQuery( async, @@ -223,80 +223,80 @@ public virtual Task Select_anonymous_three(bool async) }), e => e.Phone); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_anonymous_bool_constant_true(bool async) => AssertQuery( async, ss => ss.Set().Select(c => new { c.CustomerID, ConstantTrue = true }), e => e.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_anonymous_constant_in_expression(bool async) => AssertQuery( async, ss => ss.Set().Select(c => new { c.CustomerID, Expression = c.CustomerID.Length + 5 }), e => e.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_anonymous_conditional_expression(bool async) => AssertQuery( async, ss => ss.Set().Select(p => new { p.ProductID, IsAvailable = p.UnitsInStock > 0 }), e => e.ProductID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_customer_table(bool async) => AssertQuery( async, ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_customer_identity(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_anonymous_with_object(bool async) => AssertQuery( async, ss => ss.Set().Select(c => new { c.City, c }), e => e.c.CustomerID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_anonymous_nested(bool async) => AssertQuery( async, ss => ss.Set().Select(c => new { c.City, Country = new { c.Country } }), e => e.City); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_anonymous_empty(bool async) => AssertQuery( async, ss => ss.Set().Select(c => new { }), e => 1); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_anonymous_literal(bool async) => AssertQuery( async, ss => ss.Set().Select(c => new { X = 10 }), e => e.X); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_constant_int(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(c => 0)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_constant_null_string(bool async) => AssertQuery( async, ss => ss.Set().Select(c => (string)null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_local(bool async) { var x = 10; @@ -305,19 +305,19 @@ public virtual Task Select_local(bool async) ss => ss.Set().Select(c => x)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_scalar_primitive(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(e => e.EmployeeID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_scalar_primitive_after_take(bool async) => AssertQueryScalar( async, ss => ss.Set().Take(9).Select(e => e.EmployeeID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_project_filter(bool async) => AssertQuery( async, @@ -325,7 +325,7 @@ public virtual Task Select_project_filter(bool async) where c.City == "London" select c.CompanyName); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_project_filter2(bool async) => AssertQuery( async, @@ -333,7 +333,7 @@ public virtual Task Select_project_filter2(bool async) where c.City == "London" select c.City); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_nested_collection(bool async) => AssertQuery( async, @@ -350,7 +350,7 @@ select ss.Set() assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a, ordered: true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_nested_collection_multi_level(bool async) => AssertQuery( async, @@ -368,7 +368,7 @@ public virtual Task Select_nested_collection_multi_level(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e.OrderDates, a.OrderDates, ordered: true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_nested_collection_multi_level2(bool async) => AssertQuery( async, @@ -385,7 +385,7 @@ public virtual Task Select_nested_collection_multi_level2(bool async) }), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_nested_collection_multi_level3(bool async) => AssertQuery( async, @@ -403,7 +403,7 @@ public virtual Task Select_nested_collection_multi_level3(bool async) }), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_nested_collection_multi_level4(bool async) => AssertQuery( async, @@ -423,7 +423,7 @@ public virtual Task Select_nested_collection_multi_level4(bool async) }), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_nested_collection_multi_level5(bool async) => AssertQuery( async, @@ -445,7 +445,7 @@ public virtual Task Select_nested_collection_multi_level5(bool async) }), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_nested_collection_multi_level6(bool async) => AssertQuery( async, @@ -467,7 +467,7 @@ public virtual Task Select_nested_collection_multi_level6(bool async) }), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_nested_collection_count_using_anonymous_type(bool async) => AssertQuery( async, @@ -475,7 +475,7 @@ public virtual Task Select_nested_collection_count_using_anonymous_type(bool asy .Select(c => new { c.Orders.Count }), e => e.Count); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_nested_collection_deep(bool async) => AssertQuery( async, @@ -498,7 +498,7 @@ orderby o2.OrderID ordered: true, elementAsserter: (ee, aa) => AssertCollection(ee, aa))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_nested_collection_deep_distinct_no_identifiers(bool async) => AssertQuery( async, @@ -523,7 +523,7 @@ orderby o2.OrderID ordered: true, elementAsserter: (ee, aa) => AssertCollection(ee, aa))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task New_date_time_in_anonymous_type_works(bool async) => AssertQuery( async, @@ -532,7 +532,7 @@ where c.CustomerID.StartsWith("A") select new { A = new DateTime() }, e => e.A); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_non_matching_value_types_int_to_long_introduces_explicit_cast(bool async) => AssertQueryScalar( async, @@ -542,7 +542,7 @@ public virtual Task Select_non_matching_value_types_int_to_long_introduces_expli .Select(o => (long)o.OrderID), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_non_matching_value_types_nullable_int_to_long_introduces_explicit_cast(bool async) => AssertQueryScalar( async, @@ -552,7 +552,7 @@ public virtual Task Select_non_matching_value_types_nullable_int_to_long_introdu .Select(o => (long)o.EmployeeID), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_non_matching_value_types_nullable_int_to_int_doesnt_introduce_explicit_cast(bool async) => AssertQueryScalar( async, @@ -562,7 +562,7 @@ public virtual Task Select_non_matching_value_types_nullable_int_to_int_doesnt_i .Select(o => (uint)o.EmployeeID), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_non_matching_value_types_int_to_nullable_int_doesnt_introduce_explicit_cast(bool async) => AssertQueryScalar( async, @@ -572,7 +572,7 @@ public virtual Task Select_non_matching_value_types_int_to_nullable_int_doesnt_i .Select(o => (int?)o.OrderID), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_non_matching_value_types_from_binary_expression_introduces_explicit_cast(bool async) => AssertQueryScalar( async, @@ -582,7 +582,7 @@ public virtual Task Select_non_matching_value_types_from_binary_expression_intro .Select(o => (long)(o.OrderID + o.OrderID)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_non_matching_value_types_from_binary_expression_nested_introduces_top_level_explicit_cast(bool async) => AssertQueryScalar( async, @@ -592,7 +592,7 @@ public virtual Task Select_non_matching_value_types_from_binary_expression_neste .Select(o => (short)(o.OrderID + (long)o.OrderID)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_non_matching_value_types_from_unary_expression_introduces_explicit_cast1(bool async) => AssertQueryScalar( async, @@ -602,7 +602,7 @@ public virtual Task Select_non_matching_value_types_from_unary_expression_introd .Select(o => (long)-o.OrderID), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_non_matching_value_types_from_unary_expression_introduces_explicit_cast2(bool async) => AssertQueryScalar( async, @@ -612,7 +612,7 @@ public virtual Task Select_non_matching_value_types_from_unary_expression_introd .Select(o => -((long)o.OrderID)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_non_matching_value_types_from_length_introduces_explicit_cast(bool async) => AssertQueryScalar( async, @@ -622,7 +622,7 @@ public virtual Task Select_non_matching_value_types_from_length_introduces_expli .Select(o => (long)o.CustomerID.Length), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_non_matching_value_types_from_method_call_introduces_explicit_cast(bool async) => AssertQueryScalar( async, @@ -632,7 +632,7 @@ public virtual Task Select_non_matching_value_types_from_method_call_introduces_ .Select(o => (long)Math.Abs(o.OrderID)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_non_matching_value_types_from_anonymous_type_introduces_explicit_cast(bool async) => AssertQuery( async, @@ -647,7 +647,7 @@ public virtual Task Select_non_matching_value_types_from_anonymous_type_introduc }), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_conditional_with_null_comparison_in_test(bool async) => AssertQueryScalar( async, @@ -655,7 +655,7 @@ public virtual Task Select_conditional_with_null_comparison_in_test(bool async) where o.CustomerID == "ALFKI" select o.CustomerID == null ? true : o.OrderID < 100); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_over_10_nested_ternary_condition(bool isAsync) => AssertQuery( isAsync, @@ -685,7 +685,7 @@ public virtual Task Select_over_10_nested_ternary_condition(bool isAsync) ? "11" : null); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_conditional_drops_false(bool async) => AssertQueryScalar( async, @@ -696,7 +696,7 @@ public virtual Task Select_conditional_drops_false(bool async) ? 0 : -o.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_conditional_terminates_at_true(bool async) => AssertQueryScalar( async, @@ -707,7 +707,7 @@ public virtual Task Select_conditional_terminates_at_true(bool async) ? 0 : -o.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_conditional_flatten_nested_results(bool async) => AssertQueryScalar( async, @@ -718,7 +718,7 @@ public virtual Task Select_conditional_flatten_nested_results(bool async) : o.OrderID : o.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_conditional_flatten_nested_tests(bool async) => AssertQueryScalar( async, @@ -727,7 +727,7 @@ public virtual Task Select_conditional_flatten_nested_tests(bool async) ? o.OrderID : -o.OrderID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_in_a_subquery_should_be_liftable(bool async) => AssertQuery( async, @@ -735,7 +735,7 @@ public virtual Task Projection_in_a_subquery_should_be_liftable(bool async) .Select(e => string.Format("{0}", e.EmployeeID)) .Skip(1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Reverse_changes_asc_order_to_desc(bool async) => AssertQuery( async, @@ -744,7 +744,7 @@ public virtual Task Reverse_changes_asc_order_to_desc(bool async) .Select(e => $"{e.EmployeeID}"), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Reverse_changes_desc_order_to_asc(bool async) => AssertQuery( async, @@ -753,13 +753,13 @@ public virtual Task Reverse_changes_desc_order_to_asc(bool async) .Reverse(), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Reverse_without_explicit_ordering(bool async) => AssertQueryScalar( async, ss => ss.Set().Reverse().Select(e => e.EmployeeID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Reverse_after_multiple_orderbys(bool async) => AssertQueryScalar( async, @@ -770,7 +770,7 @@ public virtual Task Reverse_after_multiple_orderbys(bool async) .Select(e => e.EmployeeID), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Reverse_after_orderby_thenby(bool async) => AssertQueryScalar( async, @@ -781,7 +781,7 @@ public virtual Task Reverse_after_orderby_thenby(bool async) .Reverse(), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Reverse_in_subquery_via_pushdown(bool async) => AssertQuery( async, @@ -793,7 +793,7 @@ public virtual Task Reverse_in_subquery_via_pushdown(bool async) .Select(e => new { e.EmployeeID, e.City }), elementSorter: e => e.EmployeeID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Reverse_after_orderBy_and_take(bool async) => AssertQuery( async, @@ -804,7 +804,7 @@ public virtual Task Reverse_after_orderBy_and_take(bool async) .Select(e => new { e.EmployeeID, e.City }), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Reverse_in_join_outer(bool async) => AssertQuery( async, @@ -819,7 +819,7 @@ public virtual Task Reverse_in_join_outer(bool async) (o, i) => new { o.CustomerID, i.OrderID }), elementSorter: e => (e.CustomerID, e.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Reverse_in_join_outer_with_take(bool async) => AssertQuery( async, @@ -834,7 +834,7 @@ public virtual Task Reverse_in_join_outer_with_take(bool async) (o, i) => new { o.CustomerID, i.OrderID }), elementSorter: e => (e.CustomerID, e.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Reverse_in_join_inner(bool async) => AssertQuery( async, @@ -845,7 +845,7 @@ from o in grouping.DefaultIfEmpty() select new { c.CustomerID, OrderID = (int?)o.OrderID }, elementSorter: e => (e.CustomerID, e.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Reverse_in_join_inner_with_skip(bool async) => AssertQuery( async, @@ -856,7 +856,7 @@ from o in grouping.DefaultIfEmpty() select new { c.CustomerID, OrderID = (int?)o.OrderID }, elementSorter: e => (e.CustomerID, e.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Reverse_in_SelectMany(bool async) => AssertQuery( async, @@ -865,7 +865,7 @@ public virtual Task Reverse_in_SelectMany(bool async) .Reverse() .SelectMany(c => c.Orders.OrderByDescending(o => o.OrderID).Reverse())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Reverse_in_SelectMany_with_Take(bool async) => AssertQuery( async, @@ -875,7 +875,7 @@ public virtual Task Reverse_in_SelectMany_with_Take(bool async) .Take(20) .SelectMany(c => c.Orders.OrderByDescending(o => o.OrderID).Take(30).Reverse())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Reverse_in_projection_subquery(bool async) => AssertQuery( async, @@ -885,7 +885,7 @@ public virtual Task Reverse_in_projection_subquery(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a, ordered: true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Reverse_in_projection_subquery_single_result(bool async) => AssertQuery( async, @@ -894,7 +894,7 @@ public virtual Task Reverse_in_projection_subquery_single_result(bool async) .Select(c => ss.Set().OrderBy(o => o.OrderDate).ThenByDescending(o => o.OrderID).Reverse().FirstOrDefault()), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Reverse_in_projection_scalar_subquery(bool async) => AssertQueryScalar( async, @@ -904,39 +904,39 @@ public virtual Task Reverse_in_projection_scalar_subquery(bool async) .FirstOrDefault()), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_containing_DateTime_subtraction(bool async) => AssertQueryScalar( async, ss => ss.Set().Where(o => o.OrderID < 10300) .Select(o => o.OrderDate.Value - new DateTime(1997, 1, 1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_single_element_from_collection_with_OrderBy_Take_and_FirstOrDefault(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.Orders.OrderBy(o => o.OrderID).Select(o => o.CustomerID).Take(1).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_single_element_from_collection_with_OrderBy_Take_OrderBy_and_FirstOrDefault(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.Orders.OrderBy(o => o.OrderID).Take(1).OrderBy(o => o.OrderDate).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_single_element_from_collection_with_OrderBy_Skip_and_FirstOrDefault(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.Orders.OrderBy(o => o.OrderID).Select(o => o.CustomerID).Skip(1).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_single_element_from_collection_with_OrderBy_Distinct_and_FirstOrDefault(bool async) => AssertQuery( async, ss => ss.Set() .Select(c => c.Orders.OrderBy(o => o.OrderID).Select(o => o.CustomerID).Distinct().FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_single_element_from_collection_with_OrderBy_Distinct_and_FirstOrDefault_followed_by_projecting_length( bool async) => AssertQueryScalar( @@ -948,14 +948,14 @@ public virtual Task Project_single_element_from_collection_with_OrderBy_Distinct .Select(c => c.Orders.OrderBy(o => o.OrderID).Select(o => o.CustomerID).Distinct().FirstOrDefault()) .Select(e => e.MaybeScalar(e => e.Length))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_single_element_from_collection_with_OrderBy_Take_and_SingleOrDefault(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.CustomerID == "ALFKI") .Select(c => c.Orders.OrderBy(o => o.OrderID).Select(o => o.CustomerID).Take(1).SingleOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_single_element_from_collection_with_OrderBy_Take_and_FirstOrDefault_with_parameter(bool async) { var i = 1; @@ -964,7 +964,7 @@ public virtual Task Project_single_element_from_collection_with_OrderBy_Take_and ss => ss.Set().Select(c => c.Orders.OrderBy(o => o.OrderID).Select(o => o.CustomerID).Take(i).FirstOrDefault())); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_single_element_from_collection_with_multiple_OrderBys_Take_and_FirstOrDefault(bool async) => AssertQuery( async, @@ -974,7 +974,7 @@ public virtual Task Project_single_element_from_collection_with_multiple_OrderBy .Take(2) .FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_single_element_from_collection_with_multiple_OrderBys_Take_and_FirstOrDefault_followed_by_projection_of_length_property( bool async) @@ -991,7 +991,7 @@ public virtual Task .Take(2) .FirstOrDefault().MaybeScalar(x => x.Length))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_single_element_from_collection_with_multiple_OrderBys_Take_and_FirstOrDefault_2(bool async) => AssertQuery( async, @@ -1001,105 +1001,105 @@ public virtual Task Project_single_element_from_collection_with_multiple_OrderBy .Take(2) .FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_single_element_from_collection_with_OrderBy_over_navigation_Take_and_FirstOrDefault(bool async) => AssertQueryScalar( async, ss => ss.Set().Where(o => o.OrderID < 10300) .Select(o => o.OrderDetails.OrderBy(od => od.Product.ProductName).Select(od => od.OrderID).Take(1).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_single_element_from_collection_with_OrderBy_over_navigation_Take_and_FirstOrDefault_2(bool async) => AssertQuery( async, ss => ss.Set().Where(o => o.OrderID < 10250) .Select(o => o.OrderDetails.OrderBy(od => od.Product.ProductName).Take(1).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_datetime_year_component(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderDate.Value.Year)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_datetime_month_component(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderDate.Value.Month)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_datetime_day_of_year_component(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderDate.Value.DayOfYear)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_datetime_day_component(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderDate.Value.Day)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_datetime_hour_component(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderDate.Value.Hour)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_datetime_minute_component(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderDate.Value.Minute)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_datetime_second_component(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderDate.Value.Second)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_datetime_millisecond_component(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderDate.Value.Millisecond)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_datetime_DayOfWeek_component(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => (int)o.OrderDate.Value.DayOfWeek)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_datetime_Ticks_component(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderDate.Value.Ticks)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_datetime_TimeOfDay_component(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderDate.Value.TimeOfDay)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_byte_constant(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(c => c.CustomerID == "ALFKI" ? (byte)1 : (byte)2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_short_constant(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(c => c.CustomerID == "ALFKI" ? (short)1 : (short)2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_bool_constant(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(c => c.CustomerID == "ALFKI" ? true : false)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Anonymous_projection_AsNoTracking_Selector(bool async) => AssertQueryScalar( async, @@ -1107,7 +1107,7 @@ public virtual Task Anonymous_projection_AsNoTracking_Selector(bool async) .AsNoTracking() // Just to cause a subquery .Select(e => e.B)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Anonymous_projection_with_repeated_property_being_ordered(bool async) => AssertQuery( async, @@ -1115,7 +1115,7 @@ public virtual Task Anonymous_projection_with_repeated_property_being_ordered(bo orderby c.CustomerID select new { A = c.CustomerID, B = c.CustomerID }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Anonymous_projection_with_repeated_property_being_ordered_2(bool async) => AssertQuery( async, @@ -1123,13 +1123,13 @@ public virtual Task Anonymous_projection_with_repeated_property_being_ordered_2( orderby o.CustomerID select new { A = o.Customer.CustomerID, B = o.CustomerID }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_GetValueOrDefault_on_DateTime(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderDate.GetValueOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_GetValueOrDefault_on_DateTime_with_null_values(bool async) => AssertQueryScalar( async, @@ -1142,19 +1142,19 @@ join o in ss.Set() on c.CustomerID equals o.CustomerID into grouping from o in grouping.DefaultIfEmpty() select o != null ? o.OrderDate.Value : new DateTime(1753, 1, 1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Cast_on_top_level_projection_brings_explicit_Cast(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => (double?)o.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Client_method_in_projection_requiring_materialization_1(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.CustomerID.StartsWith("A")).Select(c => c.ToString())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Client_method_in_projection_requiring_materialization_2(bool async) => AssertQuery( async, @@ -1163,7 +1163,7 @@ public virtual Task Client_method_in_projection_requiring_materialization_2(bool private static string ClientMethod(Customer c) => c.CustomerID; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_nullable_struct(bool async) => AssertQuery( async, @@ -1181,7 +1181,7 @@ public struct MyStruct public int X, Y; } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_select_many_with_predicate(bool async) => AssertQuery( async, @@ -1191,19 +1191,19 @@ from od in o.OrderDetails where od.Discount >= 0.25 select c); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_without_result_selector_naked_collection_navigation(bool async) => AssertQuery( async, ss => ss.Set().SelectMany(c => c.Orders)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_without_result_selector_collection_navigation_composed(bool async) => AssertQuery( async, ss => ss.Set().SelectMany(c => c.Orders.Select(o => o.CustomerID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_correlated_with_outer_1(bool async) => AssertQuery( async, @@ -1211,7 +1211,7 @@ public virtual Task SelectMany_correlated_with_outer_1(bool async) from o in ss.Set().Where(o => c.CustomerID == o.CustomerID).Select(o => c.City) select new { c, o }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_correlated_with_outer_2(bool async) => AssertQuery( async, @@ -1226,7 +1226,7 @@ from o in ss.Set().Where(o => c.CustomerID == o.CustomerID) AssertEqual(e.o, a.o); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_correlated_with_outer_3(bool async) => AssertQuery( async, @@ -1240,7 +1240,7 @@ from o in ss.Set().Where(o => c.CustomerID == o.CustomerID).Select(o => c Assert.Equal(e.o, a.o); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_correlated_with_outer_4(bool async) => AssertQuery( async, @@ -1255,7 +1255,7 @@ from o in ss.Set().Where(o => c.CustomerID == o.CustomerID) AssertEqual(e.o, a.o); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_correlated_with_outer_5(bool async) => AssertQuery( async, @@ -1269,7 +1269,7 @@ from o in ss.Set().Where(o => c.CustomerID != o.CustomerID).Select(o => c Assert.Equal(e.o, a.o); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_correlated_with_outer_6(bool async) => AssertQuery( async, @@ -1284,7 +1284,7 @@ from o in ss.Set().Where(o => c.CustomerID != o.CustomerID) AssertEqual(e.o, a.o); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_correlated_with_outer_7(bool async) => AssertQuery( async, @@ -1299,13 +1299,13 @@ from o in ss.Set().Where(o => c.CustomerID.Length >= o.CustomerID.Length) AssertEqual(e.o, a.o); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_multiple_Take(bool async) => AssertQuery( async, ss => ss.Set().SelectMany(c => c.Orders.OrderBy(o => o.OrderID).Take(5).Take(3))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // #33343 + [Theory, MemberData(nameof(IsAsyncData))] // #33343 public virtual Task SelectMany_with_nested_DefaultIfEmpty(bool async) => AssertQuery( async, @@ -1317,13 +1317,13 @@ public virtual Task SelectMany_with_nested_DefaultIfEmpty(bool async) .SelectMany(o => o.OrderDetails.DefaultIfEmpty())), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_with_multiple_Take(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(o => o.CustomerID).Take(5).Take(3)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FirstOrDefault_over_empty_collection_of_value_type_returns_correct_results(bool async) => AssertQuery( async, @@ -1331,7 +1331,7 @@ public virtual Task FirstOrDefault_over_empty_collection_of_value_type_returns_c where c.CustomerID.Equals("FISSA") select new { c.CustomerID, OrderId = c.Orders.OrderBy(o => o.OrderID).Select(o => o.OrderID).FirstOrDefault() }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_non_nullable_value_after_FirstOrDefault_on_empty_collection(bool async) => AssertQueryScalar( async, @@ -1341,7 +1341,7 @@ public virtual Task Project_non_nullable_value_after_FirstOrDefault_on_empty_col .FirstOrDefault() .MaybeScalar(e => e.Length))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Member_binding_after_ctor_arguments_fails_with_client_eval(bool async) => AssertQuery( async, @@ -1364,7 +1364,7 @@ public override int GetHashCode() => HashCode.Combine(Id, City); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Filtered_collection_projection_is_tracked(bool async) { using var context = CreateContext(); @@ -1382,7 +1382,7 @@ public virtual async Task Filtered_collection_projection_is_tracked(bool async) Assert.Equal(6, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Filtered_collection_projection_with_to_list_is_tracked(bool async) { using var context = CreateContext(); @@ -1400,14 +1400,14 @@ public virtual async Task Filtered_collection_projection_with_to_list_is_tracked Assert.Equal(6, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_collection_being_correlated_subquery_which_references_inner_and_outer_entity(bool async) => AssertQuery( async, ss => ss.Set() .SelectMany(c => c.Orders.Select(o => new { OrderProperty = o.CustomerID, CustomerProperty = c.CustomerID }))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_collection_being_correlated_subquery_which_references_non_mapped_properties_from_inner_and_outer_entity(bool async) => AssertQuery( @@ -1415,7 +1415,7 @@ public virtual Task ss => ss.Set() .SelectMany(c => c.Orders.Select(o => new { OrderProperty = o.ShipName, CustomerProperty = c.ContactName }))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_with_complex_expression_that_can_be_funcletized(bool async) => AssertQueryScalar( async, @@ -1424,7 +1424,7 @@ public virtual Task Select_with_complex_expression_that_can_be_funcletized(bool .Select(c => c.Region == null ? default(int?) : c.Region.IndexOf("")), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_chained_entity_navigation_doesnt_materialize_intermittent_entities(bool async) => AssertQuery( async, @@ -1432,7 +1432,7 @@ public virtual Task Select_chained_entity_navigation_doesnt_materialize_intermit elementAsserter: (e, a) => AssertCollection(e, a), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_entity_compared_to_null(bool async) => AssertQueryScalar( async, @@ -1440,7 +1440,7 @@ public virtual Task Select_entity_compared_to_null(bool async) where o.CustomerID == "ALFKI" select o.Customer == null); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Explicit_cast_in_arithmetic_operation_is_preserved(bool async) => AssertQueryScalar( async, @@ -1449,7 +1449,7 @@ public virtual Task Explicit_cast_in_arithmetic_operation_is_preserved(bool asyn select o.OrderID / (decimal)(o.OrderID + 1000), asserter: (e, a) => Assert.InRange(a, e - 0.0001M, e + 0.0001M)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_whose_selector_references_outer_source(bool async) => AssertQuery( async, @@ -1460,20 +1460,20 @@ from g in from o in ss.Set() select g, elementSorter: e => (e.OrderDate, e.CustomerCity)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_FirstOrDefault_with_entity_equality_check_in_projection(bool async) => AssertQuery( async, ss => ss.Set().Select(c => new { Order = (c.Orders.Any() ? c.Orders.FirstOrDefault() : null) == null ? null : new Order() })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_FirstOrDefault_with_nullable_unsigned_int_column(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(c => c.Orders.OrderBy(o => o.OrderID).Select(o => o.EmployeeID).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ToList_Count_in_projection_works(bool async) => AssertQuery( async, @@ -1486,14 +1486,14 @@ public virtual Task ToList_Count_in_projection_works(bool async) Assert.Equal(e.Count, a.Count); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task LastOrDefault_member_access_in_projection_translates_to_server(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.CustomerID.StartsWith("A")) .Select(c => new { c, c.Orders.OrderByDescending(o => o.OrderID).LastOrDefault().OrderDate })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_with_parameterized_constructor(bool async) => AssertQuery( async, @@ -1501,7 +1501,7 @@ public virtual Task Projection_with_parameterized_constructor(bool async) elementSorter: e => e.Customer.CustomerID, elementAsserter: (e, a) => Assert.Equal(e.Customer, a.Customer)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_with_parameterized_constructor_with_member_assignment(bool async) => AssertQuery( async, @@ -1515,7 +1515,7 @@ private class CustomerWrapper(Customer customer) public Customer Customer { get; } = customer; } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_projection_AsNoTracking_OrderBy(bool async) => AssertQuery( async, @@ -1530,13 +1530,13 @@ public virtual Task Collection_projection_AsNoTracking_OrderBy(bool async) AssertCollection(e.Orders, a.Orders, elementSorter: i => i, elementAsserter: (ie, ia) => Assert.Equal(ie, ia)); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Coalesce_over_nullable_uint(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.EmployeeID ?? 0)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_uint_through_collection_FirstOrDefault(bool async) => AssertQueryScalar( async, @@ -1544,13 +1544,13 @@ public virtual Task Project_uint_through_collection_FirstOrDefault(bool async) ss => ss.Set().Select(c => c.Orders.OrderBy(o => o.OrderID).FirstOrDefault()) .Select(e => e.MaybeScalar(x => x.EmployeeID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_keyless_entity_FirstOrDefault_without_orderby(bool async) => AssertQuery( async, ss => ss.Set().Select(c => ss.Set().FirstOrDefault(cv => cv.CompanyName == c.CompanyName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_AsEnumerable_projection(bool async) => AssertQuery( async, @@ -1563,7 +1563,7 @@ public virtual Task Projection_AsEnumerable_projection(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a, elementSorter: ee => ee.OrderID)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_custom_type_in_both_sides_of_ternary(bool async) => AssertQuery( async, @@ -1585,7 +1585,7 @@ private class IdName public string Name { get; set; } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_multiple_collection_with_same_constant_works(bool async) => AssertQuery( async, @@ -1598,7 +1598,7 @@ public virtual Task Projecting_multiple_collection_with_same_constant_works(bool AssertCollection(e.O2, a.O2, ordered: true); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_after_navigation_and_distinct(bool async) { var filteredOrderIds = new[] { 10248, 10249, 10250 }; @@ -1627,7 +1627,7 @@ public virtual Task Projecting_after_navigation_and_distinct(bool async) }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_after_distinct_with_complex_projection_containing_original_identifier(bool async) { var filteredOrderIds = new[] { 10248, 10249, 10250 }; @@ -1659,7 +1659,7 @@ public virtual Task Correlated_collection_after_distinct_with_complex_projection }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_after_distinct_not_containing_original_identifier(bool async) { var filteredOrderIds = new[] { 10248, 10249, 10250 }; @@ -1692,7 +1692,7 @@ public virtual Task Correlated_collection_after_distinct_not_containing_original }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_after_distinct_with_complex_projection_not_containing_original_identifier(bool async) { var filteredOrderIds = new[] { 10248, 10249, 10250 }; @@ -1734,7 +1734,7 @@ public virtual Task Correlated_collection_after_distinct_with_complex_projection }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_after_groupby_with_complex_projection_containing_original_identifier(bool async) { var filteredOrderIds = new[] { 10248, 10249, 10250 }; @@ -1766,7 +1766,7 @@ public virtual Task Correlated_collection_after_groupby_with_complex_projection_ }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Custom_projection_reference_navigation_PK_to_FK_optimization(bool async) => AssertQuery( async, @@ -1783,7 +1783,7 @@ public virtual Task Custom_projection_reference_navigation_PK_to_FK_optimization AssertEqual(e.Customer, a.Customer); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_Length_of_a_string_property_after_FirstOrDefault_on_correlated_collection(bool async) => AssertQueryScalar( async, @@ -1795,7 +1795,7 @@ public virtual Task Projecting_Length_of_a_string_property_after_FirstOrDefault_ .Select(c => c.Orders.OrderBy(o => o.OrderID).Select(o => o.CustomerID).FirstOrDefault().MaybeScalar(x => x.Length)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_count_of_navigation_which_is_generic_list(bool async) => AssertQueryScalar( async, @@ -1804,7 +1804,7 @@ public virtual Task Projecting_count_of_navigation_which_is_generic_list(bool as .Select(c => c.Orders.Count), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_count_of_navigation_which_is_generic_collection(bool async) { var collectionCount = typeof(ICollection).GetProperty("Count"); @@ -1824,7 +1824,7 @@ public virtual Task Projecting_count_of_navigation_which_is_generic_collection(b assertOrder: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_count_of_navigation_which_is_generic_collection_using_convert(bool async) => AssertQueryScalar( async, @@ -1833,7 +1833,7 @@ public virtual Task Projecting_count_of_navigation_which_is_generic_collection_u .Select(c => ((ICollection)c.Orders).Count), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_take_projection_doesnt_project_intermittent_column(bool async) => AssertQuery( async, @@ -1850,7 +1850,7 @@ public virtual Task Projection_take_projection_doesnt_project_intermittent_colum .Select(x => new { Aggregate = x.CustomerID + " " + x.City }), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Do_not_erase_projection_mapping_when_adding_single_projection(bool async) => AssertQuery( async, @@ -1878,7 +1878,7 @@ public virtual Task Do_not_erase_projection_mapping_when_adding_single_projectio elementAsserter: (ei, ai) => AssertInclude(ei, ai, new ExpectedInclude(e => e.Product))); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_skip_projection_doesnt_project_intermittent_column(bool async) => AssertQuery( async, @@ -1895,7 +1895,7 @@ public virtual Task Projection_skip_projection_doesnt_project_intermittent_colum .Select(x => new { Aggregate = x.CustomerID + " " + x.City }), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_Distinct_projection_preserves_columns_used_for_distinct_in_subquery(bool async) => AssertQuery( async, @@ -1912,7 +1912,7 @@ public virtual Task Projection_Distinct_projection_preserves_columns_used_for_di .Select(x => new { Aggregate = x.FirstLetter + " " + x.Foo }), elementSorter: e => e.Aggregate); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projection_take_predicate_projection(bool async) => AssertQuery( async, @@ -1930,7 +1930,7 @@ public virtual Task Projection_take_predicate_projection(bool async) .Select(x => new { Aggregate = x.CustomerID + " " + x.City }), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Ternary_in_client_eval_assigns_correct_types(bool async) => AssertQuery( async, @@ -1954,7 +1954,7 @@ public virtual Task Ternary_in_client_eval_assigns_correct_types(bool async) private static string ClientMethod(string s) => s; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task VisitLambda_should_not_be_visited_trivially(bool async) => AssertTranslationFailed(() => AssertQuery( async, @@ -1972,7 +1972,7 @@ public virtual Task VisitLambda_should_not_be_visited_trivially(bool async) AssertEqual(e.HasOrder, a.HasOrder); })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Correlated_collection_after_groupby_with_complex_projection_not_containing_original_identifier(bool async) { var filteredOrderIds = new[] { 10248, 10249, 10250 }; @@ -2004,7 +2004,7 @@ public virtual Task Correlated_collection_after_groupby_with_complex_projection_ }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_include_over_result_of_single_non_scalar(bool async) => AssertQuery( async, @@ -2022,7 +2022,7 @@ public virtual Task Collection_include_over_result_of_single_non_scalar(bool asy AssertInclude(e.SingleOrder, a.SingleOrder, new ExpectedInclude(o => o.OrderDetails)); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_projection_selecting_outer_element_followed_by_take(bool async) => AssertQuery( async, @@ -2040,7 +2040,7 @@ public virtual Task Collection_projection_selecting_outer_element_followed_by_ta elementAsserter: (ee, aa) => AssertInclude(ee, aa, new ExpectedInclude(i => i.Orders))); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_on_top_level_and_on_collection_projection_with_outer_apply(bool async) => AssertFirstOrDefault( async, @@ -2063,7 +2063,7 @@ public virtual Task Take_on_top_level_and_on_collection_projection_with_outer_ap .ToList() })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_on_correlated_collection_in_first(bool async) => AssertFirstOrDefault( async, @@ -2080,7 +2080,7 @@ public virtual Task Take_on_correlated_collection_in_first(bool async) e.Orders, a.Orders, ordered: true, elementAsserter: (ee, aa) => AssertEqual(ee.Title, aa.Title))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Client_projection_via_ctor_arguments(bool async) => AssertSingle( async, @@ -2120,7 +2120,7 @@ private class OrderInfo(int orderID, DateTime? orderDate) public DateTime? OrderDate { get; } = orderDate; } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Client_projection_with_string_initialization_with_scalar_subquery(bool async) => AssertQuery( async, @@ -2168,7 +2168,7 @@ public virtual Task Client_projection_with_string_initialization_with_scalar_sub private class OrderDto; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task MemberInit_in_projection_without_arguments(bool async) => AssertQuery( async, @@ -2182,7 +2182,7 @@ public virtual Task MemberInit_in_projection_without_arguments(bool async) AssertEqual(e.Orders.Count(), a.Orders.Count()); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task List_of_list_of_anonymous_type(bool async) => AssertQuery( async, @@ -2203,7 +2203,7 @@ public virtual Task List_of_list_of_anonymous_type(bool async) elementAsserter: (ee, aa) => AssertCollection(ee, aa, elementSorter: i => (i.OrderID, i.ProductID))); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Using_enumerable_parameter_in_projection(bool async) { var customersToLoad = new List { "A" }; @@ -2228,7 +2228,7 @@ public virtual Task Using_enumerable_parameter_in_projection(bool async) }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task List_from_result_of_single_result(bool async) => AssertFirstOrDefault( async, @@ -2237,7 +2237,7 @@ public virtual Task List_from_result_of_single_result(bool async) .Select(c => c.Orders.Select(e => e.OrderID)), asserter: (e, a) => AssertCollection(e, a, elementSorter: e => e, elementAsserter: (ee, aa) => AssertEqual(ee, aa))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task List_from_result_of_single_result_2(bool async) => AssertFirstOrDefault( async, @@ -2252,7 +2252,7 @@ public virtual Task List_from_result_of_single_result_2(bool async) AssertEqual(ee.OrderDate, aa.OrderDate); })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task List_from_result_of_single_result_3(bool async) => AssertFirstOrDefault( async, @@ -2262,7 +2262,7 @@ public virtual Task List_from_result_of_single_result_3(bool async) .Select(e => e.OrderDetails.Select(od => od.ProductID)).FirstOrDefault()), asserter: (e, a) => AssertCollection(e, a, elementSorter: e => e, elementAsserter: (ee, aa) => AssertEqual(ee, aa))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Entity_passed_to_DTO_constructor_works(bool async) => AssertQuery( async, @@ -2275,7 +2275,7 @@ public class CustomerDtoWithEntityInCtor(Customer customer) public string Id { get; } = customer.CustomerID; } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Set_operation_in_pending_collection(bool async) => AssertQuery( async, diff --git a/test/EFCore.Specification.Tests/Query/NorthwindSetOperationsQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/NorthwindSetOperationsQueryTestBase.cs index 3e5101bdc7d..6fa9149db40 100644 --- a/test/EFCore.Specification.Tests/Query/NorthwindSetOperationsQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/NorthwindSetOperationsQueryTestBase.cs @@ -18,7 +18,7 @@ protected virtual void ClearLog() { } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Concat(bool async) => AssertQuery( async, @@ -26,7 +26,7 @@ public virtual Task Concat(bool async) .Where(c => c.City == "Berlin") .Concat(ss.Set().Where(c => c.City == "London"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Concat_nested(bool async) => AssertQuery( async, @@ -35,7 +35,7 @@ public virtual Task Concat_nested(bool async) .Concat(ss.Set().Where(s => s.City == "Berlin")) .Concat(ss.Set().Where(e => e.City == "London"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Concat_non_entity(bool async) => AssertQuery( async, @@ -47,7 +47,7 @@ public virtual Task Concat_non_entity(bool async) .Where(s => s.ContactTitle == "Owner") .Select(c => c.CustomerID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Except(bool async) => AssertQuery( async, @@ -55,7 +55,7 @@ public virtual Task Except(bool async) .Where(c => c.City == "London") .Except(ss.Set().Where(c => c.ContactName.Contains("Thomas")))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Except_simple_followed_by_projecting_constant(bool async) => AssertQueryScalar( async, @@ -64,7 +64,7 @@ public virtual Task Except_simple_followed_by_projecting_constant(bool async) .Select(e => 1), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Except_nested(bool async) => AssertQuery( async, @@ -75,7 +75,7 @@ public virtual Task Except_nested(bool async) // EXCEPT is non-commutative, unlike UNION/INTERSECT. Therefore, parentheses are needed in the following query // to ensure that the inner EXCEPT is evaluated first. See #36105. - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Except_nested2(bool async) => AssertQuery( async, @@ -87,7 +87,7 @@ public virtual Task Except_nested2(bool async) ss.Set() .Where(e => e.City == "Seattle")))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Except_non_entity(bool async) => AssertQuery( async, @@ -99,7 +99,7 @@ public virtual Task Except_non_entity(bool async) .Where(c => c.City == "México D.F.") .Select(c => c.CustomerID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Intersect(bool async) => AssertQuery( async, @@ -107,7 +107,7 @@ public virtual Task Intersect(bool async) .Where(c => c.City == "London") .Intersect(ss.Set().Where(c => c.ContactName.Contains("Thomas")))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Intersect_nested(bool async) => AssertQuery( async, @@ -116,7 +116,7 @@ public virtual Task Intersect_nested(bool async) .Intersect(ss.Set().Where(s => s.ContactTitle == "Owner")) .Intersect(ss.Set().Where(e => e.Fax != null))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Intersect_non_entity(bool async) => AssertQuery( async, @@ -128,7 +128,7 @@ public virtual Task Intersect_non_entity(bool async) .Where(s => s.ContactTitle == "Owner") .Select(c => c.CustomerID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union(bool async) => AssertQuery( async, @@ -136,7 +136,7 @@ public virtual Task Union(bool async) .Where(c => c.City == "Berlin") .Union(ss.Set().Where(c => c.City == "London"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_nested(bool async) => AssertQuery( async, @@ -145,7 +145,7 @@ public virtual Task Union_nested(bool async) .Union(ss.Set().Where(s => s.City == "México D.F.")) .Union(ss.Set().Where(e => e.City == "London"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_non_entity(bool async) => AssertQuery( async, @@ -158,7 +158,7 @@ public virtual Task Union_non_entity(bool async) .Select(c => c.CustomerID))); // OrderBy, Skip and Take are typically supported on the set operation itself (no need for query pushdown) - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_OrderBy_Skip_Take(bool async) => AssertQuery( async, @@ -171,7 +171,7 @@ public virtual Task Union_OrderBy_Skip_Take(bool async) assertOrder: true); // Should cause pushdown into a subquery - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_Where(bool async) => AssertQuery( async, @@ -181,7 +181,7 @@ public virtual Task Union_Where(bool async) .Where(c => c.ContactName.Contains("Thomas"))); // pushdown // Should cause pushdown into a subquery, keeping the ordering, offset and limit inside the subquery - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_Skip_Take_OrderBy_ThenBy_Where(bool async) => AssertQuery( async, @@ -194,7 +194,7 @@ public virtual Task Union_Skip_Take_OrderBy_ThenBy_Where(bool async) .Where(c => c.ContactName.Contains("Thomas"))); // pushdown // Nested set operation with same operation type - no parentheses are needed. - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_Union(bool async) => AssertQuery( async, @@ -205,7 +205,7 @@ public virtual Task Union_Union(bool async) // Nested set operation but with different operation type. On SqlServer and PostgreSQL INTERSECT binds // more tightly than UNION/EXCEPT, so parentheses are needed. - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_Intersect(bool async) => AssertQuery( async, @@ -216,7 +216,7 @@ public virtual Task Union_Intersect(bool async) // The evaluation order of Concat and Union can matter: A UNION ALL (B UNION C) can be different from (A UNION ALL B) UNION C. // Make sure parentheses are added. - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_inside_Concat(bool async) => AssertQuery( async, @@ -225,7 +225,7 @@ public virtual Task Union_inside_Concat(bool async) ss.Set().Where(c => c.City == "London") .Union(ss.Set().Where(c => c.City == "Berlin")))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_Take_Union_Take(bool async) => AssertQuery( async, @@ -239,7 +239,7 @@ public virtual Task Union_Take_Union_Take(bool async) .Take(1), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Union(bool async) => AssertQuery( async, @@ -251,7 +251,7 @@ public virtual Task Select_Union(bool async) .Where(c => c.City == "London") .Select(c => c.Address))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_Select(bool async) => AssertQuery( async, @@ -261,7 +261,7 @@ public virtual Task Union_Select(bool async) .Select(c => c.Address) .Where(a => a.Contains("Hanover"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_Select_scalar(bool async) => AssertQuery( async, @@ -269,7 +269,7 @@ public virtual Task Union_Select_scalar(bool async) .Union(ss.Set()) .Select(c => (object)1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_with_anonymous_type_projection(bool async) => AssertQuery( async, @@ -299,7 +299,7 @@ public override int GetHashCode() => Id != null ? Id.GetHashCode() : 0; } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Union_unrelated(bool async) => AssertQuery( async, @@ -310,7 +310,7 @@ public virtual Task Select_Union_unrelated(bool async) .OrderBy(x => x), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Union_different_fields_in_anonymous_with_subquery(bool async) => AssertQuery( async, @@ -326,7 +326,7 @@ public virtual Task Select_Union_different_fields_in_anonymous_with_subquery(boo .Take(10) .Where(x => x.Foo == "Berlin")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_Include(bool async) => AssertQuery( async, @@ -335,7 +335,7 @@ public virtual Task Union_Include(bool async) .Union(ss.Set().Where(c => c.City == "London")) .Include(c => c.Orders)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Include_Union(bool async) => AssertQuery( async, @@ -347,7 +347,7 @@ public virtual Task Include_Union(bool async) .Where(c => c.City == "London") .Include(c => c.Orders))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_Except_reference_projection(bool async) => AssertQuery( async, @@ -358,7 +358,7 @@ public virtual Task Select_Except_reference_projection(bool async) .Where(o => o.CustomerID == "ALFKI") .Select(o => o.Customer))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Intersect_on_distinct(bool async) => AssertQuery( async, @@ -371,7 +371,7 @@ public virtual Task Intersect_on_distinct(bool async) .Where(s => s.ContactTitle == "Owner") .Select(c => c.CompanyName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_on_distinct(bool async) => AssertQuery( async, @@ -384,7 +384,7 @@ public virtual Task Union_on_distinct(bool async) .Where(s => s.ContactTitle == "Owner") .Select(c => c.CompanyName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Except_on_distinct(bool async) => AssertQuery( async, @@ -397,7 +397,7 @@ public virtual Task Except_on_distinct(bool async) .Where(s => s.ContactTitle == "Owner") .Select(c => c.CompanyName))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_Union_only_on_one_side_throws(bool async) { var message1 = (await Assert.ThrowsAsync(() => AssertQuery( @@ -418,7 +418,7 @@ public virtual async Task Include_Union_only_on_one_side_throws(bool async) Assert.Equal(CoreStrings.SetOperationWithDifferentIncludesInOperands, message2); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_Union_different_includes_throws(bool async) { var message = (await Assert.ThrowsAsync(() => AssertQuery( @@ -435,7 +435,7 @@ public virtual async Task Include_Union_different_includes_throws(bool async) Assert.Equal(CoreStrings.SetOperationWithDifferentIncludesInOperands, message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SubSelect_Union(bool async) => AssertQuery( async, @@ -445,7 +445,7 @@ public virtual Task SubSelect_Union(bool async) ss.Set() .Select(c => new { Customer = c, Orders = c.Orders.Count }))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Client_eval_Union_FirstOrDefault(bool async) => AssertFirstOrDefault( async, @@ -456,7 +456,7 @@ public virtual Task Client_eval_Union_FirstOrDefault(bool async) private static Customer ClientSideMethod(Customer c) => c; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_Select_Union(bool async) => AssertQuery( async, @@ -470,7 +470,7 @@ public virtual Task GroupBy_Select_Union(bool async) .GroupBy(c => c.CustomerID) .Select(g => new { CustomerID = g.Key, Count = g.Count() }))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_columns_with_different_nullability(bool async) => AssertQuery( async, @@ -480,287 +480,287 @@ public virtual Task Union_over_columns_with_different_nullability(bool async) ss.Set() .Select(c => (string)null))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_column_column(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderID) .Union(ss.Set().Select(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_column_function(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderID) .Union(ss.Set().GroupBy(o => o.OrderID).Select(g => g.Count()))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_column_constant(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderID) .Union(ss.Set().Select(o => 8))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_column_unary(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderID) .Union(ss.Set().Select(o => -o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_column_binary(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderID) .Union(ss.Set().Select(o => o.OrderID + 1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_column_scalarsubquery(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderID) .Union(ss.Set().Select(o => o.OrderDetails.Count()))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_function_column(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.OrderID).Select(g => g.Count()) .Union(ss.Set().Select(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_function_function(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.OrderID).Select(g => g.Count()) .Union(ss.Set().GroupBy(o => o.OrderID).Select(g => g.Count()))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_function_constant(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.OrderID).Select(g => g.Count()) .Union(ss.Set().Select(o => 8))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_function_unary(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.OrderID).Select(g => g.Count()) .Union(ss.Set().Select(o => -o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_function_binary(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.OrderID).Select(g => g.Count()) .Union(ss.Set().Select(o => o.OrderID + 1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_function_scalarsubquery(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(o => o.OrderID).Select(g => g.Count()) .Union(ss.Set().Select(o => o.OrderDetails.Count()))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_constant_column(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => 8) .Union(ss.Set().Select(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_constant_function(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => 8) .Union(ss.Set().GroupBy(o => o.OrderID).Select(g => g.Count()))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_constant_constant(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => 8) .Union(ss.Set().Select(o => 8))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_constant_unary(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => 8) .Union(ss.Set().Select(o => -o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_constant_binary(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => 8) .Union(ss.Set().Select(o => o.OrderID + 1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_constant_scalarsubquery(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => 8) .Union(ss.Set().Select(o => o.OrderDetails.Count()))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_unary_column(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => -o.OrderID) .Union(ss.Set().Select(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_unary_function(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => -o.OrderID) .Union(ss.Set().GroupBy(o => o.OrderID).Select(g => g.Count()))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_unary_constant(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => -o.OrderID) .Union(ss.Set().Select(o => 8))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_unary_unary(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => -o.OrderID) .Union(ss.Set().Select(o => -o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_unary_binary(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => -o.OrderID) .Union(ss.Set().Select(o => o.OrderID + 1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_unary_scalarsubquery(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => -o.OrderID) .Union(ss.Set().Select(o => o.OrderDetails.Count()))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_binary_column(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderID + 1) .Union(ss.Set().Select(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_binary_function(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderID + 1) .Union(ss.Set().GroupBy(o => o.OrderID).Select(g => g.Count()))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_binary_constant(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderID + 1) .Union(ss.Set().Select(o => 8))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_binary_unary(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderID + 1) .Union(ss.Set().Select(o => -o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_binary_binary(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderID + 1) .Union(ss.Set().Select(o => o.OrderID + 1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_binary_scalarsubquery(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderID + 1) .Union(ss.Set().Select(o => o.OrderDetails.Count()))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_scalarsubquery_column(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderDetails.Count()) .Union(ss.Set().Select(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_scalarsubquery_function(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderDetails.Count()) .Union(ss.Set().GroupBy(o => o.OrderID).Select(g => g.Count()))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_scalarsubquery_constant(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderDetails.Count()) .Union(ss.Set().Select(o => 8))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_scalarsubquery_unary(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderDetails.Count()) .Union(ss.Set().Select(o => -o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_scalarsubquery_binary(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderDetails.Count()) .Union(ss.Set().Select(o => o.OrderID + 1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_scalarsubquery_scalarsubquery(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderDetails.Count()) .Union(ss.Set().Select(o => o.OrderDetails.Count()))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_OrderBy_Take1(bool async) => AssertQueryScalar( async, ss => ss.Set().OrderBy(o => o.OrderDate).Take(5).Select(o => o.OrderID) .Union(ss.Set().Select(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_OrderBy_without_Skip_Take1(bool async) => AssertQueryScalar( async, ss => ss.Set().OrderBy(o => o.OrderDate).Select(o => o.OrderID) .Union(ss.Set().Select(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_OrderBy_Take2(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderID) .Union(ss.Set().OrderBy(o => o.OrderDate).Take(5).Select(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_OrderBy_without_Skip_Take2(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(o => o.OrderID) .Union(ss.Set().OrderBy(o => o.OrderDate).Select(o => o.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_Take_Union(bool async) => AssertQuery( async, @@ -773,7 +773,7 @@ public virtual Task OrderBy_Take_Union(bool async) .Take(1)), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_projection_after_set_operation(bool async) => AssertQuery( async, @@ -787,7 +787,7 @@ public virtual Task Collection_projection_after_set_operation(bool async) AssertCollection(e.Orders, a.Orders); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_projection_after_set_operation_fails_if_distinct(bool async) => AssertQuery( async, @@ -801,7 +801,7 @@ public virtual Task Collection_projection_after_set_operation_fails_if_distinct( AssertCollection(e.Orders, a.Orders); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Collection_projection_before_set_operation_fails(bool async) => AssertQuery( async, @@ -818,7 +818,7 @@ public virtual Task Collection_projection_before_set_operation_fails(bool async) AssertCollection(e.Orders, a.Orders); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Concat_with_one_side_being_GroupBy_aggregate(bool async) => AssertQuery( async, @@ -835,7 +835,7 @@ public virtual Task Concat_with_one_side_being_GroupBy_aggregate(bool async) AssertEqual(e.OrderDate, a.OrderDate); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_on_entity_with_correlated_collection(bool async) => AssertQuery( async, @@ -849,7 +849,7 @@ public virtual Task Union_on_entity_with_correlated_collection(bool async) AssertCollection(e, a); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_on_entity_plus_other_column_with_correlated_collection(bool async) => AssertQuery( async, @@ -864,7 +864,7 @@ public virtual Task Union_on_entity_plus_other_column_with_correlated_collection AssertCollection(e.Orders, a.Orders); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Concat_with_pruning(bool async) => AssertQuery( async, @@ -872,7 +872,7 @@ public virtual Task Concat_with_pruning(bool async) .Concat(ss.Set().Where(c => c.CustomerID.StartsWith("B"))) .Select(x => x.City)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Concat_with_distinct_on_one_source_and_pruning(bool async) => AssertQuery( async, @@ -880,7 +880,7 @@ public virtual Task Concat_with_distinct_on_one_source_and_pruning(bool async) .Concat(ss.Set().Where(c => c.CustomerID.StartsWith("B")).Distinct()) .Select(x => x.City)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Concat_with_distinct_on_both_source_and_pruning(bool async) => AssertQuery( async, @@ -888,7 +888,7 @@ public virtual Task Concat_with_distinct_on_both_source_and_pruning(bool async) .Concat(ss.Set().Where(c => c.CustomerID.StartsWith("B")).Distinct()) .Select(x => x.City)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nested_concat_with_pruning(bool async) => AssertQuery( async, @@ -897,7 +897,7 @@ public virtual Task Nested_concat_with_pruning(bool async) .Concat(ss.Set().Where(c => c.CustomerID.StartsWith("A"))) .Select(x => x.City)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Nested_concat_with_distinct_in_the_middle_and_pruning(bool async) => AssertQuery( async, diff --git a/test/EFCore.Specification.Tests/Query/NorthwindStringIncludeQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/NorthwindStringIncludeQueryTestBase.cs index febf94f09ca..931db52e7ad 100644 --- a/test/EFCore.Specification.Tests/Query/NorthwindStringIncludeQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/NorthwindStringIncludeQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Diagnostics.Internal; @@ -18,7 +18,7 @@ public abstract class NorthwindStringIncludeQueryTestBase(TFixture fix { private static readonly IncludeRewritingExpressionVisitor _includeRewritingExpressionVisitor = new(); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Include_non_existing_navigation(bool async) => Assert.Contains( CoreResources.LogInvalidIncludePath(new TestLogger()) diff --git a/test/EFCore.Specification.Tests/Query/NorthwindWhereQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/NorthwindWhereQueryTestBase.cs index a298f88f42c..21649e4c1ec 100644 --- a/test/EFCore.Specification.Tests/Query/NorthwindWhereQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/NorthwindWhereQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.Northwind; @@ -20,7 +20,7 @@ protected virtual void ClearLog() { } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_simple(bool async) => AssertQuery( async, @@ -28,13 +28,13 @@ public virtual Task Where_simple(bool async) private static readonly Expression> _filter = o => o.CustomerID == "ALFKI"; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_as_queryable_expression(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Orders.AsQueryable().Any(_filter))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_simple_closure(bool async) { var city = "London"; @@ -47,7 +47,7 @@ await AssertQuery( return context.Set().Where(c => c.City == city).ToQueryString(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_indexer_closure(bool async) { var cities = new[] { "London" }; @@ -57,7 +57,7 @@ public virtual Task Where_indexer_closure(bool async) ss => ss.Set().Where(c => c.City == cities[0])); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_dictionary_key_access_closure(bool async) { var predicateMap = new Dictionary { ["City"] = "London" }; @@ -67,7 +67,7 @@ public virtual Task Where_dictionary_key_access_closure(bool async) ss => ss.Set().Where(c => c.City == predicateMap["City"])); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_tuple_item_closure(bool async) { var predicateTuple = new Tuple("ALFKI", "London"); @@ -77,7 +77,7 @@ public virtual Task Where_tuple_item_closure(bool async) ss => ss.Set().Where(c => c.City == predicateTuple.Item2)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_named_tuple_item_closure(bool async) { (string CustomerID, string City) predicateTuple = ("ALFKI", "London"); @@ -87,7 +87,7 @@ public virtual Task Where_named_tuple_item_closure(bool async) ss => ss.Set().Where(c => c.City == predicateTuple.City)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_simple_closure_constant(bool async) { var predicate = true; @@ -97,7 +97,7 @@ public virtual Task Where_simple_closure_constant(bool async) ss => ss.Set().Where(c => predicate)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_simple_closure_via_query_cache(bool async) { var city = "London"; @@ -113,7 +113,7 @@ await AssertQuery( ss => ss.Set().Where(c => c.City == city)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_method_call_nullable_type_closure_via_query_cache(bool async) { var city = new City { Int = 2 }; @@ -129,7 +129,7 @@ await AssertQuery( ss => ss.Set().Where(e => e.ReportsTo == city.Int)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_method_call_nullable_type_reverse_closure_via_query_cache(bool async) { var city = new City { NullableInt = 1 }; @@ -145,7 +145,7 @@ await AssertQuery( ss => ss.Set().Where(e => e.EmployeeID > city.NullableInt)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_method_call_closure_via_query_cache(bool async) { var city = new City { InstanceFieldValue = "London" }; @@ -161,7 +161,7 @@ await AssertQuery( ss => ss.Set().Where(c => c.City == city.GetCity())); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_field_access_closure_via_query_cache(bool async) { var city = new City { InstanceFieldValue = "London" }; @@ -177,7 +177,7 @@ await AssertQuery( ss => ss.Set().Where(c => c.City == city.InstanceFieldValue)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_property_access_closure_via_query_cache(bool async) { var city = new City { InstancePropertyValue = "London" }; @@ -193,7 +193,7 @@ await AssertQuery( ss => ss.Set().Where(c => c.City == city.InstancePropertyValue)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_static_field_access_closure_via_query_cache(bool async) { City.StaticFieldValue = "London"; @@ -209,7 +209,7 @@ await AssertQuery( ss => ss.Set().Where(c => c.City == City.StaticFieldValue)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_static_property_access_closure_via_query_cache(bool async) { City.StaticPropertyValue = "London"; @@ -225,7 +225,7 @@ await AssertQuery( ss => ss.Set().Where(c => c.City == City.StaticPropertyValue)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_nested_field_access_closure_via_query_cache(bool async) { var city = new City { Nested = new City { InstanceFieldValue = "London" } }; @@ -241,7 +241,7 @@ await AssertQuery( ss => ss.Set().Where(c => c.City == city.Nested.InstanceFieldValue)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_nested_property_access_closure_via_query_cache(bool async) { var city = new City { Nested = new City { InstancePropertyValue = "London" } }; @@ -257,7 +257,7 @@ await AssertQuery( ss => ss.Set().Where(c => c.City == city.Nested.InstancePropertyValue)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_nested_field_access_closure_via_query_cache_error_null(bool async) { var city = new City(); @@ -267,7 +267,7 @@ public virtual Task Where_nested_field_access_closure_via_query_cache_error_null ss => ss.Set().Where(c => c.City == city.Nested.InstanceFieldValue))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_nested_field_access_closure_via_query_cache_error_method_null(bool async) { var city = new City(); @@ -277,7 +277,7 @@ public virtual Task Where_nested_field_access_closure_via_query_cache_error_meth ss => ss.Set().Where(c => c.City == city.Throw().InstanceFieldValue))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_new_instance_field_access_query_cache(bool async) { await AssertQuery( @@ -289,7 +289,7 @@ await AssertQuery( ss => ss.Set().Where(c => c.City == new City { InstanceFieldValue = "Seattle" }.InstanceFieldValue)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_new_instance_field_access_closure_via_query_cache(bool async) { var city = "London"; @@ -324,7 +324,7 @@ public string GetCity() => InstanceFieldValue; } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_simple_closure_via_query_cache_nullable_type(bool async) { int? reportsTo = 2; @@ -346,7 +346,7 @@ await AssertQuery( ss => ss.Set().Where(e => e.ReportsTo == reportsTo)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_simple_closure_via_query_cache_nullable_type_reverse(bool async) { int? reportsTo = null; @@ -368,7 +368,7 @@ await AssertQuery( ss => ss.Set().Where(e => e.ReportsTo == reportsTo)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_subquery_closure_via_query_cache(bool async) { using var context = CreateContext(); @@ -391,20 +391,20 @@ public virtual async Task Where_subquery_closure_via_query_cache(bool async) Assert.Equal("ANATR", result.Single().CustomerID); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_simple_shadow(bool async) => AssertQuery( async, ss => ss.Set().Where(e => EF.Property(e, "Title") == "Sales Representative")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_simple_shadow_projection(bool async) => AssertQuery( async, ss => ss.Set().Where(e => EF.Property(e, "Title") == "Sales Representative") .Select(e => EF.Property(e, "Title"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_simple_shadow_projection_mixed(bool async) => AssertQuery( async, @@ -412,7 +412,7 @@ public virtual Task Where_simple_shadow_projection_mixed(bool async) .Select(e => new { e, Title = EF.Property(e, "Title") }), e => e.e.EmployeeID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_simple_shadow_subquery(bool async) => AssertQuery( async, @@ -420,7 +420,7 @@ public virtual Task Where_simple_shadow_subquery(bool async) where EF.Property(e, "Title") == "Sales Representative" select e); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_shadow_subquery_FirstOrDefault(bool async) => AssertQuery( async, @@ -430,7 +430,7 @@ where EF.Property(e, "Title") ss.Set().OrderBy(e2 => EF.Property(e2, "Title")).FirstOrDefault(), "Title") select e); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_client(bool async) => AssertTranslationFailedWithDetails( () => AssertQuery( @@ -438,13 +438,13 @@ public virtual Task Where_client(bool async) ss => ss.Set().Where(c => c.IsLondon)), CoreStrings.QueryUnableToTranslateMember(nameof(Customer.IsLondon), nameof(Customer))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_correlated(bool async) => AssertQuery( async, ss => ss.Set().Where(c1 => ss.Set().Any(c2 => c1.CustomerID == c2.CustomerID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_correlated_client_eval(bool async) => AssertTranslationFailed(() => AssertQuery( async, @@ -453,7 +453,7 @@ public virtual Task Where_subquery_correlated_client_eval(bool async) .Take(5) .Where(c1 => ss.Set().Any(c2 => c1.CustomerID == c2.CustomerID && c2.IsLondon)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_client_and_server_top_level(bool async) => AssertTranslationFailedWithDetails( () => AssertQuery( @@ -461,7 +461,7 @@ public virtual Task Where_client_and_server_top_level(bool async) ss => ss.Set().Where(c => c.IsLondon && c.CustomerID != "AROUT")), CoreStrings.QueryUnableToTranslateMember(nameof(Customer.IsLondon), nameof(Customer))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_client_or_server_top_level(bool async) => AssertTranslationFailedWithDetails( () => AssertQuery( @@ -469,7 +469,7 @@ public virtual Task Where_client_or_server_top_level(bool async) ss => ss.Set().Where(c => c.IsLondon || c.CustomerID == "ALFKI")), CoreStrings.QueryUnableToTranslateMember(nameof(Customer.IsLondon), nameof(Customer))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_client_and_server_non_top_level(bool async) => AssertTranslationFailedWithDetails( () => AssertQuery( @@ -477,7 +477,7 @@ public virtual Task Where_client_and_server_non_top_level(bool async) ss => ss.Set().Where(c => c.CustomerID != "ALFKI" == (c.IsLondon && c.CustomerID != "AROUT"))), CoreStrings.QueryUnableToTranslateMember(nameof(Customer.IsLondon), nameof(Customer))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_client_deep_inside_predicate_and_server_top_level(bool async) => AssertTranslationFailedWithDetails( () => AssertQuery( @@ -486,13 +486,13 @@ public virtual Task Where_client_deep_inside_predicate_and_server_top_level(bool .Where(c => c.CustomerID != "ALFKI" && (c.CustomerID == "MAUMAR" || (c.CustomerID != "AROUT" && c.IsLondon)))), CoreStrings.QueryUnableToTranslateMember(nameof(Customer.IsLondon), nameof(Customer))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_equals_method_int(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.EmployeeID.Equals(1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_equals_using_object_overload_on_mismatched_types(bool async) { ulong longPrm = 1; @@ -503,7 +503,7 @@ public virtual Task Where_equals_using_object_overload_on_mismatched_types(bool assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_equals_using_int_overload_on_mismatched_types(bool async) { ushort shortPrm = 1; @@ -513,7 +513,7 @@ public virtual Task Where_equals_using_int_overload_on_mismatched_types(bool asy ss => ss.Set().Where(e => e.EmployeeID.Equals(shortPrm))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_equals_on_mismatched_types_nullable_int_long(bool async) { ulong longPrm = 2; @@ -529,7 +529,7 @@ await AssertQuery( assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_equals_on_mismatched_types_int_nullable_int(bool async) { uint intPrm = 2; @@ -543,7 +543,7 @@ await AssertQuery( ss => ss.Set().Where(e => intPrm.Equals(e.ReportsTo))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_equals_on_mismatched_types_nullable_long_nullable_int(bool async) { ulong? nullableLongPrm = 2; @@ -559,7 +559,7 @@ await AssertQuery( assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_equals_on_matched_nullable_int_types(bool async) { uint? nullableIntPrm = 2; @@ -573,7 +573,7 @@ await AssertQuery( ss => ss.Set().Where(e => e.ReportsTo.Equals(nullableIntPrm))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_equals_on_null_nullable_int_types(bool async) { uint? nullableIntPrm = null; @@ -589,69 +589,69 @@ await AssertQuery( ss => ss.Set().Where(e => e.ReportsTo == nullableIntPrm)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_comparison_nullable_type_not_null(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.ReportsTo == 2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_comparison_nullable_type_null(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.ReportsTo == null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_simple_reversed(bool async) => AssertQuery( async, ss => ss.Set().Where(c => "London" == c.City)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_is_null(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Region == null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_null_is_null(bool async) => AssertQuery( async, ss => ss.Set().Where(c => null == null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_constant_is_null(bool async) => AssertQuery( async, ss => ss.Set().Where(c => "foo" == null), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_is_not_null(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.City != null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_null_is_not_null(bool async) => AssertQuery( async, ss => ss.Set().Where(c => null != null), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_constant_is_not_null(bool async) => AssertQuery( async, ss => ss.Set().Where(c => "foo" != null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_identity_comparison(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.City == c.City)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_in_optimization_multiple(bool async) => AssertQuery( async, @@ -665,7 +665,7 @@ from e in ss.Set() select new { c, e }, e => e.c.CustomerID + " " + e.e.EmployeeID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_not_in_optimization1(bool async) => AssertQuery( async, @@ -677,7 +677,7 @@ from e in ss.Set() select new { c, e }, e => e.c.CustomerID + " " + e.e.EmployeeID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_not_in_optimization2(bool async) => AssertQuery( async, @@ -689,7 +689,7 @@ from e in ss.Set() select new { c, e }, e => e.c.CustomerID + " " + e.e.EmployeeID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_not_in_optimization3(bool async) => AssertQuery( async, @@ -702,7 +702,7 @@ from e in ss.Set() select new { c, e }, e => e.c.CustomerID + " " + e.e.EmployeeID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_not_in_optimization4(bool async) => AssertQuery( async, @@ -716,7 +716,7 @@ from e in ss.Set() select new { c, e }, e => e.c.CustomerID + " " + e.e.EmployeeID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_select_many_and(bool async) { return AssertQuery( @@ -733,38 +733,38 @@ from e in ss.Set() e => e.c.CustomerID + " " + e.e.EmployeeID); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_primitive(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(e => e.EmployeeID).Take(9).Where(i => i == 5)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_primitive_tracked(bool async) => AssertQuery( async, ss => ss.Set().Take(9).Where(e => e.EmployeeID == 5)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_primitive_tracked2(bool async) => AssertQuery( async, ss => ss.Set().Take(9).Select(e => new { e }).Where(e => e.e.EmployeeID == 5), e => e.e.EmployeeID); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_bool_member(bool async) => AssertQuery( async, ss => ss.Set().Where(p => p.Discontinued)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_bool_member_false(bool async) => AssertQuery( async, ss => ss.Set().Where(p => !p.Discontinued)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_bool_client_side_negated(bool async) => AssertQuery( async, @@ -777,7 +777,7 @@ private static bool ClientFunc(int id) return false; } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_bool_member_negated_twice(bool async) { return AssertQuery( @@ -789,55 +789,55 @@ public virtual Task Where_bool_member_negated_twice(bool async) #pragma warning restore RCS1068 // Simplify logical negation. } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_bool_member_shadow(bool async) => AssertQuery( async, ss => ss.Set().Where(p => EF.Property(p, "Discontinued"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_bool_member_false_shadow(bool async) => AssertQuery( async, ss => ss.Set().Where(p => !EF.Property(p, "Discontinued"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_bool_member_equals_constant(bool async) => AssertQuery( async, ss => ss.Set().Where(p => p.Discontinued.Equals(true))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_bool_member_in_complex_predicate(bool async) => AssertQuery( async, ss => ss.Set().Where(p => p.ProductID > 100 && p.Discontinued || (p.Discontinued == true))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_bool_member_compared_to_binary_expression(bool async) => AssertQuery( async, ss => ss.Set().Where(p => p.Discontinued == (p.ProductID > 50))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_not_bool_member_compared_to_not_bool_member(bool async) => AssertQuery( async, ss => ss.Set().Where(p => !p.Discontinued == !p.Discontinued)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_negated_boolean_expression_compared_to_another_negated_boolean_expression(bool async) => AssertQuery( async, ss => ss.Set().Where(p => !(p.ProductID > 50) == !(p.ProductID > 20))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_not_bool_member_compared_to_binary_expression(bool async) => AssertQuery( async, ss => ss.Set().Where(p => !p.Discontinued == (p.ProductID > 50))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_bool_parameter(bool async) { var prm = true; @@ -847,7 +847,7 @@ public virtual Task Where_bool_parameter(bool async) ss => ss.Set().Where(p => prm)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_bool_parameter_compared_to_binary_expression(bool async) { var prm = true; @@ -857,7 +857,7 @@ public virtual Task Where_bool_parameter_compared_to_binary_expression(bool asyn ss => ss.Set().Where(p => (p.ProductID > 50) != prm)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_bool_member_and_parameter_compared_to_binary_expression_nested(bool async) { var prm = true; @@ -867,50 +867,50 @@ public virtual Task Where_bool_member_and_parameter_compared_to_binary_expressio ss => ss.Set().Where(p => p.Discontinued == ((p.ProductID > 50) != prm))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_de_morgan_or_optimized(bool async) => AssertQuery( async, ss => ss.Set().Where(p => !(p.Discontinued || (p.ProductID < 20)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_de_morgan_and_optimized(bool async) => AssertQuery( async, ss => ss.Set().Where(p => !(p.Discontinued && (p.ProductID < 20)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_complex_negated_expression_optimized(bool async) => AssertQuery( async, ss => ss.Set().Where(p => !(!(!p.Discontinued && (p.ProductID < 60)) || !(p.ProductID > 30)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_short_member_comparison(bool async) => AssertQuery( async, ss => ss.Set().Where(p => p.UnitsInStock > 10)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_comparison_to_nullable_bool(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.CustomerID.EndsWith("KI") == ((bool?)true))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_true(bool async) => AssertQuery( async, ss => ss.Set().Where(c => true)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_false(bool async) => AssertQuery( async, ss => ss.Set().Where(c => false), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_bool_closure(bool async) { var boolean = false; @@ -935,7 +935,7 @@ await AssertQuery( ss => ss.Set().Where(c => c.CustomerID == "ALFKI" || boolean)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_poco_closure(bool async) { var customer = new Customer { CustomerID = "ALFKI" }; @@ -951,7 +951,7 @@ await AssertQuery( ss => ss.Set().Where(c => c.Equals(customer)).Select(c => c.CustomerID)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_default(bool async) { var parameter = Expression.Parameter(typeof(Customer), "c"); @@ -970,7 +970,7 @@ public virtual Task Where_default(bool async) ss => ss.Set().Where(defaultExpression)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_expression_invoke_1(bool async) { Expression> expression = c => c.CustomerID == "ALFKI"; @@ -982,7 +982,7 @@ public virtual Task Where_expression_invoke_1(bool async) Expression.Lambda>(Expression.Invoke(expression, parameter), parameter))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_expression_invoke_2(bool async) { Expression> customer = o => o.Customer; @@ -996,7 +996,7 @@ public virtual Task Where_expression_invoke_2(bool async) ss => ss.Set().Where(exp)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_expression_invoke_3(bool async) { Expression> lambda3 = c => c.CustomerID == "ALFKI"; @@ -1014,7 +1014,7 @@ public virtual Task Where_expression_invoke_3(bool async) ss => ss.Set().Where(lambda)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_ternary_boolean_condition_true(bool async) { var flag = true; @@ -1024,7 +1024,7 @@ public virtual Task Where_ternary_boolean_condition_true(bool async) ss => ss.Set().Where(p => flag ? p.UnitsInStock >= 20 : p.UnitsInStock < 20)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_ternary_boolean_condition_false(bool async) { var flag = false; @@ -1034,7 +1034,7 @@ public virtual Task Where_ternary_boolean_condition_false(bool async) ss => ss.Set().Where(p => flag ? p.UnitsInStock >= 20 : p.UnitsInStock < 20)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_ternary_boolean_condition_with_another_condition(bool async) { var flag = true; @@ -1045,7 +1045,7 @@ public virtual Task Where_ternary_boolean_condition_with_another_condition(bool ss => ss.Set().Where(p => p.ProductID < productId && (flag ? p.UnitsInStock >= 20 : p.UnitsInStock < 20))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_ternary_boolean_condition_with_false_as_result_true(bool async) { var flag = true; @@ -1055,7 +1055,7 @@ public virtual Task Where_ternary_boolean_condition_with_false_as_result_true(bo ss => ss.Set().Where(p => flag ? p.UnitsInStock >= 20 : false)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_ternary_boolean_condition_with_false_as_result_false(bool async) { var flag = false; @@ -1066,107 +1066,107 @@ public virtual Task Where_ternary_boolean_condition_with_false_as_result_false(b assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_ternary_boolean_condition_negated(bool async) => AssertQuery( async, ss => ss.Set().Where(p => !(p.UnitsInStock >= 20 ? false : true))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_compare_constructed_equal(bool async) => AssertQuery( async, ss => ss.Set().Where(c => new { x = c.City } == new { x = "London" }), ss => ss.Set().Where(c => c.City == "London")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_compare_constructed_multi_value_equal(bool async) => AssertQuery( async, ss => ss.Set().Where(c => new { x = c.City, y = c.Country } == new { x = "London", y = "UK" }), ss => ss.Set().Where(c => c.City == "London" && c.Country == "UK")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_compare_constructed_multi_value_not_equal(bool async) => AssertQuery( async, ss => ss.Set().Where(c => new { x = c.City, y = c.Country } != new { x = "London", y = "UK" })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_compare_tuple_constructed_equal(bool async) => AssertQuery( async, ss => ss.Set().Where(c => new Tuple(c.City) == new Tuple("London")), ss => ss.Set().Where(c => c.City == "London")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_compare_tuple_constructed_multi_value_equal(bool async) => AssertQuery( async, ss => ss.Set().Where(c => new Tuple(c.City, c.Country) == new Tuple("London", "UK")), ss => ss.Set().Where(c => c.City == "London" && c.Country == "UK")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_compare_tuple_constructed_multi_value_not_equal(bool async) => AssertQuery( async, ss => ss.Set().Where(c => new Tuple(c.City, c.Country) != new Tuple("London", "UK")), ss => ss.Set().Where(c => c.City != "London" || c.Country != "UK")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_compare_tuple_create_constructed_equal(bool async) => AssertQuery( async, ss => ss.Set().Where(c => Tuple.Create(c.City) == Tuple.Create("London")), ss => ss.Set().Where(c => c.City == "London")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_compare_tuple_create_constructed_multi_value_equal(bool async) => AssertQuery( async, ss => ss.Set().Where(c => Tuple.Create(c.City, c.Country) == Tuple.Create("London", "UK")), ss => ss.Set().Where(c => c.City == "London" && c.Country == "UK")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_compare_tuple_create_constructed_multi_value_not_equal(bool async) => AssertQuery( async, ss => ss.Set().Where(c => Tuple.Create(c.City, c.Country) != Tuple.Create("London", "UK")), ss => ss.Set().Where(c => c.City != "London" || c.Country != "UK")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_compare_null(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Region == null && c.Country == "UK")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_compare_null_with_cast_to_object(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Region == null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_compare_with_both_cast_to_object(bool async) => AssertQuery( async, // ReSharper disable twice RedundantCast ss => ss.Set().Where(c => (object)c.City == (object)"London")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_projection(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.City == "London").Select(c => c.CompanyName)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_Is_on_same_type(bool async) => AssertQuery( async, // ReSharper disable once ConvertTypeCheckToNullCheck ss => ss.Set().Where(c => c is Customer)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_chain(bool async) => AssertQuery( async, @@ -1174,7 +1174,7 @@ public virtual Task Where_chain(bool async) .Where(o => o.CustomerID == "QUICK") .Where(o => o.OrderDate > new DateTime(1998, 1, 1))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Where_navigation_contains(bool async) { using var context = CreateContext(); @@ -1186,7 +1186,7 @@ public virtual async Task Where_navigation_contains(bool async) Assert.Equal(12, result.Count); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_array_index(bool async) { var customers = new[] { "ALFKI", "ANATR" }; @@ -1196,7 +1196,7 @@ public virtual Task Where_array_index(bool async) ss => ss.Set().Where(c => c.CustomerID == customers[0])); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_multiple_contains_in_subquery_with_or(bool async) => AssertQuery( async, @@ -1204,7 +1204,7 @@ public virtual Task Where_multiple_contains_in_subquery_with_or(bool async) => ss.Set().OrderBy(p => p.ProductID).Take(1).Select(p => p.ProductID).Contains(od.ProductID) || ss.Set().OrderBy(o => o.OrderID).Take(1).Select(o => o.OrderID).Contains(od.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_multiple_contains_in_subquery_with_and(bool async) => AssertQuery( async, @@ -1212,26 +1212,26 @@ public virtual Task Where_multiple_contains_in_subquery_with_and(bool async) => ss.Set().OrderBy(p => p.ProductID).Take(20).Select(p => p.ProductID).Contains(od.ProductID) && ss.Set().OrderBy(o => o.OrderID).Take(10).Select(o => o.OrderID).Contains(od.OrderID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_contains_on_navigation(bool async) => AssertQuery( async, ss => ss.Set().Where(o => ss.Set().Any(c => c.Orders.Contains(o)))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_FirstOrDefault_is_null(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Orders.OrderBy(o => o.OrderID).FirstOrDefault() == null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_subquery_FirstOrDefault_compared_to_entity(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Orders.OrderBy(o => o.OrderID).FirstOrDefault() == new Order { OrderID = 10276 }), ss => ss.Set().Where(c => c.Orders.OrderBy(o => o.OrderID).FirstOrDefault().OrderID == 10276)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task TypeBinary_short_circuit(bool async) { var customer = new Customer(); @@ -1244,7 +1244,7 @@ public virtual Task TypeBinary_short_circuit(bool async) assertEmpty: true); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Decimal_cast_to_double_works(bool async) { var customer = new Customer(); @@ -1254,7 +1254,7 @@ public virtual Task Decimal_cast_to_double_works(bool async) ss => ss.Set().Where(p => (double?)p.UnitPrice > 100)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_is_conditional(bool async) => AssertQuery( async, @@ -1263,7 +1263,7 @@ public virtual Task Where_is_conditional(bool async) ss => ss.Set().Where(p => p is Product ? false : true), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Enclosing_class_settable_member_generates_parameter(bool async) { SettableProperty = 10274; @@ -1279,19 +1279,19 @@ await AssertQuery( ss => ss.Set().Where(o => o.OrderID == SettableProperty)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Enclosing_class_readonly_member_generates_parameter(bool async) => AssertQuery( async, ss => ss.Set().Where(o => o.OrderID == ReadOnlyProperty)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Enclosing_class_const_member_does_not_generate_parameter(bool async) => AssertQuery( async, ss => ss.Set().Where(o => o.OrderID == ConstantProperty)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Generic_Ilist_contains_translates_to_server(bool async) { var cities = new List { "Seattle" } as IList; @@ -1308,7 +1308,7 @@ private int ReadOnlyProperty private const int ConstantProperty = 10274; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_non_nullable_value_after_FirstOrDefault_on_empty_collection(bool async) => AssertQuery( async, @@ -1317,7 +1317,7 @@ public virtual Task Filter_non_nullable_value_after_FirstOrDefault_on_empty_coll ss => ss.Set().Where(c => false), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Using_same_parameter_twice_in_query_generates_one_sql_parameter(bool async) { var i = 10; @@ -1329,7 +1329,7 @@ public virtual Task Using_same_parameter_twice_in_query_generates_one_sql_parame private readonly string customerId = "ALFKI"; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Two_parameters_with_same_name_get_uniquified(bool async) { var customerId = "ANATR"; @@ -1339,7 +1339,7 @@ public virtual Task Two_parameters_with_same_name_get_uniquified(bool async) ss => ss.Set().Where(c => c.CustomerID == customerId || c.CustomerID == this.customerId)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Two_parameters_with_same_case_insensitive_name_get_uniquified(bool async) { var customerID = "ANATR"; @@ -1350,7 +1350,7 @@ public virtual Task Two_parameters_with_same_case_insensitive_name_get_uniquifie ss => ss.Set().Where(c => c.CustomerID == customerID || c.CustomerID == customerId)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_Queryable_ToList_Count(bool async) => AssertQuery( async, @@ -1360,7 +1360,7 @@ public virtual Task Where_Queryable_ToList_Count(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_Queryable_ToList_Contains(bool async) => AssertQuery( async, @@ -1368,7 +1368,7 @@ public virtual Task Where_Queryable_ToList_Contains(bool async) .Select(c => ss.Set().Where(o => o.CustomerID == c.CustomerID).Select(o => o.CustomerID).ToList()) .Where(e => e.Contains("ALFKI"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_Queryable_ToArray_Count(bool async) => AssertQuery( async, @@ -1378,7 +1378,7 @@ public virtual Task Where_Queryable_ToArray_Count(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_Queryable_ToArray_Contains(bool async) => AssertQuery( async, @@ -1386,7 +1386,7 @@ public virtual Task Where_Queryable_ToArray_Contains(bool async) .Select(c => ss.Set().Where(o => o.CustomerID == c.CustomerID).Select(o => o.CustomerID).ToArray()) .Where(e => e.Contains("ALFKI"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_Queryable_AsEnumerable_Count(bool async) => AssertQuery( async, @@ -1396,7 +1396,7 @@ public virtual Task Where_Queryable_AsEnumerable_Count(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_Queryable_AsEnumerable_Contains(bool async) => AssertQuery( async, @@ -1404,7 +1404,7 @@ public virtual Task Where_Queryable_AsEnumerable_Contains(bool async) .Select(c => ss.Set().Where(o => o.CustomerID == c.CustomerID).Select(o => o.CustomerID).AsEnumerable()) .Where(e => e.Contains("ALFKI"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_Queryable_AsEnumerable_Contains_negated(bool async) => AssertQuery( async, @@ -1418,7 +1418,7 @@ public virtual Task Where_Queryable_AsEnumerable_Contains_negated(bool async) elementSorter: e => e.CustomerID, elementAsserter: (e, a) => AssertCollection(e.Subquery, a.Subquery)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_Queryable_ToList_Count_member(bool async) => AssertQuery( async, @@ -1428,7 +1428,7 @@ public virtual Task Where_Queryable_ToList_Count_member(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_Queryable_ToArray_Length_member(bool async) => AssertQuery( async, @@ -1438,7 +1438,7 @@ public virtual Task Where_Queryable_ToArray_Length_member(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory] + [Theory] [InlineData(true, true)] [InlineData(true, false)] [InlineData(false, true)] @@ -1453,7 +1453,7 @@ public virtual Task Where_Queryable_conditional_not_null_check_with_Contains(boo }, assertEmpty: withNull); - [ConditionalTheory] + [Theory] [InlineData(true, true)] [InlineData(true, false)] [InlineData(false, true)] @@ -1467,7 +1467,7 @@ public virtual Task Where_Queryable_conditional_null_check_with_Contains(bool as return ss.Set().Where(c => ids == null || !ids.Contains(c.CustomerID)); }); - [ConditionalTheory] + [Theory] [InlineData(true, true)] [InlineData(true, false)] [InlineData(false, true)] @@ -1485,7 +1485,7 @@ public virtual Task Where_Enumerable_conditional_not_null_check_with_Contains(bo }, assertEmpty: withNull); - [ConditionalTheory] + [Theory] [InlineData(true, true)] [InlineData(true, false)] [InlineData(false, true)] @@ -1502,7 +1502,7 @@ public virtual Task Where_Enumerable_conditional_null_check_with_Contains(bool a return ss.Set().Where(c => ids == null || !ids.Contains(c.CustomerID)); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_collection_navigation_ToList_Count(bool async) => AssertQuery( async, @@ -1514,7 +1514,7 @@ public virtual Task Where_collection_navigation_ToList_Count(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_collection_navigation_ToList_Contains(bool async) { var order = new Order { OrderID = 10248 }; @@ -1526,7 +1526,7 @@ public virtual Task Where_collection_navigation_ToList_Contains(bool async) .Where(e => e.Contains(order))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_collection_navigation_ToArray_Count(bool async) => AssertQuery( async, @@ -1538,7 +1538,7 @@ public virtual Task Where_collection_navigation_ToArray_Count(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_collection_navigation_ToArray_Contains(bool async) { var order = new Order { OrderID = 10248 }; @@ -1550,7 +1550,7 @@ public virtual Task Where_collection_navigation_ToArray_Contains(bool async) .Where(e => e.Contains(order))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_collection_navigation_AsEnumerable_Count(bool async) => AssertQuery( async, @@ -1562,7 +1562,7 @@ public virtual Task Where_collection_navigation_AsEnumerable_Count(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_collection_navigation_AsEnumerable_Contains(bool async) { var order = new Order { OrderID = 10248 }; @@ -1574,7 +1574,7 @@ public virtual Task Where_collection_navigation_AsEnumerable_Contains(bool async .Where(e => e.Contains(order))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_collection_navigation_ToList_Count_member(bool async) => AssertQuery( async, @@ -1586,7 +1586,7 @@ public virtual Task Where_collection_navigation_ToList_Count_member(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_collection_navigation_ToArray_Length_member(bool async) => AssertQuery( async, @@ -1598,7 +1598,7 @@ public virtual Task Where_collection_navigation_ToArray_Length_member(bool async assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_list_object_contains_over_value_type(bool async) { var orderIds = new List { 10248, 10249 }; @@ -1608,7 +1608,7 @@ public virtual Task Where_list_object_contains_over_value_type(bool async) .Where(o => orderIds.Contains(o.OrderID))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_array_of_object_contains_over_value_type(bool async) { var orderIds = new object[] { 10248, 10249 }; @@ -1618,47 +1618,47 @@ public virtual Task Where_array_of_object_contains_over_value_type(bool async) .Where(o => orderIds.Contains(o.OrderID))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_OrElse_on_same_column_converted_to_in_with_overlap(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.CustomerID == "ALFKI" || c.CustomerID == "ANATR" || c.CustomerID == "ANTON" || c.CustomerID == "ANATR")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_OrElse_on_same_column_with_null_constant_comparison_converted_to_in(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Region == "WA" || c.Region == "OR" || c.Region == null || c.Region == "BC")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Constant_array_Contains_OrElse_comparison_with_constant_gets_combined_to_one_in(bool async) => AssertQuery( async, ss => ss.Set().Where(c => new[] { "ALFKI", "ANATR" }.Contains(c.CustomerID) || c.CustomerID == "ANTON")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Constant_array_Contains_OrElse_comparison_with_constant_gets_combined_to_one_in_with_overlap(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.CustomerID == "ANTON" || new[] { "ALFKI", "ANATR" }.Contains(c.CustomerID) || c.CustomerID == "ALFKI")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Constant_array_Contains_OrElse_another_Contains_gets_combined_to_one_in_with_overlap(bool async) => AssertQuery( async, ss => ss.Set().Where(c => new[] { "ALFKI", "ANATR" }.Contains(c.CustomerID) || new[] { "ALFKI", "ANTON" }.Contains(c.CustomerID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Constant_array_Contains_AndAlso_another_Contains_gets_combined_to_one_in_with_overlap(bool async) => AssertQuery( async, ss => ss.Set().Where(c => !new[] { "ALFKI", "ANATR" }.Contains(c.CustomerID) && !new[] { "ALFKI", "ANTON" }.Contains(c.CustomerID))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_AndAlso_on_same_column_converted_to_in_using_parameters(bool async) { var (prm1, prm2, prm3) = ("ALFKI", "ANATR", "ANTON"); @@ -1668,7 +1668,7 @@ public virtual Task Multiple_AndAlso_on_same_column_converted_to_in_using_parame ss => ss.Set().Where(c => c.CustomerID != prm1 && c.CustomerID != prm2 && c.CustomerID != prm3)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Array_of_parameters_Contains_OrElse_comparison_with_constant_gets_combined_to_one_in(bool async) { var (prm1, prm2) = ("ALFKI", "ANATR"); @@ -1678,7 +1678,7 @@ public virtual Task Array_of_parameters_Contains_OrElse_comparison_with_constant ss => ss.Set().Where(c => new[] { prm1, prm2 }.Contains(c.CustomerID) || c.CustomerID == "ANTON")); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Multiple_OrElse_on_same_column_with_null_parameter_comparison_converted_to_in(bool async) { string prm = null; @@ -1688,7 +1688,7 @@ public virtual Task Multiple_OrElse_on_same_column_with_null_parameter_compariso ss => ss.Set().Where(c => c.Region == "WA" || c.Region == "OR" || c.Region == prm || c.Region == "BC")); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Parameter_array_Contains_OrElse_comparison_with_constant(bool async) { var array = new[] { "ALFKI", "ANATR" }; @@ -1698,7 +1698,7 @@ public virtual Task Parameter_array_Contains_OrElse_comparison_with_constant(boo ss => ss.Set().Where(c => array.Contains(c.CustomerID) || c.CustomerID == "ANTON")); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Parameter_array_Contains_OrElse_comparison_with_parameter_with_overlap(bool async) { var array = new[] { "ALFKI", "ANATR" }; @@ -1710,27 +1710,27 @@ public virtual Task Parameter_array_Contains_OrElse_comparison_with_parameter_wi ss => ss.Set().Where(c => c.CustomerID == prm1 || array.Contains(c.CustomerID) || c.CustomerID == prm2)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Two_sets_of_comparison_combine_correctly(bool async) => AssertQuery( async, ss => ss.Set().Where(c => new[] { "ALFKI", "ANATR" }.Contains(c.CustomerID) && (c.CustomerID == "ANATR" || c.CustomerID == "ANTON"))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Two_sets_of_comparison_combine_correctly2(bool async) => AssertQuery( async, ss => ss.Set().Where(c => (c.Region != "WA" && c.Region != "OR" && c.Region != null) || (c.Region != "WA" && c.Region != null))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_with_property_compared_to_null_wrapped_in_explicit_convert_to_object(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Region == null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_with_EF_Property_using_closure_for_property_name(bool async) { var id = "CustomerID"; @@ -1740,112 +1740,112 @@ public virtual Task Filter_with_EF_Property_using_closure_for_property_name(bool ss => ss.Set().Where(c => EF.Property(c, id) == "ALFKI")); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_with_EF_Property_using_function_for_property_name(bool async) => AssertQuery( async, ss => ss.Set().Where(c => EF.Property(c, StringMethod("CustomerID")) == "ALFKI")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FirstOrDefault_over_scalar_projection_compared_to_null(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Orders.Select(o => (int?)o.OrderID).FirstOrDefault() == null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FirstOrDefault_over_scalar_projection_compared_to_not_null(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Orders.Select(o => (int?)o.OrderID).FirstOrDefault() != null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FirstOrDefault_over_custom_projection_compared_to_null(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Orders.Select(o => new { o.OrderID }).FirstOrDefault() == null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FirstOrDefault_over_custom_projection_compared_to_not_null(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Orders.Select(o => new { o.OrderID }).FirstOrDefault() != null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SingleOrDefault_over_custom_projection_compared_to_null(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Orders.Select(o => new { o.OrderID }).SingleOrDefault() == null), ss => ss.Set().Where(c => c.Orders.Select(o => new { o.OrderID }).FirstOrDefault() == null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SingleOrDefault_over_custom_projection_compared_to_not_null(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Orders.Select(o => new { o.OrderID }).SingleOrDefault() != null), ss => ss.Set().Where(c => c.Orders.Select(o => new { o.OrderID }).FirstOrDefault() != null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task LastOrDefault_over_custom_projection_compared_to_null(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Orders.Select(o => new { o.OrderID }).LastOrDefault() == null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task LastOrDefault_over_custom_projection_compared_to_not_null(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Orders.Select(o => new { o.OrderID }).LastOrDefault() != null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task First_over_custom_projection_compared_to_null(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Orders.Select(o => new { o.OrderID }).First() == null), ss => ss.Set().Where(c => c.Orders.Select(o => new { o.OrderID }).FirstOrDefault() == null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task First_over_custom_projection_compared_to_not_null(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Orders.Select(o => new { o.OrderID }).First() != null), ss => ss.Set().Where(c => c.Orders.Select(o => new { o.OrderID }).FirstOrDefault() != null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ElementAt_over_custom_projection_compared_to_not_null(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Orders.Select(o => new { o.OrderID }).ElementAt(3) != null), ss => ss.Set().Where(c => c.Orders.Select(o => new { o.OrderID }).ElementAtOrDefault(3) != null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ElementAtOrDefault_over_custom_projection_compared_to_null(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Orders.Select(o => new { o.OrderID }).ElementAtOrDefault(7) == null), ss => ss.Set().Where(c => c.Orders.Select(o => new { o.OrderID }).ElementAtOrDefault(7) == null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Single_over_custom_projection_compared_to_null(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Orders.Select(o => new { o.OrderID }).Single() == null), ss => ss.Set().Where(c => c.Orders.Select(o => new { o.OrderID }).FirstOrDefault() == null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Single_over_custom_projection_compared_to_not_null(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Orders.Select(o => new { o.OrderID }).Single() != null), ss => ss.Set().Where(c => c.Orders.Select(o => new { o.OrderID }).FirstOrDefault() != null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Last_over_custom_projection_compared_to_null(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.Orders.Select(o => new { o.OrderID }).Last() == null), ss => ss.Set().Where(c => c.Orders.Select(o => new { o.OrderID }).LastOrDefault() == null)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Last_over_custom_projection_compared_to_not_null(bool async) => AssertQuery( async, @@ -1855,7 +1855,7 @@ public virtual Task Last_over_custom_projection_compared_to_not_null(bool async) private string StringMethod(string arg) => arg; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_Contains_and_comparison(bool async) { var customerIds = new[] { "ALFKI", "FISSA", "WHITC" }; @@ -1865,7 +1865,7 @@ public virtual Task Where_Contains_and_comparison(bool async) ss => ss.Set().Where(c => customerIds.Contains(c.CustomerID) && c.City == "Seattle")); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_Contains_or_comparison(bool async) { var customerIds = new[] { "ALFKI", "FISSA" }; @@ -1874,33 +1874,33 @@ public virtual Task Where_Contains_or_comparison(bool async) ss => ss.Set().Where(c => customerIds.Contains(c.CustomerID) || c.City == "Seattle")); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetType_on_non_hierarchy1(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.GetType() == typeof(Customer))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetType_on_non_hierarchy2(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.GetType() != typeof(Customer)), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetType_on_non_hierarchy3(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.GetType() == typeof(Order)), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetType_on_non_hierarchy4(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.GetType() != typeof(Order))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Case_block_simplification_works_correctly(bool async) #pragma warning disable IDE0029 // Use coalesce expression => AssertQuery( @@ -1908,7 +1908,7 @@ public virtual Task Case_block_simplification_works_correctly(bool async) ss => ss.Set().Where(c => (c.Region == null ? "OR" : c.Region) == "OR")); #pragma warning restore IDE0029 // Use coalesce expression - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task EF_Constant(bool async) { var id = "ALFKI"; @@ -1919,7 +1919,7 @@ public virtual Task EF_Constant(bool async) ss => ss.Set().Where(c => c.CustomerID == "ALFKI")); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task EF_Constant_with_subtree(bool async) { var i = "ALF"; @@ -1931,7 +1931,7 @@ public virtual Task EF_Constant_with_subtree(bool async) ss => ss.Set().Where(c => c.CustomerID == "ALFKI")); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task EF_Constant_does_not_parameterized_as_part_of_bigger_subtree(bool async) { var id = "ALF"; @@ -1942,7 +1942,7 @@ public virtual Task EF_Constant_does_not_parameterized_as_part_of_bigger_subtree ss => ss.Set().Where(c => c.CustomerID == "ALF" + "KI")); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task EF_Constant_with_non_evaluatable_argument_throws(bool async) { var exception = await Assert.ThrowsAsync(() => AssertQuery( @@ -1952,14 +1952,14 @@ public virtual async Task EF_Constant_with_non_evaluatable_argument_throws(bool Assert.Equal(CoreStrings.EFMethodWithNonEvaluatableArgument("EF.Constant"), exception.Message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task EF_Parameter(bool async) => AssertQuery( async, ss => ss.Set().Where(c => c.CustomerID == EF.Parameter("ALFKI")), ss => ss.Set().Where(c => c.CustomerID == "ALFKI")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task EF_Parameter_with_subtree(bool async) { // This is a somewhat silly scenario: a subtree would get parameterized anyway, with or without EF.Parameter(). @@ -1973,7 +1973,7 @@ public virtual Task EF_Parameter_with_subtree(bool async) ss => ss.Set().Where(c => c.CustomerID == "ALFKI")); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task EF_Parameter_does_not_parameterized_as_part_of_bigger_subtree(bool async) { var id = "ALF"; @@ -1984,7 +1984,7 @@ public virtual Task EF_Parameter_does_not_parameterized_as_part_of_bigger_subtre ss => ss.Set().Where(c => c.CustomerID == "ALF" + "KI")); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task EF_Parameter_with_non_evaluatable_argument_throws(bool async) { var exception = await Assert.ThrowsAsync(() => AssertQuery( @@ -2011,7 +2011,7 @@ public EntityWithImplicitCast Clone() => new(_value); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Implicit_cast_in_predicate(bool async) { await AssertQuery( @@ -2056,7 +2056,7 @@ public static IQueryable AddFilter(IQueryable query, int id) where T : IHaveId => query.Where(a => a.Id == id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Interface_casting_though_generic_method(bool async) { await AssertQuery( @@ -2080,7 +2080,7 @@ await AssertQuery( elementAsserter: (e, a) => AssertEqual(e.Id, a.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // #35095 + [Theory, MemberData(nameof(IsAsyncData))] // #35095 public virtual Task Simplifiable_coalesce_over_nullable(bool async) { int? orderId = 10248; @@ -2092,19 +2092,19 @@ public virtual Task Simplifiable_coalesce_over_nullable(bool async) #region Evaluation order of operators - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_and_Where_evaluation_order(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(e => e.EmployeeID).Take(3).Where(e => e.EmployeeID % 2 == 0)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_and_Where_evaluation_order(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(e => e.EmployeeID).Skip(3).Where(e => e.EmployeeID % 2 == 0)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Take_and_Distinct_evaluation_order(bool async) => AssertQuery( async, diff --git a/test/EFCore.Specification.Tests/Query/NullKeysTestBase.cs b/test/EFCore.Specification.Tests/Query/NullKeysTestBase.cs index 0312f9acdac..3d001fe35bc 100644 --- a/test/EFCore.Specification.Tests/Query/NullKeysTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/NullKeysTestBase.cs @@ -15,7 +15,7 @@ public abstract class NullKeysTestBase(TFixture fixture) : IClassFixtu protected DbContext CreateContext() => Fixture.CreateContext(); - [ConditionalFact] // Issue #1093 + [Fact] // Issue #1093 public virtual void Include_with_null_FKs_and_nullable_PK() { using var context = CreateContext(); @@ -41,7 +41,7 @@ public virtual void Include_with_null_FKs_and_nullable_PK() results.Skip(2).Select(e => e.Principal.Id)); } - [ConditionalFact] + [Fact] public virtual void Include_with_non_nullable_FKs_and_nullable_PK() { using var context = CreateContext(); @@ -63,7 +63,7 @@ public virtual void Include_with_non_nullable_FKs_and_nullable_PK() results.Select(e => e.Principal.Id).ToArray()); } - [ConditionalFact] // Issue #1093 + [Fact] // Issue #1093 public virtual void Include_with_null_fKs_and_non_nullable_PK() { using var context = CreateContext(); @@ -88,7 +88,7 @@ public virtual void Include_with_null_fKs_and_non_nullable_PK() Assert.Null(results[5].Principal); } - [ConditionalFact] // Issue #1093 + [Fact] // Issue #1093 public virtual void Include_with_null_fKs_and_nullable_PK() { using var context = CreateContext(); @@ -113,7 +113,7 @@ public virtual void Include_with_null_fKs_and_nullable_PK() Assert.Null(results[5].Principal); } - [ConditionalFact] // Issue #1292 + [Fact] // Issue #1292 public virtual void One_to_one_self_ref_Include() { using var context = CreateContext(); diff --git a/test/EFCore.Specification.Tests/Query/OwnedEntityQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/OwnedEntityQueryTestBase.cs index 2dbff0af02f..e173001e740 100644 --- a/test/EFCore.Specification.Tests/Query/OwnedEntityQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/OwnedEntityQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Collections.ObjectModel; @@ -14,7 +14,7 @@ protected override string NonSharedStoreName #region 9202 - [ConditionalFact] + [Fact] public virtual async Task Include_collection_for_entity_with_owned_type_works() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -105,7 +105,7 @@ public class Details #region 13079 - [ConditionalFact] + [Fact] public virtual async Task Multilevel_owned_entities_determine_correct_nullability() { var contextFactory = await InitializeNonSharedTest(); @@ -149,7 +149,7 @@ public class OwnedSubData #region 13157 - [ConditionalFact] + [Fact] public virtual async Task Correlated_subquery_with_owned_navigation_being_compared_to_null_works() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -227,7 +227,7 @@ public class AddressTurnovers #region 14911 - [ConditionalFact] + [Fact] public virtual async Task Owned_entity_multiple_level_in_aggregate() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -359,7 +359,7 @@ public class FifthValueObject #region 18582 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Projecting_correlated_collection_property_for_owned_entity(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -433,7 +433,7 @@ public class WarehouseModel #region 19138 - [ConditionalFact] + [Fact] public virtual async Task Accessing_scalar_property_in_derived_type_projection_does_not_load_owned_navigations() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -494,7 +494,7 @@ public class OtherEntity #region 20277 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Multiple_single_result_in_projection_containing_owned_types(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -570,7 +570,7 @@ public class Owned #region 21540 - [ConditionalFact] + [Fact] public virtual async Task Can_auto_include_navigation_from_model() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -685,7 +685,7 @@ public class Collection #region 21807 - [ConditionalFact] + [Fact] public virtual async Task Nested_owned_required_dependents_are_materialized() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -746,7 +746,7 @@ public class Address #region 22090 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task OwnsMany_correlated_projection(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -799,7 +799,7 @@ public class NameDto #region 24133 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Projecting_owned_collection_and_aggregate(bool async) { var contextFactory = await InitializeNonSharedTest(); diff --git a/test/EFCore.Specification.Tests/Query/OwnedQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/OwnedQueryTestBase.cs index b6d420cc954..87f0813848f 100644 --- a/test/EFCore.Specification.Tests/Query/OwnedQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/OwnedQueryTestBase.cs @@ -14,7 +14,7 @@ protected OwnedQueryTestBase(TFixture fixture) : base(fixture) => fixture.ListLoggerFactory.Clear(); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // Issue #26257 + [Theory, MemberData(nameof(IsAsyncData))] // Issue #26257 public virtual async Task Can_query_owner_with_different_owned_types_having_same_property_name_in_hierarchy(bool async) { using (var context = CreateContext()) @@ -46,7 +46,7 @@ await context.AddAsync( } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Query_with_owned_entity_equality_operator(bool async) => AssertQuery( async, @@ -56,7 +56,7 @@ from b in ss.Set() select a, assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Query_with_owned_entity_equality_method(bool async) => AssertQuery( async, @@ -66,7 +66,7 @@ where a.LeafAAddress.Equals(b.LeafBAddress) select a, assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Query_with_owned_entity_equality_object_method(bool async) => AssertQuery( async, @@ -76,37 +76,37 @@ where Equals(a.LeafAAddress, b.LeafBAddress) select a, assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Query_for_base_type_loads_all_owned_navs(bool async) => AssertQuery( async, ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task No_ignored_include_warning_when_implicit_load(bool async) => AssertCount( async, ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Query_for_branch_type_loads_all_owned_navs(bool async) => AssertQuery( async, ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Query_for_branch_type_loads_all_owned_navs_tracking(bool async) => AssertQuery( async, ss => ss.Set().AsTracking()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Query_for_leaf_type_loads_all_owned_navs(bool async) => AssertQuery( async, ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Query_when_subquery(bool async) => AssertQuery( async, @@ -117,32 +117,32 @@ public virtual Task Query_when_subquery(bool async) assertOrder: true, elementAsserter: (e, a) => AssertEqual(e.op, a.op)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_owned_reference_navigation_which_owns_additional(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(o => o.Id).Select(p => p.PersonAddress)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_owned_reference_navigation_which_does_not_own_additional(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(o => o.Id).Select(p => p.PersonAddress.Country)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_rewrite_on_owned_reference_projecting_scalar(bool async) => AssertQuery( async, ss => ss.Set().Where(p => p.PersonAddress.Country.Name == "USA") .Select(p => p.PersonAddress.Country.Name)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_rewrite_on_owned_reference_projecting_entity(bool async) => AssertQuery( async, ss => ss.Set().Where(p => p.PersonAddress.Country.Name == "USA")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_rewrite_on_owned_collection(bool async) => AssertQuery( async, @@ -150,33 +150,33 @@ public virtual Task Navigation_rewrite_on_owned_collection(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_rewrite_on_owned_collection_with_composition(bool async) => AssertQueryScalar( async, ss => ss.Set().OrderBy(p => p.Id) .Select(p => p.Orders.OrderBy(o => o.Id).Select(o => o.Id != 42).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_rewrite_on_owned_collection_with_composition_complex(bool async) => AssertQuery( async, ss => ss.Set() .Select(p => p.Orders.OrderBy(o => o.Id).Select(o => o.Client.PersonAddress.Country.Name).FirstOrDefault())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_on_owned_collection(bool async) => AssertQuery( async, ss => ss.Set().SelectMany(p => p.Orders)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_with_result_selector(bool async) => AssertQuery( async, ss => ss.Set().SelectMany(o => o.Orders, (p, o) => new { PersonId = p.Id, OrderId = o.Id })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Set_throws_for_owned_type(bool async) { var exception = await Assert.ThrowsAsync(() => AssertQuery(async, ss => ss.Set())); @@ -186,13 +186,13 @@ public virtual async Task Set_throws_for_owned_type(bool async) exception.Message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_rewrite_on_owned_reference_followed_by_regular_entity(bool async) => AssertQuery( async, ss => ss.Set().Select(p => p.PersonAddress.Country.Planet)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_owned_entity_chained_with_regular_entity_followed_by_projecting_owned_collection(bool async) => AssertQuery( async, @@ -201,7 +201,7 @@ public virtual Task Filter_owned_entity_chained_with_regular_entity_followed_by_ assertOrder: true, elementAsserter: (e, a) => AssertCollection(e.Orders, a.Orders)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_multiple_owned_navigations(bool async) => AssertQuery( async, @@ -220,7 +220,7 @@ public virtual Task Project_multiple_owned_navigations(bool async) AssertEqual(e.Planet, a.Planet); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Project_multiple_owned_navigations_with_expansion_on_owned_collections(bool async) => AssertQuery( async, @@ -235,7 +235,7 @@ public virtual Task Project_multiple_owned_navigations_with_expansion_on_owned_c AssertEqual(e.Planet, a.Planet); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_rewrite_on_owned_reference_followed_by_regular_entity_filter(bool async) => AssertQuery( async, @@ -243,13 +243,13 @@ public virtual Task Navigation_rewrite_on_owned_reference_followed_by_regular_en elementSorter: e => e.p.Id, elementAsserter: (e, a) => AssertEqual(e.p, a.p)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_property(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(p => p.PersonAddress.Country.Planet.Id)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_collection(bool async) => AssertQuery( async, @@ -257,38 +257,38 @@ public virtual Task Navigation_rewrite_on_owned_reference_followed_by_regular_en assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_on_owned_reference_followed_by_regular_entity_and_collection(bool async) => AssertQuery( async, ss => ss.Set().SelectMany(p => p.PersonAddress.Country.Planet.Moons)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SelectMany_on_owned_reference_with_entity_in_between_ending_in_owned_collection(bool async) => AssertQuery( async, ss => ss.Set().SelectMany(p => p.PersonAddress.Country.Planet.Star.Composition)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_collection_count(bool async) => AssertQueryScalar( async, ss => ss.Set().Select(p => p.PersonAddress.Country.Planet.Moons.Count)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_another_reference(bool async) => AssertQuery( async, ss => ss.Set().Select(p => p.PersonAddress.Country.Planet.Star)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_another_reference_and_scalar(bool async) => AssertQuery( async, ss => ss.Set().Select(p => p.PersonAddress.Country.Planet.Star.Name), elementSorter: e => e); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_another_reference_in_predicate_and_projection(bool async) => AssertQuery( @@ -296,19 +296,19 @@ public virtual Task ss => ss.Set().Where(p => p.PersonAddress.Country.Planet.Star.Name == "Sol") .Select(p => p.PersonAddress.Country.Planet.Star)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Query_with_OfType_eagerly_loads_correct_owned_navigations(bool async) => AssertQuery( async, ss => ss.Set().OfType()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Query_loads_reference_nav_automatically_in_projection(bool async) => AssertSingle( async, ss => ss.Set().Select(e => e.Barton)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Throw_for_owned_entities_without_owner_in_tracking_query(bool async) { using var context = CreateContext(); @@ -330,7 +330,7 @@ public virtual async Task Throw_for_owned_entities_without_owner_in_tracking_que Assert.Equal(CoreStrings.OwnedEntitiesCannotBeTrackedWithoutTheirOwner, message); } - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] public virtual async Task Owned_entity_without_owner_does_not_throw_for_identity_resolution(bool async, bool useAsTracking) { using var context = CreateContext(); @@ -348,7 +348,7 @@ public virtual async Task Owned_entity_without_owner_does_not_throw_for_identity Assert.Empty(context.ChangeTracker.Entries()); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Preserve_includes_when_applying_skip_take_after_anonymous_type_select(bool async) { using var context = CreateContext(); @@ -370,26 +370,26 @@ public virtual async Task Preserve_includes_when_applying_skip_take_after_anonym } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Unmapped_property_projection_loads_owned_navigations(bool async) => AssertQuery( async, ss => ss.Set().Where(e => e.Id == 1).AsTracking().Select(e => new { e.ReadOnlyProperty })); // Issue#18140 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Client_method_skip_loads_owned_navigations(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(e => e.Id).Select(e => Map(e)).Skip(1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Client_method_take_loads_owned_navigations(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(e => e.Id).Select(e => Map(e)).Take(2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Client_method_skip_take_loads_owned_navigations(bool async) => AssertQuery( async, @@ -399,19 +399,19 @@ private static string Map(OwnedPerson person) => person.PersonAddress.Country.Name; // Issue#18734 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Client_method_skip_loads_owned_navigations_variation_2(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(e => e.Id).Select(e => Identity(e)).Skip(1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Client_method_take_loads_owned_navigations_variation_2(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(e => e.Id).Select(e => Identity(e)).Take(2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Client_method_skip_take_loads_owned_navigations_variation_2(bool async) => AssertQuery( async, @@ -420,7 +420,7 @@ public virtual Task Client_method_skip_take_loads_owned_navigations_variation_2( private static OwnedPerson Identity(OwnedPerson person) => person; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_owned_collection_navigation_ToList_Count(bool async) => AssertQuery( async, @@ -432,7 +432,7 @@ public virtual Task Where_owned_collection_navigation_ToList_Count(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_collection_navigation_ToArray_Count(bool async) => AssertQuery( async, @@ -444,7 +444,7 @@ public virtual Task Where_collection_navigation_ToArray_Count(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_collection_navigation_AsEnumerable_Count(bool async) => AssertQuery( async, @@ -456,7 +456,7 @@ public virtual Task Where_collection_navigation_AsEnumerable_Count(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_collection_navigation_ToList_Count_member(bool async) => AssertQuery( async, @@ -468,7 +468,7 @@ public virtual Task Where_collection_navigation_ToList_Count_member(bool async) assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Where_collection_navigation_ToArray_Length_member(bool async) => AssertQuery( async, @@ -480,19 +480,19 @@ public virtual Task Where_collection_navigation_ToArray_Length_member(bool async assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_query_on_indexer_properties(bool async) => AssertQuery( async, ss => ss.Set().Where(c => (string)c["Name"] == "Mona Cy")); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_query_on_owned_indexer_properties(bool async) => AssertQuery( async, ss => ss.Set().Where(c => (int)c.PersonAddress["ZipCode"] == 38654).Select(c => (string)c["Name"])); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_query_on_indexer_property_when_property_name_from_closure(bool async) { var propertyName = "Name"; @@ -501,83 +501,83 @@ public virtual Task Can_query_on_indexer_property_when_property_name_from_closur ss => ss.Set().Where(c => (string)c[propertyName] == "Mona Cy").Select(c => (string)c["Name"])); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_project_indexer_properties(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c["Name"])); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_project_owned_indexer_properties(bool async) => AssertQuery( async, ss => ss.Set().Select(c => c.PersonAddress["AddressLine"])); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_project_indexer_properties_converted(bool async) => AssertQuery( async, ss => ss.Set().Select(c => (string)c["Name"])); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_project_owned_indexer_properties_converted(bool async) => AssertQuery( async, ss => ss.Set().Select(c => (string)c.PersonAddress["AddressLine"])); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_OrderBy_indexer_properties(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(c => c["Name"]).ThenBy(c => c.Id), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_OrderBy_indexer_properties_converted(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(c => (string)c["Name"]).ThenBy(c => c.Id).Select(c => (string)c["Name"]), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_OrderBy_owned_indexer_properties(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(c => c.PersonAddress["ZipCode"]).ThenBy(c => c.Id).Select(c => (string)c["Name"]), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_OrderBy_owned_indexer_properties_converted(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(c => (int)c.PersonAddress["ZipCode"]).ThenBy(c => c.Id).Select(c => (string)c["Name"]), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_group_by_indexer_property(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(c => c["Name"]).Select(g => g.Count())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_group_by_converted_indexer_property(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(c => (string)c["Name"]).Select(g => g.Count())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_group_by_owned_indexer_property(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(c => c.PersonAddress["ZipCode"]).Select(g => g.Count())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_group_by_converted_owned_indexer_property(bool async) => AssertQueryScalar( async, ss => ss.Set().GroupBy(c => (int)c.PersonAddress["ZipCode"]).Select(g => g.Count())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_join_on_indexer_property_on_query(bool async) => AssertQuery( async, @@ -587,21 +587,21 @@ join c2 in ss.Set() on c1.PersonAddress["ZipCode"] equals c2.PersonAddress["ZipCode"] select new { c1.Id, c2.PersonAddress.Country.Name })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_indexer_property_ignores_include(bool async) => AssertQuery( async, ss => from c in ss.Set().AsTracking() select new { Nation = c.PersonAddress["ZipCode"] }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_indexer_property_ignores_include_converted(bool async) => AssertQuery( async, ss => from c in ss.Set().AsTracking() select new { Nation = (int)c.PersonAddress["ZipCode"] }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Indexer_property_is_pushdown_into_subquery(bool async) => AssertQuery( async, @@ -609,14 +609,14 @@ public virtual Task Indexer_property_is_pushdown_into_subquery(bool async) .Where(g => (string)ss.Set().Where(c => c.Id == g.Id).FirstOrDefault()["Name"] == "Mona Cy") .Select(c => (string)c["Name"])); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Can_query_indexer_property_on_owned_collection(bool async) => AssertQuery( async, ss => ss.Set().Where(ow => ow.Orders.Where(o => ((DateTime)o["OrderDate"]).Year == 2018).Count() == 1) .Select(c => (string)c["Name"])); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task NoTracking_Include_with_cycles_throws(bool async) { using var context = CreateContext(); @@ -629,7 +629,7 @@ public virtual async Task NoTracking_Include_with_cycles_throws(bool async) : Assert.Throws(() => query.ToList()).Message); } - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] public virtual async Task NoTracking_Include_with_cycles_does_not_throw_when_performing_identity_resolution( bool async, bool useAsTracking) @@ -653,7 +653,7 @@ public virtual async Task NoTracking_Include_with_cycles_does_not_throw_when_per } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Trying_to_access_non_existent_indexer_property_throws_meaningful_exception(bool async) => AssertTranslationFailedWithDetails( () => AssertQuery( @@ -661,7 +661,7 @@ public virtual Task Trying_to_access_non_existent_indexer_property_throws_meanin ss => ss.Set().Where(op => (bool)op["Foo"])), CoreStrings.QueryUnableToTranslateMember("Foo", nameof(OwnedPerson))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_with_multiple_aggregates_on_owned_navigation_properties(bool async) => AssertQuery( async, @@ -672,7 +672,7 @@ public virtual Task GroupBy_with_multiple_aggregates_on_owned_navigation_propert p3 = e.Max(x => x.Name.Length), })); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Non_nullable_property_through_optional_navigation(bool async) => Assert.Equal( "Nullable object must have a value.", @@ -680,14 +680,14 @@ public virtual async Task Non_nullable_property_through_optional_navigation(bool async, ss => ss.Set().Select(e => new { e.Throned.Value })))).Message); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Ordering_by_identifying_projection(bool async) => AssertQuery( async, ss => ss.Set().OrderBy(p => p.PersonAddress.PlaceType).ThenBy(e => e.Id), assertOrder: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Query_on_collection_entry_works_for_owned_collection(bool async) { using var context = CreateContext(); @@ -709,7 +709,7 @@ public virtual async Task Query_on_collection_entry_works_for_owned_collection(b } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Projecting_collection_correlated_with_keyless_entity_after_navigation_works_using_parent_identifiers(bool async) => AssertQuery( async, @@ -722,7 +722,7 @@ public virtual Task Projecting_collection_correlated_with_keyless_entity_after_n AssertCollection(e.Planets, a.Planets); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_on_indexer_using_closure(bool async) { var zipCode = "ZipCode"; @@ -732,7 +732,7 @@ public virtual Task Filter_on_indexer_using_closure(bool async) ss => ss.Set().Where(p => (int)p.PersonAddress[zipCode] == 38654)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Filter_on_indexer_using_function_argument(bool async) { var zipCode = "ZipCode"; @@ -751,13 +751,13 @@ public virtual async Task Filter_on_indexer_using_function_argument(bool async) await myFunc(async, zipCode); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Simple_query_entity_with_owned_collection(bool async) => AssertQuery( async, ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Left_join_on_entity_with_owned_navigations(bool async) => AssertQuery( async, @@ -782,7 +782,7 @@ from c2 in grouping.DefaultIfEmpty() AssertEqual(e.PersonAddress, a.PersonAddress); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Left_join_on_entity_with_owned_navigations_complex(bool async) => AssertQuery( async, @@ -809,7 +809,7 @@ from sub in grouping2.DefaultIfEmpty() AssertEqual(e.sub.c2, a.sub.c2); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GroupBy_aggregate_on_owned_navigation_in_aggregate_selector(bool async) => AssertQuery( async, @@ -823,40 +823,40 @@ public virtual Task GroupBy_aggregate_on_owned_navigation_in_aggregate_selector( AssertEqual(e.Sum, a.Sum); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Count_over_owned_collection(bool async) => AssertQuery( async, ss => ss.Set().Where(p => p.Orders.Count == 2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Any_without_predicate_over_owned_collection(bool async) => AssertQuery( async, ss => ss.Set().Where(p => p.Orders.Any())); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Any_with_predicate_over_owned_collection(bool async) => AssertQuery( async, ss => ss.Set().Where(p => p.Orders.Any(i => i.Id == -30))); // TODO: proper owned entity containment, #34027 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains_over_owned_collection(bool async) => AssertQuery( async, ss => ss.Set().Where(p => p.Orders.Contains(new Order { Id = -30 })), ss => ss.Set().Where(p => p.Orders.Any(o => o.Id == -30))); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ElementAt_over_owned_collection(bool async) => AssertQuery( async, ss => ss.Set().Where(p => p.Orders.ElementAt(1).Id == -11), ss => ss.Set().Where(p => p.Orders.Count >= 2 && p.Orders.ElementAt(1).Id == -11)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ElementAtOrDefault_over_owned_collection(bool async) => AssertQuery( async, @@ -864,20 +864,20 @@ public virtual Task ElementAtOrDefault_over_owned_collection(bool async) ss => ss.Set().Where(p => p.Orders.Count >= 11 && p.Orders.ElementAtOrDefault(1).Id == -11), assertEmpty: true); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OrderBy_ElementAt_over_owned_collection(bool async) => AssertQuery( async, ss => ss.Set().Where(p => p.Orders.OrderBy(o => o.Id).ElementAt(1).Id == -10), ss => ss.Set().Where(p => p.Orders.Count >= 2 && p.Orders.OrderBy(o => o.Id).ElementAt(1).Id == -10)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Skip_Take_over_owned_collection(bool async) => AssertQuery( async, ss => ss.Set().Where(p => p.Orders.Skip(1).Take(1).Count() == 1)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task FirstOrDefault_over_owned_collection(bool async) => AssertQuery( async, @@ -885,13 +885,13 @@ public virtual Task FirstOrDefault_over_owned_collection(bool async) ss => ss.Set().Where(p => p.Orders.FirstOrDefault(o => o.Id > -20) != null && ((DateTime)p.Orders.FirstOrDefault(o => o.Id > -20)["OrderDate"]).Year == 2018)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Distinct_over_owned_collection(bool async) => AssertQuery( async, ss => ss.Set().Where(p => p.Orders.Distinct().Count() == 2)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_over_owned_collection(bool async) => AssertQuery( async, diff --git a/test/EFCore.Specification.Tests/Query/PrimitiveCollectionsQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/PrimitiveCollectionsQueryTestBase.cs index 6b8a4dda9e8..eaa725f0fa9 100644 --- a/test/EFCore.Specification.Tests/Query/PrimitiveCollectionsQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/PrimitiveCollectionsQueryTestBase.cs @@ -19,57 +19,57 @@ public abstract class PrimitiveCollectionsQueryTestBase(TFixture fixtu public virtual int? NumberOfValuesForHugeParameterCollectionTests { get; } = null; - [ConditionalFact] + [Fact] public virtual Task Inline_collection_of_ints_Contains() => AssertQuery(ss => ss.Set().Where(c => new[] { 10, 999 }.Contains(c.Int))); - [ConditionalFact] + [Fact] public virtual Task Inline_collection_of_nullable_ints_Contains() => AssertQuery(ss => ss.Set().Where(c => new int?[] { 10, 999 }.Contains(c.NullableInt))); - [ConditionalFact] + [Fact] public virtual Task Inline_collection_of_nullable_ints_Contains_null() => AssertQuery(ss => ss.Set().Where(c => new int?[] { null, 999 }.Contains(c.NullableInt))); - [ConditionalFact] + [Fact] public virtual Task Inline_collection_Count_with_zero_values() => AssertQuery( // ReSharper disable once UseArrayEmptyMethod ss => ss.Set().Where(c => new int[0].Count(i => i > c.Id) == 1), assertEmpty: true); - [ConditionalFact] + [Fact] public virtual Task Inline_collection_Count_with_one_value() => AssertQuery(ss => ss.Set().Where(c => new[] { 2 }.Count(i => i > c.Id) == 1)); - [ConditionalFact] + [Fact] public virtual Task Inline_collection_Count_with_two_values() => AssertQuery(ss => ss.Set().Where(c => new[] { 2, 999 }.Count(i => i > c.Id) == 1)); - [ConditionalFact] + [Fact] public virtual Task Inline_collection_Count_with_three_values() => AssertQuery(ss => ss.Set().Where(c => new[] { 2, 999, 1000 }.Count(i => i > c.Id) == 2)); - [ConditionalFact] + [Fact] public virtual Task Inline_collection_Contains_with_zero_values() => AssertQuery( // ReSharper disable once UseArrayEmptyMethod ss => ss.Set().Where(c => new int[0].Contains(c.Id)), assertEmpty: true); - [ConditionalFact] + [Fact] public virtual Task Inline_collection_Contains_with_one_value() => AssertQuery(ss => ss.Set().Where(c => new[] { 2 }.Contains(c.Id))); - [ConditionalFact] + [Fact] public virtual Task Inline_collection_Contains_with_two_values() => AssertQuery(ss => ss.Set().Where(c => new[] { 2, 999 }.Contains(c.Id))); - [ConditionalFact] + [Fact] public virtual Task Inline_collection_Contains_with_three_values() => AssertQuery(ss => ss.Set().Where(c => new[] { 2, 999, 1000 }.Contains(c.Id))); - [ConditionalFact] + [Fact] public virtual Task Inline_collection_Contains_with_all_parameters() { var (i, j) = (2, 999); @@ -77,7 +77,7 @@ public virtual Task Inline_collection_Contains_with_all_parameters() return AssertQuery(ss => ss.Set().Where(c => new[] { i, j }.Contains(c.Id))); } - [ConditionalFact] + [Fact] public virtual Task Inline_collection_Contains_with_constant_and_parameter() { var j = 999; @@ -85,7 +85,7 @@ public virtual Task Inline_collection_Contains_with_constant_and_parameter() return AssertQuery(ss => ss.Set().Where(c => new[] { 2, j }.Contains(c.Id))); } - [ConditionalFact] + [Fact] public virtual async Task Inline_collection_Contains_with_mixed_value_types() { // Note: see many nullability-related variations on this in NullSemanticsQueryTestBase @@ -95,7 +95,7 @@ public virtual async Task Inline_collection_Contains_with_mixed_value_types() await AssertQuery(ss => ss.Set().Where(c => new[] { 999, i, c.Id, c.Id + c.Int }.Contains(c.Int))); } - [ConditionalFact] + [Fact] public virtual async Task Inline_collection_List_Contains_with_mixed_value_types() { var i = 11; @@ -109,31 +109,31 @@ public virtual async Task Inline_collection_List_Contains_with_mixed_value_types }.Contains(c.Int))); } - [ConditionalFact] + [Fact] public virtual Task Inline_collection_Contains_as_Any_with_predicate() => AssertQuery(ss => ss.Set().Where(c => new[] { 2, 999 }.Any(i => i == c.Id))); - [ConditionalFact] + [Fact] public virtual Task Inline_collection_negated_Contains_as_All() => AssertQuery(ss => ss.Set().Where(c => new[] { 2, 999 }.All(i => i != c.Id))); - [ConditionalFact] + [Fact] public virtual async Task Inline_collection_Min_with_two_values() => await AssertQuery(ss => ss.Set().Where(c => new[] { 30, c.Int }.Min() == 30)); - [ConditionalFact] + [Fact] public virtual async Task Inline_collection_List_Min_with_two_values() => await AssertQuery(ss => ss.Set().Where(c => new List { 30, c.Int }.Min() == 30)); - [ConditionalFact] + [Fact] public virtual async Task Inline_collection_Max_with_two_values() => await AssertQuery(ss => ss.Set().Where(c => new[] { 30, c.Int }.Max() == 30)); - [ConditionalFact] + [Fact] public virtual async Task Inline_collection_List_Max_with_two_values() => await AssertQuery(ss => ss.Set().Where(c => new List { 30, c.Int }.Max() == 30)); - [ConditionalFact] + [Fact] public virtual async Task Inline_collection_Min_with_three_values() { var i = 25; @@ -141,7 +141,7 @@ public virtual async Task Inline_collection_Min_with_three_values() await AssertQuery(ss => ss.Set().Where(c => new[] { 30, c.Int, i }.Min() == 25)); } - [ConditionalFact] + [Fact] public virtual async Task Inline_collection_List_Min_with_three_values() { var i = 25; @@ -155,7 +155,7 @@ public virtual async Task Inline_collection_List_Min_with_three_values() == 25)); } - [ConditionalFact] + [Fact] public virtual async Task Inline_collection_Max_with_three_values() { var i = 35; @@ -163,7 +163,7 @@ public virtual async Task Inline_collection_Max_with_three_values() await AssertQuery(ss => ss.Set().Where(c => new[] { 30, c.Int, i }.Max() == 35)); } - [ConditionalFact] + [Fact] public virtual async Task Inline_collection_List_Max_with_three_values() { var i = 35; @@ -177,7 +177,7 @@ public virtual async Task Inline_collection_List_Max_with_three_values() == 35)); } - [ConditionalFact] + [Fact] public virtual async Task Inline_collection_of_nullable_value_type_Min() { int? i = 25; @@ -185,7 +185,7 @@ public virtual async Task Inline_collection_of_nullable_value_type_Min() await AssertQuery(ss => ss.Set().Where(c => new[] { 30, c.Int, i }.Min() == 25)); } - [ConditionalFact] + [Fact] public virtual async Task Inline_collection_of_nullable_value_type_Max() { int? i = 35; @@ -193,7 +193,7 @@ public virtual async Task Inline_collection_of_nullable_value_type_Max() await AssertQuery(ss => ss.Set().Where(c => new[] { 30, c.Int, i }.Max() == 35)); } - [ConditionalFact] + [Fact] public virtual async Task Inline_collection_of_nullable_value_type_with_null_Min() { int? i = null; @@ -201,7 +201,7 @@ public virtual async Task Inline_collection_of_nullable_value_type_with_null_Min await AssertQuery(ss => ss.Set().Where(c => new[] { 30, c.NullableInt, i }.Min() == 30)); } - [ConditionalFact] + [Fact] public virtual async Task Inline_collection_of_nullable_value_type_with_null_Max() { int? i = null; @@ -209,7 +209,7 @@ public virtual async Task Inline_collection_of_nullable_value_type_with_null_Max await AssertQuery(ss => ss.Set().Where(c => new[] { 30, c.NullableInt, i }.Max() == 30)); } - [ConditionalFact] + [Fact] public virtual Task Inline_collection_with_single_parameter_element_Contains() { var i = 2; @@ -219,7 +219,7 @@ public virtual Task Inline_collection_with_single_parameter_element_Contains() ss => ss.Set().Where(c => new[] { i }.Contains(c.Id))); } - [ConditionalFact] + [Fact] public virtual Task Inline_collection_with_single_parameter_element_Count() { var i = 2; @@ -229,13 +229,13 @@ public virtual Task Inline_collection_with_single_parameter_element_Count() ss => ss.Set().Where(c => new[] { i }.Count(i => i > c.Id) == 1)); } - [ConditionalFact] + [Fact] public virtual Task Inline_collection_Contains_with_EF_Parameter() => AssertQuery( ss => ss.Set().Where(c => EF.Parameter(new[] { 2, 999, 1000 }).Contains(c.Id)), ss => ss.Set().Where(c => new[] { 2, 999, 1000 }.Contains(c.Id))); - [ConditionalFact] + [Fact] public virtual Task Inline_collection_Contains_with_IEnumerable_EF_Parameter() { List data = ["10", "a", "aa",]; @@ -245,13 +245,13 @@ public virtual Task Inline_collection_Contains_with_IEnumerable_EF_Parameter() ss => ss.Set().Where(c => data.Select(x => x).Contains(c.NullableString))); } - [ConditionalFact] + [Fact] public virtual Task Inline_collection_Count_with_column_predicate_with_EF_Parameter() => AssertQuery( ss => ss.Set().Where(c => EF.Parameter(new[] { 2, 999, 1000 }).Count(i => i > c.Id) == 2), ss => ss.Set().Where(c => new[] { 2, 999, 1000 }.Count(i => i > c.Id) == 2)); - [ConditionalFact] + [Fact] public virtual async Task Inline_collection_in_query_filter() { var contextFactory = await InitializeNonSharedTest( @@ -270,7 +270,7 @@ public virtual async Task Inline_collection_in_query_filter() Assert.Equal(2, result.Id); } - [ConditionalFact] + [Fact] public virtual Task Parameter_collection_Count() { var ids = new[] { 2, 999 }; @@ -278,7 +278,7 @@ public virtual Task Parameter_collection_Count() return AssertQuery(ss => ss.Set().Where(c => ids.Count(i => i > c.Id) == 1)); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_of_ints_Contains_int() { var ints = new[] { 10, 999 }; @@ -287,7 +287,7 @@ public virtual async Task Parameter_collection_of_ints_Contains_int() await AssertQuery(ss => ss.Set().Where(c => !ints.Contains(c.Int))); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_HashSet_of_ints_Contains_int() { var ints = new HashSet { 10, 999 }; @@ -296,7 +296,7 @@ public virtual async Task Parameter_collection_HashSet_of_ints_Contains_int() await AssertQuery(ss => ss.Set().Where(c => !ints.Contains(c.Int))); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_FrozenSet_of_ints_Contains_int() { var ints = FrozenSet.Create(10, 999); @@ -305,7 +305,7 @@ public virtual async Task Parameter_collection_FrozenSet_of_ints_Contains_int() await AssertQuery(ss => ss.Set().Where(c => !ints.Contains(c.Int))); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_ImmutableArray_of_ints_Contains_int() { var ints = ImmutableArray.Create(10, 999); @@ -314,7 +314,7 @@ public virtual async Task Parameter_collection_ImmutableArray_of_ints_Contains_i await AssertQuery(ss => ss.Set().Where(c => !ints.Contains(c.Int))); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_IReadOnlySet_of_ints_Contains_int() { // IReadOnlySet has Contains defined directly on itself @@ -324,7 +324,7 @@ public virtual async Task Parameter_collection_IReadOnlySet_of_ints_Contains_int await AssertQuery(ss => ss.Set().Where(c => !ints.Contains(c.Int))); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_ReadOnlyCollectionWithContains_of_ints_Contains_int() { var ints = new ReadOnlyCollectionWithContains(10, 999); @@ -333,7 +333,7 @@ public virtual async Task Parameter_collection_ReadOnlyCollectionWithContains_of await AssertQuery(ss => ss.Set().Where(c => !ints.Contains(c.Int))); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_of_ints_Contains_nullable_int() { var ints = new[] { 10, 999 }; @@ -346,7 +346,7 @@ await AssertQuery( ss => ss.Set().Where(c => c.NullableInt == null || !ints.Contains(c.NullableInt!.Value))); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_of_nullable_ints_Contains_int() { var nullableInts = new int?[] { 10, 999 }; @@ -355,7 +355,7 @@ public virtual async Task Parameter_collection_of_nullable_ints_Contains_int() await AssertQuery(ss => ss.Set().Where(c => !nullableInts.Contains(c.Int))); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_of_nullable_ints_Contains_nullable_int() { var nullableInts = new int?[] { null, 999 }; @@ -364,7 +364,7 @@ public virtual async Task Parameter_collection_of_nullable_ints_Contains_nullabl await AssertQuery(ss => ss.Set().Where(c => !nullableInts.Contains(c.NullableInt))); } - [ConditionalFact] // #37605 + [Fact] // #37605 public virtual async Task Parameter_collection_of_nullable_ints_Contains_nullable_int_with_EF_Parameter() { var nullableInts = new int?[] { null, 999 }; @@ -374,7 +374,7 @@ await AssertQuery( ss => ss.Set().Where(c => nullableInts.Contains(c.NullableInt))); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_of_structs_Contains_struct() { var values = new List { new(22), new(33) }; @@ -386,7 +386,7 @@ public virtual async Task Parameter_collection_of_structs_Contains_struct() await AssertQuery(ss => ss.Set().Where(c => !values.Contains(c.WrappedId))); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_of_structs_Contains_nullable_struct() { var values = new List { new(22), new(33) }; @@ -404,7 +404,7 @@ await AssertQuery( .Where(c => c.NullableWrappedId == null || !values.Contains(c.NullableWrappedId!.Value))); } - [ConditionalFact] // Issue #35117 + [Fact] // Issue #35117 public virtual async Task Parameter_collection_of_structs_Contains_nullable_struct_with_nullable_comparer() { var values = new List { new(22), new(33) }; @@ -422,7 +422,7 @@ await AssertQuery( => c.NullableWrappedIdWithNullableComparer == null || !values.Contains(c.NullableWrappedIdWithNullableComparer!.Value))); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_of_nullable_structs_Contains_struct() { var values = new List { null, new WrappedId(22) }; @@ -434,7 +434,7 @@ public virtual async Task Parameter_collection_of_nullable_structs_Contains_stru await AssertQuery(ss => ss.Set().Where(c => !values.Contains(c.WrappedId))); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_of_nullable_structs_Contains_nullable_struct() { var values = new List { null, new WrappedId(22) }; @@ -446,7 +446,7 @@ public virtual async Task Parameter_collection_of_nullable_structs_Contains_null await AssertQuery(ss => ss.Set().Where(c => !values.Contains(c.NullableWrappedId))); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_of_nullable_structs_Contains_nullable_struct_with_nullable_comparer() { var values = new List { null, new WrappedId(22) }; @@ -458,7 +458,7 @@ public virtual async Task Parameter_collection_of_nullable_structs_Contains_null await AssertQuery(ss => ss.Set().Where(c => !values.Contains(c.NullableWrappedIdWithNullableComparer))); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_of_strings_Contains_string() { var strings = new[] { "10", "999" }; @@ -467,7 +467,7 @@ public virtual async Task Parameter_collection_of_strings_Contains_string() await AssertQuery(ss => ss.Set().Where(c => !strings.Contains(c.String))); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_of_strings_Contains_nullable_string() { string?[] strings = ["10", "999"]; @@ -476,7 +476,7 @@ public virtual async Task Parameter_collection_of_strings_Contains_nullable_stri await AssertQuery(ss => ss.Set().Where(c => !strings.Contains(c.NullableString))); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_of_nullable_strings_Contains_string() { var strings = new[] { "10", null }; @@ -485,7 +485,7 @@ public virtual async Task Parameter_collection_of_nullable_strings_Contains_stri await AssertQuery(ss => ss.Set().Where(c => !strings.Contains(c.String))); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_of_nullable_strings_Contains_nullable_string() { var strings = new[] { "999", null }; @@ -496,7 +496,7 @@ public virtual async Task Parameter_collection_of_nullable_strings_Contains_null // See more nullability-related tests in NullSemanticsQueryTestBase - [ConditionalFact] + [Fact] public virtual Task Parameter_collection_of_DateTimes_Contains() { var dateTimes = new[] @@ -507,7 +507,7 @@ public virtual Task Parameter_collection_of_DateTimes_Contains() return AssertQuery(ss => ss.Set().Where(c => dateTimes.Contains(c.DateTime))); } - [ConditionalFact] + [Fact] public virtual Task Parameter_collection_of_bools_Contains() { var bools = new[] { true }; @@ -515,7 +515,7 @@ public virtual Task Parameter_collection_of_bools_Contains() return AssertQuery(ss => ss.Set().Where(c => bools.Contains(c.Bool))); } - [ConditionalFact] + [Fact] public virtual Task Parameter_collection_of_enums_Contains() { var enums = new[] { MyEnum.Value1, MyEnum.Value4 }; @@ -523,7 +523,7 @@ public virtual Task Parameter_collection_of_enums_Contains() return AssertQuery(ss => ss.Set().Where(c => enums.Contains(c.Enum))); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_null_Contains() { int[]? ints = null; @@ -534,7 +534,7 @@ await AssertQuery( assertEmpty: true); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_empty_Contains() { int[] ints = []; @@ -544,7 +544,7 @@ await AssertQuery( assertEmpty: true); } - [ConditionalFact] // #37216 + [Fact] // #37216 public virtual async Task Parameter_collection_empty_Join() { int[] ints = []; @@ -554,7 +554,7 @@ await AssertQuery( assertEmpty: true); } - [ConditionalFact] + [Fact] public virtual Task Parameter_collection_Contains_with_EF_Constant() { var ids = new[] { 2, 999, 1000 }; @@ -564,7 +564,7 @@ public virtual Task Parameter_collection_Contains_with_EF_Constant() ss => ss.Set().Where(c => ids.Contains(c.Id))); } - [ConditionalFact] + [Fact] public virtual Task Parameter_collection_Where_with_EF_Constant_Where_Any() { var ids = new[] { 2, 999, 1000 }; @@ -574,7 +574,7 @@ public virtual Task Parameter_collection_Where_with_EF_Constant_Where_Any() ss => ss.Set().Where(c => ids.Where(x => x > 0).Any())); } - [ConditionalFact] + [Fact] public virtual Task Parameter_collection_Count_with_column_predicate_with_EF_Constant() { var ids = new[] { 2, 999, 1000 }; @@ -584,7 +584,7 @@ public virtual Task Parameter_collection_Count_with_column_predicate_with_EF_Con ss => ss.Set().Where(c => ids.Count(i => i > c.Id) == 2)); } - [ConditionalFact] + [Fact] public virtual Task Parameter_collection_Count_with_huge_number_of_values() { if (NumberOfValuesForHugeParameterCollectionTests is null) @@ -598,7 +598,7 @@ public virtual Task Parameter_collection_Count_with_huge_number_of_values() return AssertQuery(ss => ss.Set().Where(c => ids.Count(i => i > c.Id) > 0)); } - [ConditionalFact] + [Fact] public virtual Task Parameter_collection_Count_with_huge_number_of_values_over_5_operations() { if (NumberOfValuesForHugeParameterCollectionTests is null) @@ -623,7 +623,7 @@ public virtual Task Parameter_collection_Count_with_huge_number_of_values_over_5 .Where(c => extra5.Count(i => i > c.Id) > 0)); } - [ConditionalFact] + [Fact] public virtual Task Parameter_collection_Count_with_huge_number_of_values_over_5_operations_same_parameter() { if (NumberOfValuesForHugeParameterCollectionTests is null) @@ -644,7 +644,7 @@ public virtual Task Parameter_collection_Count_with_huge_number_of_values_over_5 .Where(c => extra.Count(i => i > c.Id) > 0)); } - [ConditionalFact] + [Fact] public virtual Task Parameter_collection_Count_with_huge_number_of_values_over_2_operations_same_parameter_different_type_mapping() { if (NumberOfValuesForHugeParameterCollectionTests is null) @@ -664,7 +664,7 @@ public virtual Task Parameter_collection_Count_with_huge_number_of_values_over_2 .Where(c => extra.Count(i => i > c.Int) > 0)); } - [ConditionalFact] + [Fact] public virtual Task Parameter_collection_Count_with_huge_number_of_values_over_5_operations_forced_constants() { if (NumberOfValuesForHugeParameterCollectionTests is null) @@ -697,7 +697,7 @@ public virtual Task Parameter_collection_Count_with_huge_number_of_values_over_5 .Where(c => extra5.Count(i => i > c.Id) > 0)); } - [ConditionalFact] + [Fact] public virtual Task Parameter_collection_Count_with_huge_number_of_values_over_5_operations_mixed_parameters_constants() { if (NumberOfValuesForHugeParameterCollectionTests is null) @@ -746,7 +746,7 @@ public virtual Task Parameter_collection_Count_with_huge_number_of_values_over_5 .Where(c => extra5.Count(i => i > c.Id) > 0)); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_of_ints_Contains_int_with_huge_number_of_values() { if (NumberOfValuesForHugeParameterCollectionTests is null) @@ -761,7 +761,7 @@ public virtual async Task Parameter_collection_of_ints_Contains_int_with_huge_nu await AssertQuery(ss => ss.Set().Where(c => !ints.Contains(c.Int))); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_of_ints_Contains_int_with_huge_number_of_values_over_5_operations() { if (NumberOfValuesForHugeParameterCollectionTests is null) @@ -792,7 +792,7 @@ await AssertQuery(ss => ss.Set() .Where(c => !extra5.Contains(c.Int))); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_of_ints_Contains_int_with_huge_number_of_values_over_5_operations_same_parameter() { if (NumberOfValuesForHugeParameterCollectionTests is null) @@ -819,7 +819,7 @@ await AssertQuery(ss => ss.Set() .Where(c => !extra.Contains(c.Int))); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_of_ints_Contains_int_with_huge_number_of_values_over_2_operations_same_parameter_different_type_mapping() { if (NumberOfValuesForHugeParameterCollectionTests is null) @@ -843,7 +843,7 @@ await AssertQuery(ss => ss.Set() .Where(c => !extra.Contains(c.Id))); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_of_ints_Contains_int_with_huge_number_of_values_over_5_operations_forced_constants() { if (NumberOfValuesForHugeParameterCollectionTests is null) @@ -890,7 +890,7 @@ await AssertQuery( .Where(c => !extra5.Contains(c.Int))); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_of_ints_Contains_int_with_huge_number_of_values_over_5_operations_mixed_parameters_constants() { if (NumberOfValuesForHugeParameterCollectionTests is null) @@ -963,58 +963,58 @@ await AssertQuery( .Where(c => !extra5.Contains(c.Int))); } - [ConditionalFact] + [Fact] public virtual async Task Static_readonly_collection_List_of_ints_Contains_int() { await AssertQuery(ss => ss.Set().Where(c => StaticReadonlyList.Contains(c.Int))); await AssertQuery(ss => ss.Set().Where(c => !StaticReadonlyList.Contains(c.Int))); } - [ConditionalFact] + [Fact] public virtual async Task Static_readonly_collection_FrozenSet_of_ints_Contains_int() { await AssertQuery(ss => ss.Set().Where(c => StaticReadonlyFrozenSet.Contains(c.Int))); await AssertQuery(ss => ss.Set().Where(c => !StaticReadonlyFrozenSet.Contains(c.Int))); } - [ConditionalFact] + [Fact] public virtual async Task Static_readonly_collection_ImmutableArray_of_ints_Contains_int() { await AssertQuery(ss => ss.Set().Where(c => StaticReadonlyImmutableArray.Contains(c.Int))); await AssertQuery(ss => ss.Set().Where(c => !StaticReadonlyImmutableArray.Contains(c.Int))); } - [ConditionalFact] + [Fact] public virtual Task Column_collection_of_ints_Contains() => AssertQuery(ss => ss.Set().Where(c => c.Ints.Contains(10))); - [ConditionalFact] + [Fact] public virtual Task Column_collection_of_nullable_ints_Contains() => AssertQuery(ss => ss.Set().Where(c => c.NullableInts.Contains(10))); - [ConditionalFact] + [Fact] public virtual Task Column_collection_of_nullable_ints_Contains_null() => AssertQuery(ss => ss.Set().Where(c => c.NullableInts.Contains(null))); - [ConditionalFact] + [Fact] public virtual Task Column_collection_of_strings_Contains() => AssertQuery(ss => ss.Set().Where(c => c.Strings.Contains("10"))); - [ConditionalFact] + [Fact] public virtual Task Column_collection_of_strings_Contains_null() => AssertQuery( ss => ss.Set().Where(c => ((string?[])c.Strings).Contains(null)), assertEmpty: true); - [ConditionalFact] + [Fact] public virtual Task Column_collection_of_nullable_strings_contains_null() => AssertQuery(ss => ss.Set().Where(c => c.NullableStrings.Contains(null))); - [ConditionalFact] + [Fact] public virtual Task Column_collection_of_bools_Contains() => AssertQuery(ss => ss.Set().Where(c => c.Bools.Contains(true))); - [ConditionalFact] + [Fact] public virtual async Task Column_with_custom_converter() { var contextFactory = await InitializeNonSharedTest( @@ -1042,7 +1042,7 @@ public virtual async Task Column_with_custom_converter() await AssertTranslationFailed(() => context.Set().SingleAsync(m => m.Ints!.Length == 2)); } - [ConditionalFact( + [Fact( Skip = "Currently fails because we don't use the element mapping when serializing to JSON, but just do JsonSerializer.Serialize, #30677")] public virtual async Task Parameter_with_inferred_value_converter() @@ -1069,7 +1069,7 @@ public virtual async Task Parameter_with_inferred_value_converter() Assert.Equal(1, result.Id); } - [ConditionalFact] + [Fact] public virtual async Task Constant_with_inferred_value_converter() { var contextFactory = await InitializeNonSharedTest( @@ -1094,7 +1094,7 @@ public virtual async Task Constant_with_inferred_value_converter() Assert.Equal(1, result.Id); } - [ConditionalFact] + [Fact] public virtual async Task Multidimensional_array_is_not_supported() { var exception = await Assert.ThrowsAsync(() => InitializeNonSharedTest( @@ -1104,7 +1104,7 @@ public virtual async Task Multidimensional_array_is_not_supported() // C# 14 first-class spans caused MemoryExtensions.Contains to get resolved instead of Enumerable.Contains. // The following tests that the various overloads are all supported. - [ConditionalFact] + [Fact] [MemberData(nameof(IsAsyncData))] public virtual Task Contains_on_Enumerable() => AssertQuery( @@ -1112,56 +1112,56 @@ public virtual Task Contains_on_Enumerable() // C# 14 first-class spans caused MemoryExtensions.Contains to get resolved instead of Enumerable.Contains. // The following tests that the various overloads are all supported. - [ConditionalFact] + [Fact] [MemberData(nameof(IsAsyncData))] public virtual Task Contains_on_MemoryExtensions() => AssertQuery( ss => ss.Set().Where(c => MemoryExtensions.Contains(new[] { 10, 999 }, c.Int))); - [ConditionalFact] + [Fact] [MemberData(nameof(IsAsyncData))] public virtual Task Contains_with_MemoryExtensions_with_null_comparer() => AssertQuery( ss => ss.Set().Where(c => MemoryExtensions.Contains(new[] { 10, 999 }, c.Int, comparer: null))); - [ConditionalFact] + [Fact] public virtual Task Column_collection_Count_method() => AssertQuery( // ReSharper disable once UseCollectionCountProperty ss => ss.Set().Where(c => c.Ints.Count() == 2)); - [ConditionalFact] + [Fact] public virtual Task Column_collection_Length() => AssertQuery(ss => ss.Set().Where(c => c.Ints.Length == 2)); - [ConditionalFact] + [Fact] public virtual Task Column_collection_Count_with_predicate() => AssertQuery(ss => ss.Set().Where(c => c.Ints.Count(i => i > 1) == 2)); - [ConditionalFact] // #33932 + [Fact] // #33932 public virtual Task Column_collection_Where_Count() => AssertQuery(ss => ss.Set().Where(c => c.Ints.Where(i => i > 1).Count() == 2)); - [ConditionalFact] + [Fact] public virtual Task Column_collection_index_int() => AssertQuery( ss => ss.Set().Where(c => c.Ints[1] == 10), ss => ss.Set().Where(c => (c.Ints.Length >= 2 ? c.Ints[1] : -1) == 10)); - [ConditionalFact] + [Fact] public virtual Task Column_collection_index_string() => AssertQuery( ss => ss.Set().Where(c => c.Strings[1] == "10"), ss => ss.Set().Where(c => (c.Strings.Length >= 2 ? c.Strings[1] : "-1") == "10")); - [ConditionalFact] + [Fact] public virtual Task Column_collection_index_datetime() => AssertQuery( ss => ss.Set().Where(c => c.DateTimes[1] == new DateTime(2020, 1, 10, 12, 30, 0, DateTimeKind.Utc)), ss => ss.Set().Where(c => (c.DateTimes.Length >= 2 ? c.DateTimes[1] : default) == new DateTime(2020, 1, 10, 12, 30, 0, DateTimeKind.Utc))); - [ConditionalFact] + [Fact] public virtual Task Column_collection_index_beyond_end() => AssertQuery( ss => ss.Set().Where(c => c.Ints[999] == 10), @@ -1169,7 +1169,7 @@ public virtual Task Column_collection_index_beyond_end() assertEmpty: true); // TODO: This test is incorrect, see #33784 - [ConditionalFact] + [Fact] public virtual Task Nullable_reference_column_collection_index_equals_nullable_column() => AssertQuery( ss => ss.Set() @@ -1177,7 +1177,7 @@ public virtual Task Nullable_reference_column_collection_index_equals_nullable_c ss => ss.Set() .Where(c => (c.NullableStrings.Length > 2 ? c.NullableStrings[2] : default) == c.NullableString)); - [ConditionalFact] + [Fact] public virtual Task Non_nullable_reference_column_collection_index_equals_nullable_column() => AssertQuery( ss => ss.Set() @@ -1185,13 +1185,13 @@ public virtual Task Non_nullable_reference_column_collection_index_equals_nullab ss => ss.Set() .Where(c => c.Strings.Any() && (c.Strings.Length > 1 ? c.Strings[1] : default) == c.NullableString)); - [ConditionalFact] + [Fact] public virtual Task Inline_collection_index_Column() => AssertQuery( ss => ss.Set().Where(c => new[] { 1, 2, 3 }[c.Int] == 1), ss => ss.Set().Where(c => (c.Int <= 2 ? new[] { 1, 2, 3 }[c.Int] : -1) == 1)); - [ConditionalFact] + [Fact] public virtual Task Inline_collection_index_Column_with_EF_Constant() { int[] ints = [1, 2, 3]; @@ -1201,13 +1201,13 @@ public virtual Task Inline_collection_index_Column_with_EF_Constant() ss => ss.Set().Where(c => (c.Int <= 2 ? ints[c.Int] : -1) == 1)); } - [ConditionalFact] + [Fact] public virtual Task Inline_collection_value_index_Column() => AssertQuery( ss => ss.Set().Where(c => new[] { 1, c.Int, 3 }[c.Int] == 1), ss => ss.Set().Where(c => (c.Int <= 2 ? new[] { 1, c.Int, 3 }[c.Int] : -1) == 1)); - [ConditionalFact] + [Fact] public virtual Task Inline_collection_List_value_index_Column() => AssertQuery( ss => ss.Set().Where(c => new List @@ -1229,7 +1229,7 @@ public virtual Task Inline_collection_List_value_index_Column() // The JsonScalarExpression (ints[c.Int]) should get inferred from the column on the other side (c.Int), and that should propagate to // ints - [ConditionalFact] + [Fact] public virtual Task Parameter_collection_index_Column_equal_Column() { var ints = new[] { 0, 2, 3 }; @@ -1241,7 +1241,7 @@ public virtual Task Parameter_collection_index_Column_equal_Column() // Since the JsonScalarExpression (ints[c.Int]) is being compared to a constant, there's nothing to infer the type mapping from. // ints should get the default type mapping for based on its CLR type. - [ConditionalFact] + [Fact] public virtual Task Parameter_collection_index_Column_equal_constant() { var ints = new[] { 1, 2, 3 }; @@ -1251,63 +1251,63 @@ public virtual Task Parameter_collection_index_Column_equal_constant() ss => ss.Set().Where(c => (c.Int <= 2 ? ints[c.Int] : -1) == 1)); } - [ConditionalFact] + [Fact] public virtual Task Column_collection_ElementAt() => AssertQuery( ss => ss.Set().Where(c => c.Ints.ElementAt(1) == 10), ss => ss.Set().Where(c => (c.Ints.Length >= 2 ? c.Ints.ElementAt(1) : -1) == 10)); - [ConditionalFact] + [Fact] public virtual Task Column_collection_First() => AssertQuery( ss => ss.Set().Where(c => c.Ints.First() == 1), ss => ss.Set().Where(c => (c.Ints.Length >= 1 ? c.Ints.First() : -1) == 1)); - [ConditionalFact] + [Fact] public virtual Task Column_collection_FirstOrDefault() => AssertQuery(ss => ss.Set().Where(c => c.Ints.FirstOrDefault() == 1)); - [ConditionalFact] + [Fact] public virtual Task Column_collection_Single() => AssertQuery( ss => ss.Set().Where(c => c.Ints.Single() == 1), ss => ss.Set().Where(c => (c.Ints.Length >= 1 ? c.Ints.First() : -1) == 1)); - [ConditionalFact] + [Fact] public virtual Task Column_collection_SingleOrDefault() => AssertQuery( ss => ss.Set().Where(c => c.Ints.SingleOrDefault() == 1), ss => ss.Set().Where(c => (c.Ints.Length >= 1 ? c.Ints[0] : -1) == 1)); - [ConditionalFact] + [Fact] public virtual Task Column_collection_Skip() => AssertQuery(ss => ss.Set().Where(c => c.Ints.Skip(1).Count() == 2)); - [ConditionalFact] + [Fact] public virtual Task Column_collection_Take() => AssertQuery(ss => ss.Set().Where(c => c.Ints.Take(2).Contains(11))); - [ConditionalFact] + [Fact] public virtual Task Column_collection_Skip_Take() => AssertQuery(ss => ss.Set().Where(c => c.Ints.Skip(1).Take(2).Contains(11))); - [ConditionalFact] + [Fact] public virtual Task Column_collection_Where_Skip() => AssertQuery(ss => ss.Set().Where(c => c.Ints.Where(i => i > 1).Skip(1).Count() == 3)); - [ConditionalFact] + [Fact] public virtual Task Column_collection_Where_Take() => AssertQuery(ss => ss.Set().Where(c => c.Ints.Where(i => i > 1).Take(2).Count() == 2)); - [ConditionalFact] + [Fact] public virtual Task Column_collection_Where_Skip_Take() => AssertQuery(ss => ss.Set().Where(c => c.Ints.Where(i => i > 1).Skip(1).Take(2).Count() == 1)); - [ConditionalFact] + [Fact] public virtual Task Column_collection_Contains_over_subquery() => AssertQuery(ss => ss.Set().Where(c => c.Ints.Where(i => i > 1).Contains(11))); - [ConditionalFact] + [Fact] public virtual Task Column_collection_OrderByDescending_ElementAt() => AssertQuery( ss => ss.Set() @@ -1315,7 +1315,7 @@ public virtual Task Column_collection_OrderByDescending_ElementAt() ss => ss.Set() .Where(c => c.Ints.Length > 0 && c.Ints.OrderByDescending(i => i).ElementAt(0) == 111)); - [ConditionalFact] + [Fact] public virtual Task Column_collection_Where_ElementAt() => AssertQuery( ss => ss.Set() @@ -1323,7 +1323,7 @@ public virtual Task Column_collection_Where_ElementAt() ss => ss.Set() .Where(c => c.Ints.Where(i => i > 1).FirstOrDefault(0) == 11)); - [ConditionalFact] + [Fact] public virtual Task Column_collection_Any() => AssertQuery(ss => ss.Set().Where(c => c.Ints.Any())); @@ -1332,31 +1332,31 @@ public virtual Task Column_collection_Any() // ordering has been added by the provider as part of the collection translation. // Consider overriding RelationalQueryableMethodTranslatingExpressionVisitor.IsNaturallyOrdered() to identify such naturally-ordered // collections, exempting them from the warning. - [ConditionalFact] + [Fact] public virtual Task Column_collection_Distinct() => AssertQuery(ss => ss.Set().Where(c => c.Ints.Distinct().Count() == 3)); - [ConditionalFact] // #32505 + [Fact] // #32505 public virtual Task Column_collection_SelectMany() => AssertQuery(ss => ss.Set().SelectMany(c => c.Ints)); - [ConditionalFact] + [Fact] public virtual Task Column_collection_SelectMany_with_filter() => AssertQuery(ss => ss.Set().SelectMany(c => c.Ints.Where(i => i > 1))); - [ConditionalFact] + [Fact] public virtual Task Column_collection_SelectMany_with_Select_to_anonymous_type() => AssertQuery(ss => ss.Set().SelectMany(c => c.Ints.Select(i => new { Original = i, Incremented = i + 1 }))); - [ConditionalFact] + [Fact] public virtual Task Column_collection_projection_from_top_level() => AssertQuery( ss => ss.Set().OrderBy(c => c.Id).Select(c => c.Ints), elementAsserter: (a, b) => Assert.Equivalent(a, b), assertOrder: true); - [ConditionalFact] + [Fact] public virtual Task Column_collection_Join_parameter_collection() { var ints = new[] { 11, 111 }; @@ -1365,12 +1365,12 @@ public virtual Task Column_collection_Join_parameter_collection() .Where(c => c.Ints.Join(ints, i => i, j => j, (i, j) => new { I = i, J = j }).Count() == 2)); } - [ConditionalFact] + [Fact] public virtual Task Inline_collection_Join_ordered_column_collection() => AssertQuery(ss => ss.Set() .Where(c => new[] { 11, 111 }.Join(c.Ints, i => i, j => j, (i, j) => new { I = i, J = j }).Count() == 2)); - [ConditionalFact] + [Fact] public virtual Task Parameter_collection_Concat_column_collection() { int[] ints = [11, 111]; @@ -1378,7 +1378,7 @@ public virtual Task Parameter_collection_Concat_column_collection() return AssertQuery(ss => ss.Set().Where(c => ((IEnumerable)ints).Concat(c.Ints).Count() == 2)); } - [ConditionalFact] // #33582 + [Fact] // #33582 public virtual Task Parameter_collection_with_type_inference_for_JsonScalarExpression() { string[] values = ["one", "two"]; @@ -1386,7 +1386,7 @@ public virtual Task Parameter_collection_with_type_inference_for_JsonScalarExpre return AssertQuery(ss => ss.Set().Select(c => c.Id != 0 ? values[c.Int % 2] : "foo")); } - [ConditionalFact] + [Fact] public virtual Task Column_collection_Union_parameter_collection() { var ints = new[] { 11, 111 }; @@ -1394,21 +1394,21 @@ public virtual Task Column_collection_Union_parameter_collection() return AssertQuery(ss => ss.Set().Where(c => c.Ints.Union(ints).Count() == 2)); } - [ConditionalFact] + [Fact] public virtual Task Column_collection_Intersect_inline_collection() => AssertQuery(ss => ss.Set().Where(c => c.Ints.Intersect(new[] { 11, 111 }).Count() == 2)); - [ConditionalFact] + [Fact] public virtual Task Inline_collection_Except_column_collection() // Note that in relational, since the VALUES is on the left side of the set operation, it must assign column names, otherwise the // column coming out of the set operation has undetermined naming. => AssertQuery(ss => ss.Set().Where(c => new[] { 11, 111 }.Except(c.Ints).Count(i => i % 2 == 1) == 2)); - [ConditionalFact] + [Fact] public virtual Task Column_collection_Where_Union() => AssertQuery(ss => ss.Set().Where(c => c.Ints.Where(i => i > 100).Union(new[] { 50 }).Count() == 2)); - [ConditionalFact] + [Fact] public virtual Task Column_collection_equality_parameter_collection() { var ints = new[] { 1, 10 }; @@ -1418,7 +1418,7 @@ public virtual Task Column_collection_equality_parameter_collection() ss => ss.Set().Where(c => c.Ints.SequenceEqual(ints))); } - [ConditionalFact] + [Fact] public virtual async Task Column_collection_Concat_parameter_collection_equality_inline_collection() { var ints = new[] { 1, 10 }; @@ -1428,13 +1428,13 @@ await AssertQuery( ss => ss.Set().Where(c => c.Ints.Concat(ints).SequenceEqual(new[] { 1, 11, 111, 1, 10 }))); } - [ConditionalFact] + [Fact] public virtual Task Column_collection_equality_inline_collection() => AssertQuery( ss => ss.Set().Where(c => c.Ints == new[] { 1, 10 }), ss => ss.Set().Where(c => c.Ints.SequenceEqual(new[] { 1, 10 }))); - [ConditionalFact] + [Fact] public virtual async Task Column_collection_equality_inline_collection_with_parameters() { var (i, j) = (1, 10); @@ -1444,13 +1444,13 @@ await AssertQuery( ss => ss.Set().Where(c => c.Ints.SequenceEqual(new[] { i, j }))); } - [ConditionalFact] + [Fact] public virtual Task Column_collection_Where_equality_inline_collection() => AssertQuery( ss => ss.Set().Where(c => c.Ints.Where(i => i != 11) == new[] { 1, 111 }), ss => ss.Set().Where(c => c.Ints.Where(i => i != 11).SequenceEqual(new[] { 1, 111 }))); - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_in_subquery_Count_as_compiled_query() { // The Skip causes a pushdown into a subquery before the Union, and so the projection on the left side of the union points to the @@ -1467,7 +1467,7 @@ public virtual async Task Parameter_collection_in_subquery_Count_as_compiled_que var results = compiledQuery(context, ints); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_in_subquery_Union_column_collection_as_compiled_query() { // The Skip causes a pushdown into a subquery before the Union, and so the projection on the left side of the union points to the @@ -1484,7 +1484,7 @@ public virtual async Task Parameter_collection_in_subquery_Union_column_collecti var results = compiledQuery(context, ints).ToList(); } - [ConditionalFact] + [Fact] public virtual Task Parameter_collection_in_subquery_Union_column_collection() { var ints = new[] { 10, 111 }; @@ -1492,7 +1492,7 @@ public virtual Task Parameter_collection_in_subquery_Union_column_collection() return AssertQuery(ss => ss.Set().Where(p => ints.Skip(1).Union(p.Ints).Count() == 3)); } - [ConditionalFact] + [Fact] public virtual Task Parameter_collection_in_subquery_Union_column_collection_nested() { var ints = new[] { 10, 111 }; @@ -1501,7 +1501,7 @@ public virtual Task Parameter_collection_in_subquery_Union_column_collection_nes => ints.Skip(1).Union(p.Ints.OrderBy(x => x).Skip(1).Distinct().OrderByDescending(x => x).Take(20)).Count() == 3)); } - [ConditionalFact] + [Fact] public virtual void Parameter_collection_in_subquery_and_Convert_as_compiled_query() { var query = EF.CompileQuery((PrimitiveCollectionsContext context, object[] parameters) @@ -1512,7 +1512,7 @@ public virtual void Parameter_collection_in_subquery_and_Convert_as_compiled_que _ = query(context, ["foo"]).ToList(); } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_in_subquery_Union_another_parameter_collection_as_compiled_query() { var compiledQuery = EF.CompileQuery((PrimitiveCollectionsContext context, int[] ints1, int[] ints2) @@ -1525,7 +1525,7 @@ public virtual async Task Parameter_collection_in_subquery_Union_another_paramet _ = compiledQuery(context, ints1, ints2).ToList(); } - [ConditionalFact] // #37370 + [Fact] // #37370 public virtual async Task Compiled_query_with_uncorrelated_parameter_collection_expression() { var func = EF.CompileAsyncQuery( @@ -1535,7 +1535,7 @@ public virtual async Task Compiled_query_with_uncorrelated_parameter_collection_ _ = await func(context, []).ToListAsync(); } - [ConditionalFact] + [Fact] public virtual Task Column_collection_in_subquery_Union_parameter_collection() { var ints = new[] { 10, 111 }; @@ -1545,69 +1545,69 @@ public virtual Task Column_collection_in_subquery_Union_parameter_collection() return AssertQuery(ss => ss.Set().Where(c => c.Ints.Skip(1).Union(ints).Count() == 3)); } - [ConditionalFact] + [Fact] public virtual Task Project_collection_of_ints_simple() => AssertQuery( ss => ss.Set().OrderBy(x => x.Id).Select(x => x.Ints), assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a, ordered: true)); - [ConditionalFact] + [Fact] public virtual Task Project_collection_of_ints_ordered() => AssertQuery( ss => ss.Set().OrderBy(x => x.Id).Select(x => x.Ints.OrderByDescending(xx => xx).ToList()), assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a, ordered: true)); - [ConditionalFact] + [Fact] public virtual Task Project_collection_of_datetimes_filtered() => AssertQuery( ss => ss.Set().OrderBy(x => x.Id).Select(x => x.DateTimes.Where(xx => xx.Day != 1).ToList()), assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a, elementSorter: ee => ee)); - [ConditionalFact] + [Fact] public virtual Task Project_collection_of_nullable_ints_with_paging() => AssertQuery( ss => ss.Set().OrderBy(x => x.Id).Select(x => x.NullableInts.Take(20).ToList()), assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a, elementSorter: ee => ee)); - [ConditionalFact] + [Fact] public virtual Task Project_collection_of_nullable_ints_with_paging2() => AssertQuery( ss => ss.Set().OrderBy(x => x.Id).Select(x => x.NullableInts.OrderBy(x => x).Skip(1).ToList()), assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a, elementSorter: ee => ee)); - [ConditionalFact] + [Fact] public virtual Task Project_collection_of_nullable_ints_with_paging3() => AssertQuery( ss => ss.Set().OrderBy(x => x.Id).Select(x => x.NullableInts.Skip(2).ToList()), assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a, elementSorter: ee => ee)); - [ConditionalFact] + [Fact] public virtual Task Project_collection_of_ints_with_distinct() => AssertQuery( ss => ss.Set().OrderBy(x => x.Id).Select(x => x.Ints.Distinct().ToList()), assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a, elementSorter: ee => ee)); - [ConditionalFact(Skip = "issue #31277")] + [Fact(Skip = "issue #31277")] public virtual Task Project_collection_of_nullable_ints_with_distinct() => AssertQuery( ss => ss.Set().OrderBy(x => x.Id).Select(x => x.NullableInts.Distinct().ToList()), assertOrder: true, elementAsserter: (e, a) => AssertCollection(e, a, elementSorter: ee => ee)); - [ConditionalFact] + [Fact] public virtual Task Project_collection_of_ints_with_ToList_and_FirstOrDefault() => AssertFirstOrDefault( ss => ss.Set().OrderBy(x => x.Id).Select(x => x.Ints.ToList()), asserter: (e, a) => AssertCollection(e, a, elementSorter: ee => ee)); - [ConditionalFact] + [Fact] public virtual Task Project_empty_collection_of_nullables_and_collection_only_containing_nulls() => AssertQuery( ss => ss.Set().OrderBy(x => x.Id).Select(x => new @@ -1621,7 +1621,7 @@ public virtual Task Project_empty_collection_of_nullables_and_collection_only_co AssertCollection(e.OnlyNull, a.OnlyNull, ordered: true); }); - [ConditionalFact] + [Fact] public virtual Task Project_multiple_collections() => AssertQuery( ss => ss.Set().OrderBy(x => x.Id).Select(x => new @@ -1640,7 +1640,7 @@ public virtual Task Project_multiple_collections() }, assertOrder: true); - [ConditionalFact] + [Fact] public virtual Task Project_primitive_collections_element() => AssertQuery( ss => ss.Set().Where(x => x.Id < 4).OrderBy(x => x.Id).Select(x @@ -1658,14 +1658,14 @@ public virtual Task Project_primitive_collections_element() }, assertOrder: true); - [ConditionalFact] + [Fact] public virtual Task Project_inline_collection() => AssertQuery( ss => ss.Set().Select(x => new[] { x.String, "foo" }), elementAsserter: (e, a) => AssertCollection(e, a, ordered: true), assertOrder: true); - [ConditionalFact] + [Fact] public virtual Task Project_inline_collection_with_Union() => AssertQuery( ss => ss.Set() @@ -1683,7 +1683,7 @@ public virtual Task Project_inline_collection_with_Union() }, assertOrder: true); - [ConditionalFact] + [Fact] public virtual Task Project_inline_collection_with_Concat() => AssertQuery( ss => ss.Set() @@ -1701,7 +1701,7 @@ public virtual Task Project_inline_collection_with_Concat() }, assertOrder: true); - [ConditionalFact] // #32208, #32215 + [Fact] // #32208, #32215 public virtual Task Nested_contains_with_Lists_and_no_inferred_type_mapping() { var ints = new List @@ -1722,7 +1722,7 @@ public virtual Task Nested_contains_with_Lists_and_no_inferred_type_mapping() return AssertQuery(ss => ss.Set().Where(e => strings.Contains(ints.Contains(e.Int) ? "one" : "two"))); } - [ConditionalFact] // #32208, #32215 + [Fact] // #32208, #32215 public virtual Task Nested_contains_with_arrays_and_no_inferred_type_mapping() { var ints = new[] { 1, 2, 3 }; @@ -1733,7 +1733,7 @@ public virtual Task Nested_contains_with_arrays_and_no_inferred_type_mapping() return AssertQuery(ss => ss.Set().Where(e => strings.Contains(ints.Contains(e.Int) ? "one" : "two"))); } - [ConditionalFact] + [Fact] public virtual async Task Project_collection_from_entity_type_with_owned() { var contextFactory = await InitializeNonSharedTest( @@ -1767,7 +1767,7 @@ public virtual async Task Project_collection_from_entity_type_with_owned() Assert.Contains(results, r => r?.SequenceEqual([3, 4]) ?? false); } - [ConditionalFact] // #37478 + [Fact] // #37478 public virtual async Task Subquery_over_primitive_collection_on_inheritance_derived_type() { var contextFactory = await InitializeNonSharedTest( @@ -1784,7 +1784,7 @@ public virtual async Task Subquery_over_primitive_collection_on_inheritance_deri .ToListAsync(); } - [ConditionalFact] + [Fact] public virtual Task Values_of_enum_casted_to_underlying_value() => AssertQuery(ss => ss.Set().Where(x => Enum.GetValues().Cast().Count(y => y == x.Int) > 0)); diff --git a/test/EFCore.Specification.Tests/Query/QueryFilterFuncletizationTestBase.cs b/test/EFCore.Specification.Tests/Query/QueryFilterFuncletizationTestBase.cs index 2b20ff5c23b..a3d2ab030a6 100644 --- a/test/EFCore.Specification.Tests/Query/QueryFilterFuncletizationTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/QueryFilterFuncletizationTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // ReSharper disable AccessToDisposedClosure @@ -15,7 +15,7 @@ public abstract class QueryFilterFuncletizationTestBase(TFixture fixtu protected QueryFilterFuncletizationContext CreateContext() => Fixture.CreateContext(); - [ConditionalFact] + [Fact] public virtual void DbContext_property_parameter_does_not_clash_with_closure_parameter_name() { using var context = CreateContext(); @@ -23,7 +23,7 @@ public virtual void DbContext_property_parameter_does_not_clash_with_closure_par Assert.Single(context.Set().Where(e => e.IsEnabled == Field).ToList()); } - [ConditionalFact] + [Fact] public virtual void DbContext_field_is_parameterized() { using var context = CreateContext(); @@ -36,7 +36,7 @@ public virtual void DbContext_field_is_parameterized() Assert.True(entity.IsEnabled); } - [ConditionalFact] + [Fact] public virtual void DbContext_property_is_parameterized() { using var context = CreateContext(); @@ -49,7 +49,7 @@ public virtual void DbContext_property_is_parameterized() Assert.True(entity.IsEnabled); } - [ConditionalFact] + [Fact] public virtual void DbContext_method_call_is_parameterized() { using var context = CreateContext(); @@ -57,7 +57,7 @@ public virtual void DbContext_method_call_is_parameterized() Assert.Equal(2, entity.Tenant); } - [ConditionalFact] + [Fact] public virtual void DbContext_list_is_parameterized() { using var context = CreateContext(); @@ -78,7 +78,7 @@ public virtual void DbContext_list_is_parameterized() Assert.Equal(2, query.Count); } - [ConditionalFact] + [Fact] public virtual void DbContext_property_chain_is_parameterized() { using var context = CreateContext(); @@ -94,7 +94,7 @@ public virtual void DbContext_property_chain_is_parameterized() Assert.True(entity.IsEnabled); } - [ConditionalFact] + [Fact] public virtual void DbContext_property_method_call_is_parameterized() { using var context = CreateContext(); @@ -106,7 +106,7 @@ public virtual void DbContext_property_method_call_is_parameterized() Assert.Equal(2, entity.Tenant); } - [ConditionalFact] + [Fact] public virtual void DbContext_method_call_chain_is_parameterized() { using var context = CreateContext(); @@ -114,7 +114,7 @@ public virtual void DbContext_method_call_chain_is_parameterized() Assert.Equal(2, entity.Tenant); } - [ConditionalFact] + [Fact] public virtual void DbContext_complex_expression_is_parameterized() { using var context = CreateContext(); @@ -130,7 +130,7 @@ public virtual void DbContext_complex_expression_is_parameterized() Assert.Empty(context.Set().ToList()); } - [ConditionalFact] + [Fact] public virtual void DbContext_property_based_filter_does_not_short_circuit() { using var context = CreateContext(); @@ -145,7 +145,7 @@ public virtual void DbContext_property_based_filter_does_not_short_circuit() Assert.Equal(2, query.Count); } - [ConditionalFact] + [Fact] public virtual void EntityTypeConfiguration_DbContext_field_is_parameterized() { using var context = CreateContext(); @@ -158,7 +158,7 @@ public virtual void EntityTypeConfiguration_DbContext_field_is_parameterized() Assert.True(entity.IsEnabled); } - [ConditionalFact] + [Fact] public virtual void EntityTypeConfiguration_DbContext_property_is_parameterized() { using var context = CreateContext(); @@ -171,7 +171,7 @@ public virtual void EntityTypeConfiguration_DbContext_property_is_parameterized( Assert.True(entity.IsEnabled); } - [ConditionalFact] + [Fact] public virtual void EntityTypeConfiguration_DbContext_method_call_is_parameterized() { using var context = CreateContext(); @@ -179,7 +179,7 @@ public virtual void EntityTypeConfiguration_DbContext_method_call_is_parameteriz Assert.Equal(2, entity.Tenant); } - [ConditionalFact] + [Fact] public virtual void EntityTypeConfiguration_DbContext_property_chain_is_parameterized() { using var context = CreateContext(); @@ -195,7 +195,7 @@ public virtual void EntityTypeConfiguration_DbContext_property_chain_is_paramete Assert.True(entity.IsEnabled); } - [ConditionalFact] + [Fact] public virtual void Local_method_DbContext_field_is_parameterized() { using var context = CreateContext(); @@ -208,7 +208,7 @@ public virtual void Local_method_DbContext_field_is_parameterized() Assert.True(entity.IsEnabled); } - [ConditionalFact] + [Fact] public virtual void Local_static_method_DbContext_property_is_parameterized() { using var context = CreateContext(); @@ -221,7 +221,7 @@ public virtual void Local_static_method_DbContext_property_is_parameterized() Assert.True(entity.IsEnabled); } - [ConditionalFact] + [Fact] public virtual void Remote_method_DbContext_property_method_call_is_parameterized() { using var context = CreateContext(); @@ -233,7 +233,7 @@ public virtual void Remote_method_DbContext_property_method_call_is_parameterize Assert.Equal(2, entity.Tenant); } - [ConditionalFact] + [Fact] public virtual void Extension_method_DbContext_field_is_parameterized() { using var context = CreateContext(); @@ -246,7 +246,7 @@ public virtual void Extension_method_DbContext_field_is_parameterized() Assert.True(entity.IsEnabled); } - [ConditionalFact] + [Fact] public virtual void Extension_method_DbContext_property_chain_is_parameterized() { using var context = CreateContext(); @@ -262,14 +262,14 @@ public virtual void Extension_method_DbContext_property_chain_is_parameterized() Assert.True(entity.IsEnabled); } - [ConditionalFact] + [Fact] public virtual void Using_DbSet_in_filter_works() { using var context = CreateContext(); Assert.Single(context.Set().ToList()); } - [ConditionalFact] + [Fact] public virtual void Using_Context_set_method_in_filter_works() { using var context = CreateContext(); @@ -278,7 +278,7 @@ public virtual void Using_Context_set_method_in_filter_works() Assert.Equal(2, query.Count); } - [ConditionalFact] + [Fact] public virtual void Static_member_from_dbContext_is_inlined() { using var context = CreateContext(); @@ -287,7 +287,7 @@ public virtual void Static_member_from_dbContext_is_inlined() Assert.Equal(2, query.Count); } - [ConditionalFact] + [Fact] public virtual void Static_member_from_non_dbContext_is_inlined() { using var context = CreateContext(); @@ -296,7 +296,7 @@ public virtual void Static_member_from_non_dbContext_is_inlined() var entity = Assert.Single(query); } - [ConditionalFact] + [Fact] public virtual void Local_variable_from_OnModelCreating_is_inlined() { using var context = CreateContext(); @@ -305,7 +305,7 @@ public virtual void Local_variable_from_OnModelCreating_is_inlined() var entity = Assert.Single(query); } - [ConditionalFact] + [Fact] public virtual void Local_variable_from_OnModelCreating_can_throw_exception() { using var context = CreateContext(); @@ -315,14 +315,14 @@ public virtual void Local_variable_from_OnModelCreating_can_throw_exception() Assert.Throws(() => context.Set().ToList()).Message); } - [ConditionalFact] + [Fact] public virtual void Method_parameter_is_inlined() { using var context = CreateContext(); Assert.Empty(context.Set().ToList()); } - [ConditionalFact] + [Fact] public virtual void Using_multiple_context_in_filter_parametrize_only_current_context() { using var context = CreateContext(); @@ -335,7 +335,7 @@ public virtual void Using_multiple_context_in_filter_parametrize_only_current_co Assert.Equal(2, query.Count); } - [ConditionalFact] + [Fact] public virtual void Using_multiple_entities_with_filters_reuses_parameters() { using var context = CreateContext(); diff --git a/test/EFCore.Specification.Tests/Query/QueryFixtureBase.cs b/test/EFCore.Specification.Tests/Query/QueryFixtureBase.cs index f5677a30fce..5d714b5b4cf 100644 --- a/test/EFCore.Specification.Tests/Query/QueryFixtureBase.cs +++ b/test/EFCore.Specification.Tests/Query/QueryFixtureBase.cs @@ -41,7 +41,7 @@ public TestStore GetOrCreateNonSharedTestStore(Func createTestStore) public ITestStoreFactory GetTestStoreFactory() => TestStoreFactory; - public override async Task DisposeAsync() + public override async ValueTask DisposeAsync() { await base.DisposeAsync(); diff --git a/test/EFCore.Specification.Tests/Query/SharedTypeQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/SharedTypeQueryTestBase.cs index 639c4849f42..ff2d96999bd 100644 --- a/test/EFCore.Specification.Tests/Query/SharedTypeQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/SharedTypeQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore; @@ -10,7 +10,7 @@ public abstract class SharedTypeQueryTestBase(NonSharedFixture fixture) : NonSha protected override string NonSharedStoreName => "SharedTypeQueryTests"; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Can_use_shared_type_entity_type_in_query_filter(bool async) { var contextFactory = await InitializeNonSharedTest( diff --git a/test/EFCore.Specification.Tests/Query/SpatialQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/SpatialQueryTestBase.cs index 25da99dabd5..641b81a985a 100644 --- a/test/EFCore.Specification.Tests/Query/SpatialQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/SpatialQueryTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.SpatialModel; @@ -16,7 +16,7 @@ public abstract class SpatialQueryTestBase(TFixture fixture) : QueryTe protected virtual bool AssertDistances => true; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SimpleSelect(bool async) { await AssertQuery( @@ -36,13 +36,13 @@ await AssertQuery( ss => ss.Set()); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task WithConversion(bool async) => AssertQuery( async, ss => ss.Set()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Area(bool async) => AssertQuery( async, @@ -62,7 +62,7 @@ public virtual Task Area(bool async) } }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task AsBinary(bool async) => AssertQuery( async, @@ -75,7 +75,7 @@ public virtual Task AsBinary(bool async) Assert.Equal(e.Binary, a.Binary); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task AsBinary_with_null_check(bool async) => AssertQuery( async, @@ -87,7 +87,7 @@ public virtual Task AsBinary_with_null_check(bool async) Assert.Equal(e.Binary, a.Binary); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task AsText(bool async) => AssertQuery( async, @@ -100,7 +100,7 @@ public virtual Task AsText(bool async) Assert.Equal(e.Text, a.Text, WktComparer.Instance); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Boundary(bool async) => AssertQuery( async, @@ -112,7 +112,7 @@ public virtual Task Boundary(bool async) Assert.Equal(e.Boundary, a.Boundary, GeometryComparer.Instance); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Buffer(bool async) => AssertQuery( async, @@ -134,7 +134,7 @@ public virtual Task Buffer(bool async) } }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Buffer_quadrantSegments(bool async) => AssertQuery( async, @@ -156,7 +156,7 @@ public virtual Task Buffer_quadrantSegments(bool async) } }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Centroid(bool async) => AssertQuery( async, @@ -168,7 +168,7 @@ public virtual Task Centroid(bool async) Assert.Equal(e.Centroid, a.Centroid, GeometryComparer.Instance); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Combine_aggregate(bool async) => AssertQuery( async, @@ -189,7 +189,7 @@ public virtual Task Combine_aggregate(bool async) Assert.Equal(eCollection.Geometries, aCollection.Geometries); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task EnvelopeCombine_aggregate(bool async) => AssertQuery( async, @@ -204,7 +204,7 @@ public virtual Task EnvelopeCombine_aggregate(bool async) Assert.Equal(e.Combined, a.Combined, GeometryComparer.Instance); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Contains(bool async) { var point = Fixture.GeometryFactory.CreatePoint(new Coordinate(0.25, 0.25)); @@ -217,7 +217,7 @@ public virtual Task Contains(bool async) elementSorter: x => x.Id); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ConvexHull(bool async) => AssertQuery( async, @@ -230,7 +230,7 @@ public virtual Task ConvexHull(bool async) Assert.Equal(e.ConvexHull, a.ConvexHull, GeometryComparer.Instance); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ConvexHull_aggregate(bool async) => AssertQuery( async, @@ -245,7 +245,7 @@ public virtual Task ConvexHull_aggregate(bool async) Assert.Equal(e.ConvexHull, a.ConvexHull, GeometryComparer.Instance); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task IGeometryCollection_Count(bool async) => AssertQuery( async, @@ -253,14 +253,14 @@ public virtual Task IGeometryCollection_Count(bool async) .Select(e => new { e.Id, Count = e.MultiLineString == null ? (int?)null : e.MultiLineString.Count }), elementSorter: x => x.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task LineString_Count(bool async) => AssertQuery( async, ss => ss.Set().Select(e => new { e.Id, Count = e.LineString == null ? (int?)null : e.LineString.Count }), elementSorter: x => x.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task CoveredBy(bool async) { var polygon = Fixture.GeometryFactory.CreatePolygon( @@ -274,7 +274,7 @@ public virtual Task CoveredBy(bool async) elementSorter: x => x.Id); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Covers(bool async) { var point = Fixture.GeometryFactory.CreatePoint(new Coordinate(0.25, 0.25)); @@ -286,7 +286,7 @@ public virtual Task Covers(bool async) elementSorter: x => x.Id); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Crosses(bool async) { var lineString = Fixture.GeometryFactory.CreateLineString([new Coordinate(0.5, -0.5), new Coordinate(0.5, 0.5)]); @@ -299,7 +299,7 @@ public virtual Task Crosses(bool async) elementSorter: x => x.Id); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Difference(bool async) { var polygon = Fixture.GeometryFactory.CreatePolygon( @@ -318,14 +318,14 @@ public virtual Task Difference(bool async) }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Dimension(bool async) => AssertQuery( async, ss => ss.Set().Select(e => new { e.Id, Dimension = e.Point == null ? (Dimension?)null : e.Point.Dimension }), elementSorter: x => x.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Disjoint_with_cast_to_nullable(bool async) { var point = Fixture.GeometryFactory.CreatePoint(new Coordinate(1, 1)); @@ -338,7 +338,7 @@ public virtual Task Disjoint_with_cast_to_nullable(bool async) elementSorter: x => x.Id); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Disjoint_with_null_check(bool async) { var point = Fixture.GeometryFactory.CreatePoint(new Coordinate(1, 1)); @@ -350,7 +350,7 @@ public virtual Task Disjoint_with_null_check(bool async) elementSorter: x => x.Id); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Distance_with_null_check(bool async) { var point = Fixture.GeometryFactory.CreatePoint(new Coordinate(0, 1)); @@ -376,7 +376,7 @@ public virtual Task Distance_with_null_check(bool async) }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Distance_with_cast_to_nullable(bool async) { var point = Fixture.GeometryFactory.CreatePoint(new Coordinate(0, 1)); @@ -401,7 +401,7 @@ public virtual Task Distance_with_cast_to_nullable(bool async) }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Distance_geometry(bool async) { var point = Fixture.GeometryFactory.CreatePoint(new Coordinate(0, 1)); @@ -427,7 +427,7 @@ public virtual Task Distance_geometry(bool async) }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Distance_constant(bool async) => AssertQuery( async, @@ -449,7 +449,7 @@ public virtual Task Distance_constant(bool async) } }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Distance_constant_srid_4326(bool async) => AssertQuery( async, @@ -472,7 +472,7 @@ public virtual Task Distance_constant_srid_4326(bool async) } }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Distance_constant_lhs(bool async) => AssertQuery( async, @@ -494,7 +494,7 @@ public virtual Task Distance_constant_lhs(bool async) } }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Distance_on_converted_geometry_type(bool async) { var point = new GeoPoint(1, 0); @@ -506,7 +506,7 @@ public virtual Task Distance_on_converted_geometry_type(bool async) elementAsserter: (e, a) => { Assert.Equal(e.Id, a.Id); }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Distance_on_converted_geometry_type_lhs(bool async) { var point = new GeoPoint(1, 0); @@ -518,7 +518,7 @@ public virtual Task Distance_on_converted_geometry_type_lhs(bool async) elementAsserter: (e, a) => { Assert.Equal(e.Id, a.Id); }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Distance_on_converted_geometry_type_constant(bool async) => AssertQuery( async, @@ -533,7 +533,7 @@ public virtual Task Distance_on_converted_geometry_type_constant(bool async) } }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Distance_on_converted_geometry_type_constant_lhs(bool async) => AssertQuery( async, @@ -548,14 +548,14 @@ public virtual Task Distance_on_converted_geometry_type_constant_lhs(bool async) } }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task EndPoint(bool async) => AssertQuery( async, ss => ss.Set().Select(e => new { e.Id, EndPoint = e.LineString == null ? null : e.LineString.EndPoint }), elementSorter: e => e.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Envelope(bool async) => AssertQuery( async, @@ -567,7 +567,7 @@ public virtual Task Envelope(bool async) Assert.Equal(e.Envelope, a.Envelope, GeometryComparer.Instance); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task EqualsTopologically(bool async) { var point = Fixture.GeometryFactory.CreatePoint(new Coordinate(0, 0)); @@ -580,21 +580,21 @@ public virtual Task EqualsTopologically(bool async) elementSorter: x => x.Id); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ExteriorRing(bool async) => AssertQuery( async, ss => ss.Set().Select(e => new { e.Id, ExteriorRing = e.Polygon == null ? null : e.Polygon.ExteriorRing }), elementSorter: x => x.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GeometryType(bool async) => AssertQuery( async, ss => ss.Set().Select(e => new { e.Id, GeometryType = e.Point == null ? null : e.Point.GeometryType }), elementSorter: x => x.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetGeometryN(bool async) => AssertQuery( async, @@ -603,7 +603,7 @@ public virtual Task GetGeometryN(bool async) => new { e.Id, Geometry0 = e.MultiLineString == null ? null : e.MultiLineString.GetGeometryN(0) }), elementSorter: x => x.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetGeometryN_with_null_argument(bool async) => AssertQuery( async, @@ -614,7 +614,7 @@ public virtual Task GetGeometryN_with_null_argument(bool async) ss => ss.Set().Select(e => new { e.Id, Geometry0 = default(Geometry) }), elementSorter: x => x.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetInteriorRingN(bool async) => AssertQuery( async, @@ -634,7 +634,7 @@ public virtual Task GetInteriorRingN(bool async) }), elementSorter: x => x.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task GetPointN(bool async) => AssertQuery( async, @@ -643,7 +643,7 @@ public virtual Task GetPointN(bool async) .Select(e => new { e.Id, Point0 = e.LineString == null ? null : e.LineString.GetPointN(0) }), elementSorter: x => x.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task InteriorPoint(bool async) => AssertQuery( async, @@ -668,7 +668,7 @@ public virtual Task InteriorPoint(bool async) } }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Intersection(bool async) { var polygon = Fixture.GeometryFactory.CreatePolygon( @@ -687,7 +687,7 @@ public virtual Task Intersection(bool async) }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Intersects(bool async) { var lineString = Fixture.GeometryFactory.CreateLineString([new Coordinate(0.5, -0.5), new Coordinate(0.5, 0.5)]); @@ -700,7 +700,7 @@ public virtual Task Intersects(bool async) elementSorter: x => x.Id); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ICurve_IsClosed(bool async) => AssertQuery( async, @@ -708,7 +708,7 @@ public virtual Task ICurve_IsClosed(bool async) .Select(e => new { e.Id, IsClosed = e.LineString == null ? (bool?)null : e.LineString.IsClosed }), elementSorter: x => x.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task IMultiCurve_IsClosed(bool async) => AssertQuery( async, @@ -716,7 +716,7 @@ public virtual Task IMultiCurve_IsClosed(bool async) => new { e.Id, IsClosed = e.MultiLineString == null ? (bool?)null : e.MultiLineString.IsClosed }), elementSorter: x => x.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task IsEmpty(bool async) => AssertQuery( async, @@ -724,7 +724,7 @@ public virtual Task IsEmpty(bool async) .Select(e => new { e.Id, IsEmpty = e.MultiLineString == null ? (bool?)null : e.MultiLineString.IsEmpty }), elementSorter: x => x.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task IsRing(bool async) => AssertQuery( async, @@ -732,7 +732,7 @@ public virtual Task IsRing(bool async) .Select(e => new { e.Id, IsRing = e.LineString == null ? (bool?)null : e.LineString.IsRing }), elementSorter: x => x.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task IsSimple(bool async) => AssertQuery( async, @@ -740,7 +740,7 @@ public virtual Task IsSimple(bool async) new { e.Id, IsSimple = e.LineString == null ? (bool?)null : e.LineString.IsSimple }), elementSorter: x => x.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task IsValid(bool async) => AssertQuery( async, @@ -748,7 +748,7 @@ public virtual Task IsValid(bool async) .Select(e => new { e.Id, IsValid = e.Point == null ? (bool?)null : e.Point.IsValid }), elementSorter: x => x.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task IsWithinDistance(bool async) { var point = Fixture.GeometryFactory.CreatePoint(new Coordinate(0, 1)); @@ -774,7 +774,7 @@ public virtual Task IsWithinDistance(bool async) }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Item(bool async) => AssertQuery( async, @@ -783,7 +783,7 @@ public virtual Task Item(bool async) .Select(e => new { e.Id, Item0 = e.MultiLineString == null ? null : e.MultiLineString[0] }), elementSorter: x => x.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Length(bool async) => AssertQuery( async, @@ -804,7 +804,7 @@ public virtual Task Length(bool async) } }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task M(bool async) => AssertQuery( async, @@ -824,7 +824,7 @@ public virtual Task M(bool async) } }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Normalized(bool async) => AssertQuery( async, @@ -837,7 +837,7 @@ public virtual Task Normalized(bool async) Assert.Equal(e.Normalized, a.Normalized, GeometryComparer.Instance); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task NumGeometries(bool async) => AssertQuery( async, @@ -845,7 +845,7 @@ public virtual Task NumGeometries(bool async) => new { e.Id, NumGeometries = e.MultiLineString == null ? (int?)null : e.MultiLineString.NumGeometries }), elementSorter: x => x.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task NumInteriorRings(bool async) => AssertQuery( async, @@ -853,7 +853,7 @@ public virtual Task NumInteriorRings(bool async) .Select(e => new { e.Id, NumInteriorRings = e.Polygon == null ? (int?)null : e.Polygon.NumInteriorRings }), elementSorter: x => x.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task NumPoints(bool async) => AssertQuery( async, @@ -861,7 +861,7 @@ public virtual Task NumPoints(bool async) .Select(e => new { e.Id, NumPoints = e.LineString == null ? (int?)null : e.LineString.NumPoints }), elementSorter: x => x.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task OgcGeometryType(bool async) => AssertQuery( async, @@ -869,7 +869,7 @@ public virtual Task OgcGeometryType(bool async) => new { e.Id, OgcGeometryType = e.Point == null ? (OgcGeometryType?)null : e.Point.OgcGeometryType }), elementSorter: x => x.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Overlaps(bool async) { var polygon = Fixture.GeometryFactory.CreatePolygon( @@ -883,7 +883,7 @@ public virtual Task Overlaps(bool async) elementSorter: x => x.Id); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task PointOnSurface(bool async) => AssertQuery( async, @@ -908,7 +908,7 @@ public virtual Task PointOnSurface(bool async) } }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Relate(bool async) { var polygon = Fixture.GeometryFactory.CreatePolygon( @@ -922,7 +922,7 @@ public virtual Task Relate(bool async) elementSorter: x => x.Id); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Reverse(bool async) => AssertQuery( async, @@ -930,21 +930,21 @@ public virtual Task Reverse(bool async) ss => ss.Set().Select(e => new { e.Id, Reverse = e.LineString == null ? null : e.LineString.Reverse() }), elementSorter: x => x.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SRID(bool async) => AssertQuery( async, ss => ss.Set().Select(e => new { e.Id, SRID = e.Point == null ? (int?)null : e.Point.SRID }), elementSorter: x => x.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SRID_geometry(bool async) => AssertQuery( async, ss => ss.Set().Select(e => new { e.Id, SRID = e.Geometry == null ? (int?)null : e.Geometry.SRID }), elementSorter: x => x.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task StartPoint(bool async) => AssertQuery( async, @@ -952,7 +952,7 @@ public virtual Task StartPoint(bool async) .Select(e => new { e.Id, StartPoint = e.LineString == null ? null : e.LineString.StartPoint }), elementSorter: x => x.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task SymmetricDifference(bool async) { var polygon = Fixture.GeometryFactory.CreatePolygon( @@ -971,7 +971,7 @@ public virtual Task SymmetricDifference(bool async) }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ToBinary(bool async) => AssertQuery( async, @@ -984,7 +984,7 @@ public virtual Task ToBinary(bool async) Assert.Equal(e.Binary, a.Binary); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task ToText(bool async) => AssertQuery( async, @@ -997,7 +997,7 @@ public virtual Task ToText(bool async) Assert.Equal(e.Text, a.Text, WktComparer.Instance); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Touches(bool async) { var polygon = Fixture.GeometryFactory.CreatePolygon( @@ -1011,7 +1011,7 @@ public virtual Task Touches(bool async) elementSorter: x => x.Id); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union(bool async) { var polygon = Fixture.GeometryFactory.CreatePolygon( @@ -1029,7 +1029,7 @@ public virtual Task Union(bool async) }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_aggregate(bool async) => AssertQuery( async, @@ -1044,7 +1044,7 @@ public virtual Task Union_aggregate(bool async) Assert.Equal(e.Union, a.Union, GeometryComparer.Instance); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Union_void(bool async) => AssertQuery( async, @@ -1053,7 +1053,7 @@ public virtual Task Union_void(bool async) .Select(e => new { e.Id, Union = e.MultiLineString == null ? null : e.MultiLineString.Union() }), elementSorter: x => x.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Within(bool async) { var polygon = Fixture.GeometryFactory.CreatePolygon( @@ -1066,21 +1066,21 @@ public virtual Task Within(bool async) elementSorter: x => x.Id); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task X(bool async) => AssertQuery( async, ss => ss.Set().Select(e => new { e.Id, X = e.Point == null ? (double?)null : e.Point.X }), elementSorter: x => x.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Y(bool async) => AssertQuery( async, ss => ss.Set().Select(e => new { e.Id, Y = e.Point == null ? (double?)null : e.Point.Y }), elementSorter: x => x.Id); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Z(bool async) => AssertQuery( async, @@ -1100,7 +1100,7 @@ public virtual Task Z(bool async) } }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task XY_with_collection_join(bool async) => AssertFirstOrDefault( async, @@ -1119,7 +1119,7 @@ public virtual Task XY_with_collection_join(bool async) AssertCollection(e.List, a.List); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task IsEmpty_equal_to_null(bool async) { return AssertQueryScalar( @@ -1130,7 +1130,7 @@ public virtual Task IsEmpty_equal_to_null(bool async) ss => ss.Set().Where(e => e.Point == null).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task IsEmpty_not_equal_to_null(bool async) { return AssertQueryScalar( @@ -1141,7 +1141,7 @@ public virtual Task IsEmpty_not_equal_to_null(bool async) ss => ss.Set().Where(e => e.Point != null).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Intersects_equal_to_null(bool async) { var lineString = Fixture.GeometryFactory.CreateLineString([new Coordinate(0.5, -0.5), new Coordinate(0.5, 0.5)]); @@ -1161,7 +1161,7 @@ await AssertQueryScalar( ss => ss.Set().Where(e => e.LineString == null).Select(e => e.Id)); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Intersects_not_equal_to_null(bool async) { var lineString = Fixture.GeometryFactory.CreateLineString([new Coordinate(0.5, -0.5), new Coordinate(0.5, 0.5)]); diff --git a/test/EFCore.Specification.Tests/Query/Translations/ByteArrayTranslationsTestBase.cs b/test/EFCore.Specification.Tests/Query/Translations/ByteArrayTranslationsTestBase.cs index a5e1c6e7bb1..6787dd84688 100644 --- a/test/EFCore.Specification.Tests/Query/Translations/ByteArrayTranslationsTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Translations/ByteArrayTranslationsTestBase.cs @@ -8,23 +8,23 @@ namespace Microsoft.EntityFrameworkCore.Query.Translations; public abstract class ByteArrayTranslationsTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : BasicTypesQueryFixtureBase, new() { - [ConditionalFact] + [Fact] public virtual Task Length() => AssertQuery(ss => ss.Set().Where(e => e.ByteArray.Length == 4)); - [ConditionalFact] + [Fact] public virtual Task Index() => AssertQuery(ss => ss.Set().Where(e => e.ByteArray.Length >= 3 && e.ByteArray[2] == 0xBE)); - [ConditionalFact] + [Fact] public virtual Task First() => AssertQuery(ss => ss.Set().Where(e => e.ByteArray.Length >= 1 && e.ByteArray.First() == 0xDE)); - [ConditionalFact] + [Fact] public virtual Task Contains_with_constant() => AssertQuery(ss => ss.Set().Where(s => s.ByteArray.Contains((byte)1))); - [ConditionalFact] + [Fact] public virtual Task Contains_with_parameter() { byte someByte = 1; @@ -32,15 +32,15 @@ public virtual Task Contains_with_parameter() return AssertQuery(ss => ss.Set().Where(s => s.ByteArray.Contains(someByte))); } - [ConditionalFact] + [Fact] public virtual Task Contains_with_column() => AssertQuery(ss => ss.Set().Where(s => s.ByteArray.Contains(s.Byte))); - [ConditionalFact] + [Fact] public virtual Task Any() => AssertQuery(ss => ss.Set().Where(e => e.ByteArray.Any())); - [ConditionalFact] + [Fact] public virtual Task SequenceEqual() { var byteArrayParam = new byte[] { 0xDE, 0xAD, 0xBE, 0xEF }; diff --git a/test/EFCore.Specification.Tests/Query/Translations/EnumTranslationsTestBase.cs b/test/EFCore.Specification.Tests/Query/Translations/EnumTranslationsTestBase.cs index 96c43f9e674..faa512e30f0 100644 --- a/test/EFCore.Specification.Tests/Query/Translations/EnumTranslationsTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Translations/EnumTranslationsTestBase.cs @@ -10,11 +10,11 @@ public abstract class EnumTranslationsTestBase(TFixture fixture) : Que { #region Equality - [ConditionalFact] + [Fact] public virtual Task Equality_to_constant() => AssertQuery(ss => ss.Set().Where(b => b.Enum == BasicEnum.One)); - [ConditionalFact] + [Fact] public virtual Task Equality_to_parameter() { var basicEnum = BasicEnum.One; @@ -22,11 +22,11 @@ public virtual Task Equality_to_parameter() return AssertQuery(ss => ss.Set().Where(b => b.Enum == basicEnum)); } - [ConditionalFact] + [Fact] public virtual Task Equality_nullable_enum_to_constant() => AssertQuery(ss => ss.Set().Where(b => b.Enum == BasicEnum.One)); - [ConditionalFact] + [Fact] public virtual Task Equality_nullable_enum_to_parameter() { var basicEnum = BasicEnum.One; @@ -34,11 +34,11 @@ public virtual Task Equality_nullable_enum_to_parameter() return AssertQuery(ss => ss.Set().Where(b => b.Enum == basicEnum)); } - [ConditionalFact] + [Fact] public virtual Task Equality_nullable_enum_to_null_constant() => AssertQuery(ss => ss.Set().Where(b => b.Enum == null)); - [ConditionalFact] + [Fact] public virtual Task Equality_nullable_enum_to_null_parameter() { BasicEnum? basicEnum = null; @@ -46,7 +46,7 @@ public virtual Task Equality_nullable_enum_to_null_parameter() return AssertQuery(ss => ss.Set().Where(b => b.Enum == basicEnum)); } - [ConditionalFact] + [Fact] public virtual Task Equality_nullable_enum_to_nullable_parameter() { BasicEnum? basicEnum = BasicEnum.One; @@ -56,7 +56,7 @@ public virtual Task Equality_nullable_enum_to_nullable_parameter() #endregion Equality - [ConditionalFact] + [Fact] public virtual async Task Bitwise_and_enum_constant() { await AssertQuery(ss => ss.Set().Where(g => (g.FlagsEnum & BasicFlagsEnum.One) > 0)); @@ -64,7 +64,7 @@ public virtual async Task Bitwise_and_enum_constant() await AssertQuery(ss => ss.Set().Where(g => (g.FlagsEnum & BasicFlagsEnum.One) == BasicFlagsEnum.One)); } - [ConditionalFact] + [Fact] public virtual async Task Bitwise_and_integral_constant() { await AssertQuery(ss => ss.Set().Where(g => ((int)g.FlagsEnum & 8) == 8)); @@ -74,11 +74,11 @@ public virtual async Task Bitwise_and_integral_constant() await AssertQuery(ss => ss.Set().Where(g => ((short)g.FlagsEnum & 8) == 8)); } - [ConditionalFact] + [Fact] public virtual Task Bitwise_and_nullable_enum_with_constant() => AssertQuery(ss => ss.Set().Where(w => (w.FlagsEnum & BasicFlagsEnum.Eight) > 0)); - [ConditionalFact] + [Fact] public virtual Task Where_bitwise_and_nullable_enum_with_null_constant() { return AssertQuery( @@ -88,7 +88,7 @@ public virtual Task Where_bitwise_and_nullable_enum_with_null_constant() assertEmpty: true); } - [ConditionalFact] + [Fact] public virtual Task Where_bitwise_and_nullable_enum_with_non_nullable_parameter() { var flagsEnum = BasicFlagsEnum.Eight; @@ -96,7 +96,7 @@ public virtual Task Where_bitwise_and_nullable_enum_with_non_nullable_parameter( return AssertQuery(ss => ss.Set().Where(w => (w.FlagsEnum & flagsEnum) > 0)); } - [ConditionalFact] + [Fact] public virtual async Task Where_bitwise_and_nullable_enum_with_nullable_parameter() { BasicFlagsEnum? flagsEnum = BasicFlagsEnum.Eight; @@ -110,11 +110,11 @@ await AssertQuery( assertEmpty: true); } - [ConditionalFact] + [Fact] public virtual Task Bitwise_or() => AssertQuery(ss => ss.Set().Where(g => (g.FlagsEnum | BasicFlagsEnum.Eight) > 0)); - [ConditionalFact] + [Fact] public virtual Task Bitwise_projects_values_in_select() => AssertFirst(ss => ss.Set() .Where(g => (g.FlagsEnum & BasicFlagsEnum.Eight) == BasicFlagsEnum.Eight) @@ -126,7 +126,7 @@ public virtual Task Bitwise_projects_values_in_select() BitwiseValue = b.FlagsEnum & BasicFlagsEnum.Eight })); - [ConditionalFact] + [Fact] public virtual async Task HasFlag() { // Constant @@ -155,7 +155,7 @@ await AssertFirst(ss => ss.Set() })); } - [ConditionalFact] + [Fact] public virtual Task HasFlag_with_non_nullable_parameter() { var flagsEnum = BasicFlagsEnum.Eight; @@ -163,7 +163,7 @@ public virtual Task HasFlag_with_non_nullable_parameter() return AssertQuery(ss => ss.Set().Where(b => b.FlagsEnum.HasFlag(flagsEnum))); } - [ConditionalFact] + [Fact] public virtual Task HasFlag_with_nullable_parameter() { BasicFlagsEnum? flagsEnum = BasicFlagsEnum.Eight; diff --git a/test/EFCore.Specification.Tests/Query/Translations/GuidTranslationsTestBase.cs b/test/EFCore.Specification.Tests/Query/Translations/GuidTranslationsTestBase.cs index 7d104f9044f..7611f21cf1e 100644 --- a/test/EFCore.Specification.Tests/Query/Translations/GuidTranslationsTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Translations/GuidTranslationsTestBase.cs @@ -8,11 +8,11 @@ namespace Microsoft.EntityFrameworkCore.Query.Translations; public abstract class GuidTranslationsTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : BasicTypesQueryFixtureBase, new() { - [ConditionalFact] + [Fact] public virtual Task New_with_constant() => AssertQuery(ss => ss.Set().Where(b => b.Guid == new Guid("DF36F493-463F-4123-83F9-6B135DEEB7BA"))); - [ConditionalFact] + [Fact] public virtual async Task New_with_parameter() { var guid = "DF36F493-463F-4123-83F9-6B135DEEB7BA"; @@ -20,13 +20,13 @@ public virtual async Task New_with_parameter() await AssertQuery(ss => ss.Set().Where(b => b.Guid == new Guid(guid))); } - [ConditionalFact] + [Fact] public virtual Task ToString_projection() => AssertQuery( ss => ss.Set().Select(b => b.Guid.ToString()), elementAsserter: (e, a) => Assert.Equal(e.ToLower(), a.ToLower())); - [ConditionalFact] + [Fact] public virtual Task NewGuid() => AssertQuery(ss => ss.Set().Where(od => Guid.NewGuid() != default)); } diff --git a/test/EFCore.Specification.Tests/Query/Translations/MathTranslationsTestBase.cs b/test/EFCore.Specification.Tests/Query/Translations/MathTranslationsTestBase.cs index f6b9e993b27..f4789118360 100644 --- a/test/EFCore.Specification.Tests/Query/Translations/MathTranslationsTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Translations/MathTranslationsTestBase.cs @@ -8,59 +8,59 @@ namespace Microsoft.EntityFrameworkCore.Query.Translations; public abstract class MathTranslationsTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : BasicTypesQueryFixtureBase, new() { - [ConditionalFact] + [Fact] public virtual Task Abs_decimal() => AssertQuery(ss => ss.Set().Where(od => Math.Abs(od.Decimal) == 9.5m)); - [ConditionalFact] + [Fact] public virtual Task Abs_int() => AssertQuery(ss => ss.Set().Where(b => Math.Abs(b.Int) == 9)); - [ConditionalFact] + [Fact] public virtual Task Abs_double() => AssertQuery(ss => ss.Set().Where(b => Math.Abs(b.Double) == 9.5)); - [ConditionalFact] + [Fact] public virtual Task Abs_float() => AssertQuery(ss => ss.Set().Where(b => MathF.Abs(b.Float) == 9.5)); - [ConditionalFact] + [Fact] public virtual Task Ceiling() => AssertQuery(ss => ss.Set().Where(b => Math.Ceiling(b.Double) == 9)); - [ConditionalFact] + [Fact] public virtual Task Ceiling_float() => AssertQuery(ss => ss.Set().Where(b => MathF.Ceiling(b.Float) == 9)); - [ConditionalFact] + [Fact] public virtual Task Floor_decimal() => AssertQuery(ss => ss.Set().Where(b => Math.Floor(b.Decimal) == 8)); - [ConditionalFact] + [Fact] public virtual Task Floor_double() => AssertQuery(ss => ss.Set().Where(b => Math.Floor(b.Double) == 8)); - [ConditionalFact] + [Fact] public virtual Task Floor_float() => AssertQuery(ss => ss.Set().Where(b => MathF.Floor(b.Float) == 8)); - [ConditionalFact] + [Fact] public virtual Task Exp() => AssertQuery(ss => ss.Set().Where(b => Math.Exp(b.Double) > 1)); - [ConditionalFact] + [Fact] public virtual Task Exp_float() => AssertQuery(ss => ss.Set().Where(b => MathF.Exp(b.Float) > 1)); - [ConditionalFact] + [Fact] public virtual Task Power() => AssertQuery(ss => ss.Set().Where(b => Math.Pow(b.Int, 2) == 64)); - [ConditionalFact] + [Fact] public virtual Task Power_float() => AssertQuery(ss => ss.Set().Where(b => MathF.Pow(b.Float, 2) > 73 && MathF.Pow(b.Float, 2) < 74)); - [ConditionalFact] + [Fact] public virtual async Task Round_decimal() { await AssertQuery(ss => ss.Set().Where(b => Math.Round(b.Decimal) == 9)); @@ -68,7 +68,7 @@ public virtual async Task Round_decimal() await AssertQueryScalar(ss => ss.Set().Select(b => Math.Round(b.Decimal))); } - [ConditionalFact] + [Fact] public virtual async Task Round_double() { await AssertQuery(ss => ss.Set().Where(b => Math.Round(b.Double) == 9)); @@ -76,7 +76,7 @@ public virtual async Task Round_double() await AssertQueryScalar(ss => ss.Set().Select(b => Math.Round(b.Double))); } - [ConditionalFact] + [Fact] public virtual async Task Round_float() { await AssertQuery(ss => ss.Set().Where(b => MathF.Round(b.Float) == 9)); @@ -84,19 +84,19 @@ public virtual async Task Round_float() await AssertQueryScalar(ss => ss.Set().Select(b => MathF.Round(b.Float))); } - [ConditionalFact] + [Fact] public virtual Task Round_with_digits_decimal() => AssertQuery(ss => ss.Set().Where(b => Math.Round(b.Decimal, 1) == 255.1m)); - [ConditionalFact] + [Fact] public virtual Task Round_with_digits_double() => AssertQuery(ss => ss.Set().Where(b => Math.Round(b.Double, 1) == 255.1)); - [ConditionalFact] + [Fact] public virtual Task Round_with_digits_float() => AssertQuery(ss => ss.Set().Where(b => Math.Round(b.Float, 1) == 255.1)); - [ConditionalFact] + [Fact] public virtual async Task Truncate_decimal() { await AssertQuery(ss => ss.Set().Where(b => Math.Truncate(b.Decimal) == 8)); @@ -104,7 +104,7 @@ public virtual async Task Truncate_decimal() await AssertQueryScalar(ss => ss.Set().Select(b => Math.Truncate(b.Decimal))); } - [ConditionalFact] + [Fact] public virtual async Task Truncate_double() { await AssertQuery(ss => ss.Set().Where(b => Math.Truncate(b.Double) == 8)); @@ -112,7 +112,7 @@ public virtual async Task Truncate_double() await AssertQueryScalar(ss => ss.Set().Select(b => Math.Truncate(b.Double))); } - [ConditionalFact] + [Fact] public virtual async Task Truncate_float() { await AssertQuery(ss => ss.Set().Where(b => MathF.Truncate(b.Float) == 8)); @@ -120,7 +120,7 @@ public virtual async Task Truncate_float() await AssertQueryScalar(ss => ss.Set().Select(b => MathF.Truncate(b.Float))); } - [ConditionalFact] + [Fact] public virtual Task Truncate_project_and_order_by_it_twice() => AssertQuery( ss => ss.Set() @@ -130,7 +130,7 @@ public virtual Task Truncate_project_and_order_by_it_twice() .OrderBy(r => r.A), assertOrder: true); - [ConditionalFact] + [Fact] public virtual Task Truncate_project_and_order_by_it_twice2() => AssertQuery( ss => ss.Set() @@ -140,7 +140,7 @@ public virtual Task Truncate_project_and_order_by_it_twice2() .OrderByDescending(r => r.A), assertOrder: true); - [ConditionalFact] + [Fact] public virtual Task Truncate_project_and_order_by_it_twice3() => AssertQuery( ss => ss.Set() @@ -149,175 +149,175 @@ public virtual Task Truncate_project_and_order_by_it_twice3() .ThenBy(r => r.A), assertOrder: true); - [ConditionalFact] + [Fact] public virtual Task Log() => AssertQuery(ss => ss.Set().Where(b => b.Double > 0 && Math.Log(b.Double) != 0)); - [ConditionalFact] + [Fact] public virtual Task Log_float() => AssertQuery(ss => ss.Set().Where(b => b.Float > 0 && MathF.Log(b.Float) != 0)); - [ConditionalFact] + [Fact] public virtual Task Log_with_newBase() => AssertQuery(ss => ss.Set().Where(b => b.Double > 0 && Math.Log(b.Double, 7) != 0)); - [ConditionalFact] + [Fact] public virtual Task Log_with_newBase_float() => AssertQuery(ss => ss.Set().Where(b => b.Float > 0 && MathF.Log(b.Float, 7) != 0)); - [ConditionalFact] + [Fact] public virtual Task Log10() => AssertQuery(ss => ss.Set().Where(b => b.Double > 0 && Math.Log10(b.Double) != 0)); - [ConditionalFact] + [Fact] public virtual Task Log10_float() => AssertQuery(ss => ss.Set().Where(b => b.Float > 0 && MathF.Log10(b.Float) != 0)); - [ConditionalFact] + [Fact] public virtual Task Log2() => AssertQuery(ss => ss.Set().Where(b => b.Double > 0 && Math.Log2(b.Double) != 0)); - [ConditionalFact] + [Fact] public virtual Task Sqrt() => AssertQuery(ss => ss.Set().Where(b => b.Double > 0 && Math.Sqrt(b.Double) > 0)); - [ConditionalFact] + [Fact] public virtual Task Sqrt_float() => AssertQuery(ss => ss.Set().Where(b => b.Float > 0 && MathF.Sqrt(b.Float) > 0)); - [ConditionalFact] + [Fact] public virtual Task Sign() => AssertQuery(ss => ss.Set().Where(b => Math.Sign(b.Double) > 0)); - [ConditionalFact] + [Fact] public virtual Task Sign_float() => AssertQuery(ss => ss.Set().Where(b => MathF.Sign(b.Float) > 0)); - [ConditionalFact] + [Fact] public virtual Task Max() => AssertQuery(ss => ss.Set().Where(b => Math.Max(b.Int, b.Short - 3) == b.Int)); - [ConditionalFact] + [Fact] public virtual Task Max_nested() => AssertQuery(ss => ss.Set() .Where(b => Math.Max(b.Short - 3, Math.Max(b.Int, 1)) == b.Int)); - [ConditionalFact] + [Fact] public virtual Task Max_nested_twice() => AssertQuery(ss => ss.Set() .Where(b => Math.Max(Math.Max(1, Math.Max(b.Int, 2)), b.Short - 3) == b.Int)); - [ConditionalFact] + [Fact] public virtual Task Min() => AssertQuery(ss => ss.Set() .Where(b => Math.Min(b.Int, b.Short + 3) == b.Int)); - [ConditionalFact] + [Fact] public virtual Task Min_nested() => AssertQuery(ss => ss.Set() .Where(b => Math.Min(b.Short + 3, Math.Min(b.Int, 99999)) == b.Int)); - [ConditionalFact] + [Fact] public virtual Task Min_nested_twice() => AssertQuery(ss => ss.Set() .Where(b => Math.Min(Math.Min(99999, Math.Min(b.Int, 99998)), b.Short + 3) == b.Int)); - [ConditionalFact] + [Fact] public virtual Task Degrees() => AssertQuery(ss => ss.Set().Where(b => double.RadiansToDegrees(b.Double) > 0)); - [ConditionalFact] + [Fact] public virtual Task Degrees_float() => AssertQuery(ss => ss.Set().Where(b => float.RadiansToDegrees(b.Float) > 0)); - [ConditionalFact] + [Fact] public virtual Task Radians() => AssertQuery(ss => ss.Set().Where(b => double.DegreesToRadians(b.Double) > 0)); - [ConditionalFact] + [Fact] public virtual Task Radians_float() => AssertQuery(ss => ss.Set().Where(b => float.DegreesToRadians(b.Float) > 0)); #region Trigonometry - [ConditionalFact] + [Fact] public virtual Task Acos() => AssertQuery(ss => ss.Set().Where(b => b.Double >= -1 && b.Double <= 1 && Math.Acos(b.Double) > 1)); - [ConditionalFact] + [Fact] public virtual Task Acos_float() => AssertQuery(ss => ss.Set().Where(b => b.Float >= -1 && b.Float <= 1 && MathF.Acos(b.Float) > 0)); - [ConditionalFact] + [Fact] public virtual Task Acosh() => AssertQuery(ss => ss.Set().Where(b => Math.Acosh(b.Double + 1) > 0)); - [ConditionalFact] + [Fact] public virtual Task Asin() => AssertQuery(ss => ss.Set().Where(b => b.Double >= -1 && b.Double <= 1 && Math.Asin(b.Double) > double.MinValue)); - [ConditionalFact] + [Fact] public virtual Task Asin_float() => AssertQuery(ss => ss.Set().Where(b => b.Float >= -1 && b.Float <= 1 && MathF.Asin(b.Float) > double.MinValue)); - [ConditionalFact] + [Fact] public virtual Task Asinh() => AssertQuery(ss => ss.Set().Where(b => Math.Asinh(b.Double) > 0)); - [ConditionalFact] + [Fact] public virtual Task Atan() => AssertQuery(ss => ss.Set().Where(b => Math.Atan(b.Double) > 0)); - [ConditionalFact] + [Fact] public virtual Task Atan_float() => AssertQuery(ss => ss.Set().Where(b => MathF.Atan(b.Float) > 0)); - [ConditionalFact] + [Fact] public virtual Task Atanh() => AssertQuery(ss => ss.Set().Where(b => Math.Atanh(b.Double) > double.MinValue)); - [ConditionalFact] + [Fact] public virtual Task Atan2() => AssertQuery(ss => ss.Set().Where(b => Math.Atan2(b.Double, 1) > 0)); - [ConditionalFact] + [Fact] public virtual Task Atan2_float() => AssertQuery(ss => ss.Set().Where(b => MathF.Atan2(b.Float, 1) > 0)); - [ConditionalFact] + [Fact] public virtual Task Cos() => AssertQuery(ss => ss.Set().Where(b => Math.Cos(b.Double) > 0)); - [ConditionalFact] + [Fact] public virtual Task Cos_float() => AssertQuery(ss => ss.Set().Where(b => MathF.Cos(b.Float) > 0)); - [ConditionalFact] + [Fact] public virtual Task Cosh() => AssertQuery(ss => ss.Set().Where(b => Math.Cosh(b.Double) > 0)); - [ConditionalFact] + [Fact] public virtual Task Sin() => AssertQuery(ss => ss.Set().Where(b => Math.Sin(b.Double) > 0)); - [ConditionalFact] + [Fact] public virtual Task Sin_float() => AssertQuery(ss => ss.Set().Where(b => MathF.Sin(b.Float) > 0)); - [ConditionalFact] + [Fact] public virtual Task Sinh() => AssertQuery(ss => ss.Set().Where(b => Math.Sinh(b.Double) > 0)); - [ConditionalFact] + [Fact] public virtual Task Tan() => AssertQuery(ss => ss.Set().Where(b => Math.Tan(b.Double) > 0)); - [ConditionalFact] + [Fact] public virtual Task Tan_float() => AssertQuery(ss => ss.Set().Where(b => MathF.Tan(b.Float) > 0)); - [ConditionalFact] + [Fact] public virtual Task Tanh() => AssertQuery(ss => ss.Set().Where(b => Math.Tanh(b.Double) > 0)); diff --git a/test/EFCore.Specification.Tests/Query/Translations/MiscellaneousTranslationsTestBase.cs b/test/EFCore.Specification.Tests/Query/Translations/MiscellaneousTranslationsTestBase.cs index e55d1fc6c48..778d46b329f 100644 --- a/test/EFCore.Specification.Tests/Query/Translations/MiscellaneousTranslationsTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Translations/MiscellaneousTranslationsTestBase.cs @@ -10,7 +10,7 @@ public abstract class MiscellaneousTranslationsTestBase(TFixture fixtu { #region Random - [ConditionalFact] + [Fact] public virtual Task Random_on_EF_Functions() => AssertCount( ss => ss.Set(), @@ -18,29 +18,29 @@ public virtual Task Random_on_EF_Functions() ss => EF.Functions.Random() >= 0 && EF.Functions.Random() < 1, c => true); - [ConditionalFact] + [Fact] public virtual Task Random_Shared_Next_with_no_args() => AssertQuery( ss => ss.Set().Where(o => o.Int < (Random.Shared.Next() - 2147483647)), assertEmpty: true); - [ConditionalFact] + [Fact] public virtual Task Random_Shared_Next_with_one_arg() => AssertQuery(ss => ss.Set().Where(o => o.Int > Random.Shared.Next(5) - 2147483647)); - [ConditionalFact] + [Fact] public virtual Task Random_Shared_Next_with_two_args() => AssertQuery(ss => ss.Set().Where(o => o.Int > Random.Shared.Next(0, 10) - 2147483647)); - [ConditionalFact] + [Fact] public virtual Task Random_new_Next_with_no_args() => AssertQuery(ss => ss.Set().Where(o => o.Int > new Random(15).Next() - 2147483647)); - [ConditionalFact] + [Fact] public virtual Task Random_new_Next_with_one_arg() => AssertQuery(ss => ss.Set().Where(o => o.Int > new Random(15).Next(5) - 2147483647)); - [ConditionalFact] + [Fact] public virtual Task Random_new_Next_with_two_args() => AssertQuery(ss => ss.Set().Where(o => o.Int > new Random(15).Next(0, 10) - 2147483647)); @@ -48,7 +48,7 @@ public virtual Task Random_new_Next_with_two_args() #region Convert - [ConditionalFact] + [Fact] public virtual async Task Convert_ToBoolean() { var convertMethods = new List>> @@ -70,7 +70,7 @@ public virtual async Task Convert_ToBoolean() } } - [ConditionalFact] + [Fact] public virtual async Task Convert_ToByte() { var convertMethods = new List>> @@ -93,7 +93,7 @@ public virtual async Task Convert_ToByte() } } - [ConditionalFact] + [Fact] public virtual async Task Convert_ToDecimal() { var convertMethods = new List>> @@ -116,7 +116,7 @@ public virtual async Task Convert_ToDecimal() } } - [ConditionalFact] + [Fact] public virtual async Task Convert_ToDouble() { var convertMethods = new List>> @@ -139,7 +139,7 @@ public virtual async Task Convert_ToDouble() } } - [ConditionalFact] + [Fact] public virtual async Task Convert_ToInt16() { var convertMethods = new List>> @@ -162,7 +162,7 @@ public virtual async Task Convert_ToInt16() } } - [ConditionalFact] + [Fact] public virtual async Task Convert_ToInt32() { var convertMethods = new List>> @@ -185,7 +185,7 @@ public virtual async Task Convert_ToInt32() } } - [ConditionalFact] + [Fact] public virtual async Task Convert_ToInt64() { var convertMethods = new List>> @@ -208,7 +208,7 @@ public virtual async Task Convert_ToInt64() } } - [ConditionalFact] + [Fact] public virtual async Task Convert_ToString() { // Actual convert-to-string behavior varies across databases for most types and cannot be asserted upon here @@ -238,7 +238,7 @@ public virtual async Task Convert_ToString() #region Compare - [ConditionalFact] + [Fact] public virtual async Task Int_Compare_to_simple_zero() { var orderId = 8; @@ -256,7 +256,7 @@ public virtual async Task Int_Compare_to_simple_zero() await AssertQuery(ss => ss.Set().Where(c => c.Int.CompareTo(orderId) <= 0)); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task DateTime_Compare_to_simple_zero(bool compareTo) { var dateTime = new DateTime(1998, 5, 4, 15, 30, 10); @@ -291,7 +291,7 @@ public virtual async Task DateTime_Compare_to_simple_zero(bool compareTo) } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task TimeSpan_Compare_to_simple_zero(bool compareTo) { var timeSpan = new TimeSpan(1, 2, 3); diff --git a/test/EFCore.Specification.Tests/Query/Translations/Operators/ArithmeticOperatorTranslationsTestBase.cs b/test/EFCore.Specification.Tests/Query/Translations/Operators/ArithmeticOperatorTranslationsTestBase.cs index 3a8726bf81f..5456ed5d14b 100644 --- a/test/EFCore.Specification.Tests/Query/Translations/Operators/ArithmeticOperatorTranslationsTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Translations/Operators/ArithmeticOperatorTranslationsTestBase.cs @@ -8,23 +8,23 @@ namespace Microsoft.EntityFrameworkCore.Query.Translations.Operators; public abstract class ArithmeticOperatorTranslationsTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : BasicTypesQueryFixtureBase, new() { - [ConditionalFact] + [Fact] public virtual async Task Add() => await AssertQuery(ss => ss.Set().Where(b => b.Int + 2 == 10)); - [ConditionalFact] + [Fact] public virtual async Task Subtract() => await AssertQuery(ss => ss.Set().Where(b => b.Int - 3 == 5)); - [ConditionalFact] + [Fact] public virtual async Task Multiply() => await AssertQuery(ss => ss.Set().Where(b => b.Int * 2 == 16)); - [ConditionalFact] + [Fact] public virtual async Task Modulo() => await AssertQuery(ss => ss.Set().Where(b => b.Int % 3 == 2)); - [ConditionalFact] + [Fact] public virtual async Task Minus() => await AssertQuery(ss => ss.Set().Where(b => -b.Int == -8)); } diff --git a/test/EFCore.Specification.Tests/Query/Translations/Operators/BitwiseOperatorTranslationsTestBase.cs b/test/EFCore.Specification.Tests/Query/Translations/Operators/BitwiseOperatorTranslationsTestBase.cs index 47c986c8159..251de8b1846 100644 --- a/test/EFCore.Specification.Tests/Query/Translations/Operators/BitwiseOperatorTranslationsTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Translations/Operators/BitwiseOperatorTranslationsTestBase.cs @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Translations.Operators; public abstract class BitwiseOperatorTranslationsTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : BasicTypesQueryFixtureBase, new() { - [ConditionalFact] + [Fact] public virtual async Task Or() { await AssertQuery(ss => ss.Set().Where(b => (b.Int | b.Long) == 7)); @@ -18,7 +18,7 @@ public virtual async Task Or() await AssertQueryScalar(ss => ss.Set().Select(b => b.Int | b.Long)); } - [ConditionalFact] + [Fact] public virtual async Task Or_over_boolean() { await AssertQuery(ss => ss.Set().Where(b => b.Int == 12 | b.String == "Seattle")); @@ -26,11 +26,11 @@ public virtual async Task Or_over_boolean() await AssertQueryScalar(ss => ss.Set().Select(b => b.Int == 12 | b.String == "Seattle")); } - [ConditionalFact] + [Fact] public virtual Task Or_multiple() => AssertQuery(ss => ss.Set().Where(b => (b.Int | b.Short | b.Long) == 7)); - [ConditionalFact] + [Fact] public virtual async Task And() { await AssertQuery(ss => ss.Set().Where(b => (b.Int & b.Short) == 2)); @@ -38,7 +38,7 @@ public virtual async Task And() await AssertQueryScalar(ss => ss.Set().Select(b => b.Int & b.Short)); } - [ConditionalFact] + [Fact] public virtual async Task And_over_boolean() { await AssertQuery(ss => ss.Set().Where(b => b.Int == 8 & b.String == "Seattle")); @@ -46,7 +46,7 @@ public virtual async Task And_over_boolean() await AssertQueryScalar(ss => ss.Set().Select(b => b.Int == 8 & b.String == "Seattle")); } - [ConditionalFact] + [Fact] public virtual async Task Xor() { await AssertQuery(ss => ss.Set().Where(b => (b.Int ^ b.Short) == 1)); @@ -54,39 +54,39 @@ public virtual async Task Xor() await AssertQueryScalar(ss => ss.Set().Select(b => b.Int ^ b.Short)); } - [ConditionalFact] + [Fact] public virtual Task Xor_over_boolean() => AssertQuery(ss => ss.Set().Where(b => (b.Int == b.Short) ^ (b.String == "Seattle"))); - [ConditionalFact] + [Fact] public virtual Task Complement() => AssertQuery(ss => ss.Set().Where(b => ~b.Int == -9)); - [ConditionalFact] + [Fact] public virtual Task And_or_over_boolean() => AssertQuery(ss => ss.Set().Where(b => b.Int == 12 & b.Short == 12 | b.String == "Seattle")); - [ConditionalFact] + [Fact] public virtual Task Or_with_logical_or() => AssertQuery(ss => ss.Set().Where(b => b.Int == 12 | b.Short == 12 || b.String == "Seattle")); - [ConditionalFact] + [Fact] public virtual Task And_with_logical_and() => AssertQuery(ss => ss.Set().Where(b => b.Int == 8 & b.Short == 8 && b.String == "Seattle")); - [ConditionalFact] + [Fact] public virtual Task Or_with_logical_and() => AssertQuery(ss => ss.Set().Where(b => b.Int == 8 | b.Short == 9 && b.String == "Seattle")); - [ConditionalFact] + [Fact] public virtual Task And_with_logical_or() => AssertQuery(ss => ss.Set().Where(b => b.Int == 12 & b.Short == 12 || b.String == "Seattle")); - [ConditionalFact] + [Fact] public virtual Task Left_shift() => AssertQuery(ss => ss.Set().Where(b => b.Int << 1 == 16)); - [ConditionalFact] + [Fact] public virtual Task Right_shift() => AssertQuery(ss => ss.Set().Where(b => b.Int >> 1 == 4)); } diff --git a/test/EFCore.Specification.Tests/Query/Translations/Operators/ComparisonOperatorTranslationsTestBase.cs b/test/EFCore.Specification.Tests/Query/Translations/Operators/ComparisonOperatorTranslationsTestBase.cs index c620d8ca6d7..d1668059940 100644 --- a/test/EFCore.Specification.Tests/Query/Translations/Operators/ComparisonOperatorTranslationsTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Translations/Operators/ComparisonOperatorTranslationsTestBase.cs @@ -8,27 +8,27 @@ namespace Microsoft.EntityFrameworkCore.Query.Translations.Operators; public abstract class ComparisonOperatorTranslationsTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : BasicTypesQueryFixtureBase, new() { - [ConditionalFact] + [Fact] public virtual async Task Equal() => await AssertQuery(ss => ss.Set().Where(b => b.Int == 8)); - [ConditionalFact] + [Fact] public virtual async Task NotEqual() => await AssertQuery(ss => ss.Set().Where(b => b.Int != 8)); - [ConditionalFact] + [Fact] public virtual async Task GreaterThan() => await AssertQuery(ss => ss.Set().Where(b => b.Int > 8)); - [ConditionalFact] + [Fact] public virtual async Task GreaterThanOrEqual() => await AssertQuery(ss => ss.Set().Where(b => b.Int >= 8)); - [ConditionalFact] + [Fact] public virtual async Task LessThan() => await AssertQuery(ss => ss.Set().Where(b => b.Int < 8)); - [ConditionalFact] + [Fact] public virtual async Task LessThanOrEqual() => await AssertQuery(ss => ss.Set().Where(b => b.Int <= 8)); } diff --git a/test/EFCore.Specification.Tests/Query/Translations/Operators/LogicalOperatorTranslationsTestBase.cs b/test/EFCore.Specification.Tests/Query/Translations/Operators/LogicalOperatorTranslationsTestBase.cs index d293046454b..c446f8c7dc8 100644 --- a/test/EFCore.Specification.Tests/Query/Translations/Operators/LogicalOperatorTranslationsTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Translations/Operators/LogicalOperatorTranslationsTestBase.cs @@ -8,29 +8,29 @@ namespace Microsoft.EntityFrameworkCore.Query.Translations.Operators; public abstract class LogicalOperatorTranslationsTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : BasicTypesQueryFixtureBase, new() { - [ConditionalFact] + [Fact] public virtual async Task And() => await AssertQuery(ss => ss.Set().Where(b => b.Int == 8 && b.String == "Seattle")); - [ConditionalFact] + [Fact] public virtual async Task And_with_bool_property() => await AssertQuery(ss => ss.Set().Where(b => b.Bool && b.String == "Seattle")); - [ConditionalFact] + [Fact] public virtual async Task Or() => await AssertQuery(ss => ss.Set().Where(b => b.Int == 999 || b.String == "Seattle")); - [ConditionalFact] + [Fact] public virtual async Task Or_with_bool_property() => await AssertQuery(ss => ss.Set().Where(b => b.Bool || b.String == "Seattle")); - [ConditionalFact] + [Fact] public virtual async Task Not() => await AssertQuery( // ReSharper disable once NegativeEqualityExpression ss => ss.Set().Where(b => !(b.Int == 999))); - [ConditionalFact] + [Fact] public virtual async Task Not_with_bool_property() => await AssertQuery( // ReSharper disable once NegativeEqualityExpression diff --git a/test/EFCore.Specification.Tests/Query/Translations/Operators/MiscellaneousOperatorTranslationsTestBase.cs b/test/EFCore.Specification.Tests/Query/Translations/Operators/MiscellaneousOperatorTranslationsTestBase.cs index 8020ba46a37..98d91a84dfa 100644 --- a/test/EFCore.Specification.Tests/Query/Translations/Operators/MiscellaneousOperatorTranslationsTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Translations/Operators/MiscellaneousOperatorTranslationsTestBase.cs @@ -8,11 +8,11 @@ namespace Microsoft.EntityFrameworkCore.Query.Translations.Operators; public abstract class MiscellaneousOperatorTranslationsTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : BasicTypesQueryFixtureBase, new() { - [ConditionalFact] + [Fact] public virtual async Task Conditional() => await AssertQuery(ss => ss.Set().Where(b => (b.Int == 8 ? b.String : "Foo") == "Seattle")); - [ConditionalFact] + [Fact] public virtual async Task Coalesce() => await AssertQuery(ss => ss.Set().Where(b => (b.String ?? "Unknown") == "Seattle")); } diff --git a/test/EFCore.Specification.Tests/Query/Translations/StringTranslationsTestBase.cs b/test/EFCore.Specification.Tests/Query/Translations/StringTranslationsTestBase.cs index 9845800f1f1..0f26f10e312 100644 --- a/test/EFCore.Specification.Tests/Query/Translations/StringTranslationsTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Translations/StringTranslationsTestBase.cs @@ -18,7 +18,7 @@ protected virtual bool IsCaseSensitive #region Equals - [ConditionalFact] + [Fact] public virtual Task Equals() => IsCaseSensitive ? AssertQuery(ss => ss.Set().Where(b => b.String.Equals("Seattle"))) @@ -26,15 +26,15 @@ public virtual Task Equals() ss => ss.Set().Where(b => b.String.Equals("seattle")), ss => ss.Set().Where(b => b.String.Equals("seattle", StringComparison.OrdinalIgnoreCase))); - [ConditionalFact] + [Fact] public virtual Task Equals_with_OrdinalIgnoreCase() => AssertQuery(ss => ss.Set().Where(b => b.String.Equals("seattle", StringComparison.OrdinalIgnoreCase))); - [ConditionalFact] + [Fact] public virtual Task Equals_with_Ordinal() => AssertQuery(ss => ss.Set().Where(b => b.String.Equals("Seattle", StringComparison.Ordinal))); - [ConditionalFact] + [Fact] public virtual Task Static_Equals() => IsCaseSensitive ? AssertQuery(ss => ss.Set().Where(b => string.Equals(b.String, "Seattle"))) @@ -42,11 +42,11 @@ public virtual Task Static_Equals() ss => ss.Set().Where(b => string.Equals(b.String, "seattle")), ss => ss.Set().Where(b => string.Equals(b.String, "seattle", StringComparison.OrdinalIgnoreCase))); - [ConditionalFact] + [Fact] public virtual Task Static_Equals_with_OrdinalIgnoreCase() => AssertQuery(ss => ss.Set().Where(b => string.Equals(b.String, "seattle", StringComparison.OrdinalIgnoreCase))); - [ConditionalFact] + [Fact] public virtual Task Static_Equals_with_Ordinal() => AssertQuery(ss => ss.Set().Where(b => string.Equals(b.String, "Seattle", StringComparison.Ordinal))); @@ -54,11 +54,11 @@ public virtual Task Static_Equals_with_Ordinal() #region Miscellaneous - [ConditionalFact] + [Fact] public virtual Task Length() => AssertQuery(ss => ss.Set().Where(b => b.String.Length == 7)); - [ConditionalFact] + [Fact] public virtual async Task ToUpper() { // Note that if the database is case-insensitive, the Where() assertion checks nothing. @@ -67,7 +67,7 @@ public virtual async Task ToUpper() await AssertQuery(ss => ss.Set().Select(b => b.String.ToUpper())); } - [ConditionalFact] + [Fact] public virtual async Task ToLower() { // Note that if the database is case-insensitive, the Where() assertion checks nothing. @@ -80,7 +80,7 @@ public virtual async Task ToLower() #region IndexOf - [ConditionalFact] + [Fact] public virtual Task IndexOf() => IsCaseSensitive ? AssertQuery(ss => ss.Set().Where(b => b.String.IndexOf("eattl") != -1)) @@ -88,19 +88,19 @@ public virtual Task IndexOf() ss => ss.Set().Where(b => b.String.IndexOf("Eattl") != -1), ss => ss.Set().Where(b => b.String.IndexOf("Eattl", StringComparison.OrdinalIgnoreCase) != -1)); - [ConditionalFact] + [Fact] public virtual Task IndexOf_Char() => IsCaseSensitive ? AssertQuery(ss => ss.Set().Where(b => b.String.IndexOf('e') != -1)) : AssertQuery(ss => ss.Set().Where(b => b.String.IndexOf('e') != -1)); - [ConditionalFact] + [Fact] public virtual Task IndexOf_with_empty_string() => AssertQuery( ss => ss.Set().Where(b => b.String.IndexOf(string.Empty) == 0), ss => ss.Set().Where(b => b.String != null && b.String.IndexOf(string.Empty) == 0)); - [ConditionalFact] + [Fact] public virtual Task IndexOf_with_one_parameter_arg() { if (IsCaseSensitive) @@ -119,7 +119,7 @@ public virtual Task IndexOf_with_one_parameter_arg() } } - [ConditionalFact] + [Fact] public virtual Task IndexOf_with_one_parameter_arg_char() { if (IsCaseSensitive) @@ -138,16 +138,16 @@ public virtual Task IndexOf_with_one_parameter_arg_char() } } - [ConditionalFact] + [Fact] public virtual Task IndexOf_with_constant_starting_position() => AssertQuery(ss => ss.Set().Where(b => b.String.Length > 2 && b.String.IndexOf("e", 2) == 6)); - [ConditionalFact] + [Fact] public virtual Task IndexOf_with_constant_starting_position_char() => AssertQuery(ss => ss.Set().Where(b => b.String.Length > 2 && b.String.IndexOf('e', 2) == 6)); #pragma warning disable CA1866 // Use 'string.Method(char)' instead of 'string.Method(string)' for string with single char - [ConditionalFact] + [Fact] public virtual Task IndexOf_with_parameter_starting_position() { var start = 2; @@ -161,7 +161,7 @@ public virtual Task IndexOf_with_parameter_starting_position() } #pragma warning restore CA1866 - [ConditionalFact] + [Fact] public virtual Task IndexOf_with_parameter_starting_position_char() { var start = 2; @@ -171,11 +171,11 @@ public virtual Task IndexOf_with_parameter_starting_position_char() : AssertQuery(ss => ss.Set().Where(b => b.String.Length > 2 && b.String.IndexOf('e', start) == 6)); } - [ConditionalFact] + [Fact] public virtual Task IndexOf_after_ToString() => AssertQuery(ss => ss.Set().Where(x => x.Int.ToString().IndexOf("55") == 1)); - [ConditionalFact] + [Fact] public virtual Task IndexOf_over_ToString() => AssertQuery(ss => ss.Set().Where(x => "12559".IndexOf(x.Int.ToString()) == 1)); @@ -183,7 +183,7 @@ public virtual Task IndexOf_over_ToString() #region Replace - [ConditionalFact] + [Fact] public virtual Task Replace() => IsCaseSensitive ? AssertQuery(ss => ss.Set().Where(b => b.String.Replace("Sea", "Rea") == "Reattle")) @@ -192,17 +192,17 @@ public virtual Task Replace() ss => ss.Set() .Where(b => b.String.Replace("sea", "rea", StringComparison.OrdinalIgnoreCase) == "reattle")); - [ConditionalFact] + [Fact] public virtual Task Replace_Char() => AssertQuery(ss => ss.Set().Where(b => b.String.Replace('S', 'R') == "Reattle")); - [ConditionalFact] + [Fact] public virtual Task Replace_with_empty_string() => AssertQuery(ss => ss .Set() .Where(c => c.String != "" && c.String.Replace(c.String, string.Empty) == "")); - [ConditionalFact] + [Fact] public virtual Task Replace_using_property_arguments() => AssertQuery(ss => ss .Set() @@ -212,19 +212,19 @@ public virtual Task Replace_using_property_arguments() #region Substring - [ConditionalFact] + [Fact] public virtual Task Substring() => AssertQuery(ss => ss.Set().Where(b => b.String.Length >= 3 && b.String.Substring(1, 2) == "ea")); - [ConditionalFact] + [Fact] public virtual Task Substring_with_one_arg_with_zero_startIndex() => AssertQuery(ss => ss.Set().Where(b => b.String.Substring(0) == "Seattle")); - [ConditionalFact] + [Fact] public virtual Task Substring_with_one_arg_with_constant() => AssertQuery(ss => ss.Set().Where(b => b.String.Length >= 1 && b.String.Substring(1) == "eattle")); - [ConditionalFact] + [Fact] public virtual Task Substring_with_one_arg_with_parameter() { var start = 2; @@ -232,15 +232,15 @@ public virtual Task Substring_with_one_arg_with_parameter() return AssertQuery(ss => ss.Set().Where(b => b.String.Length >= 2 && b.String.Substring(start) == "attle")); } - [ConditionalFact] + [Fact] public virtual Task Substring_with_two_args_with_zero_startIndex() => AssertQuery(ss => ss.Set().Where(b => b.String.Length >= 3 && b.String.Substring(0, 3) == "Sea")); - [ConditionalFact] + [Fact] public virtual Task Substring_with_two_args_with_zero_length() => AssertQuery(ss => ss.Set().Where(b => b.String.Length >= 2 && b.String.Substring(2, 0) == "")); - [ConditionalFact] + [Fact] public virtual Task Substring_with_two_args_with_parameter() { var start = 2; @@ -248,7 +248,7 @@ public virtual Task Substring_with_two_args_with_parameter() return AssertQuery(ss => ss.Set().Where(b => b.String.Length >= 5 && b.String.Substring(start, 3) == "att")); } - [ConditionalFact] + [Fact] public virtual Task Substring_with_two_args_with_IndexOf() => AssertQuery(ss => ss.Set().Where(c => c.String.Contains("a") && c.String.Substring(c.String.IndexOf("a"), 3) == "att")); @@ -257,7 +257,7 @@ public virtual Task Substring_with_two_args_with_IndexOf() #region IsNullOrEmpty/Whitespace - [ConditionalFact] + [Fact] public virtual async Task IsNullOrEmpty() { await AssertQuery(ss => ss.Set().Where(n => string.IsNullOrEmpty(n.String))); @@ -265,7 +265,7 @@ public virtual async Task IsNullOrEmpty() await AssertQueryScalar(ss => ss.Set().Select(n => string.IsNullOrEmpty(n.String))); } - [ConditionalFact] + [Fact] public virtual async Task IsNullOrEmpty_negated() { await AssertQuery(ss => ss.Set().Where(n => !string.IsNullOrEmpty(n.String))); @@ -273,7 +273,7 @@ public virtual async Task IsNullOrEmpty_negated() await AssertQuery(ss => ss.Set().Select(n => !string.IsNullOrEmpty(n.String))); } - [ConditionalFact] + [Fact] public virtual Task IsNullOrWhiteSpace() => AssertQuery(ss => ss.Set().Where(c => string.IsNullOrWhiteSpace(c.String))); @@ -281,7 +281,7 @@ public virtual Task IsNullOrWhiteSpace() #region StartsWith - [ConditionalFact] + [Fact] public virtual Task StartsWith_Literal() => IsCaseSensitive ? AssertQuery(ss => ss.Set().Where(b => b.String.StartsWith("Se"))) @@ -289,7 +289,7 @@ public virtual Task StartsWith_Literal() ss => ss.Set().Where(b => b.String.StartsWith("se")), ss => ss.Set().Where(b => b.String.StartsWith("se", StringComparison.OrdinalIgnoreCase))); - [ConditionalFact] + [Fact] public virtual Task StartsWith_Literal_Char() => IsCaseSensitive ? AssertQuery(ss => ss.Set().Where(b => b.String.StartsWith('S'))) @@ -297,7 +297,7 @@ public virtual Task StartsWith_Literal_Char() ss => ss.Set().Where(b => b.String.StartsWith('S')), ss => ss.Set().Where(b => b.String.StartsWith('S'))); - [ConditionalFact] + [Fact] public virtual Task StartsWith_Parameter() { if (IsCaseSensitive) @@ -316,7 +316,7 @@ public virtual Task StartsWith_Parameter() } } - [ConditionalFact] + [Fact] public virtual Task StartsWith_Parameter_Char() { if (IsCaseSensitive) @@ -335,19 +335,19 @@ public virtual Task StartsWith_Parameter_Char() } } - [ConditionalFact] + [Fact] public virtual Task StartsWith_Column() => AssertQuery(ss => ss.Set().Where(b => b.String.StartsWith(b.String))); - [ConditionalFact] + [Fact] public virtual Task StartsWith_with_StringComparison_Ordinal() => AssertQuery(ss => ss.Set().Where(b => b.String.StartsWith("Se", StringComparison.Ordinal))); - [ConditionalFact] + [Fact] public virtual Task StartsWith_with_StringComparison_OrdinalIgnoreCase() => AssertQuery(ss => ss.Set().Where(b => b.String.StartsWith("Se", StringComparison.OrdinalIgnoreCase))); - [ConditionalFact] + [Fact] public virtual async Task StartsWith_with_StringComparison_unsupported() { await AssertTranslationFailed(() => @@ -368,7 +368,7 @@ await AssertTranslationFailed(() => #region EndsWith - [ConditionalFact] + [Fact] public virtual Task EndsWith_Literal() => IsCaseSensitive ? AssertQuery(ss => ss.Set().Where(b => b.String.EndsWith("le"))) @@ -376,13 +376,13 @@ public virtual Task EndsWith_Literal() ss => ss.Set().Where(b => b.String.EndsWith("Le")), ss => ss.Set().Where(b => b.String.EndsWith("Le", StringComparison.OrdinalIgnoreCase))); - [ConditionalFact] + [Fact] public virtual Task EndsWith_Literal_Char() => IsCaseSensitive ? AssertQuery(ss => ss.Set().Where(b => b.String.EndsWith('e'))) : AssertQuery(ss => ss.Set().Where(b => b.String.EndsWith('e'))); - [ConditionalFact] + [Fact] public virtual Task EndsWith_Parameter() { if (IsCaseSensitive) @@ -401,7 +401,7 @@ public virtual Task EndsWith_Parameter() } } - [ConditionalFact] + [Fact] public virtual Task EndsWith_Parameter_Char() { if (IsCaseSensitive) @@ -420,19 +420,19 @@ public virtual Task EndsWith_Parameter_Char() } } - [ConditionalFact] + [Fact] public virtual Task EndsWith_Column() => AssertQuery(ss => ss.Set().Where(b => b.String.EndsWith(b.String))); - [ConditionalFact] + [Fact] public virtual Task EndsWith_with_StringComparison_Ordinal() => AssertQuery(ss => ss.Set().Where(b => b.String.EndsWith("le", StringComparison.Ordinal))); - [ConditionalFact] + [Fact] public virtual Task EndsWith_with_StringComparison_OrdinalIgnoreCase() => AssertQuery(ss => ss.Set().Where(b => b.String.EndsWith("LE", StringComparison.OrdinalIgnoreCase))); - [ConditionalFact] + [Fact] public virtual async Task EndsWith_with_StringComparison_unsupported() { await AssertTranslationFailed(() => @@ -452,7 +452,7 @@ await AssertTranslationFailed(() => #region Contains - [ConditionalFact] + [Fact] public virtual Task Contains_Literal() => IsCaseSensitive ? AssertQuery(ss => ss.Set().Where(b => b.String.Contains("eattl"))) @@ -460,7 +460,7 @@ public virtual Task Contains_Literal() ss => ss.Set().Where(b => b.String.Contains("Eattl")), ss => ss.Set().Where(b => b.String.Contains("Eattl", StringComparison.OrdinalIgnoreCase))); - [ConditionalFact] + [Fact] public virtual Task Contains_Literal_Char() => IsCaseSensitive ? AssertQuery(ss => ss.Set().Where(b => b.String.Contains('e'))) @@ -468,7 +468,7 @@ public virtual Task Contains_Literal_Char() ss => ss.Set().Where(b => b.String.Contains('e')), ss => ss.Set().Where(b => b.String.Contains('e'))); - [ConditionalFact] + [Fact] public virtual async Task Contains_Column() { await AssertQuery(ss => ss.Set().Where(b => b.String.Contains(b.String))); @@ -476,7 +476,7 @@ public virtual async Task Contains_Column() await AssertQueryScalar(ss => ss.Set().Select(b => b.String.Contains(b.String))); } - [ConditionalFact] + [Fact] public virtual async Task Contains_negated() { if (IsCaseSensitive) @@ -497,15 +497,15 @@ await AssertQueryScalar( } } - [ConditionalFact] + [Fact] public virtual Task Contains_with_StringComparison_Ordinal() => AssertQuery(ss => ss.Set().Where(c => c.String.Contains("eattl", StringComparison.Ordinal))); - [ConditionalFact] + [Fact] public virtual Task Contains_with_StringComparison_OrdinalIgnoreCase() => AssertQuery(ss => ss.Set().Where(c => c.String.Contains("EATTL", StringComparison.OrdinalIgnoreCase))); - [ConditionalFact] + [Fact] public virtual async Task Contains_with_StringComparison_unsupported() { await AssertTranslationFailed(() => @@ -523,13 +523,13 @@ await AssertTranslationFailed(() => => ss.Set().Where(c => c.String.Contains("eattl", StringComparison.InvariantCultureIgnoreCase)))); } - [ConditionalFact] // Probably belongs in FunkyDataQueryTestBase + [Fact] // Probably belongs in FunkyDataQueryTestBase public virtual Task Contains_constant_with_whitespace() => AssertQuery( ss => ss.Set().Where(c => c.String.Contains(" ")), assertEmpty: true); - [ConditionalFact] // Probably belongs in FunkyDataQueryTestBase + [Fact] // Probably belongs in FunkyDataQueryTestBase public virtual Task Contains_parameter_with_whitespace() { var pattern = " "; @@ -542,15 +542,15 @@ public virtual Task Contains_parameter_with_whitespace() #region TrimStart - [ConditionalFact] + [Fact] public virtual Task TrimStart_without_arguments() => AssertQuery(ss => ss.Set().Where(c => c.String.TrimStart() == "Boston ")); - [ConditionalFact] + [Fact] public virtual Task TrimStart_with_char_argument() => AssertQuery(ss => ss.Set().Where(c => c.String.TrimStart('S') == "eattle")); - [ConditionalFact] + [Fact] public virtual Task TrimStart_with_char_array_argument() => AssertQuery(ss => ss.Set().Where(c => c.String.TrimStart(new[] { 'S', 'e' }) == "attle")); @@ -558,15 +558,15 @@ public virtual Task TrimStart_with_char_array_argument() #region TrimEnd - [ConditionalFact] + [Fact] public virtual Task TrimEnd_without_arguments() => AssertQuery(ss => ss.Set().Where(c => c.String.TrimEnd() == " Boston")); - [ConditionalFact] + [Fact] public virtual Task TrimEnd_with_char_argument() => AssertQuery(ss => ss.Set().Where(c => c.String.TrimEnd('e') == "Seattl")); - [ConditionalFact] + [Fact] public virtual Task TrimEnd_with_char_array_argument() => AssertQuery(ss => ss.Set().Where(c => c.String.TrimEnd(new[] { 'l', 'e' }) == "Seatt")); @@ -574,15 +574,15 @@ public virtual Task TrimEnd_with_char_array_argument() #region Trim - [ConditionalFact] + [Fact] public virtual Task Trim_without_argument_in_predicate() => AssertQuery(ss => ss.Set().Where(c => c.String.Trim() == "Boston")); - [ConditionalFact] + [Fact] public virtual Task Trim_with_char_argument_in_predicate() => AssertQuery(ss => ss.Set().Where(c => c.String.Trim('S') == "eattle")); - [ConditionalFact] + [Fact] public virtual Task Trim_with_char_array_argument_in_predicate() => AssertQuery(ss => ss.Set().Where(c => c.String.Trim(new[] { 'S', 'e' }) == "attl")); @@ -590,7 +590,7 @@ public virtual Task Trim_with_char_array_argument_in_predicate() #region Compare - [ConditionalFact] + [Fact] public virtual async Task Compare_simple_zero() { if (IsCaseSensitive) @@ -635,7 +635,7 @@ await AssertQuery( } } - [ConditionalFact] + [Fact] public virtual async Task Compare_simple_one() { await AssertQuery(ss => ss.Set().Where(c => string.Compare(c.String, "Seattle") == 1)); @@ -651,7 +651,7 @@ public virtual async Task Compare_simple_one() await AssertQuery(ss => ss.Set().Where(c => -1 < string.Compare(c.String, "Seattle"))); } - [ConditionalFact] + [Fact] public virtual async Task Compare_with_parameter() { BasicTypesEntity? basicTypeEntity; @@ -675,7 +675,7 @@ public virtual async Task Compare_with_parameter() await AssertQuery(ss => ss.Set().Where(c => -1 < string.Compare(c.String, basicTypeEntity.String))); } - [ConditionalFact] + [Fact] public virtual async Task Compare_simple_more_than_one() { await AssertQuery( @@ -689,7 +689,7 @@ await AssertQuery( await AssertQuery(ss => ss.Set().Where(c => 42 > string.Compare(c.String, "Seattle"))); } - [ConditionalFact] + [Fact] public virtual async Task Compare_nested() { await AssertQuery( @@ -709,13 +709,13 @@ await AssertQuery( await AssertQuery(ss => ss.Set().Where(c => string.Compare(c.String, "Seattle".Replace("Sea", c.String)) == -1)); } - [ConditionalFact] + [Fact] public virtual async Task Compare_multi_predicate() => await AssertQuery(ss => ss.Set() .Where(c => string.Compare(c.String, "Seattle") > -1) .Where(c => string.Compare(c.String, "Toronto") == -1)); - [ConditionalFact] + [Fact] public virtual async Task CompareTo_simple_zero() { await AssertQuery(ss => ss.Set().Where(c => c.String.CompareTo("Seattle") == 0)); @@ -731,7 +731,7 @@ public virtual async Task CompareTo_simple_zero() await AssertQuery(ss => ss.Set().Where(c => c.String.CompareTo("Seattle") <= 0)); } - [ConditionalFact] + [Fact] public virtual async Task CompareTo_simple_one() { await AssertQuery(ss => ss.Set().Where(c => c.String.CompareTo("Seattle") == 1)); @@ -747,7 +747,7 @@ public virtual async Task CompareTo_simple_one() await AssertQuery(ss => ss.Set().Where(c => -1 < c.String.CompareTo("Seattle"))); } - [ConditionalFact] + [Fact] public virtual async Task CompareTo_with_parameter() { BasicTypesEntity? basicTypesEntity; @@ -771,7 +771,7 @@ public virtual async Task CompareTo_with_parameter() await AssertQuery(ss => ss.Set().Where(c => -1 < c.String.CompareTo(basicTypesEntity.String))); } - [ConditionalFact] + [Fact] public virtual async Task CompareTo_simple_more_than_one() { await AssertQuery( @@ -785,7 +785,7 @@ await AssertQuery( await AssertQuery(ss => ss.Set().Where(c => 42 > c.String.CompareTo("Seattle"))); } - [ConditionalFact] + [Fact] public virtual async Task CompareTo_nested() { await AssertQuery( @@ -805,7 +805,7 @@ await AssertQuery( await AssertQuery(ss => ss.Set().Where(c => c.String.CompareTo("Seattle".Replace("Sea", c.String)) == -1)); } - [ConditionalFact] + [Fact] public virtual async Task Compare_to_multi_predicate() => await AssertQuery(ss => ss.Set() .Where(c => c.String.CompareTo("Seattle") > -1) @@ -815,7 +815,7 @@ public virtual async Task Compare_to_multi_predicate() #region Join - [ConditionalFact] + [Fact] public virtual Task Join_over_non_nullable_column() => AssertQuery( ss => ss.Set() @@ -832,7 +832,7 @@ public virtual Task Join_over_non_nullable_column() a.Strings.Split("|").OrderBy(id => id).ToArray()); }); - [ConditionalFact] + [Fact] public virtual Task Join_over_nullable_column() => AssertQuery( ss => ss.Set() @@ -849,7 +849,7 @@ public virtual Task Join_over_nullable_column() a.Regions.Split("|").OrderBy(id => id).ToArray()); }); - [ConditionalFact] + [Fact] public virtual Task Join_with_predicate() => AssertQuery( ss => ss.Set() @@ -866,7 +866,7 @@ public virtual Task Join_with_predicate() a.Strings.Split("|").OrderBy(id => id).ToArray()); }); - [ConditionalFact] + [Fact] public virtual Task Join_with_ordering() => AssertQuery( ss => ss.Set() @@ -874,7 +874,7 @@ public virtual Task Join_with_ordering() .Select(g => new { g.Key, Strings = string.Join("|", g.OrderByDescending(e => e.Id).Select(e => e.String)) }), elementSorter: x => x.Key); - [ConditionalFact] + [Fact] public virtual Task Join_non_aggregate() { var foo = "foo"; @@ -887,13 +887,13 @@ public virtual Task Join_non_aggregate() #region Concatenation - [ConditionalFact] + [Fact] public virtual Task Concat_operator() => AssertQuery(ss => ss.Set().Where(b => b.String + "Boston" == "SeattleBoston")); // TODO: Possibly move to aggregate-specific test suite, not sure. Also Join above. - [ConditionalFact] + [Fact] public virtual Task Concat_aggregate() => AssertQuery( ss => ss.Set() @@ -909,7 +909,7 @@ public virtual Task Concat_aggregate() Assert.Equal(e.BasicTypesEntitys.OrderBy(c => c).ToArray(), a.BasicTypesEntitys.OrderBy(c => c).ToArray()); }); - [ConditionalFact] // #31917 + [Fact] // #31917 public virtual Task Concat_string_int_comparison1() { var i = 10; @@ -917,7 +917,7 @@ public virtual Task Concat_string_int_comparison1() return AssertQuery(ss => ss.Set().Where(c => c.String + i == "Seattle10")); } - [ConditionalFact] // #31917 + [Fact] // #31917 public virtual Task Concat_string_int_comparison2() { var i = 10; @@ -925,7 +925,7 @@ public virtual Task Concat_string_int_comparison2() return AssertQuery(ss => ss.Set().Where(c => i + c.String == "10Seattle")); } - [ConditionalFact] // #31917 + [Fact] // #31917 public virtual Task Concat_string_int_comparison3() { var i = 10; @@ -934,11 +934,11 @@ public virtual Task Concat_string_int_comparison3() return AssertQuery(ss => ss.Set().Where(c => i + 20 + c.String + j + 42 == "30Seattle2142")); } - [ConditionalFact] // #31917 + [Fact] // #31917 public virtual Task Concat_string_int_comparison4() => AssertQuery(ss => ss.Set().Where(o => o.Int + o.String == "8Seattle")); - [ConditionalFact] + [Fact] public virtual Task Concat_string_string_comparison() { var i = "A"; @@ -946,7 +946,7 @@ public virtual Task Concat_string_string_comparison() return AssertQuery(ss => ss.Set().Where(c => i + c.String == "ASeattle")); } - [ConditionalFact] + [Fact] public virtual Task Concat_method_comparison() { var i = "A"; @@ -954,7 +954,7 @@ public virtual Task Concat_method_comparison() return AssertQuery(ss => ss.Set().Where(c => string.Concat(i, c.String) == "ASeattle")); } - [ConditionalFact] + [Fact] public virtual Task Concat_method_comparison_2() { var i = "A"; @@ -963,7 +963,7 @@ public virtual Task Concat_method_comparison_2() return AssertQuery(ss => ss.Set().Where(c => string.Concat(i, j, c.String) == "ABSeattle")); } - [ConditionalFact] + [Fact] public virtual Task Concat_method_comparison_3() { var i = "A"; @@ -977,11 +977,11 @@ public virtual Task Concat_method_comparison_3() #region LINQ Operators - [ConditionalFact] + [Fact] public virtual Task FirstOrDefault() => AssertQuery(ss => ss.Set().Where(c => c.String.FirstOrDefault() == 'S')); - [ConditionalFact] + [Fact] public virtual Task LastOrDefault() => AssertQuery(ss => ss.Set().Where(c => c.String.LastOrDefault() == 'e')); @@ -989,7 +989,7 @@ public virtual Task LastOrDefault() #region Regex - [ConditionalFact] + [Fact] public virtual Task Regex_IsMatch() => IsCaseSensitive ? AssertQuery(ss => ss.Set().Where(o => Regex.IsMatch(o.String, "^S"))) @@ -997,7 +997,7 @@ public virtual Task Regex_IsMatch() ss => ss.Set().Where(o => Regex.IsMatch(o.String, "^s")), ss => ss.Set().Where(o => Regex.IsMatch(o.String, "^s", RegexOptions.IgnoreCase))); - [ConditionalFact] + [Fact] public virtual Task Regex_IsMatch_constant_input() => IsCaseSensitive ? AssertQuery(ss => ss.Set().Where(o => Regex.IsMatch("Seattle", o.String))) diff --git a/test/EFCore.Specification.Tests/Query/Translations/Temporal/DateOnlyTranslationsTestBase.cs b/test/EFCore.Specification.Tests/Query/Translations/Temporal/DateOnlyTranslationsTestBase.cs index 5c21d1d4c10..92a30af1a7e 100644 --- a/test/EFCore.Specification.Tests/Query/Translations/Temporal/DateOnlyTranslationsTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Translations/Temporal/DateOnlyTranslationsTestBase.cs @@ -8,55 +8,55 @@ namespace Microsoft.EntityFrameworkCore.Query.Translations.Temporal; public abstract class DateOnlyTranslationsTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : BasicTypesQueryFixtureBase, new() { - [ConditionalFact] + [Fact] public virtual Task Year() => AssertQuery(ss => ss.Set().Where(b => b.DateOnly.Year == 1990)); - [ConditionalFact] + [Fact] public virtual Task Month() => AssertQuery(ss => ss.Set().Where(b => b.DateOnly.Month == 11)); - [ConditionalFact] + [Fact] public virtual Task Day() => AssertQuery(ss => ss.Set().Where(b => b.DateOnly.Day == 10)); - [ConditionalFact] + [Fact] public virtual Task DayOfYear() => AssertQuery(ss => ss.Set().Where(b => b.DateOnly.DayOfYear == 314)); - [ConditionalFact] + [Fact] public virtual Task DayOfWeek() => AssertQuery(ss => ss.Set().Where(b => b.DateOnly.DayOfWeek == System.DayOfWeek.Saturday)); - [ConditionalFact] + [Fact] public virtual Task DayNumber() => AssertQuery(ss => ss.Set().Where(b => b.DateOnly.DayNumber == 726780)); - [ConditionalFact] + [Fact] public virtual Task AddYears() => AssertQuery(ss => ss.Set().Where(b => b.DateOnly.AddYears(3) == new DateOnly(1993, 11, 10))); - [ConditionalFact] + [Fact] public virtual Task AddMonths() => AssertQuery(ss => ss.Set().Where(b => b.DateOnly.AddMonths(3) == new DateOnly(1991, 2, 10))); - [ConditionalFact] + [Fact] public virtual Task AddDays() => AssertQuery(ss => ss.Set().Where(b => b.DateOnly.AddDays(3) == new DateOnly(1990, 11, 13))); - [ConditionalFact] + [Fact] public virtual Task DayNumber_subtraction() => AssertQuery(ss => ss.Set().Where(b => b.DateOnly.DayNumber - new DateOnly(1990, 11, 5).DayNumber == 5)); - [ConditionalFact] + [Fact] public virtual Task FromDateTime() => AssertQuery(ss => ss.Set().Where(o => DateOnly.FromDateTime(o.DateTime) == new DateOnly(1998, 5, 4))); - [ConditionalFact] + [Fact] public virtual Task FromDateTime_compared_to_property() => AssertQuery(ss => ss.Set().Where(o => DateOnly.FromDateTime(o.DateTime) == o.DateOnly)); - [ConditionalFact] + [Fact] public virtual Task FromDateTime_compared_to_constant_and_parameter() { var dateOnly = new DateOnly(2, 10, 11); @@ -65,27 +65,27 @@ public virtual Task FromDateTime_compared_to_constant_and_parameter() .Where(x => new[] { dateOnly, new DateOnly(1998, 5, 4) }.Contains(DateOnly.FromDateTime(x.DateTime)))); } - [ConditionalFact] + [Fact] public virtual Task ToDateTime_property_with_constant_TimeOnly() => AssertQuery(ss => ss.Set() .Where(o => o.DateOnly.ToDateTime(new TimeOnly(21, 5, 19, 940, 500)) == new DateTime(2020, 1, 1, 21, 5, 19, 940, 500))); - [ConditionalFact] + [Fact] public virtual Task ToDateTime_property_with_property_TimeOnly() => AssertQuery(ss => ss.Set() .Where(o => o.DateOnly.ToDateTime(o.TimeOnly) == new DateTime(2020, 1, 1, 15, 30, 10))); - [ConditionalFact] + [Fact] public virtual Task ToDateTime_constant_DateTime_with_property_TimeOnly() => AssertQuery(ss => ss.Set() .Where(o => new DateOnly(1990, 11, 10).ToDateTime(o.TimeOnly) == new DateTime(1990, 11, 10, 15, 30, 10))); - [ConditionalFact] + [Fact] public virtual Task ToDateTime_with_complex_DateTime() => AssertQuery(ss => ss.Set() .Where(o => o.DateOnly.AddYears(1).ToDateTime(o.TimeOnly) == new DateTime(2021, 1, 1, 15, 30, 10))); - [ConditionalFact] + [Fact] public virtual Task ToDateTime_with_complex_TimeOnly() => AssertQuery(ss => ss.Set() .Where(o => o.DateOnly.ToDateTime(o.TimeOnly.AddHours(1)) == new DateTime(2020, 1, 1, 16, 30, 10)) diff --git a/test/EFCore.Specification.Tests/Query/Translations/Temporal/DateTimeOffsetTranslationsTestBase.cs b/test/EFCore.Specification.Tests/Query/Translations/Temporal/DateTimeOffsetTranslationsTestBase.cs index 450b6ad267d..a60937c6768 100644 --- a/test/EFCore.Specification.Tests/Query/Translations/Temporal/DateTimeOffsetTranslationsTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Translations/Temporal/DateTimeOffsetTranslationsTestBase.cs @@ -8,108 +8,108 @@ namespace Microsoft.EntityFrameworkCore.Query.Translations.Temporal; public abstract class DateTimeOffsetTranslationsTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : BasicTypesQueryFixtureBase, new() { - [ConditionalFact] + [Fact] public virtual Task Now() => AssertQuery(ss => ss.Set().Where(b => b.DateTimeOffset != DateTimeOffset.Now)); - [ConditionalFact] + [Fact] public virtual Task UtcNow() => AssertQuery(ss => ss.Set().Where(b => b.DateTimeOffset != DateTimeOffset.UtcNow)); - [ConditionalFact] + [Fact] public virtual Task Date() => AssertQuery(ss => ss.Set().Where(b => b.DateTimeOffset.Date > new DateTimeOffset().Date)); - [ConditionalFact] + [Fact] public virtual Task Year() => AssertQuery(ss => ss.Set().Where(b => b.DateTimeOffset.Year == 1998)); - [ConditionalFact] + [Fact] public virtual Task Month() => AssertQuery(ss => ss.Set().Where(b => b.DateTimeOffset.Month == 5)); - [ConditionalFact] + [Fact] public virtual Task DayOfYear() => AssertQuery(ss => ss.Set().Where(b => b.DateTimeOffset.DayOfYear == 124)); - [ConditionalFact] + [Fact] public virtual Task Day() => AssertQuery(ss => ss.Set().Where(b => b.DateTimeOffset.Day == 4)); - [ConditionalFact] + [Fact] public virtual Task Hour() => AssertQuery(ss => ss.Set().Where(b => b.DateTimeOffset.Hour == 15)); - [ConditionalFact] + [Fact] public virtual Task Minute() => AssertQuery(ss => ss.Set().Where(b => b.DateTimeOffset.Minute == 30)); - [ConditionalFact] + [Fact] public virtual Task Second() => AssertQuery(ss => ss.Set().Where(b => b.DateTimeOffset.Second == 10)); - [ConditionalFact] + [Fact] public virtual Task Millisecond() => AssertQuery(ss => ss.Set().Where(b => b.DateTimeOffset.Millisecond == 123)); - [ConditionalFact] + [Fact] public virtual Task Microsecond() => AssertQuery(ss => ss.Set().Where(e => e.DateTimeOffset.Microsecond == 456)); - [ConditionalFact] + [Fact] public virtual Task Nanosecond() => AssertQuery(ss => ss.Set().Where(e => e.DateTimeOffset.Nanosecond == 400)); - [ConditionalFact] + [Fact] public virtual Task TimeOfDay() => AssertQueryScalar(ss => ss.Set().Select(b => b.DateTimeOffset.TimeOfDay)); - [ConditionalFact] + [Fact] public virtual Task DateTime() => AssertQuery( ss => ss.Set().Where(b => b.DateTimeOffset.DateTime == new DateTime(1998, 5, 4, 15, 30, 10))); - [ConditionalFact] + [Fact] public virtual Task UtcDateTime() => AssertQuery( ss => ss.Set().Where(b => b.DateTimeOffset.UtcDateTime == new DateTime(1998, 5, 4, 15, 30, 10))); - [ConditionalFact] + [Fact] public virtual Task LocalDateTime() // Note: DateTimeOffset.LocalDateTime depends on the machine's local time zone, and the client and server may be in different // time zones. Use a comparison far from any timezone boundary so the same rows match regardless of timezone. => AssertQuery( ss => ss.Set().Where(b => b.DateTimeOffset.LocalDateTime > new DateTime(1999, 1, 1))); - [ConditionalFact] + [Fact] public virtual Task AddYears() => AssertQueryScalar(ss => ss.Set().Select(b => b.DateTimeOffset.AddYears(1))); - [ConditionalFact] + [Fact] public virtual Task AddMonths() => AssertQueryScalar(ss => ss.Set().Select(b => b.DateTimeOffset.AddMonths(1))); - [ConditionalFact] + [Fact] public virtual Task AddDays() => AssertQueryScalar(ss => ss.Set().Select(b => b.DateTimeOffset.AddDays(1))); - [ConditionalFact] + [Fact] public virtual Task AddHours() => AssertQueryScalar(ss => ss.Set().Select(b => b.DateTimeOffset.AddHours(1))); - [ConditionalFact] + [Fact] public virtual Task AddMinutes() => AssertQueryScalar(ss => ss.Set().Select(b => b.DateTimeOffset.AddMinutes(1))); - [ConditionalFact] + [Fact] public virtual Task AddSeconds() => AssertQueryScalar(ss => ss.Set().Select(b => b.DateTimeOffset.AddSeconds(1))); - [ConditionalFact] + [Fact] public virtual Task AddMilliseconds() => AssertQueryScalar(ss => ss.Set().Select(b => b.DateTimeOffset.AddMilliseconds(300))); - [ConditionalFact] + [Fact] public virtual Task ToUnixTimeMilliseconds() { var unixEpochMilliseconds = new DateTimeOffset(1998, 5, 4, 15, 30, 10, TimeSpan.Zero).ToUnixTimeMilliseconds(); @@ -118,7 +118,7 @@ public virtual Task ToUnixTimeMilliseconds() .Where(b => b.DateTimeOffset.ToUnixTimeMilliseconds() == unixEpochMilliseconds)); } - [ConditionalFact] + [Fact] public virtual Task ToUnixTimeSecond() { var unixEpochSeconds = new DateTimeOffset(1998, 5, 4, 15, 30, 10, TimeSpan.Zero).ToUnixTimeSeconds(); @@ -127,7 +127,7 @@ public virtual Task ToUnixTimeSecond() .Where(b => b.DateTimeOffset.ToUnixTimeSeconds() == unixEpochSeconds)); } - [ConditionalFact] + [Fact] public virtual Task ToOffset() => AssertQuery( ss => ss.Set() @@ -135,7 +135,7 @@ public virtual Task ToOffset() // new DateTimeOffset(DateTime) with Unspecified kind: databases don't have DateTimeKind, so this is always treated // as UTC (+00:00). The expected query explicitly uses TimeSpan.Zero to match. - [ConditionalFact] + [Fact] public virtual Task Ctor_DateTime() => AssertQuery( ss => ss.Set() @@ -143,14 +143,14 @@ public virtual Task Ctor_DateTime() ss => ss.Set() .Where(b => new DateTimeOffset(b.DateTime, TimeSpan.Zero) == new DateTimeOffset(1998, 5, 4, 15, 30, 10, TimeSpan.Zero))); - [ConditionalFact] + [Fact] public virtual Task Ctor_DateTime_TimeSpan() => AssertQuery( ss => ss.Set() .Where(b => b.DateTime.Year > 1) .Where(b => new DateTimeOffset(b.DateTime, new TimeSpan(2, 0, 0)) == new DateTimeOffset(1998, 5, 4, 15, 30, 10, new TimeSpan(2, 0, 0)))); - [ConditionalFact] + [Fact] public virtual Task Milliseconds_parameter_and_constant() { var dateTimeOffset = new DateTimeOffset(599898024001234567, new TimeSpan(1, 30, 0)); diff --git a/test/EFCore.Specification.Tests/Query/Translations/Temporal/DateTimeTranslationsTestBase.cs b/test/EFCore.Specification.Tests/Query/Translations/Temporal/DateTimeTranslationsTestBase.cs index f5b7d32b375..350f98e8abb 100644 --- a/test/EFCore.Specification.Tests/Query/Translations/Temporal/DateTimeTranslationsTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Translations/Temporal/DateTimeTranslationsTestBase.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Translations.Temporal; public abstract class DateTimeTranslationsTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : BasicTypesQueryFixtureBase, new() { - [ConditionalFact] + [Fact] public virtual Task Now() { var myDatetime = new DateTime(2015, 4, 10); @@ -16,7 +16,7 @@ public virtual Task Now() return AssertQuery(ss => ss.Set().Where(c => DateTime.Now != myDatetime)); } - [ConditionalFact] + [Fact] public virtual Task UtcNow() { var myDatetime = new DateTime(2015, 4, 10); @@ -24,13 +24,13 @@ public virtual Task UtcNow() return AssertQuery(ss => ss.Set().Where(c => DateTime.UtcNow != myDatetime)); } - [ConditionalFact] + [Fact] public virtual Task Today() => AssertQuery( ss => ss.Set().Where(e => e.DateTime == DateTime.Today), assertEmpty: true); - [ConditionalFact] + [Fact] public virtual Task Date() { var myDatetime = new DateTime(1998, 5, 4); @@ -38,47 +38,47 @@ public virtual Task Date() return AssertQuery(ss => ss.Set().Where(o => o.DateTime.Date == myDatetime)); } - [ConditionalFact] + [Fact] public virtual Task AddYear() => AssertQuery(ss => ss.Set().Where(o => o.DateTime.AddYears(1).Year == 1999)); - [ConditionalFact] + [Fact] public virtual Task Year() => AssertQuery(ss => ss.Set().Where(o => o.DateTime.Year == 1998)); - [ConditionalFact] + [Fact] public virtual Task Month() => AssertQuery(ss => ss.Set().Where(o => o.DateTime.Month == 5)); - [ConditionalFact] + [Fact] public virtual Task DayOfYear() => AssertQuery(ss => ss.Set().Where(o => o.DateTime.DayOfYear == 124)); - [ConditionalFact] + [Fact] public virtual Task Day() => AssertQuery(ss => ss.Set().Where(o => o.DateTime.Day == 4)); - [ConditionalFact] + [Fact] public virtual Task Hour() => AssertQuery(ss => ss.Set().Where(o => o.DateTime.Hour == 15)); - [ConditionalFact] + [Fact] public virtual Task Minute() => AssertQuery(ss => ss.Set().Where(o => o.DateTime.Minute == 30)); - [ConditionalFact] + [Fact] public virtual Task Second() => AssertQuery(ss => ss.Set().Where(o => o.DateTime.Second == 10)); - [ConditionalFact] + [Fact] public virtual Task Millisecond() => AssertQuery(ss => ss.Set().Where(o => o.DateTime.Millisecond == 123)); - [ConditionalFact] + [Fact] public virtual Task TimeOfDay() => AssertQuery(ss => ss.Set().Where(o => o.DateTime.TimeOfDay == TimeSpan.Zero)); - [ConditionalFact] + [Fact] public virtual Task subtract_and_TotalDays() { var date = new DateTime(1997, 1, 1); @@ -86,11 +86,11 @@ public virtual Task subtract_and_TotalDays() return AssertQuery(ss => ss.Set().Where(o => (o.DateTime - date).TotalDays > 365)); } - [ConditionalFact] + [Fact] public virtual Task Parse_with_constant() => AssertQuery(ss => ss.Set().Where(o => o.DateTime == DateTime.Parse("5/4/1998 15:30:10 PM"))); - [ConditionalFact] + [Fact] public virtual Task Parse_with_parameter() { var date = "5/4/1998 15:30:10 PM"; @@ -98,11 +98,11 @@ public virtual Task Parse_with_parameter() return AssertQuery(ss => ss.Set().Where(o => o.DateTime == DateTime.Parse(date))); } - [ConditionalFact] + [Fact] public virtual Task New_with_constant() => AssertQuery(ss => ss.Set().Where(o => o.DateTime == new DateTime(1998, 5, 4, 15, 30, 10))); - [ConditionalFact] + [Fact] public virtual async Task New_with_parameters() { var year = 1998; diff --git a/test/EFCore.Specification.Tests/Query/Translations/Temporal/TimeOnlyTranslationsTestBase.cs b/test/EFCore.Specification.Tests/Query/Translations/Temporal/TimeOnlyTranslationsTestBase.cs index a32ec94998c..8d2ac81119c 100644 --- a/test/EFCore.Specification.Tests/Query/Translations/Temporal/TimeOnlyTranslationsTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Translations/Temporal/TimeOnlyTranslationsTestBase.cs @@ -8,55 +8,55 @@ namespace Microsoft.EntityFrameworkCore.Query.Translations.Temporal; public abstract class TimeOnlyTranslationsTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : BasicTypesQueryFixtureBase, new() { - [ConditionalFact] + [Fact] public virtual Task Hour() => AssertQuery(ss => ss.Set().Where(b => b.TimeOnly.Hour == 15)); - [ConditionalFact] + [Fact] public virtual Task Minute() => AssertQuery(ss => ss.Set().Where(b => b.TimeOnly.Minute == 30)); - [ConditionalFact] + [Fact] public virtual Task Second() => AssertQuery(ss => ss.Set().Where(b => b.TimeOnly.Second == 10)); - [ConditionalFact] + [Fact] public virtual Task Millisecond() => AssertQuery(ss => ss.Set().Where(b => b.TimeOnly.Millisecond == 123)); - [ConditionalFact] + [Fact] public virtual Task Microsecond() => AssertQuery(ss => ss.Set().Where(e => e.TimeOnly.Microsecond == 456)); - [ConditionalFact] + [Fact] public virtual Task Nanosecond() => AssertQuery(ss => ss.Set().Where(e => e.TimeOnly.Nanosecond == 400)); - [ConditionalFact] + [Fact] public virtual Task AddHours() => AssertQuery(ss => ss.Set().Where(b => b.TimeOnly.AddHours(3) == new TimeOnly(18, 30, 10))); - [ConditionalFact] + [Fact] public virtual Task AddMinutes() => AssertQuery(ss => ss.Set().Where(b => b.TimeOnly.AddMinutes(3) == new TimeOnly(15, 33, 10))); - [ConditionalFact] + [Fact] public virtual Task Add_TimeSpan() => AssertQuery(ss => ss.Set().Where(b => b.TimeOnly.Add(new TimeSpan(3, 0, 0)) == new TimeOnly(18, 30, 10))); - [ConditionalFact] + [Fact] public virtual Task IsBetween() => AssertQuery(ss => ss.Set().Where(b => b.TimeOnly.IsBetween(new TimeOnly(14, 0, 0), new TimeOnly(16, 0, 0)))); - [ConditionalFact] + [Fact] public virtual Task Subtract() => AssertQuery(ss => ss.Set().Where(b => b.TimeOnly - new TimeOnly(3, 0, 0) == new TimeSpan(12, 30, 10))); - [ConditionalFact] + [Fact] public virtual Task FromDateTime_compared_to_property() => AssertQuery(ss => ss.Set().Where(b => TimeOnly.FromDateTime(b.DateTime) == b.TimeOnly)); - [ConditionalFact] + [Fact] public virtual Task FromDateTime_compared_to_parameter() { var time = new TimeOnly(15, 30, 10); @@ -64,15 +64,15 @@ public virtual Task FromDateTime_compared_to_parameter() return AssertQuery(ss => ss.Set().Where(b => TimeOnly.FromDateTime(b.DateTime) == time)); } - [ConditionalFact] + [Fact] public virtual Task FromDateTime_compared_to_constant() => AssertQuery(ss => ss.Set().Where(b => TimeOnly.FromDateTime(b.DateTime) == new TimeOnly(15, 30, 10))); - [ConditionalFact] + [Fact] public virtual Task FromTimeSpan_compared_to_property() => AssertQuery(ss => ss.Set().Where(b => TimeOnly.FromTimeSpan(b.TimeSpan) < b.TimeOnly)); - [ConditionalFact] + [Fact] public virtual Task FromTimeSpan_compared_to_parameter() { var time = new TimeOnly(1, 2, 3); @@ -80,7 +80,7 @@ public virtual Task FromTimeSpan_compared_to_parameter() return AssertQuery(ss => ss.Set().Where(x => TimeOnly.FromTimeSpan(x.TimeSpan) == time)); } - [ConditionalFact] + [Fact] public virtual Task Order_by_FromTimeSpan() => AssertQuery( ss => ss.Set().OrderBy(x => TimeOnly.FromTimeSpan(x.TimeSpan)), diff --git a/test/EFCore.Specification.Tests/Query/Translations/Temporal/TimeSpanTranslationsTestBase.cs b/test/EFCore.Specification.Tests/Query/Translations/Temporal/TimeSpanTranslationsTestBase.cs index 8f5d49421fe..75f823524bb 100644 --- a/test/EFCore.Specification.Tests/Query/Translations/Temporal/TimeSpanTranslationsTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/Translations/Temporal/TimeSpanTranslationsTestBase.cs @@ -8,27 +8,27 @@ namespace Microsoft.EntityFrameworkCore.Query.Translations.Temporal; public abstract class TimeSpanTranslationsTestBase(TFixture fixture) : QueryTestBase(fixture) where TFixture : BasicTypesQueryFixtureBase, new() { - [ConditionalFact] + [Fact] public virtual Task Hours() => AssertQuery(ss => ss.Set().Where(b => b.TimeSpan.Hours == 3)); - [ConditionalFact] + [Fact] public virtual Task Minutes() => AssertQuery(ss => ss.Set().Where(b => b.TimeSpan.Minutes == 4)); - [ConditionalFact] + [Fact] public virtual Task Seconds() => AssertQuery(ss => ss.Set().Where(b => b.TimeSpan.Seconds == 5)); - [ConditionalFact] + [Fact] public virtual Task Milliseconds() => AssertQuery(ss => ss.Set().Where(b => b.TimeSpan.Milliseconds == 678)); - [ConditionalFact] + [Fact] public virtual Task Microseconds() => AssertQuery(ss => ss.Set().Where(b => b.TimeSpan.Microseconds == 912)); - [ConditionalFact] + [Fact] public virtual Task Nanoseconds() => AssertQuery(ss => ss.Set().Where(b => b.TimeSpan.Nanoseconds == 400)); } diff --git a/test/EFCore.Specification.Tests/QueryExpressionInterceptionTestBase.cs b/test/EFCore.Specification.Tests/QueryExpressionInterceptionTestBase.cs index 10f570bb907..73db4afce87 100644 --- a/test/EFCore.Specification.Tests/QueryExpressionInterceptionTestBase.cs +++ b/test/EFCore.Specification.Tests/QueryExpressionInterceptionTestBase.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract class QueryExpressionInterceptionTestBase(InterceptionTestBase.InterceptionFixtureBase fixture) : InterceptionTestBase(fixture) { - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Intercept_query_passively(bool async) { var (context, interceptor) = await CreateContextAsync(inject: true); @@ -25,7 +25,7 @@ public virtual async Task Intercept_query_passively(bool async) Assert.Contains(""".Where(e => e.Type == "Black Hole")""", interceptor.QueryExpression); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Intercept_query_with_multiple_interceptors(bool async) { var interceptor1 = new TestQueryExpressionInterceptor(); @@ -51,7 +51,7 @@ public virtual async Task Intercept_query_with_multiple_interceptors(bool async) _ = async ? await query.ToListAsync() : query.ToList(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Intercept_to_change_query_expression(bool async) { var (context, interceptor) = await CreateContextAsync(inject: true); @@ -68,7 +68,7 @@ public virtual async Task Intercept_to_change_query_expression(bool async) Assert.Contains(""".Where(e => e.Type == "Bing Bang")""", interceptor.QueryExpression); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Interceptor_does_not_leak_across_contexts(bool async) { // Create one context with QueryChangingExpressionInterceptor, and another with TestQueryExpressionInterceptor (which is a no-op). diff --git a/test/EFCore.Specification.Tests/SaveChangesInterceptionTestBase.cs b/test/EFCore.Specification.Tests/SaveChangesInterceptionTestBase.cs index d923c81d34e..6cb31685bc0 100644 --- a/test/EFCore.Specification.Tests/SaveChangesInterceptionTestBase.cs +++ b/test/EFCore.Specification.Tests/SaveChangesInterceptionTestBase.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract class SaveChangesInterceptionTestBase(InterceptionTestBase.InterceptionFixtureBase fixture) : InterceptionTestBase(fixture) { - [ConditionalTheory, InlineData(false, false, false), InlineData(true, false, false), InlineData(false, true, false), + [Theory, InlineData(false, false, false), InlineData(true, false, false), InlineData(false, true, false), InlineData(true, true, false), InlineData(false, false, true), InlineData(true, false, true), InlineData(false, true, true), InlineData(true, true, true)] public virtual async Task Intercept_SaveChanges_passively(bool async, bool inject, bool noAcceptChanges) @@ -69,7 +69,7 @@ public virtual async Task Intercept_SaveChanges_passively(bool async, bool injec protected class PassiveSaveChangesInterceptor : SaveChangesInterceptorBase; - [ConditionalTheory, InlineData(false, false, false), InlineData(true, false, false), InlineData(false, true, false), + [Theory, InlineData(false, false, false), InlineData(true, false, false), InlineData(false, true, false), InlineData(true, true, false), InlineData(false, false, true), InlineData(true, false, true), InlineData(false, true, true), InlineData(true, true, true)] public virtual async Task Intercept_SaveChanges_to_suppress_save(bool async, bool inject, bool noAcceptChanges) @@ -149,7 +149,7 @@ public override async ValueTask> SavingChangesAsync( } } - [ConditionalTheory, InlineData(false, false, false), InlineData(true, false, false), InlineData(false, true, false), + [Theory, InlineData(false, false, false), InlineData(true, false, false), InlineData(false, true, false), InlineData(true, true, false), InlineData(false, false, true), InlineData(true, false, true), InlineData(false, true, true), InlineData(true, true, true)] public virtual async Task Intercept_SaveChanges_to_change_result(bool async, bool inject, bool noAcceptChanges) @@ -229,7 +229,7 @@ public override async ValueTask SavedChangesAsync( } } - [ConditionalTheory, InlineData(false, false, false, false), InlineData(true, false, false, false), + [Theory, InlineData(false, false, false, false), InlineData(true, false, false, false), InlineData(false, true, false, false), InlineData(true, true, false, false), InlineData(false, false, true, false), InlineData(true, false, true, false), InlineData(false, true, true, false), InlineData(true, true, true, false), InlineData(false, false, false, true), InlineData(true, false, false, true), InlineData(false, true, false, true), @@ -329,7 +329,7 @@ public virtual async Task Intercept_SaveChanges_failed(bool async, bool inject, } } - [ConditionalTheory, InlineData(false, false, false), InlineData(true, false, false), InlineData(false, true, false), + [Theory, InlineData(false, false, false), InlineData(true, false, false), InlineData(false, true, false), InlineData(true, true, false), InlineData(false, false, true), InlineData(true, false, true), InlineData(false, true, true), InlineData(true, true, true)] public virtual async Task Intercept_to_suppress_concurrency_exception(bool async, bool inject, bool noAcceptChanges) @@ -430,7 +430,7 @@ public override async ValueTask ThrowingConcurrencyException } } - [ConditionalTheory, InlineData(false, false, false), InlineData(true, false, false), InlineData(false, true, false), + [Theory, InlineData(false, false, false), InlineData(true, false, false), InlineData(false, true, false), InlineData(true, true, false), InlineData(false, false, true), InlineData(true, false, true), InlineData(false, true, true), InlineData(true, true, true)] public virtual async Task Intercept_SaveChanges_with_multiple_interceptors(bool async, bool inject, bool noAcceptChanges) diff --git a/test/EFCore.Specification.Tests/Scaffolding/CompiledModelTestBase.cs b/test/EFCore.Specification.Tests/Scaffolding/CompiledModelTestBase.cs index 4131d897023..218b4dcc678 100644 --- a/test/EFCore.Specification.Tests/Scaffolding/CompiledModelTestBase.cs +++ b/test/EFCore.Specification.Tests/Scaffolding/CompiledModelTestBase.cs @@ -17,7 +17,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding; public abstract class CompiledModelTestBase(NonSharedFixture fixture) : NonSharedModelTestBase(fixture), IClassFixture { - [ConditionalFact] + [Fact] public virtual Task SimpleModel() => Test( modelBuilder => @@ -75,11 +75,11 @@ public static class Dummy Assert.NotNull(model); }); - [ConditionalFact] + [Fact] public virtual Task No_NativeAOT() => BigModel(false); - [ConditionalFact] + [Fact] public virtual Task BigModel() => BigModel(true); @@ -1144,7 +1144,7 @@ protected virtual void AssertEqual(ManyTypes types, ManyTypes otherTypes, bool j Assert.Equal(types.NullIntToNullStringConverterProperty, otherTypes.NullIntToNullStringConverterProperty); } - [ConditionalFact] + [Fact] public virtual Task ComplexTypes() => Test( BuildComplexTypesModel, @@ -1175,7 +1175,7 @@ public virtual Task ComplexTypes() }, options: new CompiledModelCodeGenerationOptions { UseNullableReferenceTypes = true, ForNativeAot = true }); - [ConditionalFact] + [Fact] public virtual Task Throws_for_Backing_Field_Not_Found() => Test( modelBuilder => diff --git a/test/EFCore.Specification.Tests/SeedingTestBase.cs b/test/EFCore.Specification.Tests/SeedingTestBase.cs index d64124f7cc6..20b0938a185 100644 --- a/test/EFCore.Specification.Tests/SeedingTestBase.cs +++ b/test/EFCore.Specification.Tests/SeedingTestBase.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract class SeedingTestBase { - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Seeding_does_not_leave_context_contaminated(bool async) { using var context = CreateContextWithEmptyDatabase(async ? "1A" : "1S"); @@ -28,7 +28,7 @@ public virtual async Task Seeding_does_not_leave_context_contaminated(bool async Assert.Equal("Orange", seeds[1].Species); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Seeding_keyless_entity_throws_exception(bool async) { var exception = await Assert.ThrowsAsync(async () => diff --git a/test/EFCore.Specification.Tests/SerializationTestBase.cs b/test/EFCore.Specification.Tests/SerializationTestBase.cs index 65a8d1a3571..7fd9a7e330e 100644 --- a/test/EFCore.Specification.Tests/SerializationTestBase.cs +++ b/test/EFCore.Specification.Tests/SerializationTestBase.cs @@ -16,7 +16,7 @@ public abstract class SerializationTestBase(TFixture fixture) : IClass { protected TFixture Fixture { get; } = fixture; - [ConditionalTheory, InlineData(false, false, false), InlineData(false, false, true), InlineData(true, true, false), + [Theory, InlineData(false, false, false), InlineData(false, false, true), InlineData(true, true, false), InlineData(true, true, true), InlineData(true, false, false), InlineData(true, false, true)] public virtual void Can_round_trip_through_JSON(bool useNewtonsoft, bool ignoreLoops, bool writeIndented) { diff --git a/test/EFCore.Specification.Tests/SharedStoreFixtureBase.cs b/test/EFCore.Specification.Tests/SharedStoreFixtureBase.cs index 4b8fd6eb3ab..7449516acff 100644 --- a/test/EFCore.Specification.Tests/SharedStoreFixtureBase.cs +++ b/test/EFCore.Specification.Tests/SharedStoreFixtureBase.cs @@ -44,7 +44,7 @@ public ListLoggerFactory ListLoggerFactory private MethodInfo? _createDbContext; - public virtual async Task InitializeAsync() + public virtual async ValueTask InitializeAsync() { _testStore = RecreateStore ? TestStoreFactory.Create(StoreName) : TestStoreFactory.GetOrCreate(StoreName); @@ -113,6 +113,6 @@ protected virtual Task CleanAsync(DbContext context) return Task.CompletedTask; } - public virtual async Task DisposeAsync() + public virtual async ValueTask DisposeAsync() => await TestStore.DisposeAsync(); } diff --git a/test/EFCore.Specification.Tests/SpatialTestBase.cs b/test/EFCore.Specification.Tests/SpatialTestBase.cs index 0198a8f39b4..2a2febfb228 100644 --- a/test/EFCore.Specification.Tests/SpatialTestBase.cs +++ b/test/EFCore.Specification.Tests/SpatialTestBase.cs @@ -13,7 +13,7 @@ public abstract class SpatialTestBase(TFixture fixture) : IClassFixtur { protected virtual TFixture Fixture { get; } = fixture; - [ConditionalFact] + [Fact] public virtual void Values_are_copied_into_change_tracker() { using var db = Fixture.CreateContext(); @@ -25,7 +25,7 @@ public virtual void Values_are_copied_into_change_tracker() Assert.Equal(0, db.Entry(entity).Property(e => e.Point).OriginalValue.X); } - [ConditionalFact] + [Fact] public virtual void Values_arent_compared_by_reference() { using var db = Fixture.CreateContext(); @@ -37,7 +37,7 @@ public virtual void Values_arent_compared_by_reference() Assert.False(db.Entry(entity).Property(e => e.Point).IsModified); } - [ConditionalFact] + [Fact] public virtual async Task Mutation_of_tracked_values_does_not_mutate_values_in_store() { Point CreatePoint(double y = 2.2) @@ -87,7 +87,7 @@ await ExecuteWithStrategyInTransactionAsync( }); } - [ConditionalFact] + [Fact] public virtual void Translators_handle_static_members() { using var db = Fixture.CreateContext(); @@ -103,7 +103,7 @@ orderby e.Id }).FirstOrDefault(); } - [ConditionalFact] + [Fact] public virtual void Can_roundtrip_Z_and_M() { using var db = Fixture.CreateContext(); diff --git a/test/EFCore.Specification.Tests/StoreGeneratedFixupTestBase.cs b/test/EFCore.Specification.Tests/StoreGeneratedFixupTestBase.cs index 2a4049a2f48..fc87bb6080b 100644 --- a/test/EFCore.Specification.Tests/StoreGeneratedFixupTestBase.cs +++ b/test/EFCore.Specification.Tests/StoreGeneratedFixupTestBase.cs @@ -17,7 +17,7 @@ public abstract class StoreGeneratedFixupTestBase(TFixture fixture) : protected TFixture Fixture { get; } = fixture; - [ConditionalFact] + [Fact] public virtual Task Add_dependent_then_principal_one_to_many_FK_set_both_navs_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -40,7 +40,7 @@ public virtual Task Add_dependent_then_principal_one_to_many_FK_set_both_navs_se return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_then_principal_one_to_many_FK_not_set_both_navs_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -55,7 +55,7 @@ public virtual Task Add_dependent_then_principal_one_to_many_FK_not_set_both_nav return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_then_principal_one_to_many_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -76,7 +76,7 @@ public virtual Task Add_dependent_then_principal_one_to_many_FK_set_no_navs_set( return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_then_principal_one_to_many_FK_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -98,7 +98,7 @@ public virtual Task Add_dependent_then_principal_one_to_many_FK_set_principal_na return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_then_principal_one_to_many_FK_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -120,7 +120,7 @@ public virtual Task Add_dependent_then_principal_one_to_many_FK_set_dependent_na return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_then_principal_one_to_many_FK_not_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -134,7 +134,7 @@ public virtual Task Add_dependent_then_principal_one_to_many_FK_not_set_principa return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_then_principal_one_to_many_FK_not_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -147,7 +147,7 @@ public virtual Task Add_dependent_then_principal_one_to_many_FK_not_set_dependen return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_then_dependent_one_to_many_FK_set_both_navs_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -170,7 +170,7 @@ public virtual Task Add_principal_then_dependent_one_to_many_FK_set_both_navs_se return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_then_dependent_one_to_many_FK_not_set_both_navs_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -184,7 +184,7 @@ public virtual Task Add_principal_then_dependent_one_to_many_FK_not_set_both_nav return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_then_dependent_one_to_many_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -205,7 +205,7 @@ public virtual Task Add_principal_then_dependent_one_to_many_FK_set_no_navs_set( return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_then_dependent_one_to_many_FK_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -227,7 +227,7 @@ public virtual Task Add_principal_then_dependent_one_to_many_FK_set_principal_na return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_then_dependent_one_to_many_FK_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -249,7 +249,7 @@ public virtual Task Add_principal_then_dependent_one_to_many_FK_set_dependent_na return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_then_dependent_one_to_many_FK_not_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -263,7 +263,7 @@ public virtual Task Add_principal_then_dependent_one_to_many_FK_not_set_principa return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_then_dependent_one_to_many_FK_not_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -311,7 +311,7 @@ private async Task AssertFixupAndSaveAsync(DbContext context, Category principal }); } - [ConditionalFact] + [Fact] public virtual Task Add_dependent_then_principal_one_to_many_prin_uni_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -332,7 +332,7 @@ public virtual Task Add_dependent_then_principal_one_to_many_prin_uni_FK_set_no_ return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_then_dependent_one_to_many_prin_uni_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -353,7 +353,7 @@ public virtual Task Add_principal_then_dependent_one_to_many_prin_uni_FK_set_no_ return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_then_principal_one_to_many_prin_uni_FK_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -375,7 +375,7 @@ public virtual Task Add_dependent_then_principal_one_to_many_prin_uni_FK_set_pri return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_then_principal_one_to_many_prin_uni_FK_not_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -389,7 +389,7 @@ public virtual Task Add_dependent_then_principal_one_to_many_prin_uni_FK_not_set return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_then_dependent_one_to_many_prin_uni_FK_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -411,7 +411,7 @@ public virtual Task Add_principal_then_dependent_one_to_many_prin_uni_FK_set_pri return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_then_dependent_one_to_many_prin_uni_FK_not_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -458,7 +458,7 @@ private async Task AssertFixupAndSaveAsync(DbContext context, CategoryPN princip }); } - [ConditionalFact] + [Fact] public virtual Task Add_dependent_then_principal_one_to_many_dep_uni_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -479,7 +479,7 @@ public virtual Task Add_dependent_then_principal_one_to_many_dep_uni_FK_set_no_n return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_then_principal_one_to_many_dep_uni_FK_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -501,7 +501,7 @@ public virtual Task Add_dependent_then_principal_one_to_many_dep_uni_FK_set_depe return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_then_principal_one_to_many_dep_uni_FK_not_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -514,7 +514,7 @@ public virtual Task Add_dependent_then_principal_one_to_many_dep_uni_FK_not_set_ return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_then_dependent_one_to_many_dep_uni_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -535,7 +535,7 @@ public virtual Task Add_principal_then_dependent_one_to_many_dep_uni_FK_set_no_n return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_then_dependent_one_to_many_dep_uni_FK_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -557,7 +557,7 @@ public virtual Task Add_principal_then_dependent_one_to_many_dep_uni_FK_set_depe return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_then_dependent_one_to_many_dep_uni_FK_not_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -603,7 +603,7 @@ private async Task AssertFixupAndSaveAsync(DbContext context, CategoryDN princip }); } - [ConditionalFact] + [Fact] public virtual Task Add_dependent_then_principal_one_to_many_no_navs_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -624,7 +624,7 @@ public virtual Task Add_dependent_then_principal_one_to_many_no_navs_FK_set_no_n return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_then_dependent_one_to_many_no_navs_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -670,7 +670,7 @@ private async Task AssertFixupAndSaveAsync(DbContext context, CategoryNN princip }); } - [ConditionalFact] + [Fact] public virtual Task Add_dependent_then_principal_one_to_one_FK_set_both_navs_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -693,7 +693,7 @@ public virtual Task Add_dependent_then_principal_one_to_one_FK_set_both_navs_set return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_then_principal_one_to_one_FK_not_set_both_navs_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -707,7 +707,7 @@ public virtual Task Add_dependent_then_principal_one_to_one_FK_not_set_both_navs return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_then_principal_one_to_one_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -728,7 +728,7 @@ public virtual Task Add_dependent_then_principal_one_to_one_FK_set_no_navs_set() return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_then_principal_one_to_one_FK_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -750,7 +750,7 @@ public virtual Task Add_dependent_then_principal_one_to_one_FK_set_principal_nav return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_then_principal_one_to_one_FK_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -772,7 +772,7 @@ public virtual Task Add_dependent_then_principal_one_to_one_FK_set_dependent_nav return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_then_principal_one_to_one_FK_not_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -786,7 +786,7 @@ public virtual Task Add_dependent_then_principal_one_to_one_FK_not_set_principal return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_then_principal_one_to_one_FK_not_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -799,7 +799,7 @@ public virtual Task Add_dependent_then_principal_one_to_one_FK_not_set_dependent return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_then_dependent_one_to_one_FK_set_both_navs_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -822,7 +822,7 @@ public virtual Task Add_principal_then_dependent_one_to_one_FK_set_both_navs_set return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_then_dependent_one_to_one_FK_not_set_both_navs_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -836,7 +836,7 @@ public virtual Task Add_principal_then_dependent_one_to_one_FK_not_set_both_navs return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_then_dependent_one_to_one_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -857,7 +857,7 @@ public virtual Task Add_principal_then_dependent_one_to_one_FK_set_no_navs_set() return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_then_dependent_one_to_one_FK_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -879,7 +879,7 @@ public virtual Task Add_principal_then_dependent_one_to_one_FK_set_principal_nav return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_then_dependent_one_to_one_FK_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -901,7 +901,7 @@ public virtual Task Add_principal_then_dependent_one_to_one_FK_set_dependent_nav return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_then_dependent_one_to_one_FK_not_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -915,7 +915,7 @@ public virtual Task Add_principal_then_dependent_one_to_one_FK_not_set_principal return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_then_dependent_one_to_one_FK_not_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -963,7 +963,7 @@ private async Task AssertFixupAndSaveAsync(DbContext context, Parent principal, }); } - [ConditionalFact] + [Fact] public virtual Task Add_dependent_then_principal_one_to_one_prin_uni_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -984,7 +984,7 @@ public virtual Task Add_dependent_then_principal_one_to_one_prin_uni_FK_set_no_n return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_then_dependent_one_to_one_prin_uni_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -1005,7 +1005,7 @@ public virtual Task Add_principal_then_dependent_one_to_one_prin_uni_FK_set_no_n return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_then_principal_one_to_one_prin_uni_FK_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -1027,7 +1027,7 @@ public virtual Task Add_dependent_then_principal_one_to_one_prin_uni_FK_set_prin return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_then_principal_one_to_one_prin_uni_FK_not_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -1041,7 +1041,7 @@ public virtual Task Add_dependent_then_principal_one_to_one_prin_uni_FK_not_set_ return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_then_dependent_one_to_one_prin_uni_FK_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -1063,7 +1063,7 @@ public virtual Task Add_principal_then_dependent_one_to_one_prin_uni_FK_set_prin return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_then_dependent_one_to_one_prin_uni_FK_not_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -1110,7 +1110,7 @@ private async Task AssertFixupAndSaveAsync(DbContext context, ParentPN principal }); } - [ConditionalFact] + [Fact] public virtual Task Add_dependent_then_principal_one_to_one_dep_uni_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -1131,7 +1131,7 @@ public virtual Task Add_dependent_then_principal_one_to_one_dep_uni_FK_set_no_na return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_then_principal_one_to_one_dep_uni_FK_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -1153,7 +1153,7 @@ public virtual Task Add_dependent_then_principal_one_to_one_dep_uni_FK_set_depen return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_then_principal_one_to_one_dep_uni_FK_not_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -1166,7 +1166,7 @@ public virtual Task Add_dependent_then_principal_one_to_one_dep_uni_FK_not_set_d return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_then_dependent_one_to_one_dep_uni_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -1187,7 +1187,7 @@ public virtual Task Add_principal_then_dependent_one_to_one_dep_uni_FK_set_no_na return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_then_dependent_one_to_one_dep_uni_FK_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -1209,7 +1209,7 @@ public virtual Task Add_principal_then_dependent_one_to_one_dep_uni_FK_set_depen return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_then_dependent_one_to_one_dep_uni_FK_not_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -1257,7 +1257,7 @@ private async Task AssertFixupAndSaveAsync(DbContext context, ParentDN principal }); } - [ConditionalFact] + [Fact] public virtual Task Add_dependent_then_principal_one_to_one_no_navs_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -1278,7 +1278,7 @@ public virtual Task Add_dependent_then_principal_one_to_one_no_navs_FK_set_no_na return AssertFixupAndSaveAsync(context, principal, dependent); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_then_dependent_one_to_one_no_navs_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(context => { @@ -1324,7 +1324,7 @@ private async Task AssertFixupAndSaveAsync(DbContext context, ParentNN principal }); } - [ConditionalFact] + [Fact] public virtual Task Add_dependent_but_not_principal_one_to_many_FK_set_both_navs_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -1369,7 +1369,7 @@ public virtual Task Add_dependent_but_not_principal_one_to_many_FK_set_both_navs }); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_but_not_principal_one_to_many_FK_not_set_both_navs_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -1416,7 +1416,7 @@ public virtual Task Add_dependent_but_not_principal_one_to_many_FK_not_set_both_ }); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_but_not_principal_one_to_many_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -1466,7 +1466,7 @@ public virtual Task Add_dependent_but_not_principal_one_to_many_FK_set_no_navs_s }); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_but_not_principal_one_to_many_FK_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -1517,7 +1517,7 @@ public virtual Task Add_dependent_but_not_principal_one_to_many_FK_set_principal }); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_but_not_principal_one_to_many_FK_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -1561,7 +1561,7 @@ public virtual Task Add_dependent_but_not_principal_one_to_many_FK_set_dependent }); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_but_not_principal_one_to_many_FK_not_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -1606,7 +1606,7 @@ public virtual Task Add_dependent_but_not_principal_one_to_many_FK_not_set_princ }); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_but_not_principal_one_to_many_FK_not_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -1652,7 +1652,7 @@ public virtual Task Add_dependent_but_not_principal_one_to_many_FK_not_set_depen }); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_but_not_dependent_one_to_many_FK_set_both_navs_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -1697,7 +1697,7 @@ public virtual Task Add_principal_but_not_dependent_one_to_many_FK_set_both_navs }); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_but_not_dependent_one_to_many_FK_not_set_both_navs_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -1744,7 +1744,7 @@ public virtual Task Add_principal_but_not_dependent_one_to_many_FK_not_set_both_ }); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_but_not_dependent_one_to_many_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -1785,7 +1785,7 @@ public virtual Task Add_principal_but_not_dependent_one_to_many_FK_set_no_navs_s }); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_but_not_dependent_one_to_many_FK_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -1829,7 +1829,7 @@ public virtual Task Add_principal_but_not_dependent_one_to_many_FK_set_principal }); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_but_not_dependent_one_to_many_FK_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -1871,7 +1871,7 @@ public virtual Task Add_principal_but_not_dependent_one_to_many_FK_set_dependent }); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_but_not_dependent_one_to_many_FK_not_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -1913,7 +1913,7 @@ public virtual Task Add_principal_but_not_dependent_one_to_many_FK_not_set_princ }); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_but_not_dependent_one_to_many_FK_not_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -1951,7 +1951,7 @@ public virtual Task Add_principal_but_not_dependent_one_to_many_FK_not_set_depen }); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_but_not_principal_one_to_many_prin_uni_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -1999,7 +1999,7 @@ public virtual Task Add_dependent_but_not_principal_one_to_many_prin_uni_FK_set_ }); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_but_not_dependent_one_to_many_prin_uni_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -2038,7 +2038,7 @@ public virtual Task Add_principal_but_not_dependent_one_to_many_prin_uni_FK_set_ }); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_but_not_principal_one_to_many_prin_uni_FK_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -2087,7 +2087,7 @@ public virtual Task Add_dependent_but_not_principal_one_to_many_prin_uni_FK_set_ }); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_but_not_principal_one_to_many_prin_uni_FK_not_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -2130,7 +2130,7 @@ public virtual Task Add_dependent_but_not_principal_one_to_many_prin_uni_FK_not_ }); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_but_not_dependent_one_to_many_prin_uni_FK_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -2172,7 +2172,7 @@ public virtual Task Add_principal_but_not_dependent_one_to_many_prin_uni_FK_set_ }); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_but_not_dependent_one_to_many_prin_uni_FK_not_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -2216,7 +2216,7 @@ public virtual Task Add_principal_but_not_dependent_one_to_many_prin_uni_FK_not_ }); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_but_not_principal_one_to_many_dep_uni_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -2264,7 +2264,7 @@ public virtual Task Add_dependent_but_not_principal_one_to_many_dep_uni_FK_set_n }); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_but_not_principal_one_to_many_dep_uni_FK_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -2306,7 +2306,7 @@ public virtual Task Add_dependent_but_not_principal_one_to_many_dep_uni_FK_set_d }); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_but_not_principal_one_to_many_dep_uni_FK_not_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -2350,7 +2350,7 @@ public virtual Task Add_dependent_but_not_principal_one_to_many_dep_uni_FK_not_s }); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_but_not_dependent_one_to_many_dep_uni_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -2389,7 +2389,7 @@ public virtual Task Add_principal_but_not_dependent_one_to_many_dep_uni_FK_set_n }); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_but_not_dependent_one_to_many_dep_uni_FK_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -2429,7 +2429,7 @@ public virtual Task Add_principal_but_not_dependent_one_to_many_dep_uni_FK_set_d }); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_but_not_dependent_one_to_many_dep_uni_FK_not_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -2465,7 +2465,7 @@ public virtual Task Add_principal_but_not_dependent_one_to_many_dep_uni_FK_not_s }); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_but_not_principal_one_to_many_no_navs_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -2511,7 +2511,7 @@ public virtual Task Add_dependent_but_not_principal_one_to_many_no_navs_FK_set_n }); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_but_not_dependent_one_to_many_no_navs_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -2548,7 +2548,7 @@ public virtual Task Add_principal_but_not_dependent_one_to_many_no_navs_FK_set_n }); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_but_not_principal_one_to_one_FK_set_both_navs_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -2593,7 +2593,7 @@ public virtual Task Add_dependent_but_not_principal_one_to_one_FK_set_both_navs_ }); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_but_not_principal_one_to_one_FK_not_set_both_navs_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -2640,7 +2640,7 @@ public virtual Task Add_dependent_but_not_principal_one_to_one_FK_not_set_both_n }); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_but_not_principal_one_to_one_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -2690,7 +2690,7 @@ public virtual Task Add_dependent_but_not_principal_one_to_one_FK_set_no_navs_se }); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_but_not_principal_one_to_one_FK_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -2741,7 +2741,7 @@ public virtual Task Add_dependent_but_not_principal_one_to_one_FK_set_principal_ }); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_but_not_principal_one_to_one_FK_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -2785,7 +2785,7 @@ public virtual Task Add_dependent_but_not_principal_one_to_one_FK_set_dependent_ }); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_but_not_principal_one_to_one_FK_not_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -2830,7 +2830,7 @@ public virtual Task Add_dependent_but_not_principal_one_to_one_FK_not_set_princi }); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_but_not_principal_one_to_one_FK_not_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -2876,7 +2876,7 @@ public virtual Task Add_dependent_but_not_principal_one_to_one_FK_not_set_depend }); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_but_not_dependent_one_to_one_FK_set_both_navs_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -2921,7 +2921,7 @@ public virtual Task Add_principal_but_not_dependent_one_to_one_FK_set_both_navs_ }); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_but_not_dependent_one_to_one_FK_not_set_both_navs_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -2968,7 +2968,7 @@ public virtual Task Add_principal_but_not_dependent_one_to_one_FK_not_set_both_n }); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_but_not_dependent_one_to_one_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -3009,7 +3009,7 @@ public virtual Task Add_principal_but_not_dependent_one_to_one_FK_set_no_navs_se }); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_but_not_dependent_one_to_one_FK_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -3053,7 +3053,7 @@ public virtual Task Add_principal_but_not_dependent_one_to_one_FK_set_principal_ }); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_but_not_dependent_one_to_one_FK_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -3095,7 +3095,7 @@ public virtual Task Add_principal_but_not_dependent_one_to_one_FK_set_dependent_ }); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_but_not_dependent_one_to_one_FK_not_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -3141,7 +3141,7 @@ public virtual Task Add_principal_but_not_dependent_one_to_one_FK_not_set_princi }); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_but_not_dependent_one_to_one_FK_not_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -3179,7 +3179,7 @@ public virtual Task Add_principal_but_not_dependent_one_to_one_FK_not_set_depend }); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_but_not_principal_one_to_one_prin_uni_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -3227,7 +3227,7 @@ public virtual Task Add_dependent_but_not_principal_one_to_one_prin_uni_FK_set_n }); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_but_not_dependent_one_to_one_prin_uni_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -3266,7 +3266,7 @@ public virtual Task Add_principal_but_not_dependent_one_to_one_prin_uni_FK_set_n }); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_but_not_principal_one_to_one_prin_uni_FK_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -3315,7 +3315,7 @@ public virtual Task Add_dependent_but_not_principal_one_to_one_prin_uni_FK_set_p }); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_but_not_principal_one_to_one_prin_uni_FK_not_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -3358,7 +3358,7 @@ public virtual Task Add_dependent_but_not_principal_one_to_one_prin_uni_FK_not_s }); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_but_not_dependent_one_to_one_prin_uni_FK_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -3400,7 +3400,7 @@ public virtual Task Add_principal_but_not_dependent_one_to_one_prin_uni_FK_set_p }); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_but_not_dependent_one_to_one_prin_uni_FK_not_set_principal_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -3444,7 +3444,7 @@ public virtual Task Add_principal_but_not_dependent_one_to_one_prin_uni_FK_not_s }); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_but_not_principal_one_to_one_dep_uni_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -3492,7 +3492,7 @@ public virtual Task Add_dependent_but_not_principal_one_to_one_dep_uni_FK_set_no }); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_but_not_principal_one_to_one_dep_uni_FK_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -3534,7 +3534,7 @@ public virtual Task Add_dependent_but_not_principal_one_to_one_dep_uni_FK_set_de }); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_but_not_principal_one_to_one_dep_uni_FK_not_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -3578,7 +3578,7 @@ public virtual Task Add_dependent_but_not_principal_one_to_one_dep_uni_FK_not_se }); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_but_not_dependent_one_to_one_dep_uni_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -3617,7 +3617,7 @@ public virtual Task Add_principal_but_not_dependent_one_to_one_dep_uni_FK_set_no }); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_but_not_dependent_one_to_one_dep_uni_FK_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -3657,7 +3657,7 @@ public virtual Task Add_principal_but_not_dependent_one_to_one_dep_uni_FK_set_de }); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_but_not_dependent_one_to_one_dep_uni_FK_not_set_dependent_nav_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -3693,7 +3693,7 @@ public virtual Task Add_principal_but_not_dependent_one_to_one_dep_uni_FK_not_se }); }); - [ConditionalFact] + [Fact] public virtual Task Add_dependent_but_not_principal_one_to_one_no_navs_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -3739,7 +3739,7 @@ public virtual Task Add_dependent_but_not_principal_one_to_one_no_navs_FK_set_no }); }); - [ConditionalFact] + [Fact] public virtual Task Add_principal_but_not_dependent_one_to_one_no_navs_FK_set_no_navs_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -3776,7 +3776,7 @@ public virtual Task Add_principal_but_not_dependent_one_to_one_no_navs_FK_set_no }); }); - [ConditionalFact] + [Fact] public virtual Task Add_overlapping_graph_from_level() => ExecuteWithStrategyInTransactionAsync(context => { @@ -3792,7 +3792,7 @@ public virtual Task Add_overlapping_graph_from_level() return AssertFixupAndSaveAsync(context, game, level, item); }); - [ConditionalFact] + [Fact] public virtual Task Add_overlapping_graph_from_game() => ExecuteWithStrategyInTransactionAsync(context => { @@ -3809,7 +3809,7 @@ public virtual Task Add_overlapping_graph_from_game() return AssertFixupAndSaveAsync(context, game, level, item); }); - [ConditionalFact] + [Fact] public virtual Task Add_overlapping_graph_from_item() => ExecuteWithStrategyInTransactionAsync(context => { @@ -3824,7 +3824,7 @@ public virtual Task Add_overlapping_graph_from_item() return AssertFixupAndSaveAsync(context, game, level, item); }); - [ConditionalFact] + [Fact] public virtual void Temporary_value_equals_database_generated_value() { using var context = CreateContext(); @@ -3885,7 +3885,7 @@ private async Task AssertFixupAndSaveAsync(DbContext context, Game game, Level l }); } - [ConditionalFact] + [Fact] public virtual void Remove_overlapping_principal() { using var context = CreateContext(); @@ -3906,7 +3906,7 @@ public virtual void Remove_overlapping_principal() Assert.Empty(level.Actors); } - [ConditionalFact] + [Fact] public virtual Task Multi_level_add_replace_and_save() => ExecuteWithStrategyInTransactionAsync(async context => { diff --git a/test/EFCore.Specification.Tests/StoreGeneratedTestBase.cs b/test/EFCore.Specification.Tests/StoreGeneratedTestBase.cs index a3b3abd6095..e913b8cbab7 100644 --- a/test/EFCore.Specification.Tests/StoreGeneratedTestBase.cs +++ b/test/EFCore.Specification.Tests/StoreGeneratedTestBase.cs @@ -12,7 +12,7 @@ public abstract class StoreGeneratedTestBase(TFixture fixture) : IClas { protected TFixture Fixture { get; } = fixture; - [ConditionalFact] + [Fact] public virtual async Task Value_generation_works_for_common_GUID_conversions() { await ValueGenerationPositive(Fixture.GuidSentinel); @@ -38,7 +38,7 @@ private Task ValueGenerationPositive(TKey? sentinel) }); } - [ConditionalTheory, InlineData(nameof(Anais.NeverThrowBeforeUseAfter)), InlineData(nameof(Anais.NeverThrowBeforeIgnoreAfter)), + [Theory, InlineData(nameof(Anais.NeverThrowBeforeUseAfter)), InlineData(nameof(Anais.NeverThrowBeforeIgnoreAfter)), InlineData(nameof(Anais.NeverThrowBeforeThrowAfter)), InlineData(nameof(Anais.OnAddThrowBeforeUseAfter)), InlineData(nameof(Anais.OnAddThrowBeforeIgnoreAfter)), InlineData(nameof(Anais.OnAddThrowBeforeThrowAfter)), InlineData(nameof(Anais.OnAddOrUpdateThrowBeforeUseAfter)), InlineData(nameof(Anais.OnAddOrUpdateThrowBeforeIgnoreAfter)), @@ -54,7 +54,7 @@ public virtual Task Before_save_throw_always_throws_if_value_set(string property (await Assert.ThrowsAsync(() => context.SaveChangesAsync())).Message); }); - [ConditionalTheory, InlineData(nameof(Anais.NeverThrowBeforeUseAfter), null), + [Theory, InlineData(nameof(Anais.NeverThrowBeforeUseAfter), null), InlineData(nameof(Anais.NeverThrowBeforeIgnoreAfter), null), InlineData(nameof(Anais.NeverThrowBeforeThrowAfter), null), InlineData(nameof(Anais.OnAddThrowBeforeUseAfter), "Rabbit"), InlineData(nameof(Anais.OnAddThrowBeforeIgnoreAfter), "Rabbit"), InlineData(nameof(Anais.OnAddThrowBeforeThrowAfter), "Rabbit"), InlineData(nameof(Anais.OnAddOrUpdateThrowBeforeUseAfter), "Rabbit"), @@ -76,7 +76,7 @@ public virtual Task Before_save_throw_ignores_value_if_not_set(string propertyNa }, async context => Assert.Equal(expectedValue, GetValue((await context.Set().FindAsync(id))!, propertyName))); } - [ConditionalTheory, InlineData(nameof(Anais.Never)), InlineData(nameof(Anais.OnAdd)), InlineData(nameof(Anais.OnUpdate)), + [Theory, InlineData(nameof(Anais.Never)), InlineData(nameof(Anais.OnAdd)), InlineData(nameof(Anais.OnUpdate)), InlineData(nameof(Anais.NeverUseBeforeUseAfter)), InlineData(nameof(Anais.NeverUseBeforeIgnoreAfter)), InlineData(nameof(Anais.NeverUseBeforeThrowAfter)), InlineData(nameof(Anais.OnAddUseBeforeUseAfter)), InlineData(nameof(Anais.OnAddUseBeforeIgnoreAfter)), InlineData(nameof(Anais.OnAddUseBeforeThrowAfter)), @@ -97,7 +97,7 @@ public virtual Task Before_save_use_always_uses_value_if_set(string propertyName }, async context => Assert.Equal("Pink", GetValue((await context.Set().FindAsync(id))!, propertyName))); } - [ConditionalTheory, InlineData(nameof(Anais.Never), "S"), InlineData(nameof(Anais.OnAdd), "Rabbit"), + [Theory, InlineData(nameof(Anais.Never), "S"), InlineData(nameof(Anais.OnAdd), "Rabbit"), InlineData(nameof(Anais.OnUpdate), "S"), InlineData(nameof(Anais.NeverUseBeforeUseAfter), "S"), InlineData(nameof(Anais.NeverUseBeforeIgnoreAfter), "S"), InlineData(nameof(Anais.NeverUseBeforeThrowAfter), "S"), InlineData(nameof(Anais.OnAddUseBeforeUseAfter), "Rabbit"), InlineData(nameof(Anais.OnAddUseBeforeIgnoreAfter), "Rabbit"), @@ -124,7 +124,7 @@ public virtual Task Before_save_use_ignores_value_if_not_set(string propertyName }, async context => Assert.Equal(expectedValue, GetValue((await context.Set().FindAsync(id))!, propertyName))); } - [ConditionalTheory, InlineData(nameof(Anais.OnAddOrUpdate), "Rabbit"), InlineData(nameof(Anais.NeverIgnoreBeforeUseAfter), null), + [Theory, InlineData(nameof(Anais.OnAddOrUpdate), "Rabbit"), InlineData(nameof(Anais.NeverIgnoreBeforeUseAfter), null), InlineData(nameof(Anais.NeverIgnoreBeforeIgnoreAfter), null), InlineData(nameof(Anais.NeverIgnoreBeforeThrowAfter), null), InlineData(nameof(Anais.OnAddIgnoreBeforeUseAfter), "Rabbit"), InlineData(nameof(Anais.OnAddIgnoreBeforeIgnoreAfter), "Rabbit"), InlineData(nameof(Anais.OnAddIgnoreBeforeThrowAfter), "Rabbit"), InlineData(nameof(Anais.OnAddOrUpdateIgnoreBeforeUseAfter), "Rabbit"), @@ -146,7 +146,7 @@ public virtual Task Before_save_ignore_ignores_value_if_not_set(string propertyN }, async context => Assert.Equal(expectedValue, GetValue((await context.Set().FindAsync(id))!, propertyName))); } - [ConditionalTheory, InlineData(nameof(Anais.OnAddOrUpdate), "Rabbit"), InlineData(nameof(Anais.NeverIgnoreBeforeUseAfter), null), + [Theory, InlineData(nameof(Anais.OnAddOrUpdate), "Rabbit"), InlineData(nameof(Anais.NeverIgnoreBeforeUseAfter), null), InlineData(nameof(Anais.NeverIgnoreBeforeIgnoreAfter), null), InlineData(nameof(Anais.NeverIgnoreBeforeThrowAfter), null), InlineData(nameof(Anais.OnAddIgnoreBeforeUseAfter), "Rabbit"), InlineData(nameof(Anais.OnAddIgnoreBeforeIgnoreAfter), "Rabbit"), InlineData(nameof(Anais.OnAddIgnoreBeforeThrowAfter), "Rabbit"), InlineData(nameof(Anais.OnAddOrUpdateIgnoreBeforeUseAfter), "Rabbit"), @@ -168,7 +168,7 @@ public virtual Task Before_save_ignore_ignores_value_even_if_set(string property }, async context => Assert.Equal(expectedValue, GetValue((await context.Set().FindAsync(id))!, propertyName))); } - [ConditionalTheory, InlineData(nameof(Anais.NeverUseBeforeThrowAfter)), InlineData(nameof(Anais.NeverIgnoreBeforeThrowAfter)), + [Theory, InlineData(nameof(Anais.NeverUseBeforeThrowAfter)), InlineData(nameof(Anais.NeverIgnoreBeforeThrowAfter)), InlineData(nameof(Anais.NeverThrowBeforeThrowAfter)), InlineData(nameof(Anais.OnAddUseBeforeThrowAfter)), InlineData(nameof(Anais.OnAddIgnoreBeforeThrowAfter)), InlineData(nameof(Anais.OnAddThrowBeforeThrowAfter)), InlineData(nameof(Anais.OnAddOrUpdateUseBeforeThrowAfter)), InlineData(nameof(Anais.OnAddOrUpdateIgnoreBeforeThrowAfter)), @@ -184,7 +184,7 @@ public virtual Task After_save_throw_always_throws_if_value_modified(string prop (await Assert.ThrowsAsync(() => context.SaveChangesAsync())).Message); }); - [ConditionalTheory, InlineData(nameof(Anais.NeverUseBeforeThrowAfter), "S"), + [Theory, InlineData(nameof(Anais.NeverUseBeforeThrowAfter), "S"), InlineData(nameof(Anais.NeverIgnoreBeforeThrowAfter), null), InlineData(nameof(Anais.NeverThrowBeforeThrowAfter), null), InlineData(nameof(Anais.OnAddUseBeforeThrowAfter), "Rabbit"), InlineData(nameof(Anais.OnAddIgnoreBeforeThrowAfter), "Rabbit"), InlineData(nameof(Anais.OnAddThrowBeforeThrowAfter), "Rabbit"), InlineData(nameof(Anais.OnAddOrUpdateUseBeforeThrowAfter), "Rabbit"), @@ -220,7 +220,7 @@ public virtual Task After_save_throw_ignores_value_if_not_modified(string proper async context => Assert.Equal(expectedValue, GetValue((await context.Set().FindAsync(id))!, propertyName))); } - [ConditionalTheory, InlineData(nameof(Anais.OnAddOrUpdate), "Rabbit"), InlineData(nameof(Anais.OnUpdate), "S"), + [Theory, InlineData(nameof(Anais.OnAddOrUpdate), "Rabbit"), InlineData(nameof(Anais.OnUpdate), "S"), InlineData(nameof(Anais.NeverUseBeforeIgnoreAfter), "S"), InlineData(nameof(Anais.NeverIgnoreBeforeIgnoreAfter), null), InlineData(nameof(Anais.NeverThrowBeforeIgnoreAfter), null), InlineData(nameof(Anais.OnAddUseBeforeIgnoreAfter), "Rabbit"), InlineData(nameof(Anais.OnAddIgnoreBeforeIgnoreAfter), "Rabbit"), InlineData(nameof(Anais.OnAddThrowBeforeIgnoreAfter), "Rabbit"), @@ -258,7 +258,7 @@ public virtual Task After_save_ignore_ignores_value_if_not_modified(string prope async context => Assert.Equal(expectedValue, GetValue((await context.Set().FindAsync(id))!, propertyName))); } - [ConditionalTheory, InlineData(nameof(Anais.OnAddOrUpdate), "Rabbit"), InlineData(nameof(Anais.OnUpdate), "S"), + [Theory, InlineData(nameof(Anais.OnAddOrUpdate), "Rabbit"), InlineData(nameof(Anais.OnUpdate), "S"), InlineData(nameof(Anais.NeverUseBeforeIgnoreAfter), "S"), InlineData(nameof(Anais.NeverIgnoreBeforeIgnoreAfter), null), InlineData(nameof(Anais.NeverThrowBeforeIgnoreAfter), null), InlineData(nameof(Anais.OnAddUseBeforeIgnoreAfter), "Rabbit"), InlineData(nameof(Anais.OnAddIgnoreBeforeIgnoreAfter), "Rabbit"), InlineData(nameof(Anais.OnAddThrowBeforeIgnoreAfter), "Rabbit"), @@ -296,7 +296,7 @@ public virtual Task After_save_ignore_ignores_value_even_if_modified(string prop async context => Assert.Equal(expectedValue, GetValue((await context.Set().FindAsync(id))!, propertyName))); } - [ConditionalTheory, InlineData(nameof(Anais.Never), "S"), InlineData(nameof(Anais.OnAdd), "Rabbit"), + [Theory, InlineData(nameof(Anais.Never), "S"), InlineData(nameof(Anais.OnAdd), "Rabbit"), InlineData(nameof(Anais.OnAddOrUpdate), "Rabbit"), InlineData(nameof(Anais.OnUpdate), "S"), InlineData(nameof(Anais.NeverUseBeforeUseAfter), "S"), InlineData(nameof(Anais.NeverIgnoreBeforeUseAfter), null), InlineData(nameof(Anais.NeverThrowBeforeUseAfter), null), InlineData(nameof(Anais.OnAddUseBeforeUseAfter), "Rabbit"), @@ -334,7 +334,7 @@ public virtual Task After_save_use_ignores_value_if_not_modified(string property async context => Assert.Equal(expectedValue, GetValue((await context.Set().FindAsync(id))!, propertyName))); } - [ConditionalTheory, InlineData(nameof(Anais.Never), "Daisy"), InlineData(nameof(Anais.OnAdd), "Daisy"), + [Theory, InlineData(nameof(Anais.Never), "Daisy"), InlineData(nameof(Anais.OnAdd), "Daisy"), InlineData(nameof(Anais.NeverUseBeforeUseAfter), "Daisy"), InlineData(nameof(Anais.NeverIgnoreBeforeUseAfter), "Daisy"), InlineData(nameof(Anais.NeverThrowBeforeUseAfter), "Daisy"), InlineData(nameof(Anais.OnAddUseBeforeUseAfter), "Daisy"), InlineData(nameof(Anais.OnAddIgnoreBeforeUseAfter), "Daisy"), InlineData(nameof(Anais.OnAddThrowBeforeUseAfter), "Daisy"), @@ -377,7 +377,7 @@ private static Anais SetValue(Anais entity, string propertyName) private static string? GetValue(Anais entity, string propertyName) => (string?)entity.GetType().GetTypeInfo().GetDeclaredProperty(propertyName)!.GetValue(entity); - [ConditionalFact] + [Fact] public virtual Task Identity_key_with_read_only_before_save_throws_if_explicit_values_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -388,7 +388,7 @@ public virtual Task Identity_key_with_read_only_before_save_throws_if_explicit_v (await Assert.ThrowsAsync(() => context.SaveChangesAsync())).Message); }); - [ConditionalFact] + [Fact] public virtual Task Identity_property_on_Added_entity_with_temporary_value_gets_value_from_store() { var id = 0; @@ -425,7 +425,7 @@ protected class CompositeDependent public CompositePrincipal? Principal { get; set; } } - [ConditionalFact] + [Fact] public virtual Task Store_generated_values_are_propagated_with_composite_key_cycles() { var id = 0; @@ -463,7 +463,7 @@ protected class StoreGenPrincipal public int Id { get; set; } } - [ConditionalTheory, InlineData(EntityState.Modified), InlineData(EntityState.Deleted)] // Issue #22027 #14192 + [Theory, InlineData(EntityState.Modified), InlineData(EntityState.Deleted)] // Issue #22027 #14192 public Task Change_state_of_entity_with_temp_non_key_does_not_throw(EntityState targetState) => ExecuteWithStrategyInTransactionAsync( async context => @@ -506,7 +506,7 @@ public Task Change_state_of_entity_with_temp_non_key_does_not_throw(EntityState Assert.False(context.Entry(dependent).Property(e => e.StoreGenPrincipalId).IsTemporary); }); - [ConditionalFact] // Issue #19137 + [Fact] // Issue #19137 public Task Clearing_optional_FK_does_not_leave_temporary_value() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -638,7 +638,7 @@ protected class OptionalCategory public int Id { get; set; } } - [ConditionalFact] + [Fact] public virtual Task Identity_property_on_Added_entity_with_temporary_value_gets_value_from_store_even_if_same() { var id = 0; @@ -660,7 +660,7 @@ public virtual Task Identity_property_on_Added_entity_with_temporary_value_gets_ async context => Assert.Equal("Banana Joe", (await context.Set().SingleAsync(e => e.Id == id)).Identity)); } - [ConditionalFact] + [Fact] public virtual Task Identity_property_on_Added_entity_with_default_value_gets_value_from_store() { var id = 0; @@ -678,7 +678,7 @@ public virtual Task Identity_property_on_Added_entity_with_default_value_gets_va async context => Assert.Equal("Banana Joe", (await context.Set().SingleAsync(e => e.Id == id)).Identity)); } - [ConditionalFact] + [Fact] public virtual Task Identity_property_on_Added_entity_with_read_only_before_save_throws_if_explicit_values_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -691,7 +691,7 @@ public virtual Task Identity_property_on_Added_entity_with_read_only_before_save (await Assert.ThrowsAsync(() => context.SaveChangesAsync())).Message); }); - [ConditionalFact] + [Fact] public virtual Task Identity_property_on_Added_entity_can_have_value_set_explicitly() { var id = 0; @@ -711,7 +711,7 @@ public virtual Task Identity_property_on_Added_entity_can_have_value_set_explici async context => Assert.Equal("Masami", (await context.Set().SingleAsync(e => e.Id == id)).Identity)); } - [ConditionalFact] + [Fact] public virtual Task Identity_property_on_Modified_entity_with_read_only_after_save_throws_if_value_is_in_modified_state() { var id = 0; @@ -739,7 +739,7 @@ public virtual Task Identity_property_on_Modified_entity_with_read_only_after_sa }); } - [ConditionalFact] + [Fact] public virtual Task Identity_property_on_Modified_entity_is_included_in_update_when_modified() { var id = 0; @@ -768,7 +768,7 @@ public virtual Task Identity_property_on_Modified_entity_is_included_in_update_w async context => Assert.Equal("Masami", (await context.Set().SingleAsync(e => e.Id == id)).Identity)); } - [ConditionalFact] + [Fact] public virtual Task Identity_property_on_Modified_entity_is_not_included_in_update_when_not_modified() { var id = 0; @@ -800,7 +800,7 @@ public virtual Task Identity_property_on_Modified_entity_is_not_included_in_upda async context => Assert.Equal("Banana Joe", (await context.Set().SingleAsync(e => e.Id == id)).Identity)); } - [ConditionalFact] + [Fact] public virtual Task Always_identity_property_on_Added_entity_with_temporary_value_gets_value_from_store() { var id = 0; @@ -821,7 +821,7 @@ public virtual Task Always_identity_property_on_Added_entity_with_temporary_valu async context => Assert.Equal("Banana Joe", (await context.Set().SingleAsync(e => e.Id == id)).AlwaysIdentity)); } - [ConditionalFact] + [Fact] public virtual Task Always_identity_property_on_Added_entity_with_default_value_gets_value_from_store() { var id = 0; @@ -839,7 +839,7 @@ public virtual Task Always_identity_property_on_Added_entity_with_default_value_ async context => Assert.Equal("Banana Joe", (await context.Set().SingleAsync(e => e.Id == id)).AlwaysIdentity)); } - [ConditionalFact] + [Fact] public virtual Task Always_identity_property_on_Added_entity_with_read_only_before_save_throws_if_explicit_values_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -852,7 +852,7 @@ public virtual Task Always_identity_property_on_Added_entity_with_read_only_befo (await Assert.ThrowsAsync(() => context.SaveChangesAsync())).Message); }); - [ConditionalFact] + [Fact] public virtual Task Always_identity_property_on_Modified_entity_with_read_only_after_save_throws_if_value_is_in_modified_state() { var id = 0; @@ -880,7 +880,7 @@ public virtual Task Always_identity_property_on_Modified_entity_with_read_only_a }); } - [ConditionalFact] + [Fact] public virtual Task Always_identity_property_on_Modified_entity_is_not_included_in_the_update_when_not_modified() { var id = 0; @@ -911,7 +911,7 @@ public virtual Task Always_identity_property_on_Modified_entity_is_not_included_ }, async context => Assert.Equal("Banana Joe", (await context.Set().SingleAsync(e => e.Id == id)).AlwaysIdentity)); } - [ConditionalFact] + [Fact] public virtual Task Computed_property_on_Added_entity_with_temporary_value_gets_value_from_store() { var id = 0; @@ -932,7 +932,7 @@ public virtual Task Computed_property_on_Added_entity_with_temporary_value_gets_ async context => Assert.Equal("Alan", (await context.Set().SingleAsync(e => e.Id == id)).Computed)); } - [ConditionalFact] + [Fact] public virtual Task Computed_property_on_Added_entity_with_default_value_gets_value_from_store() { var id = 0; @@ -950,7 +950,7 @@ public virtual Task Computed_property_on_Added_entity_with_default_value_gets_va async context => Assert.Equal("Alan", (await context.Set().SingleAsync(e => e.Id == id)).Computed)); } - [ConditionalFact] + [Fact] public virtual Task Computed_property_on_Added_entity_with_read_only_before_save_throws_if_explicit_values_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -963,7 +963,7 @@ public virtual Task Computed_property_on_Added_entity_with_read_only_before_save (await Assert.ThrowsAsync(() => context.SaveChangesAsync())).Message); }); - [ConditionalFact] + [Fact] public virtual Task Computed_property_on_Added_entity_can_have_value_set_explicitly() { var id = 0; @@ -983,7 +983,7 @@ public virtual Task Computed_property_on_Added_entity_can_have_value_set_explici async context => Assert.Equal("Masami", (await context.Set().SingleAsync(e => e.Id == id)).Computed)); } - [ConditionalFact] + [Fact] public virtual Task Computed_property_on_Modified_entity_with_read_only_after_save_throws_if_value_is_in_modified_state() { var id = 0; @@ -1011,7 +1011,7 @@ public virtual Task Computed_property_on_Modified_entity_with_read_only_after_sa }); } - [ConditionalFact] + [Fact] public virtual Task Computed_property_on_Modified_entity_is_included_in_update_when_modified() { var id = 0; @@ -1040,7 +1040,7 @@ public virtual Task Computed_property_on_Modified_entity_is_included_in_update_w async context => Assert.Equal("Masami", (await context.Set().SingleAsync(e => e.Id == id)).Computed)); } - [ConditionalFact] + [Fact] public virtual Task Computed_property_on_Modified_entity_is_read_from_store_when_not_modified() { var id = 0; @@ -1072,7 +1072,7 @@ public virtual Task Computed_property_on_Modified_entity_is_read_from_store_when async context => Assert.Equal("Alan", (await context.Set().SingleAsync(e => e.Id == id)).Computed)); } - [ConditionalFact] + [Fact] public virtual Task Always_computed_property_on_Added_entity_with_temporary_value_gets_value_from_store() { var id = 0; @@ -1093,7 +1093,7 @@ public virtual Task Always_computed_property_on_Added_entity_with_temporary_valu async context => Assert.Equal("Alan", (await context.Set().SingleAsync(e => e.Id == id)).AlwaysComputed)); } - [ConditionalFact] + [Fact] public virtual Task Always_computed_property_on_Added_entity_with_default_value_gets_value_from_store() { var id = 0; @@ -1111,7 +1111,7 @@ public virtual Task Always_computed_property_on_Added_entity_with_default_value_ async context => Assert.Equal("Alan", (await context.Set().SingleAsync(e => e.Id == id)).AlwaysComputed)); } - [ConditionalFact] + [Fact] public virtual Task Always_computed_property_on_Added_entity_with_read_only_before_save_throws_if_explicit_values_set() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -1124,7 +1124,7 @@ public virtual Task Always_computed_property_on_Added_entity_with_read_only_befo (await Assert.ThrowsAsync(() => context.SaveChangesAsync())).Message); }); - [ConditionalFact] + [Fact] public virtual Task Always_computed_property_on_Modified_entity_with_read_only_after_save_throws_if_value_is_in_modified_state() { var id = 0; @@ -1152,7 +1152,7 @@ public virtual Task Always_computed_property_on_Modified_entity_with_read_only_a }); } - [ConditionalFact] + [Fact] public virtual Task Always_computed_property_on_Modified_entity_is_read_from_store_when_not_modified() { var id = 0; @@ -1184,7 +1184,7 @@ public virtual Task Always_computed_property_on_Modified_entity_is_read_from_sto async context => Assert.Equal("Alan", (await context.Set().SingleAsync(e => e.Id == id)).AlwaysComputed)); } - [ConditionalFact] + [Fact] public virtual Task Fields_used_correctly_for_store_generated_values() { var id = 0; @@ -1204,7 +1204,7 @@ public virtual Task Fields_used_correctly_for_store_generated_values() }); } - [ConditionalFact] + [Fact] public virtual Task Nullable_fields_get_defaults_when_not_set() => ExecuteWithStrategyInTransactionAsync( async context => @@ -1229,7 +1229,7 @@ public virtual Task Nullable_fields_get_defaults_when_not_set() Assert.Equal(0, entity.NullableBackedIntZeroDefault); }); - [ConditionalFact] + [Fact] public virtual Task Properties_get_database_defaults_when_set_to_sentinel_values() => ExecuteWithStrategyInTransactionAsync( async context => @@ -1262,7 +1262,7 @@ public virtual Task Properties_get_database_defaults_when_set_to_sentinel_values Assert.Equal(0, entity.ZeroDefault); }); - [ConditionalFact] + [Fact] public virtual Task Properties_get_set_values_when_not_set_to_sentinel_values() => ExecuteWithStrategyInTransactionAsync( async context => @@ -1295,7 +1295,7 @@ public virtual Task Properties_get_set_values_when_not_set_to_sentinel_values() Assert.Equal(5, entity.ZeroDefault); }); - [ConditionalFact] + [Fact] public virtual Task Nullable_fields_store_non_defaults_when_set() => ExecuteWithStrategyInTransactionAsync( async context => @@ -1325,7 +1325,7 @@ public virtual Task Nullable_fields_store_non_defaults_when_set() Assert.Equal(Fixture.IntSentinel + 1, entity.NullableBackedIntZeroDefault); }); - [ConditionalFact] + [Fact] public virtual Task Nullable_fields_store_any_value_when_set() => ExecuteWithStrategyInTransactionAsync( async context => @@ -1355,7 +1355,7 @@ public virtual Task Nullable_fields_store_any_value_when_set() Assert.Equal(5, entity.NullableBackedIntZeroDefault); }); - [ConditionalFact] + [Fact] public virtual Task Object_fields_get_defaults_when_not_set() => ExecuteWithStrategyInTransactionAsync( async context => @@ -1380,7 +1380,7 @@ public virtual Task Object_fields_get_defaults_when_not_set() Assert.Equal(0, entity.NullableBackedIntZeroDefault); }); - [ConditionalFact] + [Fact] public virtual Task Object_fields_store_non_defaults_when_set() => ExecuteWithStrategyInTransactionAsync( async context => @@ -1410,7 +1410,7 @@ public virtual Task Object_fields_store_non_defaults_when_set() Assert.Equal(Fixture.IntSentinel + 1, entity.NullableBackedIntZeroDefault); }); - [ConditionalFact] + [Fact] public virtual Task Object_fields_store_any_value_when_set() => ExecuteWithStrategyInTransactionAsync( async context => @@ -2004,7 +2004,7 @@ protected class WrappedIntRecordDependentRequired public WrappedIntRecordPrincipal Principal { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Insert_update_and_delete_with_wrapped_int_key() { var id1 = 0; @@ -2321,7 +2321,7 @@ protected class LongToIntDependentOptional public LongToIntPrincipal? Principal { get; set; } } - [ConditionalFact] + [Fact] public virtual Task Insert_update_and_delete_with_long_to_int_conversion() { var id1 = 0L; @@ -2651,7 +2651,7 @@ protected class WrappedStringRecordDependentRequired public WrappedStringRecordPrincipal Principal { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Insert_update_and_delete_with_wrapped_string_key() { string? id1 = null; @@ -3149,7 +3149,7 @@ protected class WrappedGuidRecordDependentRequired public WrappedGuidRecordPrincipal Principal { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Insert_update_and_delete_with_wrapped_Guid_key() { var id1 = Guid.Empty; @@ -3647,7 +3647,7 @@ protected class WrappedUriRecordDependentRequired public WrappedUriRecordPrincipal Principal { get; set; } = null!; } - [ConditionalFact] + [Fact] public virtual Task Insert_update_and_delete_with_wrapped_Uri_key() { Uri? id1 = null; @@ -3964,7 +3964,7 @@ protected class UriDependentOptional public UriPrincipal? Principal { get; set; } } - [ConditionalFact] + [Fact] public virtual Task Insert_update_and_delete_with_Uri_key() { Uri? id1 = null; @@ -4084,7 +4084,7 @@ protected class EnumDependentOptional public EnumPrincipal? Principal { get; set; } } - [ConditionalFact] + [Fact] public virtual Task Insert_update_and_delete_with_enum_key() { KeyEnum? id1 = null; @@ -4194,7 +4194,7 @@ protected class GuidAsStringDependentOptional public GuidAsStringPrincipal? Principal { get; set; } } - [ConditionalFact] + [Fact] public virtual Task Insert_update_and_delete_with_GuidAsString_key() { Guid? id1 = null; @@ -4304,7 +4304,7 @@ protected class StringAsGuidDependentOptional public StringAsGuidPrincipal? Principal { get; set; } } - [ConditionalFact] + [Fact] public virtual Task Insert_update_and_delete_with_StringAsGuid_key() { string? id1 = null; diff --git a/test/EFCore.Specification.Tests/TestUtilities/NonSharedFixture.cs b/test/EFCore.Specification.Tests/TestUtilities/NonSharedFixture.cs index 7da2959b1ba..e89aa0d9ea2 100644 --- a/test/EFCore.Specification.Tests/TestUtilities/NonSharedFixture.cs +++ b/test/EFCore.Specification.Tests/TestUtilities/NonSharedFixture.cs @@ -7,13 +7,13 @@ public class NonSharedFixture : IAsyncLifetime { private TestStore? _testStore; - public Task InitializeAsync() - => Task.CompletedTask; + public ValueTask InitializeAsync() + => ValueTask.CompletedTask; public virtual TestStore GetOrCreateTestStore(Func createTestStore) => _testStore ??= createTestStore(); - public virtual async Task DisposeAsync() + public virtual async ValueTask DisposeAsync() { if (_testStore != null) { diff --git a/test/EFCore.Specification.Tests/TestUtilities/Xunit/ConditionalAssemblyAttribute.cs b/test/EFCore.Specification.Tests/TestUtilities/Xunit/ConditionalAssemblyAttribute.cs new file mode 100644 index 00000000000..bd320c2e1cb --- /dev/null +++ b/test/EFCore.Specification.Tests/TestUtilities/Xunit/ConditionalAssemblyAttribute.cs @@ -0,0 +1,92 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System; +using System.Collections.Generic; +#if NET +using System.Diagnostics.CodeAnalysis; +#endif +using System.Reflection; +using Xunit.v3; + +namespace Microsoft.EntityFrameworkCore.TestUtilities.Xunit; + +/// +/// An assembly-level attribute that conditionally marks all tests in the assembly to be skipped +/// based on the evaluation of one or more static boolean members. When any of the referenced +/// condition members evaluates to false, the attribute contributes a category=failing +/// trait so that the Arcade test runner can exclude the affected tests. +/// +[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] +public sealed class ConditionalAssemblyAttribute : Attribute, ITraitAttribute +{ +#if NET + private const DynamicallyAccessedMemberTypes ConditionalMemberKinds = + DynamicallyAccessedMemberTypes.PublicMethods + | DynamicallyAccessedMemberTypes.NonPublicMethods + | DynamicallyAccessedMemberTypes.PublicProperties + | DynamicallyAccessedMemberTypes.NonPublicProperties + | DynamicallyAccessedMemberTypes.PublicFields + | DynamicallyAccessedMemberTypes.NonPublicFields; + + [DynamicallyAccessedMembers(ConditionalMemberKinds)] +#endif + public Type CalleeType { get; } + + public string[] ConditionMemberNames { get; } + + public ConditionalAssemblyAttribute( +#if NET + [DynamicallyAccessedMembers(ConditionalMemberKinds)] +#endif + Type calleeType, + params string[] conditionMemberNames) + { + CalleeType = calleeType; + ConditionMemberNames = conditionMemberNames; + } + + public IReadOnlyCollection> GetTraits() + => Evaluate() + ? [] + : [new KeyValuePair("category", "failing")]; + + private bool Evaluate() + { + foreach (var memberName in ConditionMemberNames) + { + if (!EvaluateMember(CalleeType, memberName)) + { + return false; + } + } + + return true; + } + + private static bool EvaluateMember(Type type, string memberName) + { + const BindingFlags flags = BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static; + + var property = type.GetProperty(memberName, flags); + if (property is { PropertyType: { } pt } && pt == typeof(bool)) + { + return (bool)property.GetValue(null)!; + } + + var field = type.GetField(memberName, flags); + if (field is { FieldType: { } ft } && ft == typeof(bool)) + { + return (bool)field.GetValue(null)!; + } + + var method = type.GetMethod(memberName, flags, binder: null, types: Type.EmptyTypes, modifiers: null); + if (method is { ReturnType: { } rt } && rt == typeof(bool)) + { + return (bool)method.Invoke(null, null)!; + } + + throw new InvalidOperationException( + $"Cannot find static bool property/field/method '{memberName}' on type '{type.FullName}'."); + } +} diff --git a/test/EFCore.Specification.Tests/TestUtilities/Xunit/ConditionalFactAttribute.cs b/test/EFCore.Specification.Tests/TestUtilities/Xunit/ConditionalFactAttribute.cs deleted file mode 100644 index bd604502197..00000000000 --- a/test/EFCore.Specification.Tests/TestUtilities/Xunit/ConditionalFactAttribute.cs +++ /dev/null @@ -1,12 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using Xunit.Sdk; - -// ReSharper disable once CheckNamespace -namespace Xunit; - -[AttributeUsage(AttributeTargets.Method), XunitTestCaseDiscoverer( - "Microsoft.EntityFrameworkCore.TestUtilities.Xunit.ConditionalFactDiscoverer", - "Microsoft.EntityFrameworkCore.Specification.Tests")] -public sealed class ConditionalFactAttribute : FactAttribute; diff --git a/test/EFCore.Specification.Tests/TestUtilities/Xunit/ConditionalFactDiscoverer.cs b/test/EFCore.Specification.Tests/TestUtilities/Xunit/ConditionalFactDiscoverer.cs deleted file mode 100644 index 903122f285c..00000000000 --- a/test/EFCore.Specification.Tests/TestUtilities/Xunit/ConditionalFactDiscoverer.cs +++ /dev/null @@ -1,23 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using Xunit.Sdk; - -namespace Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - -/// -/// Used dynamically from . -/// Make sure to update that class if you move this type. -/// -public class ConditionalFactDiscoverer(IMessageSink messageSink) : FactDiscoverer(messageSink) -{ - protected override IXunitTestCase CreateTestCase( - ITestFrameworkDiscoveryOptions discoveryOptions, - ITestMethod testMethod, - IAttributeInfo factAttribute) - => new ConditionalFactTestCase( - DiagnosticMessageSink, - discoveryOptions.MethodDisplayOrDefault(), - discoveryOptions.MethodDisplayOptionsOrDefault(), - testMethod); -} diff --git a/test/EFCore.Specification.Tests/TestUtilities/Xunit/ConditionalFactTestCase.cs b/test/EFCore.Specification.Tests/TestUtilities/Xunit/ConditionalFactTestCase.cs deleted file mode 100644 index 7be0491ee9d..00000000000 --- a/test/EFCore.Specification.Tests/TestUtilities/Xunit/ConditionalFactTestCase.cs +++ /dev/null @@ -1,43 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using Xunit.Sdk; - -namespace Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - -public sealed class ConditionalFactTestCase : XunitTestCase -{ - [Obsolete("Called by the de-serializer; should only be called by deriving classes for de-serialization purposes")] - public ConditionalFactTestCase() - { - } - - public ConditionalFactTestCase( - IMessageSink diagnosticMessageSink, - TestMethodDisplay defaultMethodDisplay, - TestMethodDisplayOptions defaultMethodDisplayOptions, - ITestMethod testMethod, - object[]? testMethodArguments = null) - : base(diagnosticMessageSink, defaultMethodDisplay, defaultMethodDisplayOptions, testMethod, testMethodArguments) - { - } - - public override async Task RunAsync( - IMessageSink diagnosticMessageSink, - IMessageBus messageBus, - object[] constructorArguments, - ExceptionAggregator aggregator, - CancellationTokenSource cancellationTokenSource) - { - if (await XunitTestCaseExtensions.TrySkipAsync(this, messageBus)) - { - return new RunSummary { Total = 1, Skipped = 1 }; - } - - var messageBusInterceptor = new SkippableTestMessageBus(messageBus); - var result = await base.RunAsync(diagnosticMessageSink, messageBusInterceptor, constructorArguments, aggregator, cancellationTokenSource).ConfigureAwait(false); - result.Failed -= messageBusInterceptor.SkippedCount; - result.Skipped += messageBusInterceptor.SkippedCount; - return result; - } -} diff --git a/test/EFCore.Specification.Tests/TestUtilities/Xunit/ConditionalTheoryAttribute.cs b/test/EFCore.Specification.Tests/TestUtilities/Xunit/ConditionalTheoryAttribute.cs deleted file mode 100644 index 603fbc60615..00000000000 --- a/test/EFCore.Specification.Tests/TestUtilities/Xunit/ConditionalTheoryAttribute.cs +++ /dev/null @@ -1,12 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using Xunit.Sdk; - -// ReSharper disable once CheckNamespace -namespace Xunit; - -[AttributeUsage(AttributeTargets.Method), XunitTestCaseDiscoverer( - "Microsoft.EntityFrameworkCore.TestUtilities.Xunit.ConditionalTheoryDiscoverer", - "Microsoft.EntityFrameworkCore.Specification.Tests")] -public sealed class ConditionalTheoryAttribute : TheoryAttribute; diff --git a/test/EFCore.Specification.Tests/TestUtilities/Xunit/ConditionalTheoryDiscoverer.cs b/test/EFCore.Specification.Tests/TestUtilities/Xunit/ConditionalTheoryDiscoverer.cs deleted file mode 100644 index ad430d2310f..00000000000 --- a/test/EFCore.Specification.Tests/TestUtilities/Xunit/ConditionalTheoryDiscoverer.cs +++ /dev/null @@ -1,39 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using Xunit.Sdk; - -namespace Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - -/// -/// Used dynamically from . -/// Make sure to update that class if you move this type. -/// -public class ConditionalTheoryDiscoverer(IMessageSink messageSink) : TheoryDiscoverer(messageSink) -{ - protected override IEnumerable CreateTestCasesForTheory( - ITestFrameworkDiscoveryOptions discoveryOptions, - ITestMethod testMethod, - IAttributeInfo theoryAttribute) - { - yield return new ConditionalTheoryTestCase( - DiagnosticMessageSink, - discoveryOptions.MethodDisplayOrDefault(), - discoveryOptions.MethodDisplayOptionsOrDefault(), - testMethod); - } - - protected override IEnumerable CreateTestCasesForDataRow( - ITestFrameworkDiscoveryOptions discoveryOptions, - ITestMethod testMethod, - IAttributeInfo theoryAttribute, - object[] dataRow) - { - yield return new ConditionalFactTestCase( - DiagnosticMessageSink, - discoveryOptions.MethodDisplayOrDefault(), - discoveryOptions.MethodDisplayOptionsOrDefault(), - testMethod, - dataRow); - } -} diff --git a/test/EFCore.Specification.Tests/TestUtilities/Xunit/ConditionalTheoryTestCase.cs b/test/EFCore.Specification.Tests/TestUtilities/Xunit/ConditionalTheoryTestCase.cs deleted file mode 100644 index 371a9e8aed9..00000000000 --- a/test/EFCore.Specification.Tests/TestUtilities/Xunit/ConditionalTheoryTestCase.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using Xunit.Sdk; - -namespace Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - -public sealed class ConditionalTheoryTestCase : XunitTheoryTestCase -{ - [Obsolete("Called by the de-serializer; should only be called by deriving classes for de-serialization purposes")] - public ConditionalTheoryTestCase() - { - } - - public ConditionalTheoryTestCase( - IMessageSink diagnosticMessageSink, - TestMethodDisplay defaultMethodDisplay, - TestMethodDisplayOptions defaultMethodDisplayOptions, - ITestMethod testMethod) - : base(diagnosticMessageSink, defaultMethodDisplay, defaultMethodDisplayOptions, testMethod) - { - } - - public override async Task RunAsync( - IMessageSink diagnosticMessageSink, - IMessageBus messageBus, - object[] constructorArguments, - ExceptionAggregator aggregator, - CancellationTokenSource cancellationTokenSource) - { - if (await XunitTestCaseExtensions.TrySkipAsync(this, messageBus)) - { - return new RunSummary { Total = 1, Skipped = 1 }; - } - - var messageBusInterceptor = new SkippableTestMessageBus(messageBus); - var result = await base.RunAsync(diagnosticMessageSink, messageBusInterceptor, constructorArguments, aggregator, cancellationTokenSource).ConfigureAwait(false); - result.Failed -= messageBusInterceptor.SkippedCount; - result.Skipped += messageBusInterceptor.SkippedCount; - return result; - } -} diff --git a/test/EFCore.Specification.Tests/TestUtilities/Xunit/ITestCondition.cs b/test/EFCore.Specification.Tests/TestUtilities/Xunit/ITestCondition.cs deleted file mode 100644 index ec84da9610f..00000000000 --- a/test/EFCore.Specification.Tests/TestUtilities/Xunit/ITestCondition.cs +++ /dev/null @@ -1,11 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -namespace Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - -public interface ITestCondition -{ - ValueTask IsMetAsync(); - - string SkipReason { get; } -} diff --git a/test/EFCore.Specification.Tests/TestUtilities/Xunit/PlatformSkipConditionAttribute.cs b/test/EFCore.Specification.Tests/TestUtilities/Xunit/PlatformSkipConditionAttribute.cs deleted file mode 100644 index 13bb516f098..00000000000 --- a/test/EFCore.Specification.Tests/TestUtilities/Xunit/PlatformSkipConditionAttribute.cs +++ /dev/null @@ -1,40 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using System.Runtime.InteropServices; - -namespace Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - -[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class | AttributeTargets.Assembly)] -public sealed class PlatformSkipConditionAttribute(TestPlatform excludedPlatforms) : Attribute, ITestCondition -{ - private readonly TestPlatform _excludedPlatforms = excludedPlatforms; - - public ValueTask IsMetAsync() - => new(CanRunOnThisPlatform(_excludedPlatforms)); - - public string SkipReason { get; set; } = "Test cannot run on this platform."; - - private static bool CanRunOnThisPlatform(TestPlatform excludedFrameworks) - { - if (excludedFrameworks == TestPlatform.None) - { - return true; - } - - if (excludedFrameworks.HasFlag(TestPlatform.Windows) - && RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) - { - return false; - } - - if (excludedFrameworks.HasFlag(TestPlatform.Linux) - && RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) - { - return false; - } - - return !excludedFrameworks.HasFlag(TestPlatform.Mac) - || !RuntimeInformation.IsOSPlatform(OSPlatform.OSX); - } -} diff --git a/test/EFCore.Specification.Tests/TestUtilities/Xunit/SkipOnCiConditionAttribute.cs b/test/EFCore.Specification.Tests/TestUtilities/Xunit/SkipOnCiConditionAttribute.cs deleted file mode 100644 index 3a018bd3fa8..00000000000 --- a/test/EFCore.Specification.Tests/TestUtilities/Xunit/SkipOnCiConditionAttribute.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -namespace Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - -[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class | AttributeTargets.Assembly)] -public sealed class SkipOnCiConditionAttribute : Attribute, ITestCondition -{ - public ValueTask IsMetAsync() - => new( - Environment.GetEnvironmentVariable("PIPELINE_WORKSPACE") == null - && Environment.GetEnvironmentVariable("GITHUB_RUN_ID") == null); - - public string SkipReason { get; set; } = "Tests not reliable on C.I."; -} diff --git a/test/EFCore.Specification.Tests/TestUtilities/Xunit/SkipOnHelixConditionAttribute.cs b/test/EFCore.Specification.Tests/TestUtilities/Xunit/SkipOnHelixConditionAttribute.cs deleted file mode 100644 index 67303f24598..00000000000 --- a/test/EFCore.Specification.Tests/TestUtilities/Xunit/SkipOnHelixConditionAttribute.cs +++ /dev/null @@ -1,13 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -namespace Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - -[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class | AttributeTargets.Assembly)] -public sealed class SkipOnHelixConditionAttribute : Attribute, ITestCondition -{ - public ValueTask IsMetAsync() - => new(Environment.GetEnvironmentVariable("HELIX_WORKITEM_ROOT") is null); - - public string SkipReason { get; set; } = "Test does not run on Helix."; -} diff --git a/test/EFCore.Specification.Tests/TestUtilities/Xunit/SkippableTestMessageBus.cs b/test/EFCore.Specification.Tests/TestUtilities/Xunit/SkippableTestMessageBus.cs deleted file mode 100644 index 39eb8e37b32..00000000000 --- a/test/EFCore.Specification.Tests/TestUtilities/Xunit/SkippableTestMessageBus.cs +++ /dev/null @@ -1,93 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using Xunit.Sdk; - -namespace Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - -/// -/// Allows skipping tests by throwing SkipException. -/// -public class SkippableTestMessageBus : IMessageBus -{ - private readonly IMessageBus _inner; - private bool _isDisposed; - - public SkippableTestMessageBus(IMessageBus inner) - { - _inner = inner; - } - - public int SkippedCount { get; private set; } - - public void Dispose() - { - Dispose(true); - GC.SuppressFinalize(this); - } - - public bool QueueMessage(IMessageSinkMessage message) - { - if (message is TestFailed failed) - { - var outerException = failed.ExceptionTypes.FirstOrDefault(); - var skipTest = false; - string? skipReason = null; - switch (outerException) - { - case string _ when ShouldSkipException(outerException): - skipTest = true; - skipReason = failed.Messages?.FirstOrDefault(); - break; - case "Xunit.Sdk.ThrowsException" when failed.ExceptionTypes.Length > 1: - outerException = failed.ExceptionTypes[1]; - if (ShouldSkipException(outerException)) - { - skipTest = true; - skipReason = failed.Messages?.Length > 1 ? failed.Messages[1] : null; - } - - break; - case "System.AggregateException" when failed.ExceptionTypes.Length > 1: - // Check if any inner exception in the AggregateException is a skip exception - for (var i = 1; i < failed.ExceptionTypes.Length; i++) - { - if (ShouldSkipException(failed.ExceptionTypes[i])) - { - skipTest = true; - skipReason = failed.Messages?.Length > i ? failed.Messages[i] : null; - break; - } - } - - break; - } - - if (skipTest) - { - SkippedCount++; - return _inner.QueueMessage(new TestSkipped(failed.Test, skipReason)); - } - } - - return _inner.QueueMessage(message); - } - - protected virtual void Dispose(bool disposing) - { - if (_isDisposed) - { - return; - } - - if (disposing) - { - _inner.Dispose(); - } - - _isDisposed = true; - } - - private bool ShouldSkipException(string exceptionType) => - exceptionType == "Xunit.Sdk.SkipException"; -} diff --git a/test/EFCore.Specification.Tests/TestUtilities/Xunit/TestPlatform.cs b/test/EFCore.Specification.Tests/TestUtilities/Xunit/TestPlatform.cs deleted file mode 100644 index 7a880a6eaf0..00000000000 --- a/test/EFCore.Specification.Tests/TestUtilities/Xunit/TestPlatform.cs +++ /dev/null @@ -1,13 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -namespace Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - -[Flags] -public enum TestPlatform -{ - None = 0, - Windows = 1 << 0, - Linux = 1 << 1, - Mac = 1 << 2 -} diff --git a/test/EFCore.Specification.Tests/TestUtilities/Xunit/UseCultureAttribute.cs b/test/EFCore.Specification.Tests/TestUtilities/Xunit/UseCultureAttribute.cs index f7b8dc2aba2..ba8f40a3ca1 100644 --- a/test/EFCore.Specification.Tests/TestUtilities/Xunit/UseCultureAttribute.cs +++ b/test/EFCore.Specification.Tests/TestUtilities/Xunit/UseCultureAttribute.cs @@ -1,8 +1,10 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System; using System.Globalization; -using Xunit.Sdk; +using System.Reflection; +using Xunit.v3; namespace Microsoft.EntityFrameworkCore.TestUtilities.Xunit; @@ -22,7 +24,7 @@ public UseCultureAttribute(string culture) public CultureInfo Culture { get; } = new(culture); public CultureInfo UiCulture { get; } = new(uiCulture); - public override void Before(MethodInfo methodUnderTest) + public override void Before(MethodInfo methodUnderTest, IXunitTest test) { _originalCulture = CultureInfo.CurrentCulture; _originalUiCulture = CultureInfo.CurrentUICulture; @@ -30,7 +32,7 @@ public override void Before(MethodInfo methodUnderTest) CultureInfo.CurrentUICulture = UiCulture; } - public override void After(MethodInfo methodUnderTest) + public override void After(MethodInfo methodUnderTest, IXunitTest test) { CultureInfo.CurrentCulture = _originalCulture; CultureInfo.CurrentUICulture = _originalUiCulture; diff --git a/test/EFCore.Specification.Tests/TestUtilities/Xunit/XunitTestCaseExtensions.cs b/test/EFCore.Specification.Tests/TestUtilities/Xunit/XunitTestCaseExtensions.cs deleted file mode 100644 index 30861fceb44..00000000000 --- a/test/EFCore.Specification.Tests/TestUtilities/Xunit/XunitTestCaseExtensions.cs +++ /dev/null @@ -1,50 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using System.Collections.Concurrent; -using Xunit.Sdk; - -namespace Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - -public static class XunitTestCaseExtensions -{ - private static readonly ConcurrentDictionary> _typeAttributes = new(); - private static readonly ConcurrentDictionary> _assemblyAttributes = new(); - - public static async ValueTask TrySkipAsync(XunitTestCase testCase, IMessageBus messageBus) - { - var method = testCase.Method; - var type = testCase.TestMethod.TestClass.Class; - var assembly = type.Assembly; - - var skipReasons = new List(); - var attributes = - _assemblyAttributes.GetOrAdd( - assembly.Name, - a => assembly.GetCustomAttributes(typeof(ITestCondition)).ToList()) - .Concat( - _typeAttributes.GetOrAdd( - type.Name, - t => type.GetCustomAttributes(typeof(ITestCondition)).ToList())) - .Concat(method.GetCustomAttributes(typeof(ITestCondition))) - .OfType() - .Select(attributeInfo => (ITestCondition)attributeInfo.Attribute); - - foreach (var attribute in attributes) - { - if (!await attribute.IsMetAsync()) - { - skipReasons.Add(attribute.SkipReason); - } - } - - if (skipReasons.Count > 0) - { - messageBus.QueueMessage( - new TestSkipped(new XunitTest(testCase, testCase.DisplayName), string.Join(Environment.NewLine, skipReasons))); - return true; - } - - return false; - } -} diff --git a/test/EFCore.Specification.Tests/Types/TypeTestBase.cs b/test/EFCore.Specification.Tests/Types/TypeTestBase.cs index 6098ff99c58..da7fb5c215b 100644 --- a/test/EFCore.Specification.Tests/Types/TypeTestBase.cs +++ b/test/EFCore.Specification.Tests/Types/TypeTestBase.cs @@ -10,7 +10,7 @@ public abstract class TypeTestBase(TFixture fixture) : IClassFixtur where TFixture : TypeFixtureBase where T : notnull { - [ConditionalFact] + [Fact] public virtual async Task Equality_in_query_with_parameter() { await using var context = Fixture.CreateContext(); @@ -20,7 +20,7 @@ public virtual async Task Equality_in_query_with_parameter() Assert.Equal(Fixture.Value, result.Value, Fixture.Comparer); } - [ConditionalFact] + [Fact] public virtual async Task Equality_in_query_with_constant() { await using var context = Fixture.CreateContext(); @@ -38,7 +38,7 @@ public virtual async Task Equality_in_query_with_constant() Assert.Equal(Fixture.Value, result.Value, Fixture.Comparer); } - [ConditionalFact] + [Fact] public virtual async Task Primitive_collection_in_query() { await using var context = Fixture.CreateContext(); @@ -48,7 +48,7 @@ public virtual async Task Primitive_collection_in_query() Assert.Equal(1, result.Id); } - [ConditionalFact] + [Fact] public virtual async Task SaveChanges() { await using var context = Fixture.CreateContext(); diff --git a/test/EFCore.Specification.Tests/UnidirectionalManyToManyLoadTestBase.cs b/test/EFCore.Specification.Tests/UnidirectionalManyToManyLoadTestBase.cs index 682f23bb125..d3d2a56833e 100644 --- a/test/EFCore.Specification.Tests/UnidirectionalManyToManyLoadTestBase.cs +++ b/test/EFCore.Specification.Tests/UnidirectionalManyToManyLoadTestBase.cs @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract partial class ManyToManyLoadTestBase { - [ConditionalTheory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, true), + [Theory, InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, true), InlineData(EntityState.Unchanged, QueryTrackingBehavior.TrackAll, false), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, true), InlineData(EntityState.Modified, QueryTrackingBehavior.TrackAll, false), @@ -78,7 +78,7 @@ public virtual async Task Load_collection_unidirectional(EntityState state, Quer Assert.Equal(1 + 7 + 7, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_using_Query_unidirectional(EntityState state, bool async) @@ -119,7 +119,7 @@ public virtual async Task Load_collection_using_Query_unidirectional(EntityState Assert.Equal(1 + 3 + 3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, false), + [Theory, InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, false), InlineData(EntityState.Added, false), InlineData(EntityState.Unchanged, true), InlineData(EntityState.Modified, true), InlineData(EntityState.Added, true)] public virtual void Attached_collections_are_not_marked_as_loaded_unidirectional(EntityState state, bool lazy) @@ -190,7 +190,7 @@ public virtual void Attached_collections_are_not_marked_as_loaded_unidirectional Assert.False(context.Entry(left).Collection(e => e.ThreeSkipPayloadFullShared).IsLoaded); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_already_loaded_unidirectional(EntityState state, bool async) @@ -241,7 +241,7 @@ public virtual async Task Load_collection_already_loaded_unidirectional(EntitySt Assert.Equal(1 + 4 + 4, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_using_Query_already_loaded_unidirectional(EntityState state, bool async) @@ -282,7 +282,7 @@ public virtual async Task Load_collection_using_Query_already_loaded_unidirectio Assert.Equal(1 + 7 + 7, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_untyped_unidirectional(EntityState state, bool async) @@ -333,7 +333,7 @@ public virtual async Task Load_collection_untyped_unidirectional(EntityState sta Assert.Equal(1 + 7 + 7, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_using_Query_untyped_unidirectional(EntityState state, bool async) @@ -374,7 +374,7 @@ public virtual async Task Load_collection_using_Query_untyped_unidirectional(Ent Assert.Equal(1 + 3 + 3, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_not_found_untyped_unidirectional(EntityState state, bool async) @@ -419,7 +419,7 @@ public virtual async Task Load_collection_not_found_untyped_unidirectional(Entit Assert.Single(context.ChangeTracker.Entries()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_using_Query_not_found_untyped_unidirectional(EntityState state, bool async) @@ -454,7 +454,7 @@ public virtual async Task Load_collection_using_Query_not_found_untyped_unidirec Assert.Single(context.ChangeTracker.Entries()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), + [Theory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, false, CascadeTiming.Immediate), InlineData(EntityState.Modified, true, CascadeTiming.Immediate), InlineData(EntityState.Modified, false, CascadeTiming.Immediate), InlineData(EntityState.Deleted, true, CascadeTiming.Immediate), InlineData(EntityState.Deleted, false, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, true, CascadeTiming.OnSaveChanges), @@ -518,7 +518,7 @@ public virtual async Task Load_collection_already_loaded_untyped_unidirectional( Assert.Equal(1 + 4 + 4, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), + [Theory, InlineData(EntityState.Unchanged, true, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, false, CascadeTiming.Immediate), InlineData(EntityState.Modified, true, CascadeTiming.Immediate), InlineData(EntityState.Modified, false, CascadeTiming.Immediate), InlineData(EntityState.Deleted, true, CascadeTiming.Immediate), InlineData(EntityState.Deleted, false, CascadeTiming.Immediate), InlineData(EntityState.Unchanged, true, CascadeTiming.OnSaveChanges), @@ -571,7 +571,7 @@ public virtual async Task Load_collection_using_Query_already_loaded_untyped_uni Assert.Equal(1 + 7 + 7, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_composite_key_unidirectional(EntityState state, bool async) @@ -622,7 +622,7 @@ public virtual async Task Load_collection_composite_key_unidirectional(EntitySta Assert.Equal(1 + 2 + 2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), + [Theory, InlineData(EntityState.Unchanged, true), InlineData(EntityState.Unchanged, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false)] public virtual async Task Load_collection_using_Query_composite_key_unidirectional(EntityState state, bool async) @@ -653,7 +653,7 @@ public virtual async Task Load_collection_using_Query_composite_key_unidirection Assert.Equal(1 + 2 + 2, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(true, QueryTrackingBehavior.NoTracking), InlineData(true, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(true, QueryTrackingBehavior.NoTracking), InlineData(true, QueryTrackingBehavior.TrackAll), InlineData(true, QueryTrackingBehavior.NoTrackingWithIdentityResolution), InlineData(false, QueryTrackingBehavior.NoTracking), InlineData(false, QueryTrackingBehavior.TrackAll), InlineData(false, QueryTrackingBehavior.NoTrackingWithIdentityResolution)] public virtual async Task Load_collection_for_detached_throws_unidirectional(bool async, QueryTrackingBehavior queryTrackingBehavior) @@ -679,7 +679,7 @@ public virtual async Task Load_collection_for_detached_throws_unidirectional(boo } } - [ConditionalTheory, InlineData(QueryTrackingBehavior.NoTracking), InlineData(QueryTrackingBehavior.TrackAll), + [Theory, InlineData(QueryTrackingBehavior.NoTracking), InlineData(QueryTrackingBehavior.TrackAll), InlineData(QueryTrackingBehavior.NoTrackingWithIdentityResolution)] public virtual void Query_collection_for_detached_throws_unidirectional(QueryTrackingBehavior queryTrackingBehavior) { @@ -697,7 +697,7 @@ public virtual void Query_collection_for_detached_throws_unidirectional(QueryTra var query = collectionEntry.Query(); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Load_collection_using_Query_with_Include_unidirectional(bool async) { using var context = Fixture.CreateContext(); @@ -742,7 +742,7 @@ public virtual async Task Load_collection_using_Query_with_Include_unidirectiona Assert.Equal(21, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Load_collection_using_Query_with_Include_for_inverse_unidirectional(bool async) { using var context = Fixture.CreateContext(); @@ -781,7 +781,7 @@ public virtual async Task Load_collection_using_Query_with_Include_for_inverse_u Assert.Equal(7, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Load_collection_using_Query_with_filtered_Include_unidirectional(bool async) { using var context = Fixture.CreateContext(); @@ -834,7 +834,7 @@ public virtual async Task Load_collection_using_Query_with_filtered_Include_unid Assert.Equal(9, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Load_collection_using_Query_with_filtered_Include_and_projection_unidirectional(bool async) { using var context = Fixture.CreateContext(); @@ -879,7 +879,7 @@ public virtual async Task Load_collection_using_Query_with_filtered_Include_and_ Assert.Equal("EntityTwo 16", projected[2].Name); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Load_collection_using_Query_with_join_unidirectional(bool async) { using var context = Fixture.CreateContext(); @@ -915,7 +915,7 @@ on t.Id equals s.Id } } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Query_with_Include_marks_only_left_as_loaded_unidirectional(bool async) { using var context = Fixture.CreateContext(); @@ -937,7 +937,7 @@ public virtual async Task Query_with_Include_marks_only_left_as_loaded_unidirect } } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Query_with_filtered_Include_marks_only_left_as_loaded_unidirectional(bool async) { using var context = Fixture.CreateContext(); diff --git a/test/EFCore.Specification.Tests/UnidirectionalManyToManyTrackingTestBase.cs b/test/EFCore.Specification.Tests/UnidirectionalManyToManyTrackingTestBase.cs index 1bffe9147b2..ab460af3844 100644 --- a/test/EFCore.Specification.Tests/UnidirectionalManyToManyTrackingTestBase.cs +++ b/test/EFCore.Specification.Tests/UnidirectionalManyToManyTrackingTestBase.cs @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore; public abstract partial class ManyToManyTrackingTestBase { - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Can_insert_many_to_many_composite_with_navs_unidirectional(bool async) { List leftKeys = null; @@ -132,7 +132,7 @@ void ValidateFixup( } } - [ConditionalFact] + [Fact] public virtual Task Can_update_many_to_many_composite_with_navs_unidirectional() { return ExecuteWithStrategyInTransactionAsync( @@ -260,7 +260,7 @@ void ValidateFixup( } } - [ConditionalFact] + [Fact] public virtual Task Can_delete_with_many_to_many_composite_with_navs_unidirectional() { var key1 = 0; @@ -424,7 +424,7 @@ static void ValidateJoinNavigations(DbContext context) } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Can_insert_many_to_many_composite_additional_pk_with_navs_unidirectional(bool async) { List keys = null; @@ -568,7 +568,7 @@ void ValidateFixup( } } - [ConditionalFact] + [Fact] public virtual Task Can_update_many_to_many_composite_additional_pk_with_navs_unidirectional() { List threeIds = null; @@ -770,7 +770,7 @@ void ValidateFixup( } } - [ConditionalFact] + [Fact] public virtual Task Can_delete_with_many_to_many_composite_additional_pk_with_navs_unidirectional() { var threeId = 0; @@ -924,7 +924,7 @@ static void ValidateJoinNavigations(DbContext context) } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Can_insert_many_to_many_self_shared_unidirectional(bool async) { List leftKeys = null; @@ -1031,7 +1031,7 @@ void ValidateFixup(DbContext context, IList leftEntitie } } - [ConditionalFact] + [Fact] public virtual Task Can_update_many_to_many_self_unidirectional() { List ids = null; @@ -1198,7 +1198,7 @@ void ValidateFixup( } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Can_insert_many_to_many_with_inheritance_unidirectional(bool async) { List keys = null; @@ -1289,7 +1289,7 @@ void ValidateFixup(DbContext context, IList leftEntitie } } - [ConditionalFact] + [Fact] public virtual Task Can_update_many_to_many_with_inheritance_unidirectional() { return ExecuteWithStrategyInTransactionAsync( @@ -1445,7 +1445,7 @@ void ValidateFixup( } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Can_insert_many_to_many_self_with_payload_unidirectional(bool async) { List leftKeys = null; @@ -1575,7 +1575,7 @@ void ValidateFixup( } } - [ConditionalFact] + [Fact] public virtual Task Can_update_many_to_many_self_with_payload_unidirectional() { List keys = null; @@ -1782,7 +1782,7 @@ void ValidateFixup( } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Can_insert_many_to_many_shared_with_payload_unidirectional(bool async) { List keys = null; @@ -1890,7 +1890,7 @@ void ValidateFixup( } } - [ConditionalFact] + [Fact] public virtual Task Can_update_many_to_many_shared_with_payload_unidirectional() { return ExecuteWithStrategyInTransactionAsync( @@ -2094,7 +2094,7 @@ void ValidateFixup( } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Can_insert_many_to_many_shared_unidirectional(bool async) { List keys = null; @@ -2185,7 +2185,7 @@ void ValidateFixup(DbContext context, IList leftEntitie } } - [ConditionalFact] + [Fact] public virtual Task Can_update_many_to_many_shared_unidirectional() { return ExecuteWithStrategyInTransactionAsync( @@ -2353,7 +2353,7 @@ void ValidateFixup( } } - [ConditionalTheory, InlineData(false, false, false), InlineData(true, false, false), InlineData(false, true, false), + [Theory, InlineData(false, false, false), InlineData(true, false, false), InlineData(false, true, false), InlineData(true, true, false), InlineData(false, false, true), InlineData(true, false, true), InlineData(false, true, true), InlineData(true, true, true)] public virtual async Task Can_insert_many_to_many_with_suspected_dangling_join_unidirectional( @@ -2529,7 +2529,7 @@ void ValidateFixup(DbContext context, IList leftEntitie } } - [ConditionalTheory, InlineData(false, false, false), InlineData(true, false, false), InlineData(false, true, false), + [Theory, InlineData(false, false, false), InlineData(true, false, false), InlineData(false, true, false), InlineData(true, true, false), InlineData(false, false, true), InlineData(true, false, true), InlineData(false, true, true), InlineData(true, true, true)] public virtual async Task Can_insert_many_to_many_with_dangling_join_unidirectional( @@ -2664,7 +2664,7 @@ void ValidateFixup(DbContext context, IList leftEntitie } } - [ConditionalFact] + [Fact] public virtual Task Can_insert_update_delete_proxyable_shared_type_entity_type_unidirectional() { var id = 0; @@ -2713,7 +2713,7 @@ public virtual Task Can_insert_update_delete_proxyable_shared_type_entity_type_u }); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Can_insert_many_to_many_with_navs_by_join_entity_unidirectional(bool async) { await ExecuteWithStrategyInTransactionAsync( diff --git a/test/EFCore.Specification.Tests/Update/UpdatesTestBase.cs b/test/EFCore.Specification.Tests/Update/UpdatesTestBase.cs index 45a30aee83b..91b33d9740b 100644 --- a/test/EFCore.Specification.Tests/Update/UpdatesTestBase.cs +++ b/test/EFCore.Specification.Tests/Update/UpdatesTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. # nullable enable @@ -16,7 +16,7 @@ public abstract class UpdatesTestBase(TFixture fixture) : IClassFixtur public static readonly IEnumerable IsAsyncData = [[false], [true]]; - [ConditionalTheory, InlineData(false), InlineData(true)] // Issue #25905 + [Theory, InlineData(false), InlineData(true)] // Issue #25905 public virtual async Task Can_delete_and_add_for_same_key(bool async) => await ExecuteWithStrategyInTransactionAsync(async context => { @@ -51,7 +51,7 @@ public virtual async Task Can_delete_and_add_for_same_key(bool async) Assert.Equal(EntityState.Detached, context.Entry(rodney1).State); }); - [ConditionalTheory, InlineData(false), InlineData(true)] // Issue #29789 + [Theory, InlineData(false), InlineData(true)] // Issue #29789 public virtual async Task Can_change_type_of_pk_to_pk_dependent_by_replacing_with_new_dependent(bool async) => await ExecuteWithStrategyInTransactionAsync( async context => @@ -76,7 +76,7 @@ public virtual async Task Can_change_type_of_pk_to_pk_dependent_by_replacing_wit Assert.Single(context.Set()); }); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Can_change_type_of__dependent_by_replacing_with_new_dependent(bool async) => await ExecuteWithStrategyInTransactionAsync( async context => @@ -101,7 +101,7 @@ public virtual async Task Can_change_type_of__dependent_by_replacing_with_new_de Assert.Single(context.Set()); }); - [ConditionalFact] + [Fact] public virtual Task Mutation_of_tracked_values_does_not_mutate_values_in_store() { var id1 = Guid.NewGuid(); @@ -144,7 +144,7 @@ public virtual Task Mutation_of_tracked_values_does_not_mutate_values_in_store() }); } - [ConditionalFact] + [Fact] public virtual Task Save_partial_update() { var productId = new Guid("984ade3c-2f7b-4651-a351-642e92ab7146"); @@ -172,7 +172,7 @@ public virtual Task Save_partial_update() }); } - [ConditionalFact] + [Fact] public virtual Task Save_partial_update_on_missing_record_throws() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -186,7 +186,7 @@ public virtual Task Save_partial_update_on_missing_record_throws() (await Assert.ThrowsAsync(() => context.SaveChangesAsync())).Message); }); - [ConditionalFact] + [Fact] public virtual Task Save_partial_update_on_concurrency_token_original_value_mismatch_throws() { var productId = new Guid("984ade3c-2f7b-4651-a351-642e92ab7146"); @@ -209,7 +209,7 @@ public virtual Task Save_partial_update_on_concurrency_token_original_value_mism }); } - [ConditionalFact] + [Fact] public virtual Task Update_on_bytes_concurrency_token_original_value_mismatch_throws() { var productId = Guid.NewGuid(); @@ -244,7 +244,7 @@ public virtual Task Update_on_bytes_concurrency_token_original_value_mismatch_th async context => Assert.Equal("MegaChips", (await context.ProductWithBytes.FindAsync(productId))!.Name)); } - [ConditionalFact] + [Fact] public virtual Task Update_on_bytes_concurrency_token_original_value_matches_does_not_throw() { var productId = Guid.NewGuid(); @@ -279,7 +279,7 @@ public virtual Task Update_on_bytes_concurrency_token_original_value_matches_doe async context => Assert.Equal("GigaChips", (await context.ProductWithBytes.FindAsync(productId))!.Name)); } - [ConditionalFact] + [Fact] public virtual Task Remove_on_bytes_concurrency_token_original_value_mismatch_throws() { var productId = Guid.NewGuid(); @@ -314,7 +314,7 @@ public virtual Task Remove_on_bytes_concurrency_token_original_value_mismatch_th async context => Assert.Equal("MegaChips", (await context.ProductWithBytes.FindAsync(productId))!.Name)); } - [ConditionalFact] + [Fact] public virtual Task Remove_on_bytes_concurrency_token_original_value_matches_does_not_throw() { var productId = Guid.NewGuid(); @@ -349,7 +349,7 @@ public virtual Task Remove_on_bytes_concurrency_token_original_value_matches_doe async context => Assert.Null(await context.ProductWithBytes.FindAsync(productId))); } - [ConditionalFact] + [Fact] public virtual Task Can_add_and_remove_self_refs() => ExecuteWithStrategyInTransactionAsync( async context => @@ -407,7 +407,7 @@ public virtual Task Can_add_and_remove_self_refs() Assert.Equal("1", people.Single(p => p.Parent == null).Name); }); - [ConditionalFact] + [Fact] public virtual Task Can_change_enums_with_conversion() => ExecuteWithStrategyInTransactionAsync( async context => @@ -446,7 +446,7 @@ public virtual Task Can_change_enums_with_conversion() Assert.Equal("42100", person.ZipCode); }); - [ConditionalFact] + [Fact] public virtual Task Can_remove_partial() { var productId = new Guid("984ade3c-2f7b-4651-a351-642e92ab7146"); @@ -467,7 +467,7 @@ public virtual Task Can_remove_partial() }); } - [ConditionalFact] + [Fact] public virtual Task Remove_partial_on_missing_record_throws() => ExecuteWithStrategyInTransactionAsync(async context => { @@ -479,7 +479,7 @@ public virtual Task Remove_partial_on_missing_record_throws() (await Assert.ThrowsAsync(() => context.SaveChangesAsync())).Message); }); - [ConditionalFact] + [Fact] public virtual Task Remove_partial_on_concurrency_token_original_value_mismatch_throws() { var productId = new Guid("984ade3c-2f7b-4651-a351-642e92ab7146"); @@ -498,7 +498,7 @@ public virtual Task Remove_partial_on_concurrency_token_original_value_mismatch_ }); } - [ConditionalFact] + [Fact] public virtual Task Save_replaced_principal() => ExecuteWithStrategyInTransactionAsync( async context => @@ -528,7 +528,7 @@ public virtual Task Save_replaced_principal() Assert.Equal(2, products.Count); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public Task SaveChanges_processes_all_tracked_entities(bool async) { var categoryId = 0; @@ -582,7 +582,7 @@ public Task SaveChanges_processes_all_tracked_entities(bool async) }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public Task SaveChanges_false_processes_all_tracked_entities_without_calling_AcceptAllChanges(bool async) { var categoryId = 0; @@ -639,7 +639,7 @@ public Task SaveChanges_false_processes_all_tracked_entities_without_calling_Acc }); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public Task Ignore_before_save_property_is_still_generated(bool async) => ExecuteWithStrategyInTransactionAsync( async context => @@ -677,7 +677,7 @@ public Task Ignore_before_save_property_is_still_generated(bool async) Assert.Equal("CC2", ((CupCake)bakedGoods[0]).CupCakeName); }); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public Task Ignore_before_save_property_is_still_generated_graph(bool async) => ExecuteWithStrategyInTransactionAsync( async context => diff --git a/test/EFCore.Specification.Tests/ValueConvertersEndToEndTestBase.cs b/test/EFCore.Specification.Tests/ValueConvertersEndToEndTestBase.cs index d4429b82171..20615c7a50e 100644 --- a/test/EFCore.Specification.Tests/ValueConvertersEndToEndTestBase.cs +++ b/test/EFCore.Specification.Tests/ValueConvertersEndToEndTestBase.cs @@ -156,7 +156,7 @@ public abstract class ValueConvertersEndToEndTestBase(TFixture fixture { typeof(TimeSpan), [_timeSpan1.ToString(), _timeSpan2.ToString(), _timeSpan1.ToString(), _timeSpan2.ToString()] }, }; - [ConditionalTheory, + [Theory, InlineData(new[] { 0, 1, 2, 3 }), InlineData(new[] { 3, 2, 1, 0 }), InlineData(new[] { 0, 2, 0, 2 })] @@ -240,7 +240,7 @@ private void SetPropertyValues(DbContext context, ConvertingEntity entity, int v } } - [ConditionalFact] + [Fact] protected void Convert_string_nulls_to_string_non_nulls_in_provider() { var converter = new NullStringToNonNullStringConverter().ConvertToProviderExpression.Compile(); @@ -251,7 +251,7 @@ protected void Convert_string_nulls_to_string_non_nulls_in_provider() Assert.Equal("", converter("")); } - [ConditionalFact] + [Fact] protected void Convert_string_nulls_to_string_non_nulls_in_provider_object() { var converter = new NullStringToNonNullStringConverter().ConvertToProvider; @@ -262,7 +262,7 @@ protected void Convert_string_nulls_to_string_non_nulls_in_provider_object() Assert.Equal("", converter("")); } - [ConditionalFact] + [Fact] protected void Convert_string_nulls_to_string_non_nulls_in_app() { var converter = new NonNullStringToNullStringConverter().ConvertFromProviderExpression.Compile(); @@ -273,7 +273,7 @@ protected void Convert_string_nulls_to_string_non_nulls_in_app() Assert.Equal("", converter("")); } - [ConditionalFact] + [Fact] protected void Convert_string_nulls_to_string_non_nulls_in_app_object() { var converter = new NonNullStringToNullStringConverter().ConvertFromProvider; @@ -284,7 +284,7 @@ protected void Convert_string_nulls_to_string_non_nulls_in_app_object() Assert.Equal("", converter("")); } - [ConditionalFact] + [Fact] protected void Convert_string_non_nulls_to_string_nulls_in_provider() { var converter = new NonNullStringToNullStringConverter().ConvertToProviderExpression.Compile(); @@ -294,7 +294,7 @@ protected void Convert_string_non_nulls_to_string_nulls_in_provider() Assert.Equal("", converter("")); } - [ConditionalFact] + [Fact] protected void Convert_string_non_nulls_to_string_nulls_in_provider_object() { var converter = new NonNullStringToNullStringConverter().ConvertToProvider; @@ -304,7 +304,7 @@ protected void Convert_string_non_nulls_to_string_nulls_in_provider_object() Assert.Equal("", converter("")); } - [ConditionalFact] + [Fact] protected void Convert_string_non_nulls_to_string_nulls_in_app() { var converter = new NullStringToNonNullStringConverter().ConvertFromProviderExpression.Compile(); @@ -314,7 +314,7 @@ protected void Convert_string_non_nulls_to_string_nulls_in_app() Assert.Equal("", converter("")); } - [ConditionalFact] + [Fact] protected void Convert_string_non_nulls_to_string_nulls_in_app_object() { var converter = new NullStringToNonNullStringConverter().ConvertFromProvider; @@ -324,7 +324,7 @@ protected void Convert_string_non_nulls_to_string_nulls_in_app_object() Assert.Equal("", converter("")); } - [ConditionalFact] + [Fact] protected void Convert_int_nulls_to_string_non_nulls_in_provider() { var converter = new NullIntToNonNullStringConverter().ConvertToProviderExpression.Compile(); @@ -334,7 +334,7 @@ protected void Convert_int_nulls_to_string_non_nulls_in_provider() Assert.Equal("", converter(null)); } - [ConditionalFact] + [Fact] protected void Convert_int_nulls_to_string_nulls_in_provider() { var converter = new NullIntToNullStringConverter().ConvertToProviderExpression.Compile(); @@ -344,7 +344,7 @@ protected void Convert_int_nulls_to_string_nulls_in_provider() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] protected void Convert_int_non_nulls_to_string_non_nulls_in_provider() { var converter = new NonNullIntToNonNullStringConverter().ConvertToProviderExpression.Compile(); @@ -353,7 +353,7 @@ protected void Convert_int_non_nulls_to_string_non_nulls_in_provider() Assert.Equal("1", converter(1)); } - [ConditionalFact] + [Fact] protected void Convert_int_non_nulls_to_string_nulls_in_provider() { var converter = new NonNullIntToNullStringConverter().ConvertToProviderExpression.Compile(); @@ -362,7 +362,7 @@ protected void Convert_int_non_nulls_to_string_nulls_in_provider() Assert.Equal("1", converter(1)); } - [ConditionalFact] + [Fact] protected void Convert_string_nulls_to_int_non_nulls_in_app() { var converter = new NonNullIntToNullStringConverter().ConvertFromProviderExpression.Compile(); @@ -372,7 +372,7 @@ protected void Convert_string_nulls_to_int_non_nulls_in_app() Assert.Equal(0, converter(null)); } - [ConditionalFact] + [Fact] protected void Convert_string_nulls_to_int_nulls_in_app() { var converter = new NullIntToNullStringConverter().ConvertFromProviderExpression.Compile(); @@ -383,7 +383,7 @@ protected void Convert_string_nulls_to_int_nulls_in_app() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] protected void Convert_string_non_nulls_to_int_non_nulls_in_app() { var converter = new NonNullIntToNonNullStringConverter().ConvertFromProviderExpression.Compile(); @@ -393,7 +393,7 @@ protected void Convert_string_non_nulls_to_int_non_nulls_in_app() Assert.Equal(0, converter("")); } - [ConditionalFact] + [Fact] protected void Convert_string_non_nulls_to_int_nulls_in_app() { var converter = new NullIntToNonNullStringConverter().ConvertFromProviderExpression.Compile(); @@ -403,7 +403,7 @@ protected void Convert_string_non_nulls_to_int_nulls_in_app() Assert.Null(converter("")); } - [ConditionalFact] + [Fact] protected void Convert_int_nulls_to_string_non_nulls_in_provider_object() { var converter = new NullIntToNonNullStringConverter().ConvertToProvider; @@ -413,7 +413,7 @@ protected void Convert_int_nulls_to_string_non_nulls_in_provider_object() Assert.Equal("", converter(null)); } - [ConditionalFact] + [Fact] protected void Convert_int_nulls_to_string_nulls_in_provider_object() { var converter = new NullIntToNullStringConverter().ConvertToProvider; @@ -423,7 +423,7 @@ protected void Convert_int_nulls_to_string_nulls_in_provider_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] protected void Convert_int_non_nulls_to_string_non_nulls_in_provider_object() { var converter = new NonNullIntToNonNullStringConverter().ConvertToProvider; @@ -433,7 +433,7 @@ protected void Convert_int_non_nulls_to_string_non_nulls_in_provider_object() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] protected void Convert_int_non_nulls_to_string_nulls_in_provider_object() { var converter = new NonNullIntToNullStringConverter().ConvertToProvider; @@ -443,7 +443,7 @@ protected void Convert_int_non_nulls_to_string_nulls_in_provider_object() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] protected void Convert_string_nulls_to_int_non_nulls_in_app_object() { var converter = new NonNullIntToNullStringConverter().ConvertFromProvider; @@ -454,7 +454,7 @@ protected void Convert_string_nulls_to_int_non_nulls_in_app_object() Assert.Equal(0, converter(null)); } - [ConditionalFact] + [Fact] protected void Convert_string_nulls_to_int_nulls_in_app_object() { var converter = new NullIntToNullStringConverter().ConvertFromProvider; @@ -465,7 +465,7 @@ protected void Convert_string_nulls_to_int_nulls_in_app_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] protected void Convert_string_non_nulls_to_int_non_nulls_in_app_object() { var converter = new NonNullIntToNonNullStringConverter().ConvertFromProvider; @@ -476,7 +476,7 @@ protected void Convert_string_non_nulls_to_int_non_nulls_in_app_object() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] protected void Convert_string_non_nulls_to_int_nulls_in_app_object() { var converter = new NullIntToNonNullStringConverter().ConvertFromProvider; diff --git a/test/EFCore.Specification.Tests/WithConstructorsTestBase.cs b/test/EFCore.Specification.Tests/WithConstructorsTestBase.cs index fa28a273ecf..5feae7664f0 100644 --- a/test/EFCore.Specification.Tests/WithConstructorsTestBase.cs +++ b/test/EFCore.Specification.Tests/WithConstructorsTestBase.cs @@ -26,7 +26,7 @@ protected virtual void UseTransaction(DatabaseFacade facade, IDbContextTransacti { } - [ConditionalFact] + [Fact] public virtual Task Query_and_update_using_constructors_with_property_parameters() => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, UseTransaction, async context => @@ -83,7 +83,7 @@ public virtual Task Query_and_update_using_constructors_with_property_parameters Assert.StartsWith("Yes", posts[2].Content); }); - [ConditionalFact] + [Fact] public virtual void Query_with_keyless_type() { using var context = CreateContext(); @@ -93,7 +93,7 @@ public virtual void Query_with_keyless_type() Assert.Equal("Puppies", blogs[0].Title); } - [ConditionalFact] + [Fact] public virtual void Query_with_context_injected() { using (var context = CreateContext()) @@ -112,7 +112,7 @@ public virtual void Query_with_context_injected() } } - [ConditionalFact] + [Fact] public virtual void Query_with_context_injected_into_property() { using (var context = CreateContext()) @@ -131,7 +131,7 @@ public virtual void Query_with_context_injected_into_property() } } - [ConditionalFact] + [Fact] public virtual void Query_with_context_injected_into_constructor_with_property() { HasContextPc entityWithBase; @@ -179,7 +179,7 @@ public virtual void Query_with_context_injected_into_constructor_with_property() } } - [ConditionalFact] + [Fact] public virtual void Attaching_entity_sets_context() { int id1, id2, id3; @@ -206,7 +206,7 @@ public virtual void Attaching_entity_sets_context() } } - [ConditionalFact] + [Fact] public virtual void Query_with_EntityType_injected() { using var context = CreateContext(); @@ -215,7 +215,7 @@ public virtual void Query_with_EntityType_injected() context.Set().Single().GetEntityType()); } - [ConditionalFact] + [Fact] public virtual void Query_with_EntityType_injected_into_property() { using var context = CreateContext(); @@ -224,7 +224,7 @@ public virtual void Query_with_EntityType_injected_into_property() context.Set().Single().EntityType); } - [ConditionalFact] + [Fact] public virtual void Query_with_EntityType_injected_into_constructor_with_property() { HasEntityTypePc entity; @@ -250,7 +250,7 @@ public virtual void Query_with_EntityType_injected_into_constructor_with_propert } } - [ConditionalFact] + [Fact] public virtual void Attaching_entity_sets_EntityType() { int id; @@ -269,7 +269,7 @@ public virtual void Attaching_entity_sets_EntityType() } } - [ConditionalFact] + [Fact] public virtual void Query_with_StateManager_injected() { using var context = CreateContext(); @@ -278,7 +278,7 @@ public virtual void Query_with_StateManager_injected() context.Set().Single().GetStateManager()); } - [ConditionalFact] + [Fact] public virtual void Query_with_StateManager_injected_into_property() { using var context = CreateContext(); @@ -287,7 +287,7 @@ public virtual void Query_with_StateManager_injected_into_property() context.Set().Single().StateManager); } - [ConditionalFact] + [Fact] public virtual void Query_with_StateManager_injected_into_constructor_with_property() { HasStateManagerPc entity; @@ -313,7 +313,7 @@ public virtual void Query_with_StateManager_injected_into_constructor_with_prope } } - [ConditionalFact] + [Fact] public virtual void Attaching_entity_sets_StateManager() { int id; @@ -332,7 +332,7 @@ public virtual void Attaching_entity_sets_StateManager() } } - [ConditionalFact] + [Fact] public virtual void Query_with_loader_injected_for_reference() { using var context = CreateContext(); @@ -342,7 +342,7 @@ public virtual void Query_with_loader_injected_for_reference() Assert.Contains(post, post.LazyBlog.LazyPosts); } - [ConditionalFact] + [Fact] public virtual void Query_with_loader_injected_for_collections() { using var context = CreateContext(); @@ -353,7 +353,7 @@ public virtual void Query_with_loader_injected_for_collections() Assert.Same(blog, blog.LazyPosts.Skip(1).First().LazyBlog); } - [ConditionalFact] + [Fact] public virtual async Task Query_with_loader_injected_for_reference_async() { using var context = CreateContext(); @@ -366,7 +366,7 @@ public virtual async Task Query_with_loader_injected_for_reference_async() Assert.Contains(post, post.LazyAsyncBlog.LazyAsyncPosts); } - [ConditionalFact] + [Fact] public virtual async Task Query_with_loader_injected_for_collections_async() { using var context = CreateContext(); @@ -380,7 +380,7 @@ public virtual async Task Query_with_loader_injected_for_collections_async() Assert.Same(blog, blog.LazyAsyncPosts.Skip(1).First().LazyAsyncBlog); } - [ConditionalFact] + [Fact] public virtual void Query_with_POCO_loader_injected_for_reference() { using var context = CreateContext(); @@ -390,7 +390,7 @@ public virtual void Query_with_POCO_loader_injected_for_reference() Assert.Contains(post, post.LazyPocoBlog.LazyPocoPosts); } - [ConditionalFact] + [Fact] public virtual void Query_with_POCO_loader_injected_for_collections() { using var context = CreateContext(); @@ -401,7 +401,7 @@ public virtual void Query_with_POCO_loader_injected_for_collections() Assert.Same(blog, blog.LazyPocoPosts.Skip(1).First().LazyPocoBlog); } - [ConditionalFact] + [Fact] public virtual async Task Query_with_loader_delegate_injected_for_reference_async() { using var context = CreateContext(); @@ -414,7 +414,7 @@ public virtual async Task Query_with_loader_delegate_injected_for_reference_asyn Assert.Contains(post, post.LazyAsyncPocoBlog.LazyAsyncPocoPosts); } - [ConditionalFact] + [Fact] public virtual async Task Query_with_loader_delegate_injected_for_collections_async() { using var context = CreateContext(); @@ -428,7 +428,7 @@ public virtual async Task Query_with_loader_delegate_injected_for_collections_as Assert.Same(blog, blog.LazyAsyncPocoPosts.Skip(1).First().LazyAsyncPocoBlog); } - [ConditionalFact] + [Fact] public virtual void Query_with_loader_injected_into_property_for_reference() { using var context = CreateContext(); @@ -438,7 +438,7 @@ public virtual void Query_with_loader_injected_into_property_for_reference() Assert.Contains(post, post.LazyPropertyBlog.LazyPropertyPosts); } - [ConditionalFact] + [Fact] public virtual void Query_with_loader_injected_into_property_for_collections() { using var context = CreateContext(); @@ -449,7 +449,7 @@ public virtual void Query_with_loader_injected_into_property_for_collections() Assert.Same(blog, blog.LazyPropertyPosts.Skip(1).First().LazyPropertyBlog); } - [ConditionalFact] + [Fact] public virtual void Attaching_entity_sets_lazy_loader() { int id, fk; @@ -474,7 +474,7 @@ public virtual void Attaching_entity_sets_lazy_loader() } } - [ConditionalFact] + [Fact] public virtual void Detaching_entity_resets_lazy_loader_so_it_can_be_reattached() { LazyPropertyPost post; @@ -497,7 +497,7 @@ public virtual void Detaching_entity_resets_lazy_loader_so_it_can_be_reattached( } } - [ConditionalFact] + [Fact] public virtual void Query_with_loader_injected_into_field_for_reference() { using var context = CreateContext(); @@ -507,7 +507,7 @@ public virtual void Query_with_loader_injected_into_field_for_reference() Assert.Contains(post, post.LazyFieldBlog.LazyFieldPosts); } - [ConditionalFact] + [Fact] public virtual void Query_with_loader_injected_into_field_for_collections() { using var context = CreateContext(); @@ -518,7 +518,7 @@ public virtual void Query_with_loader_injected_into_field_for_collections() Assert.Same(blog, blog.LazyFieldPosts.Skip(1).First().LazyFieldBlog); } - [ConditionalFact] + [Fact] public virtual void Attaching_entity_sets_lazy_loader_field() { int id, fk; @@ -543,7 +543,7 @@ public virtual void Attaching_entity_sets_lazy_loader_field() } } - [ConditionalFact] + [Fact] public virtual void Detaching_entity_resets_lazy_loader_field_so_it_can_be_reattached() { LazyFieldPost post; @@ -566,7 +566,7 @@ public virtual void Detaching_entity_resets_lazy_loader_field_so_it_can_be_reatt } } - [ConditionalFact] + [Fact] public virtual void Attaching_entity_sets_lazy_loader_delegate() { int id, fk; @@ -591,7 +591,7 @@ public virtual void Attaching_entity_sets_lazy_loader_delegate() } } - [ConditionalFact] + [Fact] public virtual void Detaching_entity_resets_lazy_loader_delegate_so_it_can_be_reattached() { LazyPcsPost post; @@ -619,7 +619,7 @@ public virtual void Detaching_entity_resets_lazy_loader_delegate_so_it_can_be_re } } - [ConditionalFact] + [Fact] public virtual void Query_with_loader_delegate_injected_into_property_for_reference() { using var context = CreateContext(); @@ -629,7 +629,7 @@ public virtual void Query_with_loader_delegate_injected_into_property_for_refere Assert.Contains(post, post.LazyPsBlog.LazyPsPosts); } - [ConditionalFact] + [Fact] public virtual void Query_with_loader_delgate_injected_into_property_for_collections() { using var context = CreateContext(); @@ -640,7 +640,7 @@ public virtual void Query_with_loader_delgate_injected_into_property_for_collect Assert.Same(blog, blog.LazyPsPosts.Skip(1).First().LazyPsBlog); } - [ConditionalFact] + [Fact] public virtual async Task Query_with_loader_delegate_injected_into_property_for_reference_async() { using var context = CreateContext(); @@ -653,7 +653,7 @@ public virtual async Task Query_with_loader_delegate_injected_into_property_for_ Assert.Contains(post, post.LazyAsyncPsBlog.LazyAsyncPsPosts); } - [ConditionalFact] + [Fact] public virtual async Task Query_with_loader_delegate_injected_into_property_for_collections_async() { using var context = CreateContext(); @@ -667,7 +667,7 @@ public virtual async Task Query_with_loader_delegate_injected_into_property_for_ Assert.Same(blog, blog.LazyAsyncPsPosts.Skip(1).First().LazyAsyncPsBlog); } - [ConditionalFact] + [Fact] public virtual void Query_with_loader_injected_into_property_via_constructor_for_reference() { using var context = CreateContext(); @@ -679,7 +679,7 @@ public virtual void Query_with_loader_injected_into_property_via_constructor_for Assert.Contains(post, post.LazyPcBlog.LazyPcPosts); } - [ConditionalFact] + [Fact] public virtual void Query_with_loader_injected_into_property_via_constructor_for_collections() { using var context = CreateContext(); @@ -692,7 +692,7 @@ public virtual void Query_with_loader_injected_into_property_via_constructor_for Assert.Same(blog, blog.LazyPcPosts.Skip(1).First().LazyPcBlog); } - [ConditionalFact] + [Fact] public virtual void Query_with_loader_delegate_injected_into_property_via_constructor_for_reference() { using var context = CreateContext(); @@ -704,7 +704,7 @@ public virtual void Query_with_loader_delegate_injected_into_property_via_constr Assert.Contains(post, post.LazyPcsBlog.LazyPcsPosts); } - [ConditionalFact] + [Fact] public virtual void Query_with_loader_delegate_injected_into_property_via_constructor_for_collections() { using var context = CreateContext(); @@ -717,7 +717,7 @@ public virtual void Query_with_loader_delegate_injected_into_property_via_constr Assert.Same(blog, blog.LazyPcsPosts.Skip(1).First().LazyPcsBlog); } - [ConditionalFact] + [Fact] public virtual async Task Add_immutable_record() { var title = "xyzzy"; diff --git a/test/EFCore.SqlServer.FunctionalTests/BatchingTest.cs b/test/EFCore.SqlServer.FunctionalTests/BatchingTest.cs index 24bdab3d376..b28f4821751 100644 --- a/test/EFCore.SqlServer.FunctionalTests/BatchingTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/BatchingTest.cs @@ -22,7 +22,7 @@ public BatchingTest(BatchingTestFixture fixture) protected BatchingTestFixture Fixture { get; } - [ConditionalTheory, + [Theory, InlineData(true, true, true), InlineData(false, true, true), InlineData(true, false, true), @@ -69,7 +69,7 @@ public Task Inserts_are_batched_correctly(bool clientPk, bool clientFk, bool cli context => AssertDatabaseState(context, clientOrder, expectedBlogs)); } - [ConditionalFact] + [Fact] public Task Inserts_and_updates_are_batched_correctly() { var expectedBlogs = new List(); @@ -122,7 +122,7 @@ public Task Inserts_and_updates_are_batched_correctly() context => AssertDatabaseState(context, true, expectedBlogs)); } - [ConditionalTheory, + [Theory, InlineData(1), InlineData(3), InlineData(4), @@ -158,7 +158,7 @@ public Task Insertion_order_is_preserved(int maxBatchSize) }); } - [ConditionalFact] + [Fact] public async Task Deadlock_on_inserts_and_deletes_with_dependents_is_handled_correctly() { var blogs = new List(); @@ -232,7 +232,7 @@ async Task RemoveAndAddPosts(Blog blog) await Fixture.ReseedAsync(); } - [ConditionalFact] + [Fact] public async Task Deadlock_on_deletes_with_dependents_is_handled_correctly() { var owners = new[] { new Owner { Name = "0" }, new Owner { Name = "1" } }; @@ -286,7 +286,7 @@ async Task Action(Owner owner) await Fixture.ReseedAsync(); } - [ConditionalFact] + [Fact] public Task Inserts_when_database_type_is_different() => ExecuteWithStrategyInTransactionAsync( context => @@ -299,7 +299,7 @@ public Task Inserts_when_database_type_is_different() return context.SaveChangesAsync(); }, async context => Assert.Equal(2, await context.Owners.CountAsync())); - [ConditionalTheory, + [Theory, InlineData(3), InlineData(4)] public Task Inserts_are_batched_only_when_necessary(int minBatchSize) diff --git a/test/EFCore.SqlServer.FunctionalTests/BuiltInDataTypesSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/BuiltInDataTypesSqlServerTest.cs index 8dc5ab5beb1..658db4241d3 100644 --- a/test/EFCore.SqlServer.FunctionalTests/BuiltInDataTypesSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/BuiltInDataTypesSqlServerTest.cs @@ -15,7 +15,7 @@ namespace Microsoft.EntityFrameworkCore; #nullable disable -[SqlServerCondition(SqlServerCondition.IsNotAzureSql | SqlServerCondition.SupportsUtf8)] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsNotAzureSql), nameof(SqlServerTestEnvironment.IsUtf8Supported))] public class BuiltInDataTypesSqlServerTest : BuiltInDataTypesTestBase { private static readonly string _eol = Environment.NewLine; @@ -27,7 +27,7 @@ public BuiltInDataTypesSqlServerTest(BuiltInDataTypesSqlServerFixture fixture, I Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Can_query_using_debug_string_BuiltInDataTypes() { using var context = CreateContext(); @@ -163,7 +163,7 @@ public virtual void Can_query_using_debug_string_BuiltInDataTypes() ExecuteQueryString(context, 54, set.Where(e => e.Id == 54 && (int)e.Enum8 == param30)); } - [ConditionalFact] + [Fact] public virtual void Can_query_using_debug_string_MaxLengthDataTypes() { using var context = CreateContext(); @@ -198,7 +198,7 @@ public virtual void Can_query_using_debug_string_MaxLengthDataTypes() ExecuteQueryString(context, 54, set.Where(e => e.Id == 54 && e.ByteArray9000 == longBinary)); } - [ConditionalFact] + [Fact] public virtual void Can_query_using_debug_string_UnicodeDataTypes() { using var context = CreateContext(); @@ -229,7 +229,7 @@ public virtual void Can_query_using_debug_string_UnicodeDataTypes() ExecuteQueryString(context, 54, set.Where(e => e.Id == 54 && e.StringAnsi9000 == longString)); } - [ConditionalFact] + [Fact] public virtual void Can_query_using_debug_string_MappedDataTypesWithIdentity() { using var context = CreateContext(); @@ -435,7 +435,7 @@ public virtual void Can_query_using_debug_string_MappedDataTypesWithIdentity() .Message); } - [ConditionalFact] + [Fact] public virtual void Can_query_using_debug_string_MappedSizedDataTypes() { using var context = CreateContext(); @@ -526,7 +526,7 @@ public virtual void Can_query_using_debug_string_MappedSizedDataTypes() ExecuteQueryString(context, id, set.Where(e => e.Id == id && e.CharAsNationalCharacterVarying3 == charAsNationalCharacterVarying3)); } - [ConditionalFact] + [Fact] public virtual void Can_query_using_debug_string_MappedScaledDataTypes() { using var context = CreateContext(); @@ -576,7 +576,7 @@ public virtual void Can_query_using_debug_string_MappedScaledDataTypes() ExecuteQueryString(context, id, set.Where(e => e.Id == id && e.TimeSpanAsTime3 == timeSpanAsTime3)); } - [ConditionalFact] + [Fact] public virtual void Can_query_using_debug_string_MappedPrecisionAndScaledDataTypes() { using var context = CreateContext(); @@ -602,7 +602,7 @@ public virtual void Can_query_using_debug_string_MappedPrecisionAndScaledDataTyp ExecuteQueryString(context, id, set.Where(e => e.Id == id && e.DecimalAsNumeric52 == decimalAsNumeric52)); } - [ConditionalFact] + [Fact] public virtual void Can_query_using_debug_string_for_non_integer_values() { using var context = CreateContext(); @@ -645,7 +645,7 @@ private void ExecuteQueryString(DbContext context, int expectedId, IQueryable qu reader.Close(); } - [ConditionalFact] + [Fact] public void Sql_translation_uses_type_mapper_when_constant() { using var context = CreateContext(); @@ -665,7 +665,7 @@ FROM [MappedNullableDataTypes] AS [m] """); } - [ConditionalFact] + [Fact] public void Sql_translation_uses_type_mapper_when_parameter() { using var context = CreateContext(); @@ -688,7 +688,7 @@ FROM [MappedNullableDataTypes] AS [m] """); } - [ConditionalFact] + [Fact] public void String_indexOf_over_varchar_max() { using (var context = CreateContext()) @@ -718,7 +718,7 @@ FROM [MappedNullableDataTypes] AS [m] } } - [ConditionalFact] + [Fact] public virtual void Can_query_using_DateDiffHour_using_TimeSpan() { using var context = CreateContext(); @@ -741,7 +741,7 @@ WHERE DATEDIFF(hour, [m].[TimeSpanAsTime], @timeSpan) = 0 """); } - [ConditionalFact] + [Fact] public virtual void Can_query_using_DateDiffMinute_using_TimeSpan() { using var context = CreateContext(); @@ -764,7 +764,7 @@ WHERE DATEDIFF(minute, [m].[TimeSpanAsTime], @timeSpan) = 0 """); } - [ConditionalFact] + [Fact] public virtual void Can_query_using_DateDiffSecond_using_TimeSpan() { using var context = CreateContext(); @@ -787,7 +787,7 @@ WHERE DATEDIFF(second, [m].[TimeSpanAsTime], @timeSpan) = 0 """); } - [ConditionalFact] + [Fact] public virtual void Can_query_using_DateDiffMillisecond_using_TimeSpan() { using var context = CreateContext(); @@ -810,7 +810,7 @@ WHERE DATEDIFF(millisecond, [m].[TimeSpanAsTime], @timeSpan) = 0 """); } - [ConditionalFact] + [Fact] public virtual void Can_query_using_DateDiffMicrosecond_using_TimeSpan() { using var context = CreateContext(); @@ -833,7 +833,7 @@ WHERE DATEDIFF(microsecond, [m].[TimeSpanAsTime], @timeSpan) = 0 """); } - [ConditionalFact] + [Fact] public virtual void Can_query_using_DateDiffNanosecond_using_TimeSpan() { using var context = CreateContext(); @@ -856,7 +856,7 @@ WHERE DATEDIFF(nanosecond, [m].[TimeSpanAsTime], @timeSpan) = 0 """); } - [ConditionalFact] + [Fact] public virtual void Can_query_using_any_mapped_data_type() { using (var context = CreateContext()) @@ -1089,7 +1089,7 @@ public virtual void Can_query_using_any_mapped_data_type() } } - [ConditionalFact] + [Fact] public virtual void Can_query_using_any_mapped_data_types_with_nulls() { using (var context = CreateContext()) @@ -1289,7 +1289,7 @@ public virtual void Can_query_using_any_mapped_data_types_with_nulls() } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types() { var entity = CreateMappedDataTypes(77); @@ -1499,7 +1499,7 @@ private static MappedDataTypes CreateMappedDataTypes(int id) SqlVariantInt = 887876 }; - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_with_square_brackets() { var entity = CreateMappedSquareDataTypes(77); @@ -1667,7 +1667,7 @@ private static MappedSquareDataTypes CreateMappedSquareDataTypes(int id) SqlVariantInt = 887876 }; - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_nullable_data_types() { using (var context = CreateContext()) @@ -1869,7 +1869,7 @@ private static MappedNullableDataTypes CreateMappedNullableDataTypes(int id) SqlVariantInt = 887876 }; - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_set_to_null() { using (var context = CreateContext()) @@ -2007,7 +2007,7 @@ private static void AssertNullMappedNullableDataTypes(MappedNullableDataTypes en Assert.Null(entity.SqlVariantInt); } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_sized_data_types() { using (var context = CreateContext()) @@ -2112,7 +2112,7 @@ private static MappedSizedDataTypes CreateMappedSizedDataTypes(int id) CharAsNationalCharacterVarying3 = 'F' }; - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_nulls_for_all_mapped_sized_data_types() { using (var context = CreateContext()) @@ -2187,7 +2187,7 @@ private static void AssertNullMappedSizedDataTypes(MappedSizedDataTypes entity, Assert.Null(entity.CharAsNationalCharacterVarying3); } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_sized_separately() { using (var context = CreateContext()) @@ -2287,7 +2287,7 @@ private static MappedSizedSeparatelyDataTypes CreateMappedSizedSeparatelyDataTyp CharAsNationalCharacterVarying3 = 'F' }; - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_with_scale() { using (var context = CreateContext()) @@ -2356,7 +2356,7 @@ private static MappedScaledDataTypes CreateMappedScaledDataTypes(int id) TimeSpanAsTime3 = TimeSpan.Parse("12:34:56.7890123", CultureInfo.InvariantCulture) }; - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_with_scale_separately() { using (var context = CreateContext()) @@ -2425,7 +2425,7 @@ private static MappedScaledSeparatelyDataTypes CreateMappedScaledSeparatelyDataT TimeSpanAsTime3 = TimeSpan.Parse("12:34:56.789", CultureInfo.InvariantCulture) }; - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_double_types_with_precision() { using (var context = CreateContext()) @@ -2464,7 +2464,7 @@ private static DoubleDataTypes CreateDoubleDataTypes(int id) Double25 = 83.33f }; - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_with_precision_and_scale() { using (var context = CreateContext()) @@ -2506,7 +2506,7 @@ private static MappedPrecisionAndScaledDataTypes CreateMappedPrecisionAndScaledD DecimalAsNumeric52 = 103.3m }; - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_with_precision_and_scale_separately() { using (var context = CreateContext()) @@ -2549,7 +2549,7 @@ private static MappedPrecisionAndScaledSeparatelyDataTypes CreateMappedPrecision DecimalAsNumeric52 = 103.3m }; - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_with_identity() { using (var context = CreateContext()) @@ -2754,7 +2754,7 @@ private static MappedDataTypesWithIdentity CreateMappedDataTypesWithIdentity(int SqlVariantInt = 887876 }; - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_nullable_data_types_with_identity() { using (var context = CreateContext()) @@ -2956,7 +2956,7 @@ private static MappedNullableDataTypesWithIdentity CreateMappedNullableDataTypes SqlVariantInt = 887876 }; - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_set_to_null_with_identity() { using (var context = CreateContext()) @@ -3097,7 +3097,7 @@ private static void AssertNullMappedNullableDataTypesWithIdentity( Assert.Null(entity.SqlVariantInt); } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_sized_data_types_with_identity() { using (var context = CreateContext()) @@ -3202,7 +3202,7 @@ private static MappedSizedDataTypesWithIdentity CreateMappedSizedDataTypesWithId CharAsNationalCharacterVarying3 = 'F' }; - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_nulls_for_all_mapped_sized_data_types_with_identity() { using (var context = CreateContext()) @@ -3277,7 +3277,7 @@ private static void AssertNullMappedSizedDataTypesWithIdentity(MappedSizedDataTy Assert.Null(entity.CharAsNationalCharacterVarying3); } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_with_scale_with_identity() { using (var context = CreateContext()) @@ -3346,7 +3346,7 @@ private static MappedScaledDataTypesWithIdentity CreateMappedScaledDataTypesWith TimeSpanAsTime3 = TimeSpan.Parse("12:34:56.7890123", CultureInfo.InvariantCulture) }; - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_with_precision_and_scale_with_identity() { using (var context = CreateContext()) @@ -3392,7 +3392,7 @@ private static MappedPrecisionAndScaledDataTypesWithIdentity CreateMappedPrecisi DecimalAsNumeric52 = 103.3m }; - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_in_batch() { using (var context = CreateContext()) @@ -3412,7 +3412,7 @@ public virtual void Can_insert_and_read_back_all_mapped_data_types_in_batch() } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_nullable_data_types_in_batch() { using (var context = CreateContext()) @@ -3432,7 +3432,7 @@ public virtual void Can_insert_and_read_back_all_mapped_nullable_data_types_in_b } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_set_to_null_in_batch() { using (var context = CreateContext()) @@ -3452,7 +3452,7 @@ public virtual void Can_insert_and_read_back_all_mapped_data_types_set_to_null_i } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_sized_data_types_in_batch() { using (var context = CreateContext()) @@ -3472,7 +3472,7 @@ public virtual void Can_insert_and_read_back_all_mapped_sized_data_types_in_batc } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_nulls_for_all_mapped_sized_data_types_in_batch() { using (var context = CreateContext()) @@ -3492,7 +3492,7 @@ public virtual void Can_insert_and_read_back_nulls_for_all_mapped_sized_data_typ } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_with_scale_in_batch() { using (var context = CreateContext()) @@ -3512,7 +3512,7 @@ public virtual void Can_insert_and_read_back_all_mapped_data_types_with_scale_in } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_with_precision_and_scale_in_batch() { using (var context = CreateContext()) @@ -3532,7 +3532,7 @@ public virtual void Can_insert_and_read_back_all_mapped_data_types_with_precisio } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_with_identity_in_batch() { using (var context = CreateContext()) @@ -3552,7 +3552,7 @@ public virtual void Can_insert_and_read_back_all_mapped_data_types_with_identity } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_nullable_data_types_with_identity_in_batch() { using (var context = CreateContext()) @@ -3575,7 +3575,7 @@ public virtual void Can_insert_and_read_back_all_mapped_nullable_data_types_with } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_set_to_null_with_identity_in_batch() { using (var context = CreateContext()) @@ -3598,7 +3598,7 @@ public virtual void Can_insert_and_read_back_all_mapped_data_types_set_to_null_w } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_sized_data_types_with_identity_in_batch() { using (var context = CreateContext()) @@ -3618,7 +3618,7 @@ public virtual void Can_insert_and_read_back_all_mapped_sized_data_types_with_id } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_nulls_for_all_mapped_sized_data_types_with_identity_in_batch() { using (var context = CreateContext()) @@ -3638,7 +3638,7 @@ public virtual void Can_insert_and_read_back_nulls_for_all_mapped_sized_data_typ } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_with_scale_with_identity_in_batch() { using (var context = CreateContext()) @@ -3658,7 +3658,7 @@ public virtual void Can_insert_and_read_back_all_mapped_data_types_with_scale_wi } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_with_precision_and_scale_with_identity_in_batch() { using (var context = CreateContext()) @@ -3681,7 +3681,7 @@ public virtual void Can_insert_and_read_back_all_mapped_data_types_with_precisio } } - [ConditionalFact] + [Fact] public void Can_get_column_types_from_built_model() { using var context = CreateContext(); diff --git a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/Inheritance/TPCFiltersInheritanceBulkUpdatesSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/Inheritance/TPCFiltersInheritanceBulkUpdatesSqlServerTest.cs index 8fade1611ae..78fae84f2eb 100644 --- a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/Inheritance/TPCFiltersInheritanceBulkUpdatesSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/Inheritance/TPCFiltersInheritanceBulkUpdatesSqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.BulkUpdates.Inheritance; @@ -10,7 +10,7 @@ public class TPCFiltersInheritanceBulkUpdatesSqlServerTest( ITestOutputHelper testOutputHelper) : TPCFiltersInheritanceBulkUpdatesTestBase(fixture, testOutputHelper) { - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/Inheritance/TPCInheritanceBulkUpdatesSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/Inheritance/TPCInheritanceBulkUpdatesSqlServerTest.cs index b950a839e81..efe4ac6d2b6 100644 --- a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/Inheritance/TPCInheritanceBulkUpdatesSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/Inheritance/TPCInheritanceBulkUpdatesSqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.BulkUpdates.Inheritance; @@ -10,7 +10,7 @@ public class TPCInheritanceBulkUpdatesSqlServerTest( ITestOutputHelper testOutputHelper) : TPCInheritanceBulkUpdatesTestBase(fixture, testOutputHelper) { - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/Inheritance/TPHFiltersInheritanceBulkUpdatesSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/Inheritance/TPHFiltersInheritanceBulkUpdatesSqlServerTest.cs index 2254259b20f..a7066161d6f 100644 --- a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/Inheritance/TPHFiltersInheritanceBulkUpdatesSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/Inheritance/TPHFiltersInheritanceBulkUpdatesSqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.BulkUpdates.Inheritance; @@ -11,7 +11,7 @@ public class TPHFiltersInheritanceBulkUpdatesSqlServerTest( : FiltersInheritanceBulkUpdatesRelationalTestBase< TPHFiltersInheritanceBulkUpdatesSqlServerFixture>(fixture, testOutputHelper) { - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/Inheritance/TPHInheritanceBulkUpdatesSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/Inheritance/TPHInheritanceBulkUpdatesSqlServerTest.cs index 82ab85e99a0..f99b7e09cb6 100644 --- a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/Inheritance/TPHInheritanceBulkUpdatesSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/Inheritance/TPHInheritanceBulkUpdatesSqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.BulkUpdates.Inheritance; @@ -10,7 +10,7 @@ public class TPHInheritanceBulkUpdatesSqlServerTest( ITestOutputHelper testOutputHelper) : TPHInheritanceBulkUpdatesTestBase(fixture, testOutputHelper) { - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/Inheritance/TPTFiltersInheritanceBulkUpdatesSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/Inheritance/TPTFiltersInheritanceBulkUpdatesSqlServerTest.cs index 5b847c205c4..8fdbb069664 100644 --- a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/Inheritance/TPTFiltersInheritanceBulkUpdatesSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/Inheritance/TPTFiltersInheritanceBulkUpdatesSqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.BulkUpdates.Inheritance; @@ -10,7 +10,7 @@ public class TPTFiltersInheritanceBulkUpdatesSqlServerTest( ITestOutputHelper testOutputHelper) : TPTFiltersInheritanceBulkUpdatesTestBase(fixture, testOutputHelper) { - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/Inheritance/TPTInheritanceBulkUpdatesSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/Inheritance/TPTInheritanceBulkUpdatesSqlServerTest.cs index 6f087a2954a..fc30b11585f 100644 --- a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/Inheritance/TPTInheritanceBulkUpdatesSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/Inheritance/TPTInheritanceBulkUpdatesSqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.BulkUpdates.Inheritance; @@ -11,7 +11,7 @@ public TPTInheritanceBulkUpdatesSqlServerTest(TPTInheritanceBulkUpdatesSqlServer : base(fixture, testOutputHelper) => ClearLog(); - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/NonSharedModelBulkUpdatesSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/NonSharedModelBulkUpdatesSqlServerTest.cs index 643f4c3b69f..35dbbe2c54f 100644 --- a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/NonSharedModelBulkUpdatesSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/NonSharedModelBulkUpdatesSqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.BulkUpdates; @@ -10,7 +10,7 @@ public class NonSharedModelBulkUpdatesSqlServerTest(NonSharedFixture fixture) : protected override ITestStoreFactory NonSharedTestStoreFactory => SqlServerTestStoreFactory.Instance; - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/NorthwindBulkUpdatesSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/NorthwindBulkUpdatesSqlServerTest.cs index f2d70201e9a..e8f4862c436 100644 --- a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/NorthwindBulkUpdatesSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/NorthwindBulkUpdatesSqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.BulkUpdates; @@ -10,7 +10,7 @@ public class NorthwindBulkUpdatesSqlServerTest( ITestOutputHelper testOutputHelper) : NorthwindBulkUpdatesRelationalTestBase>(fixture, testOutputHelper) { - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -1612,7 +1612,7 @@ WHERE [c].[CustomerID] LIKE N'F%' """); } - [ConditionalTheory] + [Theory] public override async Task Update_with_two_inner_joins(bool async) { await base.Update_with_two_inner_joins(async); @@ -1630,7 +1630,7 @@ FROM [Order Details] AS [o] """); } - [ConditionalTheory] + [Theory] public override async Task Update_with_PK_pushdown_and_join_and_multiple_setters(bool async) { await base.Update_with_PK_pushdown_and_join_and_multiple_setters(async); diff --git a/test/EFCore.SqlServer.FunctionalTests/CommandConfigurationTest.cs b/test/EFCore.SqlServer.FunctionalTests/CommandConfigurationTest.cs index 73635324eca..82ff9aa5682 100644 --- a/test/EFCore.SqlServer.FunctionalTests/CommandConfigurationTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/CommandConfigurationTest.cs @@ -18,14 +18,14 @@ public CommandConfigurationTest(CommandConfigurationFixture fixture) protected CommandConfigurationFixture Fixture { get; set; } - [ConditionalFact] + [Fact] public void Constructed_select_query_CommandBuilder_throws_when_negative_CommandTimeout_is_used() { using var context = CreateContext(); Assert.Throws(() => context.Database.SetCommandTimeout(-5)); } - [ConditionalTheory, InlineData(59, 6), InlineData(50, 5), InlineData(20, 2), InlineData(2, 1)] + [Theory, InlineData(59, 6), InlineData(50, 5), InlineData(20, 2), InlineData(2, 1)] public async Task Keys_generated_in_batches(int count, int expected) { await TestHelpers.ExecuteWithStrategyInTransactionAsync( diff --git a/test/EFCore.SqlServer.FunctionalTests/CommandInterceptionSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/CommandInterceptionSqlServerTest.cs index 2b7b6627414..a71b38e3340 100644 --- a/test/EFCore.SqlServer.FunctionalTests/CommandInterceptionSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/CommandInterceptionSqlServerTest.cs @@ -44,8 +44,8 @@ public override async Task Intercept_query_to_replace_execution(bool asy return null; } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] - public virtual async Task Intercept_query_to_get_statistics(bool async, bool inject) // Issue #23535 + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + public virtual async Task Intercept_query_to_get_statistics(bool async, bool inject) // Issue #23535 { var (context, interceptor) = await CreateContextAsync(inject); using (context) @@ -94,8 +94,6 @@ void ConnectionOnInfoMessage(object sender, SqlInfoMessageEventArgs args) } } } - - return interceptor.CommandText; } protected class StatisticsCommandInterceptor() : CommandInterceptorBase(DbCommandMethod.ExecuteReader) diff --git a/test/EFCore.SqlServer.FunctionalTests/ComplexTypesTrackingSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/ComplexTypesTrackingSqlServerTest.cs index 95b0f42a9ef..b19caa6d6e0 100644 --- a/test/EFCore.SqlServer.FunctionalTests/ComplexTypesTrackingSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/ComplexTypesTrackingSqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore; @@ -8,7 +8,7 @@ public class ComplexTypesTrackingSqlServerTest( ITestOutputHelper testOutputHelper) : ComplexTypesTrackingSqlServerTestBase(fixture, testOutputHelper) { - [ConditionalFact] + [Fact] public virtual async Task Can_read_original_values_with_TPH_shared_complex_property_column_null() { await using var context = CreateContext(); @@ -32,7 +32,7 @@ await context.Database.CreateExecutionStrategy().ExecuteAsync( }); } - [ConditionalFact] + [Fact] public virtual async Task Can_read_original_values_with_TPH_shared_complex_property_column_with_value() { await using var context = CreateContext(); diff --git a/test/EFCore.SqlServer.FunctionalTests/ComputedColumnTest.cs b/test/EFCore.SqlServer.FunctionalTests/ComputedColumnTest.cs index fd0c4fd5021..d6f684dc699 100644 --- a/test/EFCore.SqlServer.FunctionalTests/ComputedColumnTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/ComputedColumnTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore; public class ComputedColumnTest : IAsyncLifetime { - [ConditionalFact] + [Fact] public void Can_use_computed_columns() { var serviceProvider = new ServiceCollection() @@ -31,7 +31,7 @@ public void Can_use_computed_columns() Assert.Equal(100, entity.P5); } - [ConditionalFact] + [Fact] public void Can_use_computed_columns_with_null_values() { var serviceProvider = new ServiceCollection() @@ -112,7 +112,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) .HasComputedColumnSql("FlagEnum | OptionalFlagEnum"); } - [ConditionalFact] + [Fact] public void Can_use_computed_columns_with_nullable_enum() { var serviceProvider = new ServiceCollection() @@ -130,9 +130,9 @@ public void Can_use_computed_columns_with_nullable_enum() protected SqlServerTestStore TestStore { get; private set; } - public async Task InitializeAsync() + public async ValueTask InitializeAsync() => TestStore = await SqlServerTestStore.CreateInitializedAsync("ComputedColumnTest"); - public async Task DisposeAsync() + public async ValueTask DisposeAsync() => await TestStore.DisposeAsync(); } diff --git a/test/EFCore.SqlServer.FunctionalTests/ConnectionSpecificationTest.cs b/test/EFCore.SqlServer.FunctionalTests/ConnectionSpecificationTest.cs index f3ccbd978b0..5fbb7b8e40c 100644 --- a/test/EFCore.SqlServer.FunctionalTests/ConnectionSpecificationTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/ConnectionSpecificationTest.cs @@ -14,7 +14,7 @@ namespace Microsoft.EntityFrameworkCore; public class ConnectionSpecificationTest { - [ConditionalFact] + [Fact] public async Task Can_specify_no_connection_string_in_OnConfiguring() { var serviceProvider @@ -33,7 +33,7 @@ var serviceProvider } } - [ConditionalFact] + [Fact] public async Task Can_specify_no_connection_string_in_OnConfiguring_with_default_service_provider() { await using (await SqlServerTestStore.GetNorthwindStoreAsync()) @@ -46,7 +46,7 @@ public async Task Can_specify_no_connection_string_in_OnConfiguring_with_default } } - [ConditionalFact] + [Fact] public async Task Throws_if_context_used_with_no_connection_or_connection_string() { await using (await SqlServerTestStore.GetNorthwindStoreAsync()) @@ -65,7 +65,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) .UseSqlServer(b => b.ApplyConfiguration()); } - [ConditionalFact] + [Fact] public async Task Can_specify_connection_string_in_OnConfiguring() { var serviceProvider @@ -81,7 +81,7 @@ var serviceProvider } } - [ConditionalFact] + [Fact] public async Task Can_specify_connection_string_in_OnConfiguring_with_default_service_provider() { await using (await SqlServerTestStore.GetNorthwindStoreAsync()) @@ -99,7 +99,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) .UseSqlServer(SqlServerNorthwindTestStoreFactory.NorthwindConnectionString, b => b.ApplyConfiguration()); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Can_specify_no_connection_in_OnConfiguring(bool contextOwnsConnection) { var serviceProvider @@ -132,7 +132,7 @@ var serviceProvider } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Can_specify_no_connection_in_OnConfiguring_with_default_service_provider(bool contextOwnsConnection) { SqlConnection connection; @@ -159,7 +159,7 @@ public async Task Can_specify_no_connection_in_OnConfiguring_with_default_servic } } - [ConditionalFact] + [Fact] public async Task Can_specify_connection_in_OnConfiguring() { var serviceProvider @@ -175,7 +175,7 @@ var serviceProvider } } - [ConditionalFact] + [Fact] public async Task Can_specify_connection_in_OnConfiguring_with_default_service_provider() { await using (await SqlServerTestStore.GetNorthwindStoreAsync()) @@ -187,7 +187,7 @@ public async Task Can_specify_connection_in_OnConfiguring_with_default_service_p } } - [ConditionalFact] + [Fact] public async Task Can_specify_owned_connection_in_OnConfiguring() { var serviceProvider @@ -209,7 +209,7 @@ var serviceProvider Assert.Throws(() => connection.Open()); // Disposed } - [ConditionalFact] + [Fact] public async Task Can_specify_owned_connection_in_OnConfiguring_with_default_service_provider() { SqlConnection connection; @@ -225,7 +225,7 @@ public async Task Can_specify_owned_connection_in_OnConfiguring_with_default_ser Assert.Throws(() => connection.Open()); // Disposed } - [ConditionalFact] + [Fact] public async Task Can_specify_then_change_connection() { var connection = new SqlConnection(SqlServerNorthwindTestStoreFactory.NorthwindConnectionString); @@ -251,7 +251,7 @@ var serviceProvider } } - [ConditionalFact] + [Fact] public async Task Cannot_change_connection_when_open_and_owned() { var connection = new SqlConnection(SqlServerNorthwindTestStoreFactory.NorthwindConnectionString); @@ -278,7 +278,7 @@ var serviceProvider } } - [ConditionalFact] + [Fact] public async Task Can_change_connection_when_open_and_not_owned() { var connection = new SqlConnection(SqlServerNorthwindTestStoreFactory.NorthwindConnectionString); @@ -331,7 +331,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) .UseSqlServer(_connection, contextOwnsConnection: true, b => b.ApplyConfiguration()); } - [ConditionalFact] + [Fact] public async Task Throws_if_no_connection_found_in_config_without_UseSqlServer() { var serviceProvider @@ -345,7 +345,7 @@ var serviceProvider (await Assert.ThrowsAsync(() => context.Customers.AnyAsync())).Message); } - [ConditionalFact] + [Fact] public async Task Throws_if_no_config_without_UseSqlServer() { var serviceProvider @@ -365,7 +365,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) => optionsBuilder.EnableServiceProviderCaching(false); } - [ConditionalFact] + [Fact] public async Task Can_depend_on_DbContextOptions() { var serviceProvider @@ -382,7 +382,7 @@ var serviceProvider } } - [ConditionalFact] + [Fact] public async Task Can_depend_on_DbContextOptions_with_default_service_provider() { await using (await SqlServerTestStore.GetNorthwindStoreAsync()) @@ -420,7 +420,7 @@ public override void Dispose() } } - [ConditionalFact] + [Fact] public async Task Can_depend_on_non_generic_options_when_only_one_context() { var serviceProvider @@ -436,7 +436,7 @@ var serviceProvider } } - [ConditionalFact] + [Fact] public async Task Can_depend_on_non_generic_options_when_only_one_context_with_default_service_provider() { await using (await SqlServerTestStore.GetNorthwindStoreAsync()) @@ -462,7 +462,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) } } - [ConditionalTheory, InlineData("MyConnectionString", "name=MyConnectionString"), + [Theory, InlineData("MyConnectionString", "name=MyConnectionString"), InlineData("ConnectionStrings:DefaultConnection", "name=ConnectionStrings:DefaultConnection"), InlineData("ConnectionStrings:DefaultConnection", " NamE = ConnectionStrings:DefaultConnection ")] public async Task Can_use_AddDbContext_and_get_connection_string_from_config(string key, string connectionString) @@ -519,7 +519,7 @@ private class Customer // ReSharper restore UnusedMember.Local } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Can_use_an_existing_closed_connection_test(bool openConnection) { var serviceProvider = new ServiceCollection() diff --git a/test/EFCore.SqlServer.FunctionalTests/ConvertToProviderTypesSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/ConvertToProviderTypesSqlServerTest.cs index 56a07c66750..437fdda4080 100644 --- a/test/EFCore.SqlServer.FunctionalTests/ConvertToProviderTypesSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/ConvertToProviderTypesSqlServerTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore; #nullable disable -[SqlServerCondition(SqlServerCondition.IsNotAzureSql)] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsNotAzureSql))] public class ConvertToProviderTypesSqlServerTest(ConvertToProviderTypesSqlServerTest.ConvertToProviderTypesSqlServerFixture fixture) : ConvertToProviderTypesTestBase< ConvertToProviderTypesSqlServerTest.ConvertToProviderTypesSqlServerFixture>(fixture) diff --git a/test/EFCore.SqlServer.FunctionalTests/CustomConvertersSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/CustomConvertersSqlServerTest.cs index 28e2095265e..27cf39bfa27 100644 --- a/test/EFCore.SqlServer.FunctionalTests/CustomConvertersSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/CustomConvertersSqlServerTest.cs @@ -7,14 +7,14 @@ namespace Microsoft.EntityFrameworkCore; #nullable disable -[SqlServerCondition(SqlServerCondition.IsNotAzureSql)] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsNotAzureSql))] public class CustomConvertersSqlServerTest : CustomConvertersTestBase { public CustomConvertersSqlServerTest(CustomConvertersSqlServerFixture fixture) : base(fixture) => Fixture.TestSqlLoggerFactory.Clear(); - [ConditionalFact] + [Fact] public override async Task Value_conversion_is_appropriately_used_for_join_condition() { await base.Value_conversion_is_appropriately_used_for_join_condition(); @@ -30,7 +30,7 @@ FROM [Blog] AS [b] """); } - [ConditionalFact] + [Fact] public override async Task Value_conversion_is_appropriately_used_for_left_join_condition() { await base.Value_conversion_is_appropriately_used_for_left_join_condition(); @@ -46,7 +46,7 @@ FROM [Blog] AS [b] """); } - [ConditionalFact] + [Fact] public override async Task Where_bool_gets_converted_to_equality_when_value_conversion_is_used() { await base.Where_bool_gets_converted_to_equality_when_value_conversion_is_used(); @@ -59,7 +59,7 @@ FROM [Blog] AS [b] """); } - [ConditionalFact] + [Fact] public override async Task Where_negated_bool_gets_converted_to_equality_when_value_conversion_is_used() { await base.Where_negated_bool_gets_converted_to_equality_when_value_conversion_is_used(); @@ -117,7 +117,7 @@ public override void Value_conversion_on_enum_collection_contains() CoreStrings.TranslationFailed("")[47..], Assert.Throws(() => base.Value_conversion_on_enum_collection_contains()).Message); - [ConditionalTheory(Skip = "Issue #30730: TODO need to find the default type mapping."), InlineData(true), InlineData(false)] + [Theory(Skip = "Issue #30730: TODO need to find the default type mapping."), InlineData(true), InlineData(false)] public virtual async Task SqlQuery_with_converted_type_using_model_configuration_builder_works(bool async) { using var context = CreateContext(); diff --git a/test/EFCore.SqlServer.FunctionalTests/DataAnnotationSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/DataAnnotationSqlServerTest.cs index ba1b71132d5..843c025430a 100644 --- a/test/EFCore.SqlServer.FunctionalTests/DataAnnotationSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/DataAnnotationSqlServerTest.cs @@ -24,7 +24,7 @@ protected override void UseTransaction(DatabaseFacade facade, IDbContextTransact protected override TestHelpers TestHelpers => SqlServerTestHelpers.Instance; - [ConditionalFact] + [Fact] public virtual void Default_for_key_string_column_throws() { var modelBuilder = CreateModelBuilder(); @@ -41,7 +41,7 @@ public virtual void Default_for_key_string_column_throws() Assert.Throws(() => Validate(modelBuilder)).Message); } - [ConditionalFact] + [Fact] public virtual void Default_for_key_which_is_also_an_fk_column_does_not_throw() { var modelBuilder = CreateModelBuilder(); @@ -56,7 +56,7 @@ public virtual void Default_for_key_which_is_also_an_fk_column_does_not_throw() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Default_for_part_of_composite_key_does_not_throw() { var modelBuilder = CreateModelBuilder(); @@ -70,7 +70,7 @@ public virtual void Default_for_part_of_composite_key_does_not_throw() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Default_for_all_parts_of_composite_key_throws() { var modelBuilder = CreateModelBuilder(); @@ -169,7 +169,7 @@ public override IModel DatabaseGeneratedOption_configures_the_property_correctly return model; } - [ConditionalFact] + [Fact] public virtual void ColumnAttribute_configures_the_property_correctly() { var modelBuilder = CreateModelBuilder(); diff --git a/test/EFCore.SqlServer.FunctionalTests/DbContextPoolingTest.cs b/test/EFCore.SqlServer.FunctionalTests/DbContextPoolingTest.cs index ddbc2d079d0..85369bdcbe7 100644 --- a/test/EFCore.SqlServer.FunctionalTests/DbContextPoolingTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/DbContextPoolingTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Collections.ObjectModel; @@ -217,7 +217,7 @@ public class Blog } } - [ConditionalFact] + [Fact] public void Invalid_pool_size() { Assert.Throws(() => BuildServiceProvider(poolSize: 0)); @@ -229,7 +229,7 @@ public void Invalid_pool_size() Assert.Throws(() => BuildServiceProvider(poolSize: -1)); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Invalid_pool_size_with_factory(bool withDependencyInjection) { Assert.Throws(() => BuildFactory(withDependencyInjection, poolSize: 0)); @@ -237,7 +237,7 @@ public void Invalid_pool_size_with_factory(bool withDependencyInjection) Assert.Throws(() => BuildFactory(withDependencyInjection, poolSize: -1)); } - [ConditionalFact] + [Fact] public void Validate_pool_size() { var serviceProvider = BuildServiceProvider(poolSize: 64); @@ -252,7 +252,7 @@ public void Validate_pool_size() .FindExtension()!.MaxPoolSize); } - [ConditionalFact] + [Fact] public void Validate_pool_size_with_service_interface() { var serviceProvider = BuildServiceProvider(poolSize: 64); @@ -267,7 +267,7 @@ public void Validate_pool_size_with_service_interface() .FindExtension()!.MaxPoolSize); } - [ConditionalFact] + [Fact] public void Validate_pool_size_with_factory() { var serviceProvider = BuildServiceProviderWithFactory(poolSize: 64); @@ -280,7 +280,7 @@ public void Validate_pool_size_with_factory() .FindExtension()!.MaxPoolSize); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Validate_pool_size_behavior_with_factory(bool withDependencyInjection) { var factory = BuildFactory(withDependencyInjection, poolSize: 1); @@ -295,7 +295,7 @@ public void Validate_pool_size_behavior_with_factory(bool withDependencyInjectio Assert.NotSame(ctx2, ctx4); } - [ConditionalFact] + [Fact] public void Validate_pool_size_default() { var serviceProvider = BuildServiceProvider(); @@ -310,7 +310,7 @@ public void Validate_pool_size_default() .FindExtension()!.MaxPoolSize); } - [ConditionalFact] + [Fact] public void Validate_pool_size_with_service_interface_default() { var serviceProvider = BuildServiceProvider(); @@ -325,7 +325,7 @@ public void Validate_pool_size_with_service_interface_default() .FindExtension()!.MaxPoolSize); } - [ConditionalFact] + [Fact] public void Pool_can_get_context_by_concrete_type_even_when_service_interface_is_used() { var serviceProvider = BuildServiceProvider(); @@ -337,7 +337,7 @@ public void Pool_can_get_context_by_concrete_type_even_when_service_interface_is scope.ServiceProvider.GetRequiredService()); } - [ConditionalFact] + [Fact] public void Validate_pool_size_with_factory_default() { var serviceProvider = BuildServiceProviderWithFactory(); @@ -350,7 +350,7 @@ public void Validate_pool_size_with_factory_default() .FindExtension()!.MaxPoolSize); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void Options_modified_in_on_configuring(bool useInterface) { var serviceProvider = useInterface @@ -373,7 +373,7 @@ public void Options_modified_in_on_configuring(bool useInterface) } } - [ConditionalFact] + [Fact] public void Options_modified_in_on_configuring_with_factory() { var serviceProvider = BuildServiceProviderWithFactory(); @@ -392,7 +392,7 @@ public void Options_modified_in_on_configuring_with_factory() } } - [ConditionalFact, SqlServerConfiguredCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SqlServerAvailable))] public async Task Parameterless_pooled_factory_should_use_ConfigureDbContext_options() { var services = new ServiceCollection(); @@ -409,7 +409,7 @@ public async Task Parameterless_pooled_factory_should_use_ConfigureDbContext_opt Assert.Equal("Microsoft.EntityFrameworkCore.SqlServer", db.Database.ProviderName); } - [ConditionalFact, SqlServerConfiguredCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SqlServerAvailable))] public async Task Parameterless_pooled_factory_with_custom_pool_size_should_still_resolve() { var services = new ServiceCollection(); @@ -431,7 +431,7 @@ public async Task Parameterless_pooled_factory_with_custom_pool_size_should_stil private class BadCtorContext : DbContext; - [ConditionalFact] + [Fact] public void Throws_when_used_with_parameterless_constructor_context() { var serviceCollection = new ServiceCollection(); @@ -449,7 +449,7 @@ public void Throws_when_used_with_parameterless_constructor_context() Assert.Throws(() => serviceCollection.AddPooledDbContextFactory((_, __) => { })).Message); } - [ConditionalFact] + [Fact] public void Throws_when_pooled_context_constructor_has_second_parameter_that_cannot_be_resolved_from_service_provider() { var serviceProvider @@ -466,7 +466,7 @@ private class TwoParameterConstructorContext(DbContextOptions options, string x) public string StringParameter { get; } = x; } - [ConditionalFact] + [Fact] public void Throws_when_pooled_context_constructor_has_single_parameter_that_cannot_be_resolved_from_service_provider() { var serviceProvider @@ -482,7 +482,7 @@ var serviceProvider private class WrongParameterConstructorContext(string x) : DbContext(new DbContextOptions()); #pragma warning restore CS9113 - [ConditionalFact] + [Fact] public void Throws_when_pooled_context_constructor_has_scoped_service() { var serviceProvider @@ -496,7 +496,7 @@ var serviceProvider Assert.Throws(() => scope.ServiceProvider.GetService()); } - [ConditionalFact] + [Fact] public void Does_not_throw_when_pooled_context_constructor_has_singleton_service() { var serviceProvider @@ -511,7 +511,7 @@ var serviceProvider Assert.Equal("string", context.StringParameter); } - [ConditionalFact] + [Fact] public void Does_not_throw_when_parameterless_and_correct_constructor() { var serviceProvider @@ -525,7 +525,7 @@ var serviceProvider Assert.Equal("Options", context.ConstructorUsed); } - [ConditionalFact] + [Fact] public void Does_not_throw_when_parameterless_and_correct_constructor_using_factory_pool() { var serviceProvider @@ -552,7 +552,7 @@ public WithParameterlessConstructorContext(DbContextOptions ConstructorUsed = "Options"; } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public async Task Can_pool_non_derived_context(bool useFactory, bool async) { var serviceProvider = useFactory @@ -627,7 +627,7 @@ async Task GetContextAsync(IServiceScope serviceScope) : serviceScope.ServiceProvider.GetService(); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task ContextIds_make_sense_when_not_pooling(bool async) { var serviceProvider = new ServiceCollection() @@ -688,7 +688,7 @@ public async Task ContextIds_make_sense_when_not_pooling(bool async) Assert.Equal(0, id2r.Lease); } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public async Task Contexts_are_pooled(bool useInterface, bool async) { var serviceProvider = useInterface @@ -757,7 +757,7 @@ public async Task Contexts_are_pooled(bool useInterface, bool async) await Dispose(serviceScope4, async); } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public async Task Contexts_are_pooled_with_factory(bool async, bool withDependencyInjection) { var factory = BuildFactory(withDependencyInjection); @@ -794,7 +794,7 @@ public async Task Contexts_are_pooled_with_factory(bool async, bool withDependen await Dispose(secondContext2, async); } - [ConditionalTheory, InlineData(false, false, null), InlineData(true, false, null), InlineData(false, true, null), + [Theory, InlineData(false, false, null), InlineData(true, false, null), InlineData(false, true, null), InlineData(true, true, null), InlineData(false, false, QueryTrackingBehavior.TrackAll), InlineData(true, false, QueryTrackingBehavior.TrackAll), InlineData(false, true, QueryTrackingBehavior.TrackAll), InlineData(true, true, QueryTrackingBehavior.TrackAll), InlineData(false, false, QueryTrackingBehavior.NoTracking), @@ -910,7 +910,7 @@ public async Task Context_configuration_is_reset(bool useInterface, bool async, Assert.False(_localView_OnCollectionChanged); } - [ConditionalTheory, InlineData(false, null), InlineData(true, null), InlineData(false, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(false, null), InlineData(true, null), InlineData(false, QueryTrackingBehavior.TrackAll), InlineData(true, QueryTrackingBehavior.TrackAll), InlineData(false, QueryTrackingBehavior.NoTracking), InlineData(true, QueryTrackingBehavior.NoTracking), InlineData(false, QueryTrackingBehavior.NoTrackingWithIdentityResolution), InlineData(true, QueryTrackingBehavior.NoTrackingWithIdentityResolution)] @@ -938,7 +938,7 @@ public async Task Uninitialized_context_configuration_is_reset_properly(bool asy await Dispose(serviceScope, async); } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public async Task Context_configuration_is_reset_with_factory(bool async, bool withDependencyInjection) { var factory = BuildFactory(withDependencyInjection); @@ -1021,7 +1021,7 @@ public async Task Context_configuration_is_reset_with_factory(bool async, bool w Assert.False(_localView_OnCollectionChanged); } - [ConditionalFact] + [Fact] public void Change_tracker_can_be_cleared_without_resetting_context_config() { var context = new PooledContext( @@ -1160,7 +1160,7 @@ private void ChangeTracker_OnDetectingEntityChanges(object sender, DetectEntityC private void ChangeTracker_OnDetectedEntityChanges(object sender, DetectedEntityChangesEventArgs e) => _changeTracker_OnDetectedEntityChanges = true; - [ConditionalTheory, InlineData(false, null), InlineData(true, null), InlineData(false, QueryTrackingBehavior.TrackAll), + [Theory, InlineData(false, null), InlineData(true, null), InlineData(false, QueryTrackingBehavior.TrackAll), InlineData(true, QueryTrackingBehavior.TrackAll), InlineData(false, QueryTrackingBehavior.NoTracking), InlineData(true, QueryTrackingBehavior.NoTracking), InlineData(false, QueryTrackingBehavior.NoTrackingWithIdentityResolution), InlineData(true, QueryTrackingBehavior.NoTrackingWithIdentityResolution)] @@ -1199,7 +1199,7 @@ public async Task Default_Context_configuration_is_reset(bool async, QueryTracki Assert.True(context2.Database.AutoSavepointsEnabled); } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public async Task Default_Context_configuration_is_reset_with_factory(bool async, bool withDependencyInjection) { var factory = BuildFactory(withDependencyInjection); @@ -1229,7 +1229,7 @@ public async Task Default_Context_configuration_is_reset_with_factory(bool async Assert.True(context2.Database.AutoSavepointsEnabled); } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public async Task State_manager_is_reset(bool useInterface, bool async) { var weakRef = await Scoper(async () => @@ -1272,7 +1272,7 @@ public async Task State_manager_is_reset(bool useInterface, bool async) private static async Task Scoper(Func> getter) => await getter(); - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public async Task State_manager_is_reset_with_factory(bool async, bool withDependencyInjection) { var weakRef = await Scoper(async () => @@ -1300,7 +1300,7 @@ public async Task State_manager_is_reset_with_factory(bool async, bool withDepen Assert.False(weakRef.IsAlive); } - [ConditionalTheory, InlineData(false, false, false), InlineData(true, false, false), InlineData(false, true, false), + [Theory, InlineData(false, false, false), InlineData(true, false, false), InlineData(false, true, false), InlineData(true, true, false), InlineData(false, false, true), InlineData(true, false, true), InlineData(false, true, true), InlineData(true, true, true)] // Issue #25486 public async Task Service_properties_are_disposed(bool useInterface, bool async, bool load) @@ -1340,7 +1340,7 @@ public async Task Service_properties_are_disposed(bool useInterface, bool async, AssertDisposed(() => orderLoader.Load(entity, nameof(Customer.Orders)), "Customer", "Orders"); } - [ConditionalTheory, InlineData(false, false, false), InlineData(true, false, false), InlineData(false, true, false), + [Theory, InlineData(false, false, false), InlineData(true, false, false), InlineData(false, true, false), InlineData(true, true, false), InlineData(false, false, true), InlineData(true, false, true), InlineData(false, true, true), InlineData(true, true, true)] // Issue #25486 public async Task Service_properties_are_disposed_with_factory(bool async, bool withDependencyInjection, bool load) @@ -1383,7 +1383,7 @@ private static void AssertDisposed(Action testCode, string entityTypeName, strin Assert.Throws( testCode).Message); - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public async Task Pool_disposes_context_when_context_not_pooled(bool useInterface, bool async) { var serviceProvider = useInterface @@ -1411,7 +1411,7 @@ public async Task Pool_disposes_context_when_context_not_pooled(bool useInterfac Assert.Throws(() => context2.Customers.ToList()); } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public async Task Pool_disposes_contexts_when_disposed(bool useInterface, bool async) { var serviceProvider = useInterface @@ -1432,7 +1432,7 @@ public async Task Pool_disposes_contexts_when_disposed(bool useInterface, bool a Assert.Throws(() => context.Customers.ToList()); } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public async Task Object_in_pool_is_disposed(bool useInterface, bool async) { var serviceProvider = useInterface @@ -1451,7 +1451,7 @@ public async Task Object_in_pool_is_disposed(bool useInterface, bool async) Assert.Throws(() => context!.Customers.ToList()); } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public async Task Double_dispose_does_not_enter_pool_twice(bool useInterface, bool async) { var serviceProvider = useInterface @@ -1476,7 +1476,7 @@ public async Task Double_dispose_does_not_enter_pool_twice(bool useInterface, bo Assert.NotSame(lease1.Context, lease2.Context); } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public async Task Double_dispose_with_standalone_lease_does_not_enter_pool_twice(bool useInterface, bool async) { var serviceProvider = useInterface @@ -1500,7 +1500,7 @@ public async Task Double_dispose_with_standalone_lease_does_not_enter_pool_twice Assert.NotSame(context1, context2); } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public async Task Can_double_dispose_with_factory(bool async, bool withDependencyInjection) { var factory = BuildFactory(withDependencyInjection); @@ -1518,7 +1518,7 @@ public async Task Can_double_dispose_with_factory(bool async, bool withDependenc Assert.Throws(() => context.Customers.ToList()); } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public async Task Provider_services_are_reset(bool useInterface, bool async) { var serviceProvider = useInterface @@ -1565,7 +1565,7 @@ public async Task Provider_services_are_reset(bool useInterface, bool async) Assert.Null(context3!.Database.CurrentTransaction); } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public async Task Provider_services_are_reset_with_factory(bool async, bool withDependencyInjection) { var factory = BuildFactory(withDependencyInjection); @@ -1595,7 +1595,7 @@ public async Task Provider_services_are_reset_with_factory(bool async, bool with Assert.Null(context3.Database.CurrentTransaction); } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] // Issue #27308. + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] // Issue #27308. public async Task Handle_open_connection_when_returning_to_pool_for_owned_connection(bool async, bool openWithEf) { var serviceProvider = new ServiceCollection() @@ -1652,7 +1652,7 @@ public async Task Handle_open_connection_when_returning_to_pool_for_owned_connec await Dispose(serviceScope, async); } - [ConditionalTheory, InlineData(false, false, false), InlineData(true, false, false), InlineData(false, true, false), + [Theory, InlineData(false, false, false), InlineData(true, false, false), InlineData(false, true, false), InlineData(true, true, false), InlineData(false, false, true), InlineData(true, false, true)] // Issue #27308. public async Task Handle_open_connection_when_returning_to_pool_for_external_connection(bool async, bool startsOpen, bool openWithEf) { @@ -1726,7 +1726,7 @@ public async Task Handle_open_connection_when_returning_to_pool_for_external_con await Dispose(serviceScope, async); } - [ConditionalTheory, InlineData(false, false, false), InlineData(true, false, false), InlineData(false, true, false), + [Theory, InlineData(false, false, false), InlineData(true, false, false), InlineData(false, true, false), InlineData(true, true, false), InlineData(false, false, true), InlineData(true, false, true), InlineData(false, true, true), InlineData(true, true, true)] // Issue #27308. public async Task Handle_open_connection_when_returning_to_pool_for_owned_connection_with_factory( @@ -1792,7 +1792,7 @@ public async Task Handle_open_connection_when_returning_to_pool_for_owned_connec await Dispose(context2, async); } - [ConditionalTheory, InlineData(false, false, false, false), InlineData(true, false, false, false), + [Theory, InlineData(false, false, false, false), InlineData(true, false, false, false), InlineData(false, true, false, false), InlineData(true, true, false, false), InlineData(false, false, true, false), InlineData(true, false, true, false), InlineData(false, false, false, true), InlineData(true, false, false, true), InlineData(false, true, false, true), InlineData(true, true, false, true), InlineData(false, false, true, true), @@ -1876,7 +1876,7 @@ public async Task Handle_open_connection_when_returning_to_pool_for_external_con await Dispose(context2, async); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void Double_dispose_concurrency_test(bool useInterface) { var serviceProvider = useInterface @@ -1899,7 +1899,7 @@ public void Double_dispose_concurrency_test(bool useInterface) }); } - [ConditionalTheory(Skip = "Issue #32700"), InlineData(false, false), InlineData(true, false), InlineData(false, true), + [Theory(Skip = "Issue #32700"), InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public async Task Concurrency_test(bool useInterface, bool async) { @@ -1987,7 +1987,7 @@ private async Task WriteResults() } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Concurrency_test2(bool async) { var factory = BuildFactory(withDependencyInjection: false); diff --git a/test/EFCore.SqlServer.FunctionalTests/DefaultValuesTest.cs b/test/EFCore.SqlServer.FunctionalTests/DefaultValuesTest.cs index 2f3a587282b..76b66f57da0 100644 --- a/test/EFCore.SqlServer.FunctionalTests/DefaultValuesTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/DefaultValuesTest.cs @@ -11,7 +11,7 @@ public class DefaultValuesTest : IAsyncLifetime .AddEntityFrameworkSqlServer() .BuildServiceProvider(validateScopes: true); - [ConditionalFact] + [Fact] public void Can_use_SQL_Server_default_values() { using (var context = new ChipsContext(_serviceProvider, TestStore.Name)) @@ -87,9 +87,9 @@ private class Chipper protected SqlServerTestStore TestStore { get; private set; } - public async Task InitializeAsync() + public async ValueTask InitializeAsync() => TestStore = await SqlServerTestStore.CreateInitializedAsync("DefaultValuesTest"); - public async Task DisposeAsync() + public async ValueTask DisposeAsync() => await TestStore.DisposeAsync(); } diff --git a/test/EFCore.SqlServer.FunctionalTests/EFCore.SqlServer.FunctionalTests.csproj b/test/EFCore.SqlServer.FunctionalTests/EFCore.SqlServer.FunctionalTests.csproj index a6507b2bd50..d687d68ff00 100644 --- a/test/EFCore.SqlServer.FunctionalTests/EFCore.SqlServer.FunctionalTests.csproj +++ b/test/EFCore.SqlServer.FunctionalTests/EFCore.SqlServer.FunctionalTests.csproj @@ -1,4 +1,4 @@ - + $(DefaultNetCoreTargetFramework) @@ -51,7 +51,6 @@ - diff --git a/test/EFCore.SqlServer.FunctionalTests/EntitySplittingSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/EntitySplittingSqlServerTest.cs index ba6cf82cae6..b55c4591293 100644 --- a/test/EFCore.SqlServer.FunctionalTests/EntitySplittingSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/EntitySplittingSqlServerTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore; public class EntitySplittingSqlServerTest(NonSharedFixture fixture, ITestOutputHelper testOutputHelper) : EntitySplittingTestBase(fixture, testOutputHelper) { - [ConditionalFact] + [Fact] public virtual async Task Can_roundtrip_with_triggers() { await InitializeAsync( diff --git a/test/EFCore.SqlServer.FunctionalTests/EverythingIsBytesSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/EverythingIsBytesSqlServerTest.cs index 791691882b3..5d3bda8b363 100644 --- a/test/EFCore.SqlServer.FunctionalTests/EverythingIsBytesSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/EverythingIsBytesSqlServerTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore; #nullable disable -[SqlServerCondition(SqlServerCondition.IsNotAzureSql)] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsNotAzureSql))] public class EverythingIsBytesSqlServerTest(EverythingIsBytesSqlServerTest.EverythingIsBytesSqlServerFixture fixture) : BuiltInDataTypesTestBase(fixture) { diff --git a/test/EFCore.SqlServer.FunctionalTests/EverythingIsStringsSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/EverythingIsStringsSqlServerTest.cs index 45e352b1a5e..4a0399394bb 100644 --- a/test/EFCore.SqlServer.FunctionalTests/EverythingIsStringsSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/EverythingIsStringsSqlServerTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore; #nullable disable -[SqlServerCondition(SqlServerCondition.IsNotAzureSql)] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsNotAzureSql))] public class EverythingIsStringsSqlServerTest(EverythingIsStringsSqlServerTest.EverythingIsStringsSqlServerFixture fixture) : BuiltInDataTypesTestBase< EverythingIsStringsSqlServerTest.EverythingIsStringsSqlServerFixture>(fixture) diff --git a/test/EFCore.SqlServer.FunctionalTests/ExecutionStrategyTest.cs b/test/EFCore.SqlServer.FunctionalTests/ExecutionStrategyTest.cs index ecd280c9d76..482acfb5295 100644 --- a/test/EFCore.SqlServer.FunctionalTests/ExecutionStrategyTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/ExecutionStrategyTest.cs @@ -22,7 +22,7 @@ public ExecutionStrategyTest(ExecutionStrategyFixture fixture) protected ExecutionStrategyFixture Fixture { get; } - [ConditionalTheory, MemberData(nameof(DataGenerator.GetBoolCombinations), 1, MemberType = typeof(DataGenerator))] + [Theory, MemberData(nameof(DataGenerator.GetBoolCombinations), 1, MemberType = typeof(DataGenerator))] public void Handles_commit_failure(bool realFailure) { // Use all overloads of ExecuteInTransaction @@ -114,7 +114,7 @@ private void Test_commit_failure(bool realFailure, Action(TFixture fixture) : GraphUpdatesTestBase(fixture) where TFixture : GraphUpdatesSqlServerTestBase.GraphUpdatesSqlServerFixtureBase, new() { - [ConditionalFact] // Issue #32638 + [Fact] // Issue #32638 public virtual void Key_and_index_properties_use_appropriate_comparer() { var parent = new StringKeyAndIndexParent @@ -257,7 +257,7 @@ public virtual ParentWithSetDefault Parent } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task SetDefault_with_default_value_sets_FK_to_default_on_delete(bool async) => await ExecuteWithStrategyInTransactionAsync( async context => diff --git a/test/EFCore.SqlServer.FunctionalTests/LazyLoadProxySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/LazyLoadProxySqlServerTest.cs index 0a6facf8e62..46a51fb86bf 100644 --- a/test/EFCore.SqlServer.FunctionalTests/LazyLoadProxySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/LazyLoadProxySqlServerTest.cs @@ -482,7 +482,7 @@ FROM [Child] AS [c] } } - [ConditionalFact] + [Fact] public override void Top_level_projection_track_entities_before_passing_to_client_method() { base.Top_level_projection_track_entities_before_passing_to_client_method(); diff --git a/test/EFCore.SqlServer.FunctionalTests/LoggingSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/LoggingSqlServerTest.cs index 0969c3354d8..c60897dac9e 100644 --- a/test/EFCore.SqlServer.FunctionalTests/LoggingSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/LoggingSqlServerTest.cs @@ -12,7 +12,7 @@ namespace Microsoft.EntityFrameworkCore; public class LoggingSqlServerTest : LoggingRelationalTestBase { - [ConditionalFact] + [Fact] public virtual void StoredProcedureConcurrencyTokenNotMapped_throws_by_default() { using var context = new StoredProcedureConcurrencyTokenNotMappedContext(CreateOptionsBuilder(new ServiceCollection())); diff --git a/test/EFCore.SqlServer.FunctionalTests/MemoryOptimizedTablesTest.cs b/test/EFCore.SqlServer.FunctionalTests/MemoryOptimizedTablesTest.cs index ed8283ef472..a2368b82d52 100644 --- a/test/EFCore.SqlServer.FunctionalTests/MemoryOptimizedTablesTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/MemoryOptimizedTablesTest.cs @@ -10,13 +10,13 @@ namespace Microsoft.EntityFrameworkCore; #nullable disable -[SqlServerCondition(SqlServerCondition.SupportsMemoryOptimized)] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsMemoryOptimizedTablesSupported))] public class MemoryOptimizedTablesTest(MemoryOptimizedTablesTest.MemoryOptimizedTablesFixture fixture) : IClassFixture { protected MemoryOptimizedTablesFixture Fixture { get; } = fixture; - [ConditionalFact] + [Fact] public async Task Can_create_memoryOptimized_table() { await using (await CreateTestStoreAsync()) diff --git a/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsInfrastructureSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsInfrastructureSqlServerTest.cs index c13964c5521..d9107b199c3 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsInfrastructureSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsInfrastructureSqlServerTest.cs @@ -12,7 +12,7 @@ // ReSharper disable InconsistentNaming namespace Microsoft.EntityFrameworkCore.Migrations { - [SqlServerCondition(SqlServerCondition.IsNotAzureSql | SqlServerCondition.IsNotCI)] + [ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsNotAzureSql)), SkipOnCI("Flaky on CI")] public class MigrationsInfrastructureSqlServerTest( MigrationsInfrastructureSqlServerTest.MigrationsInfrastructureSqlServerFixture fixture) : MigrationsInfrastructureTestBase(fixture) @@ -685,7 +685,7 @@ public override void Can_get_active_provider() Assert.Equal("Microsoft.EntityFrameworkCore.SqlServer", ActiveProvider); } - [ConditionalFact] + [Fact] public void Throws_when_no_migrations() { using var context = new DbContext( @@ -704,7 +704,7 @@ public void Throws_when_no_migrations() (Assert.Throws(context.Database.Migrate)).Message); } - [ConditionalFact] + [Fact] public async Task Throws_when_no_migrations_async() { using var context = new DbContext( @@ -723,7 +723,7 @@ public async Task Throws_when_no_migrations_async() (await Assert.ThrowsAsync(() => context.Database.MigrateAsync())).Message); } - [ConditionalFact] + [Fact] public void Throws_when_no_snapshot() { using var context = new MigrationsContext( @@ -743,7 +743,7 @@ public void Throws_when_no_snapshot() (Assert.Throws(context.Database.Migrate)).Message); } - [ConditionalFact] + [Fact] public async Task Throws_when_no_snapshot_async() { using var context = new MigrationsContext( @@ -763,7 +763,7 @@ public async Task Throws_when_no_snapshot_async() (await Assert.ThrowsAsync(() => context.Database.MigrateAsync())).Message); } - [ConditionalFact] + [Fact] public void Throws_for_old_migration_version() { using var context = new BloggingContext( @@ -784,7 +784,7 @@ public void Throws_for_old_migration_version() (Assert.Throws(context.Database.Migrate)).Message); } - [ConditionalFact] + [Fact] public async Task Throws_for_old_migration_version_async() { using var context = new BloggingContext( @@ -805,7 +805,7 @@ public async Task Throws_for_old_migration_version_async() (await Assert.ThrowsAsync(() => context.Database.MigrateAsync())).Message); } - [ConditionalFact] + [Fact] public void Throws_for_nondeterministic_HasData() { using var context = new BloggingContext( @@ -825,7 +825,7 @@ public void Throws_for_nondeterministic_HasData() (Assert.Throws(context.Database.Migrate)).Message); } - [ConditionalFact] + [Fact] public async Task Throws_for_nondeterministic_HasData_async() { using var context = new BloggingContext( @@ -845,7 +845,7 @@ public async Task Throws_for_nondeterministic_HasData_async() (await Assert.ThrowsAsync(() => context.Database.MigrateAsync())).Message); } - [ConditionalFact] + [Fact] public async Task Empty_Migration_Creates_Database() { using var context = new BloggingContext( @@ -863,7 +863,7 @@ public async Task Empty_Migration_Creates_Database() Assert.True(creator.Exists()); } - [ConditionalFact] + [Fact] public void Non_transactional_migration_is_retried() { using var context = new BloggingContext( @@ -974,7 +974,7 @@ SELECT @result ignoreLineEndingDifferences: true); } - [ConditionalFact] + [Fact] public async Task Non_transactional_migration_is_retried_async() { using var context = new BloggingContext( @@ -2028,7 +2028,7 @@ public class MigrationsInfrastructureSqlServerFixture : MigrationsInfrastructure protected override ITestStoreFactory TestStoreFactory => SqlServerTestStoreFactory.Instance; - public override async Task InitializeAsync() + public override async ValueTask InitializeAsync() { await base.InitializeAsync(); await ((SqlServerTestStore)TestStore).ExecuteNonQueryAsync( diff --git a/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.NamedDefaultConstraints.cs b/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.NamedDefaultConstraints.cs index 2cba1564ce1..3f750f218b1 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.NamedDefaultConstraints.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.NamedDefaultConstraints.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Migrations; @@ -7,7 +7,7 @@ public partial class MigrationsSqlServerTest : MigrationsTestBase { - [ConditionalFact] + [Fact] public virtual async Task Create_temporal_table_default_column_mappings_and_default_history_table() { await Test( @@ -60,7 +60,7 @@ PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) """); } - [ConditionalFact] + [Fact] public virtual async Task Create_temporal_table_custom_column_mappings_and_default_history_table() { await Test( @@ -112,7 +112,7 @@ PERIOD FOR SYSTEM_TIME([Start], [End]) """); } - [ConditionalFact] + [Fact] public virtual async Task Create_temporal_table_default_column_mappings_and_custom_history_table() { await Test( @@ -165,7 +165,7 @@ PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) """); } - [ConditionalFact] + [Fact] public virtual async Task Create_temporal_table_with_explicitly_defined_schema() { await Test( @@ -222,7 +222,7 @@ PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) """); } - [ConditionalFact] + [Fact] public virtual async Task Create_temporal_table_with_default_schema_for_model_changed_and_no_explicit_table_schema_provided() { await Test( @@ -283,7 +283,7 @@ PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) """); } - [ConditionalFact] + [Fact] public virtual async Task Create_temporal_table_with_default_schema_for_model_changed_and_explicit_table_schema_provided() { await Test( @@ -344,7 +344,7 @@ PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) """); } - [ConditionalFact] + [Fact] public virtual async Task Create_temporal_table_with_default_model_schema() { await Test( @@ -406,7 +406,7 @@ PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) """); } - [ConditionalFact] + [Fact] public virtual async Task Create_temporal_table_with_default_model_schema_specified_after_entity_definition() { await Test( @@ -471,7 +471,7 @@ PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) """); } - [ConditionalFact] + [Fact] public virtual async Task Create_temporal_table_with_default_model_schema_specified_after_entity_definition_and_history_table_schema_specified_explicitly() { @@ -542,7 +542,7 @@ PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) """); } - [ConditionalFact] + [Fact] public virtual async Task Create_temporal_table_with_default_model_schema_changed_after_entity_definition() { await Test( @@ -606,7 +606,7 @@ PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) """); } - [ConditionalFact] + [Fact] public virtual async Task Create_temporal_table_with_default_schema_for_model_changed_and_explicit_history_table_schema_not_provided() { @@ -669,7 +669,7 @@ PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) """); } - [ConditionalFact] + [Fact] public virtual async Task Create_temporal_table_with_default_schema_for_model_changed_and_explicit_history_table_schema_provided() { await Test( @@ -735,7 +735,7 @@ PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) """); } - [ConditionalFact] + [Fact] public virtual async Task Create_temporal_table_with_default_schema_for_table_and_explicit_history_table_schema_provided() { await Test( @@ -796,7 +796,7 @@ PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) """); } - [ConditionalFact] + [Fact] public virtual async Task Drop_temporal_table_default_history_table() { await Test( @@ -835,7 +835,7 @@ ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = OFF) """); } - [ConditionalFact] + [Fact] public virtual async Task Drop_temporal_table_custom_history_table() { await Test( @@ -875,7 +875,7 @@ ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = OFF) """); } - [ConditionalFact] + [Fact] public virtual async Task Drop_temporal_table_custom_history_table_and_history_table_schema() { await Test( @@ -915,7 +915,7 @@ ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = OFF) """); } - [ConditionalFact] + [Fact] public virtual async Task Rename_temporal_table() { await Test( @@ -986,7 +986,7 @@ DECLARE @historyTableSchema1 nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Rename_temporal_table_rename_and_modify_column_in_same_migration() { await Test( @@ -1086,7 +1086,7 @@ DECLARE @historyTableSchema1 nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Rename_temporal_table_with_custom_history_table_schema() { await Test( @@ -1224,7 +1224,7 @@ ALTER TABLE [mySchema2].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = """); } - [ConditionalFact] + [Fact] public virtual async Task Rename_temporal_table_schema_when_history_table_has_its_schema_specified() { await Test( @@ -1289,7 +1289,7 @@ ALTER TABLE [mySchema2].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = """); } - [ConditionalFact] + [Fact] public virtual async Task Rename_temporal_table_schema_and_history_table_name_when_history_table_doesnt_have_its_schema_specified() { await Test( @@ -1367,7 +1367,7 @@ ALTER TABLE [mySchema2].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = """); } - [ConditionalFact] + [Fact] public virtual async Task Rename_temporal_table_schema_and_history_table_name_when_history_table_doesnt_have_its_schema_specified_convention_with_default_global_schema22() { @@ -1448,7 +1448,7 @@ ALTER TABLE [mySchema2].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = """); } - [ConditionalFact] + [Fact] public virtual async Task Rename_temporal_table_schema_and_history_table_name_when_history_table_doesnt_have_its_schema_specified_convention_with_default_global_schema_and_table_schema_corrected() { @@ -1531,7 +1531,7 @@ ALTER TABLE [mySchema2].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = """); } - [ConditionalFact] + [Fact] public virtual async Task Rename_temporal_table_schema_when_history_table_doesnt_have_its_schema_specified_convention_with_default_global_schema_and_table_name_corrected() { @@ -1611,7 +1611,7 @@ ALTER TABLE [mySchema2].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = """); } - [ConditionalFact] + [Fact] public virtual async Task Rename_history_table() { await Test( @@ -1670,7 +1670,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Change_history_table_schema() { await Test( @@ -1734,7 +1734,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Rename_temporal_table_history_table_and_their_schemas() { await Test( @@ -1827,7 +1827,7 @@ ALTER TABLE [newSchema].[RenamedCustomers] SET (SYSTEM_VERSIONING = ON (HISTORY_ """); } - [ConditionalFact] + [Fact] public virtual async Task Remove_columns_from_temporal_table() { await Test( @@ -1924,7 +1924,7 @@ DECLARE @historyTableSchema1 nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Remove_columns_from_temporal_table_with_history_table_schema() { await Test( @@ -2020,7 +2020,7 @@ ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [myHistoryS """); } - [ConditionalFact] + [Fact] public virtual async Task Remove_columns_from_temporal_table_with_table_schema() { await Test( @@ -2116,7 +2116,7 @@ ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = """); } - [ConditionalFact] + [Fact] public virtual async Task Remove_columns_from_temporal_table_with_default_schema() { await Test( @@ -2216,7 +2216,7 @@ ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = """); } - [ConditionalFact] + [Fact] public virtual async Task Remove_columns_from_temporal_table_with_different_schemas_on_each_level() { await Test( @@ -2316,7 +2316,7 @@ ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = """); } - [ConditionalFact] + [Fact] public virtual async Task Add_columns_to_temporal_table() { await Test( @@ -2372,7 +2372,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Convert_temporal_table_with_default_column_mappings_and_custom_history_table_to_normal_table_keep_period_columns() { @@ -2434,7 +2434,7 @@ ALTER TABLE [Customer] DROP PERIOD FOR SYSTEM_TIME """); } - [ConditionalFact] + [Fact] public virtual async Task Convert_temporal_table_with_default_column_mappings_and_default_history_table_to_normal_table() { await Test( @@ -2510,7 +2510,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Convert_temporal_table_with_default_column_mappings_and_custom_history_table_to_normal_table_remove_period_columns() { @@ -2587,7 +2587,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Convert_temporal_table_with_explicit_history_table_schema_to_normal_table() { await Test( @@ -2648,7 +2648,7 @@ ALTER TABLE [Customer] DROP PERIOD FOR SYSTEM_TIME """); } - [ConditionalFact] + [Fact] public virtual async Task Convert_temporal_table_with_explicit_schemas_same_schema_for_table_and_history_to_normal_table() { await Test( @@ -2711,7 +2711,7 @@ ALTER TABLE [mySchema].[Customer] DROP PERIOD FOR SYSTEM_TIME """); } - [ConditionalFact] + [Fact] public virtual async Task Convert_temporal_table_using_custom_default_schema_to_normal_table() { await Test( @@ -2775,7 +2775,7 @@ ALTER TABLE [myDefaultSchema].[Customer] DROP PERIOD FOR SYSTEM_TIME """); } - [ConditionalFact] + [Fact] public virtual async Task Convert_temporal_table_using_custom_default_schema_and_explicit_history_schema_to_normal_table() { await Test( @@ -2839,7 +2839,7 @@ ALTER TABLE [myDefaultSchema].[Customer] DROP PERIOD FOR SYSTEM_TIME """); } - [ConditionalFact] + [Fact] public virtual async Task Convert_normal_table_to_temporal_table_with_minimal_configuration() { await Test( @@ -2906,7 +2906,7 @@ DECLARE @historyTableSchema nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Convert_normal_table_to_temporal_generates_exec_when_idempotent() { await Test( @@ -2974,7 +2974,7 @@ DECLARE @historyTableSchema nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Convert_normal_table_with_period_columns_to_temporal_table_default_column_mappings_and_default_history_table() { @@ -3038,7 +3038,7 @@ DECLARE @historyTableSchema nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Convert_normal_table_with_period_columns_to_temporal_table_default_column_mappings_and_specified_history_table() { @@ -3105,7 +3105,7 @@ DECLARE @historyTableSchema nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Convert_normal_table_to_temporal_table_default_column_mappings_and_default_history_table() { await Test( @@ -3176,7 +3176,7 @@ DECLARE @historyTableSchema nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Convert_normal_table_without_period_columns_to_temporal_table_default_column_mappings_and_specified_history_table() { @@ -3249,7 +3249,7 @@ DECLARE @historyTableSchema nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Rename_period_properties_of_temporal_table() { await Test( @@ -3313,7 +3313,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Rename_period_columns_of_temporal_table() { await Test( @@ -3374,7 +3374,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Alter_period_column_of_temporal_table() { await Test( @@ -3424,7 +3424,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Rename_regular_columns_of_temporal_table() { await Test( @@ -3477,7 +3477,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Convert_regular_column_of_temporal_table_from_nullable_to_non_nullable() { await Test( @@ -3565,7 +3565,7 @@ DECLARE @historyTableSchema1 nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Convert_regular_table_to_temporal_and_regular_column_from_nullable_to_non_nullable() { await Test( @@ -3663,7 +3663,7 @@ DECLARE @historyTableSchema nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Convert_regular_table_to_temporal_and_regular_column_to_sparse() { await Test( @@ -3754,7 +3754,7 @@ DECLARE @historyTableSchema nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Create_temporal_table_with_computed_column() { await Test( @@ -3810,7 +3810,7 @@ PERIOD FOR SYSTEM_TIME([Start], [End]) """); } - [ConditionalFact] + [Fact] public virtual async Task Add_nullable_computed_column_to_temporal_table() { await Test( @@ -3872,7 +3872,7 @@ DECLARE @historyTableSchema1 nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Add_non_nullable_computed_column_to_temporal_table() { await Test( @@ -3934,7 +3934,7 @@ DECLARE @historyTableSchema1 nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Remove_computed_column_from_temporal_table() { await Test( @@ -4007,7 +4007,7 @@ DECLARE @historyTableSchema1 nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Alter_computed_column_sql_on_temporal_table() { var message = (await Assert.ThrowsAsync(() => Test( @@ -4059,7 +4059,7 @@ public virtual async Task Alter_computed_column_sql_on_temporal_table() message); } - [ConditionalFact] + [Fact] public virtual async Task Add_column_on_temporal_table_with_computed_column() { await Test( @@ -4113,7 +4113,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Remove_column_on_temporal_table_with_computed_column() { await Test( @@ -4191,7 +4191,7 @@ DECLARE @historyTableSchema1 nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Rename_column_on_temporal_table_with_computed_column() { await Test( @@ -4246,7 +4246,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Add_sparse_column_to_temporal_table() { await Test( @@ -4313,7 +4313,7 @@ DECLARE @historyTableSchema1 nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Add_sparse_column_to_temporal_table_with_custom_schemas() { await Test( @@ -4383,7 +4383,7 @@ ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = """); } - [ConditionalFact] + [Fact] public virtual async Task Convert_regular_column_of_temporal_table_to_sparse() { await Test( @@ -4471,7 +4471,7 @@ DECLARE @historyTableSchema1 nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Convert_sparse_column_of_temporal_table_to_regular() { await Test( @@ -4535,7 +4535,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Convert_regular_table_with_sparse_column_to_temporal() { await Test( @@ -4615,7 +4615,7 @@ DECLARE @historyTableSchema nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Create_temporal_table_with_comments() { await Test( @@ -4675,7 +4675,7 @@ PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) """); } - [ConditionalFact] + [Fact] public virtual async Task Convert_normal_table_to_temporal_while_also_adding_comments_and_index() { await Test( @@ -4767,7 +4767,7 @@ DECLARE @historyTableSchema nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public async Task Alter_comments_for_temporal_table() { await Test( @@ -4836,7 +4836,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Add_index_to_temporal_table() { await Test( @@ -4905,7 +4905,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Add_index_on_period_column_to_temporal_table() { await Test( @@ -4976,7 +4976,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task History_table_schema_created_when_necessary() { await Test( @@ -5029,7 +5029,7 @@ PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) """); } - [ConditionalFact] + [Fact] public virtual async Task History_table_schema_not_created_if_we_know_it_already_exists1() { await Test( @@ -5105,7 +5105,7 @@ PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) """); } - [ConditionalFact] + [Fact] public virtual async Task History_table_schema_not_created_if_we_know_it_already_exists2() { await Test( @@ -5187,7 +5187,7 @@ PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) """); } - [ConditionalFact] + [Fact] public virtual async Task History_table_schema_renamed_to_one_exisiting_in_the_model() { await Test( @@ -5290,7 +5290,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_table_with_default_global_schema_noop_migtation_doesnt_generate_unnecessary_steps() { await Test( @@ -5324,7 +5324,7 @@ await Test( AssertSql(); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_table_with_default_global_schema_changing_global_schema() { await Test( @@ -5378,7 +5378,7 @@ ALTER TABLE [myModifiedDefaultSchema].[Customers] SET (SYSTEM_VERSIONING = ON (H """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_table_rename_and_delete_columns_in_one_migration() { await Test( @@ -5477,7 +5477,7 @@ DECLARE @historyTableSchema1 nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_table_rename_and_delete_columns_and_also_rename_table_in_one_migration() { await Test( @@ -5587,7 +5587,7 @@ DECLARE @historyTableSchema1 nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_table_rename_and_delete_columns_and_also_rename_history_table_in_one_migration() { await Test( @@ -5689,7 +5689,7 @@ DECLARE @historyTableSchema1 nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_table_delete_column_and_add_another_column_in_one_migration() { await Test( @@ -5779,7 +5779,7 @@ DECLARE @historyTableSchema1 nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_table_delete_column_and_alter_another_column_in_one_migration() { await Test( @@ -5878,7 +5878,7 @@ DECLARE @historyTableSchema1 nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_table_rename_and_alter_period_column_in_one_migration() { await Test( @@ -5946,7 +5946,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_table_delete_column_rename_and_alter_period_column_in_one_migration() { await Test( @@ -6056,7 +6056,7 @@ DECLARE @historyTableSchema1 nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Convert_from_temporal_table_with_minimal_configuration_to_explicit_one_noop() { await Test( @@ -6107,7 +6107,7 @@ await Test( AssertSql(); } - [ConditionalFact] + [Fact] public virtual async Task Convert_from_temporal_table_with_explicit_configuration_to_minimal_one_noop() { await Test( @@ -6158,7 +6158,7 @@ await Test( AssertSql(); } - [ConditionalFact] + [Fact] public virtual async Task Convert_from_temporal_table_with_minimal_configuration_to_explicit_one() { await Test( @@ -6220,7 +6220,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Change_names_of_period_columns_in_temporal_table() { await Test( @@ -6284,7 +6284,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_multiop_convert_to_temporal_and_add_new_column() { await Test( @@ -6363,7 +6363,7 @@ DECLARE @historyTableSchema nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_multiop_convert_to_temporal_and_remove_existing_column() { await Test( @@ -6447,7 +6447,7 @@ DECLARE @historyTableSchema nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_multiop_convert_to_temporal_and_rename_column() { await Test( @@ -6527,7 +6527,7 @@ DECLARE @historyTableSchema nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_multiop_convert_from_temporal_and_add_new_column() { await Test( @@ -6609,7 +6609,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_multiop_convert_from_temporal_and_remove_existing_column() { await Test( @@ -6706,7 +6706,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_multiop_convert_from_temporal_and_rename_column() { await Test( @@ -6789,7 +6789,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_multiop_convert_to_temporal_rename_table_and_add_new_column() { await Test( @@ -6880,7 +6880,7 @@ DECLARE @historyTableSchema nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_multiop_convert_to_temporal_rename_table_and_remove_existing_column() { await Test( @@ -6976,7 +6976,7 @@ DECLARE @historyTableSchema nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_multiop_convert_to_temporal_rename_table_and_rename_column() { await Test( @@ -7068,7 +7068,7 @@ DECLARE @historyTableSchema nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_multiop_convert_from_temporal_rename_table_and_add_new_column() { await Test( @@ -7162,7 +7162,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_multiop_rename_table_rename_history_table_and_add_new_column() { await Test( @@ -7251,7 +7251,7 @@ DECLARE @historyTableSchema1 nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_multiop_convert_from_temporal_create_another_table_with_same_name_as_history_table() { await Test( @@ -7361,7 +7361,7 @@ CONSTRAINT [PK_HistoryTable] PRIMARY KEY ([Id]) """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_convert_regular_table_to_temporal_and_add_rowversion_column() { await Test( @@ -7443,7 +7443,7 @@ DECLARE @historyTableSchema nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_create_temporal_table_using_EF8_migration_code() { var migrationBuilder = new MigrationBuilder("Microsoft.EntityFrameworkCore.SqlServer"); @@ -7523,7 +7523,7 @@ PERIOD FOR SYSTEM_TIME([PeriodStart], [PeriodEnd]) """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_convert_regular_table_to_temporal_using_EF8_migration_code() { var migrationBuilder = new MigrationBuilder("Microsoft.EntityFrameworkCore.SqlServer"); @@ -7645,7 +7645,7 @@ DECLARE @historyTableSchema nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_convert_regular_table_with_rowversion_to_temporal_using_EF8_migration_code() { var migrationBuilder = new MigrationBuilder("Microsoft.EntityFrameworkCore.SqlServer"); @@ -7782,7 +7782,7 @@ DECLARE @historyTableSchema nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_rename_temporal_table_using_EF8_migration_code() { var migrationBuilder = new MigrationBuilder("Microsoft.EntityFrameworkCore.SqlServer"); @@ -7958,7 +7958,7 @@ DECLARE @historyTableSchema1 nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_convert_temporal_table_to_regular_using_EF8_migration_code() { var migrationBuilder = new MigrationBuilder("Microsoft.EntityFrameworkCore.SqlServer"); @@ -8103,7 +8103,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_add_column_to_temporal_table_using_EF8_migration_code() { var migrationBuilder = new MigrationBuilder("Microsoft.EntityFrameworkCore.SqlServer"); @@ -8160,7 +8160,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_remove_temporal_table_column_using_EF8_migration_code() { var migrationBuilder = new MigrationBuilder("Microsoft.EntityFrameworkCore.SqlServer"); @@ -8219,7 +8219,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_rename_temporal_table_column_using_EF8_migration_code() { var migrationBuilder = new MigrationBuilder("Microsoft.EntityFrameworkCore.SqlServer"); @@ -8272,7 +8272,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_rename_temporal_table_period_columns_using_EF8_migration_code() { var migrationBuilder = new MigrationBuilder("Microsoft.EntityFrameworkCore.SqlServer"); @@ -8426,7 +8426,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_multiop_drop_temporal_table_and_add_the_same_table_in_one_migration() { await TestComposite( @@ -8497,7 +8497,7 @@ PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_multiop_rename_period_column_twice() { await TestComposite( @@ -8569,7 +8569,7 @@ await TestComposite( """); } - [ConditionalFact(Skip = "Issue #36161")] + [Fact(Skip = "Issue #36161")] public virtual async Task Temporal_multiop_create_regular_convert_to_temporal_rename_table_drop_column() { await TestComposite( @@ -8694,7 +8694,7 @@ ALTER TABLE [RenamedCustomers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [his """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_multiop_drop_temporal_table_and_add_slightly_different_table_with_the_same_name_in_one_migration() { await TestComposite( @@ -8810,7 +8810,7 @@ PERIOD FOR SYSTEM_TIME([FinalSystemTimeStart], [FinalSystemTimeEnd]) """); } - [ConditionalFact(Skip = "Issue #36161")] + [Fact(Skip = "Issue #36161")] public virtual async Task Temporal_multiop_drop_temporal_create_normal_add_column_rename_convert_to_temporal_drop_create_again_as_temporal_convert_to_normal_edit_drop() { @@ -9049,7 +9049,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_multiop_many_renames() { await TestComposite( @@ -9228,7 +9228,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_multiop_convert_temporal_to_regular_and_back() { await TestComposite( @@ -9336,7 +9336,7 @@ ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [historySch """); } - [ConditionalFact(Skip = "Issue #36161")] + [Fact(Skip = "Issue #36161")] public virtual async Task Temporal_multiop_convert_regular_to_temporal_and_back() { await TestComposite( @@ -9408,7 +9408,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_multiop_add_sparse_column_to_temporal_table_then_remove_it() { await TestComposite( @@ -9510,7 +9510,7 @@ ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [historySch """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_multiop_change_column_nullability_rename_table_drop_table() { await TestComposite( @@ -9622,7 +9622,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_multiop_add_sparse_column_to_temporal_then_convert_to_regular() { await TestComposite( @@ -9740,7 +9740,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact(Skip = "Issue #36161")] + [Fact(Skip = "Issue #36161")] public virtual async Task Temporal_multiop_add_column_to_temporal_table_with_default_schemas_change_default_schema_add_another_column() { await TestComposite( @@ -9812,7 +9812,7 @@ await TestComposite( AssertSql(""); } - [ConditionalFact(Skip = "Issue #36161")] + [Fact(Skip = "Issue #36161")] public virtual async Task Temporal_multiop_convert_regular_table_to_temporal_change_default_schema_convert_back_to_regular() { await TestComposite( @@ -9900,7 +9900,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_multiop_create_temporal_and_drop() { await TestComposite( @@ -9955,7 +9955,7 @@ ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_multiop_rename_temporal_and_drop() { await TestComposite( @@ -10023,7 +10023,7 @@ ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_multiop_rename_period_drop_table_create_as_regular() { await TestComposite( @@ -10100,7 +10100,7 @@ CONSTRAINT [PK_Customers] PRIMARY KEY ([Id]) """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_multiop_rename_column_drop_table_create_as_regular() { await TestComposite( @@ -10177,7 +10177,7 @@ CONSTRAINT [PK_Customers] PRIMARY KEY ([Id]) """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_table_with_default_constraint_can_alter_column() { await Test( @@ -10254,7 +10254,7 @@ DECLARE @historyTableSchema1 nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_table_add_default_constraint_to_column() { await Test( @@ -10312,7 +10312,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_table_change_default_constraint_value() { await Test( @@ -10370,7 +10370,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Temporal_table_remove_default_value_sql_from_column() { await Test( @@ -10445,7 +10445,7 @@ DECLARE @historyTableSchema1 nvarchar(max) = QUOTENAME(SCHEMA_NAME()) """); } - [ConditionalFact] + [Fact] public virtual async Task Add_identity_column_to_temporal_table_when_versioning_is_disabled() { await Test( diff --git a/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.cs index 655c1d30cfb..6bad88d3db5 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.cs @@ -8,8 +8,6 @@ using Microsoft.EntityFrameworkCore.SqlServer.Internal; using Microsoft.EntityFrameworkCore.SqlServer.Metadata.Internal; using Microsoft.EntityFrameworkCore.SqlServer.Scaffolding.Internal; -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - // ReSharper disable StringLiteralTypo // ReSharper disable UnusedParameter.Local // ReSharper disable ParameterOnlyUsedForPreconditionCheck.Local @@ -175,7 +173,7 @@ CONSTRAINT [PK_Entity] PRIMARY KEY ([Id]) """); } - [ConditionalFact] + [Fact] public virtual async Task Create_table_with_sparse_column() { await Test( @@ -196,7 +194,7 @@ [SomeProperty] nvarchar(max) SPARSE NULL """); } - [ConditionalFact] + [Fact] public virtual async Task Create_table_with_identity_column_value_converter() { await Test( @@ -218,7 +216,7 @@ [IdentityColumn] smallint NOT NULL IDENTITY """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsMemoryOptimized)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsMemoryOptimizedTablesSupported))] public virtual async Task Create_memory_optimized_table() { await Test( @@ -283,10 +281,7 @@ CONSTRAINT [PK_People] PRIMARY KEY NONCLUSTERED ([Id]) """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsMemoryOptimized)] - [PlatformSkipCondition( - TestUtilities.Xunit.TestPlatform.Mac, - SkipReason = "SQL Server crashes under Rosetta on macOS; see #37647")] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsMemoryOptimizedTablesSupported)), SkipOnPlatform(TestPlatforms.OSX, "Test does not run on macOS")] public virtual async Task Create_memory_optimized_temporal_table() { await Test( @@ -358,7 +353,7 @@ PERIOD FOR SYSTEM_TIME([PeriodStart], [PeriodEnd]) """); } - [ConditionalFact] + [Fact] public virtual async Task Create_table_with_fill_factor() { await Test( @@ -526,7 +521,7 @@ public override async Task Move_table() """); } - [ConditionalFact] + [Fact] public virtual async Task Move_table_into_default_schema() { await Test( @@ -566,7 +561,7 @@ CONSTRAINT [PK_People] PRIMARY KEY ([Id]) """); } - [ConditionalFact] + [Fact] public virtual async Task Create_schema_dbo_is_ignored() { await Test( @@ -605,7 +600,7 @@ public override async Task Add_column_with_defaultValue_datetime() """); } - [ConditionalTheory, InlineData(0, "", 1234567), InlineData(1, ".1", 1234567), InlineData(2, ".12", 1234567), + [Theory, InlineData(0, "", 1234567), InlineData(1, ".1", 1234567), InlineData(2, ".12", 1234567), InlineData(3, ".123", 1234567), InlineData(4, ".1234", 1234567), InlineData(5, ".12345", 1234567), InlineData(6, ".123456", 1234567), InlineData(7, ".1234567", 1234567), InlineData(7, ".1200000", 1200000)] //should this really output trailing zeros? @@ -630,7 +625,7 @@ await Test( """); } - [ConditionalTheory, InlineData(0, "", 1234567), InlineData(1, ".1", 1234567), InlineData(2, ".12", 1234567), + [Theory, InlineData(0, "", 1234567), InlineData(1, ".1", 1234567), InlineData(2, ".12", 1234567), InlineData(3, ".123", 1234567), InlineData(4, ".1234", 1234567), InlineData(5, ".12345", 1234567), InlineData(6, ".123456", 1234567), InlineData(7, ".1234567", 1234567), InlineData(7, ".1200000", 1200000)] //should this really output trailing zeros? @@ -658,7 +653,7 @@ await Test( """); } - [ConditionalTheory, InlineData(0, "", 1234567), InlineData(1, ".1", 1234567), InlineData(2, ".12", 1234567), + [Theory, InlineData(0, "", 1234567), InlineData(1, ".1", 1234567), InlineData(2, ".12", 1234567), InlineData(3, ".123", 1234567), InlineData(4, ".1234", 1234567), InlineData(5, ".12345", 1234567), InlineData(6, ".123456", 1234567), InlineData(7, ".1234567", 1234567), InlineData(7, ".12", 1200000)] public async Task Add_column_with_defaultValue_time_with_explicit_precision(int precision, string fractionalSeconds, int ticksToAdd) @@ -683,7 +678,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Add_column_with_defaultValue_datetime_store_type() { await Test( @@ -705,7 +700,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Add_column_with_defaultValue_smalldatetime_store_type() { await Test( @@ -727,7 +722,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Add_column_with_rowversion() { await Test( @@ -748,7 +743,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Add_column_with_rowversion_and_value_conversion() { await Test( @@ -811,7 +806,7 @@ public override async Task Add_column_with_computedSql(bool? stored) """); } - [ConditionalFact] + [Fact] public virtual async Task Add_column_generates_exec_when_computed_and_idempotent() { await Test( @@ -936,7 +931,7 @@ public override async Task Add_column_with_check_constraint() """); } - [ConditionalFact] + [Fact] public virtual async Task Add_column_identity() { await Test( @@ -956,7 +951,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Add_column_identity_seed_increment() { await Test( @@ -979,7 +974,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Add_column_identity_seed_increment_for_TPC() { await Test( @@ -1041,7 +1036,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Add_column_sequence() { await Test( @@ -1067,7 +1062,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Add_column_hilo() { await Test( @@ -1141,7 +1136,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public override async Task Alter_column_make_required_with_index() { await base.Alter_column_make_required_with_index(); @@ -1162,7 +1157,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public override async Task Alter_column_make_required_with_composite_index() { await base.Alter_column_make_required_with_composite_index(); @@ -1275,7 +1270,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public override async Task Alter_column_add_comment() { await base.Alter_column_add_comment(); @@ -1290,7 +1285,7 @@ public override async Task Alter_column_add_comment() """); } - [ConditionalFact] + [Fact] public override async Task Alter_computed_column_add_comment() { await base.Alter_computed_column_add_comment(); @@ -1305,7 +1300,7 @@ public override async Task Alter_computed_column_add_comment() """); } - [ConditionalFact] + [Fact] public override async Task Alter_column_change_comment() { await base.Alter_column_change_comment(); @@ -1321,7 +1316,7 @@ public override async Task Alter_column_change_comment() """); } - [ConditionalFact] + [Fact] public override async Task Alter_column_remove_comment() { await base.Alter_column_remove_comment(); @@ -1335,7 +1330,7 @@ public override async Task Alter_column_remove_comment() """); } - [ConditionalFact] + [Fact] public override async Task Alter_column_set_collation() { await base.Alter_column_set_collation(); @@ -1352,7 +1347,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Alter_column_set_collation_with_index() { await Test( @@ -1385,7 +1380,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public override async Task Alter_column_reset_collation() { await base.Alter_column_reset_collation(); @@ -1546,7 +1541,7 @@ public override async Task Convert_string_column_to_a_json_column_containing_col AssertSql(); } - [ConditionalFact] + [Fact] public virtual async Task Alter_column_make_required_with_index_with_included_properties() { await Test( @@ -1588,10 +1583,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsMemoryOptimized)] - [PlatformSkipCondition( - TestUtilities.Xunit.TestPlatform.Mac, - SkipReason = "SQL Server crashes under Rosetta on macOS; see #37647")] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsMemoryOptimizedTablesSupported)), SkipOnPlatform(TestPlatforms.OSX, "Test does not run on macOS")] public virtual async Task Alter_column_memoryOptimized_with_index() { await Test( @@ -1627,7 +1619,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Alter_column_with_index_no_narrowing() { await Test( @@ -1659,7 +1651,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Alter_column_with_index_included_column() { await Test( @@ -1699,7 +1691,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Alter_column_add_identity() { var ex = await TestThrows( @@ -1709,7 +1701,7 @@ public virtual async Task Alter_column_add_identity() Assert.Equal(SqlServerStrings.AlterIdentityColumn, ex.Message); } - [ConditionalFact] + [Fact] public virtual async Task Alter_column_remove_identity() { var ex = await TestThrows( @@ -1719,7 +1711,7 @@ public virtual async Task Alter_column_remove_identity() Assert.Equal(SqlServerStrings.AlterIdentityColumn, ex.Message); } - [ConditionalFact] + [Fact] public virtual async Task Alter_column_change_type_with_identity() { await Test( @@ -1755,7 +1747,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Alter_column_change_identity_seed() { await Test( @@ -1774,7 +1766,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Alter_column_change_default() { await Test( @@ -1800,7 +1792,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Alter_column_change_comment_with_default() { await Test( @@ -1825,7 +1817,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Alter_column_make_sparse() { await Test( @@ -2081,7 +2073,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task CreateIndex_generates_exec_when_filter_and_idempotent() { await Test( @@ -2138,7 +2130,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Create_index_clustered() { await Test( @@ -2169,7 +2161,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Create_index_unique_clustered() { await Test( @@ -2202,7 +2194,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Create_index_with_include() { await Test( @@ -2243,7 +2235,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Create_index_with_include_and_filter() { await Test( @@ -2286,7 +2278,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Create_index_unique_with_include() { await Test( @@ -2329,7 +2321,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Create_index_unique_with_include_and_filter() { await Test( @@ -2374,8 +2366,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact(Skip = "#19668, Online index operations can only be performed in Enterprise edition of SQL Server"), - SqlServerCondition(SqlServerCondition.SupportsOnlineIndexes)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsOnlineIndexingSupported))] public virtual async Task Create_index_unique_with_include_and_filter_online() { await Test( @@ -2422,8 +2413,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact(Skip = "#19668, Online index operations can only be performed in Enterprise edition of SQL Server"), - SqlServerCondition(SqlServerCondition.SupportsOnlineIndexes)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsOnlineIndexingSupported))] public virtual async Task Create_index_unique_with_include_filter_online_and_fillfactor() { await Test( @@ -2471,7 +2461,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Create_index_unique_with_include_filter_and_fillfactor() { await Test( @@ -2518,7 +2508,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual async Task Create_index_unique_with_include_fillfactor_and_sortintempdb() { await Test( @@ -2566,7 +2556,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalTheory, InlineData(DataCompressionType.None, "NONE"), InlineData(DataCompressionType.Row, "ROW"), + [Theory, InlineData(DataCompressionType.None, "NONE"), InlineData(DataCompressionType.Row, "ROW"), InlineData(DataCompressionType.Page, "PAGE")] public virtual async Task Create_index_unique_with_include_sortintempdb_and_datacompression( DataCompressionType dataCompression, @@ -2617,10 +2607,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsMemoryOptimized)] - [PlatformSkipCondition( - TestUtilities.Xunit.TestPlatform.Mac, - SkipReason = "SQL Server crashes under Rosetta on macOS; see #37647")] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsMemoryOptimizedTablesSupported)), SkipOnPlatform(TestPlatforms.OSX, "Test does not run on macOS")] public virtual async Task Create_index_memoryOptimized_unique_nullable() { await Test( @@ -2658,7 +2645,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsMemoryOptimized)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsMemoryOptimizedTablesSupported))] public virtual async Task Create_index_memoryOptimized_unique_nullable_with_filter() { await Test( @@ -2697,10 +2684,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsMemoryOptimized)] - [PlatformSkipCondition( - TestUtilities.Xunit.TestPlatform.Mac, - SkipReason = "SQL Server crashes under Rosetta on macOS; see #37647")] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsMemoryOptimizedTablesSupported)), SkipOnPlatform(TestPlatforms.OSX, "Test does not run on macOS")] public virtual async Task Create_index_memoryOptimized_unique_nonclustered_not_nullable() { await Test( @@ -2748,7 +2732,7 @@ public override async Task Rename_index() """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsVectorType)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsVectorTypeSupported))] [Experimental("EF9105")] public virtual async Task Create_vector_index() { @@ -2778,7 +2762,7 @@ await Test( """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsVectorType)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsVectorTypeSupported))] [Experimental("EF9105")] public virtual async Task Create_vector_index_with_type() { @@ -2808,7 +2792,7 @@ await Test( """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsVectorType)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsVectorTypeSupported))] [Experimental("EF9105")] public virtual async Task Drop_vector_index() { @@ -2832,7 +2816,7 @@ await Test( #region Full-text search - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFullTextSearch)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFullTextSearchSupported))] public virtual async Task Create_full_text_index() { await Test( @@ -2869,7 +2853,7 @@ await Test( """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFullTextSearch)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFullTextSearchSupported))] public virtual async Task Create_full_text_index_with_all_options() { await Test( @@ -2911,7 +2895,7 @@ await Test( """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFullTextSearch)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFullTextSearchSupported))] public virtual async Task Create_full_text_index_with_change_tracking_off() { await Test( @@ -2948,7 +2932,7 @@ await Test( """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFullTextSearch)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFullTextSearchSupported))] public virtual async Task Drop_full_text_index() { await Test( @@ -2981,7 +2965,7 @@ await Test( """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFullTextSearch)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFullTextSearchSupported))] public virtual async Task Create_full_text_catalog() { await Test( @@ -2995,7 +2979,7 @@ await Test( """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFullTextSearch)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFullTextSearchSupported))] public virtual async Task Create_full_text_catalog_as_default_accent_insensitive() { await Test( @@ -3009,7 +2993,7 @@ await Test( """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFullTextSearch)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFullTextSearchSupported))] public virtual async Task Drop_full_text_catalog() { await Test( @@ -3023,7 +3007,7 @@ await Test( """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFullTextSearch)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFullTextSearchSupported))] public virtual async Task Alter_full_text_catalog_accent_sensitivity() { await Test( @@ -3037,7 +3021,7 @@ await Test( """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFullTextSearch)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFullTextSearchSupported))] public virtual async Task Alter_full_text_catalog_set_as_default() { await Test( @@ -3051,7 +3035,7 @@ await Test( """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFullTextSearch)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFullTextSearchSupported))] public virtual async Task Create_full_text_index_with_change_tracking_off_no_population() { await Test( @@ -3089,7 +3073,7 @@ await Test( """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFullTextSearch)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFullTextSearchSupported))] public virtual async Task Add_column_to_full_text_index() { await Test( @@ -3133,7 +3117,7 @@ await Test( """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFullTextSearch)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFullTextSearchSupported))] public virtual async Task Remove_column_from_full_text_index() { await Test( @@ -3177,7 +3161,7 @@ await Test( """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFullTextSearch)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFullTextSearchSupported))] public virtual async Task Change_full_text_index_change_tracking_mode() { await Test( @@ -3222,7 +3206,7 @@ await Test( """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFullTextSearch)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFullTextSearchSupported))] public virtual async Task Change_full_text_index_catalog() { await Test( @@ -3266,7 +3250,7 @@ await Test( """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFullTextSearch)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFullTextSearchSupported))] public virtual async Task Change_full_text_index_language() { await Test( @@ -3310,7 +3294,7 @@ await Test( """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFullTextSearch)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFullTextSearchSupported))] public virtual async Task Create_full_text_catalog_and_index_together() { await Test( @@ -3349,7 +3333,7 @@ await Test( """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFullTextSearch)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFullTextSearchSupported))] public virtual async Task Drop_full_text_index_and_catalog_together() { await Test( @@ -3447,7 +3431,7 @@ public override async Task Add_primary_key_composite_with_name() """); } - [ConditionalFact] + [Fact] public virtual async Task Add_primary_key_nonclustered() { await Test( @@ -3468,7 +3452,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Add_primary_key_with_fill_factor() { await Test( @@ -3489,7 +3473,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Add_alternate_key_with_fill_factor() { await Test( @@ -3638,7 +3622,7 @@ public override async Task Add_check_constraint_with_name() """); } - [ConditionalFact] + [Fact] public virtual async Task Add_check_constraint_generates_exec_when_idempotent() { await Test( @@ -3696,7 +3680,7 @@ public override async Task Create_sequence() """); } - [ConditionalFact] + [Fact] public async Task Create_sequence_byte() { await Test( @@ -3713,7 +3697,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public async Task Create_sequence_decimal() { await Test( @@ -3831,7 +3815,7 @@ public override async Task Move_sequence() """); } - [ConditionalFact] + [Fact] public virtual async Task Move_sequence_into_default_schema() { await Test( @@ -3851,7 +3835,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public async Task Create_sequence_and_dependent_column() { await Test( @@ -3878,7 +3862,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public async Task Drop_sequence_and_dependent_column() { await Test( @@ -3991,7 +3975,7 @@ public override async Task UpdateDataOperation_multiple_columns() """); } - [ConditionalFact] + [Fact] public virtual async Task InsertDataOperation_generates_exec_when_idempotent() { await Test( @@ -4028,7 +4012,7 @@ IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'Id', N'Name """); } - [ConditionalFact] + [Fact] public virtual async Task DeleteDataOperation_generates_exec_when_idempotent() { await Test( @@ -4053,7 +4037,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task UpdateDataOperation_generates_exec_when_idempotent() { await Test( @@ -4162,7 +4146,7 @@ CONSTRAINT [PK_Customers] PRIMARY KEY ([Id]) """); } - [ConditionalFact] + [Fact] public override async Task Add_required_primitive_collection_to_existing_table() { await base.Add_required_primitive_collection_to_existing_table(); @@ -4173,7 +4157,7 @@ public override async Task Add_required_primitive_collection_to_existing_table() """); } - [ConditionalFact] + [Fact] public override async Task Add_required_primitive_collection_with_custom_default_value_to_existing_table() { await base.Add_required_primitive_collection_with_custom_default_value_to_existing_table(); @@ -4184,7 +4168,7 @@ public override async Task Add_required_primitive_collection_with_custom_default """); } - [ConditionalFact] + [Fact] public override async Task Add_required_primitive_collection_with_custom_default_value_sql_to_existing_table() { await base.Add_required_primitive_collection_with_custom_default_value_sql_to_existing_table_core("N'[3, 2, 1]'"); @@ -4195,7 +4179,7 @@ public override async Task Add_required_primitive_collection_with_custom_default """); } - [ConditionalFact(Skip = "issue #33038")] + [Fact(Skip = "issue #33038")] public override async Task Add_required_primitive_collection_with_custom_converter_to_existing_table() { await base.Add_required_primitive_collection_with_custom_converter_to_existing_table(); @@ -4206,7 +4190,7 @@ public override async Task Add_required_primitive_collection_with_custom_convert """); } - [ConditionalFact] + [Fact] public override async Task Add_required_primitive_collection_with_custom_converter_and_custom_default_value_to_existing_table() { await base.Add_required_primitive_collection_with_custom_converter_and_custom_default_value_to_existing_table(); @@ -4217,7 +4201,7 @@ public override async Task Add_required_primitive_collection_with_custom_convert """); } - [ConditionalFact] + [Fact] public override async Task Add_optional_primitive_collection_to_existing_table() { await base.Add_optional_primitive_collection_to_existing_table(); @@ -4228,7 +4212,7 @@ public override async Task Add_optional_primitive_collection_to_existing_table() """); } - [ConditionalFact] + [Fact] public override async Task Create_table_with_required_primitive_collection() { await base.Create_table_with_required_primitive_collection(); @@ -4244,7 +4228,7 @@ CONSTRAINT [PK_Customers] PRIMARY KEY ([Id]) """); } - [ConditionalFact] + [Fact] public override async Task Create_table_with_optional_primitive_collection() { await base.Create_table_with_optional_primitive_collection(); @@ -4260,7 +4244,7 @@ CONSTRAINT [PK_Customers] PRIMARY KEY ([Id]) """); } - [ConditionalFact] + [Fact] public override async Task Create_table_with_complex_type_with_required_properties_on_derived_entity_in_TPH() { await base.Create_table_with_complex_type_with_required_properties_on_derived_entity_in_TPH(); @@ -4303,7 +4287,7 @@ CONSTRAINT [PK_Suppliers] PRIMARY KEY ([Id]) """); } - [ConditionalFact] + [Fact] public override async Task Add_required_primitve_collection_to_existing_table() { await base.Add_required_primitve_collection_to_existing_table(); @@ -4314,7 +4298,7 @@ public override async Task Add_required_primitve_collection_to_existing_table() """); } - [ConditionalFact] + [Fact] public override async Task Add_required_primitve_collection_with_custom_default_value_to_existing_table() { await base.Add_required_primitve_collection_with_custom_default_value_to_existing_table(); @@ -4325,7 +4309,7 @@ public override async Task Add_required_primitve_collection_with_custom_default_ """); } - [ConditionalFact] + [Fact] public override async Task Add_required_primitve_collection_with_custom_default_value_sql_to_existing_table() { await base.Add_required_primitve_collection_with_custom_default_value_sql_to_existing_table_core("N'[3, 2, 1]'"); @@ -4336,7 +4320,7 @@ public override async Task Add_required_primitve_collection_with_custom_default_ """); } - [ConditionalFact(Skip = "issue #33038")] + [Fact(Skip = "issue #33038")] public override async Task Add_required_primitve_collection_with_custom_converter_to_existing_table() { await base.Add_required_primitve_collection_with_custom_converter_to_existing_table(); @@ -4347,7 +4331,7 @@ public override async Task Add_required_primitve_collection_with_custom_converte """); } - [ConditionalFact] + [Fact] public override async Task Add_required_primitve_collection_with_custom_converter_and_custom_default_value_to_existing_table() { await base.Add_required_primitve_collection_with_custom_converter_and_custom_default_value_to_existing_table(); @@ -4400,11 +4384,11 @@ protected override IServiceCollection AddServices(IServiceCollection serviceColl => base.AddServices(serviceCollection) .AddScoped(); - public override async Task InitializeAsync() + public override async ValueTask InitializeAsync() { await base.InitializeAsync(); - if (TestEnvironment.IsVectorTypeSupported) + if (SqlServerTestEnvironment.IsVectorTypeSupported) { await ((SqlServerTestStore)TestStore).ExecuteNonQueryAsync( "ALTER DATABASE SCOPED CONFIGURATION SET PREVIEW_FEATURES = ON"); diff --git a/test/EFCore.SqlServer.FunctionalTests/Migrations/SqlServerMigrationsSqlGeneratorTest.cs b/test/EFCore.SqlServer.FunctionalTests/Migrations/SqlServerMigrationsSqlGeneratorTest.cs index f35ef7fd416..65c71fecf2c 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Migrations/SqlServerMigrationsSqlGeneratorTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Migrations/SqlServerMigrationsSqlGeneratorTest.cs @@ -18,7 +18,7 @@ public class SqlServerMigrationsSqlGeneratorTest() : MigrationsSqlGeneratorTestB new SqlServerDbContextOptionsBuilder(new DbContextOptionsBuilder()).UseNetTopologySuite()) .OptionsBuilder).Options) { - [ConditionalFact] + [Fact] public void CreateIndexOperation_unique_online() { Generate( @@ -38,7 +38,7 @@ public void CreateIndexOperation_unique_online() """); } - [ConditionalFact] + [Fact] public void CreateIndexOperation_unique_sortintempdb() { Generate( @@ -58,7 +58,7 @@ public void CreateIndexOperation_unique_sortintempdb() """); } - [ConditionalTheory, InlineData(DataCompressionType.None, "NONE"), InlineData(DataCompressionType.Row, "ROW"), + [Theory, InlineData(DataCompressionType.None, "NONE"), InlineData(DataCompressionType.Row, "ROW"), InlineData(DataCompressionType.Page, "PAGE")] public void CreateIndexOperation_unique_datacompression(DataCompressionType dataCompression, string dataCompressionSql) { @@ -79,7 +79,7 @@ public void CreateIndexOperation_unique_datacompression(DataCompressionType data """); } - [ConditionalFact] + [Fact] public virtual void AddColumnOperation_identity_legacy() { Generate( @@ -101,7 +101,7 @@ public virtual void AddColumnOperation_identity_legacy() """); } - [ConditionalFact] + [Fact] public virtual void AddColumnOperation_identity_not_propagated_to_history_table() { Generate( @@ -138,7 +138,7 @@ public virtual void AddColumnOperation_identity_not_propagated_to_history_table( """); } - [ConditionalFact] + [Fact] public virtual void AddColumnOperation_identity_legacy_not_propagated_to_history_table() { var migrationBuilder = new MigrationBuilder("Microsoft.EntityFrameworkCore.SqlServer"); @@ -261,7 +261,7 @@ public override void AddColumnOperation_with_unicode_overridden() """); } - [ConditionalFact] + [Fact] public virtual void AddColumnOperation_with_rowversion_overridden() { Generate( @@ -281,7 +281,7 @@ public virtual void AddColumnOperation_with_rowversion_overridden() """); } - [ConditionalFact] + [Fact] public virtual void AddColumnOperation_with_rowversion_no_model() { Generate( @@ -326,7 +326,7 @@ public override void AddForeignKeyOperation_without_principal_columns() """); } - [ConditionalFact] + [Fact] public virtual void AlterColumnOperation_with_identity_legacy() { Generate( @@ -351,7 +351,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual void AlterColumnOperation_with_index_no_oldColumn() { Generate( @@ -384,7 +384,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual void AlterColumnOperation_with_added_index() { Generate( @@ -426,7 +426,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual void AlterColumnOperation_with_added_index_no_oldType() { Generate( @@ -467,7 +467,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual void AlterColumnOperation_identity_legacy() { Generate( @@ -497,7 +497,7 @@ FROM [sys].[default_constraints] [d] """); } - [ConditionalFact] + [Fact] public virtual void AlterColumnOperation_add_identity_legacy() { var ex = Assert.Throws(() => Generate( @@ -514,7 +514,7 @@ public virtual void AlterColumnOperation_add_identity_legacy() Assert.Equal(SqlServerStrings.AlterIdentityColumn, ex.Message); } - [ConditionalFact] + [Fact] public virtual void AlterColumnOperation_remove_identity_legacy() { var ex = Assert.Throws(() => Generate( @@ -534,7 +534,7 @@ public virtual void AlterColumnOperation_remove_identity_legacy() Assert.Equal(SqlServerStrings.AlterIdentityColumn, ex.Message); } - [ConditionalFact] + [Fact] public virtual void CreateDatabaseOperation() { Generate( @@ -552,7 +552,7 @@ IF SERVERPROPERTY('EngineEdition') <> 5 """); } - [ConditionalFact] + [Fact] public virtual void CreateDatabaseOperation_with_filename() { Generate( @@ -575,7 +575,7 @@ IF SERVERPROPERTY('EngineEdition') <> 5 """); } - [ConditionalFact] + [Fact] public virtual void CreateDatabaseOperation_with_filename_and_datadirectory() { var baseDirectory = AppDomain.CurrentDomain.BaseDirectory; @@ -600,7 +600,7 @@ IF SERVERPROPERTY('EngineEdition') <> 5 """); } - [ConditionalFact] + [Fact] public virtual void CreateDatabaseOperation_with_filename_and_custom_datadirectory() { var dataDirectory = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Data"); @@ -629,7 +629,7 @@ IF SERVERPROPERTY('EngineEdition') <> 5 """); } - [ConditionalFact] + [Fact] public virtual void CreateDatabaseOperation_with_collation() { Generate( @@ -648,7 +648,7 @@ IF SERVERPROPERTY('EngineEdition') <> 5 """); } - [ConditionalFact] + [Fact] public virtual void AlterDatabaseOperation_collation() { Generate( @@ -659,7 +659,7 @@ public virtual void AlterDatabaseOperation_collation() Sql); } - [ConditionalFact] + [Fact] public virtual void AlterDatabaseOperation_collation_to_default() { Generate( @@ -676,7 +676,7 @@ public virtual void AlterDatabaseOperation_collation_to_default() """); } - [ConditionalFact] + [Fact] public virtual void AlterDatabaseOperation_memory_optimized() { Generate( @@ -687,7 +687,7 @@ public virtual void AlterDatabaseOperation_memory_optimized() Sql); } - [ConditionalFact] + [Fact] public virtual void DropDatabaseOperation() { Generate( @@ -705,7 +705,7 @@ IF SERVERPROPERTY('EngineEdition') <> 5 """); } - [ConditionalFact] + [Fact] public virtual void DropIndexOperations_throws_when_no_table() { var migrationBuilder = new MigrationBuilder("SqlServer"); @@ -718,7 +718,7 @@ public virtual void DropIndexOperations_throws_when_no_table() Assert.Equal(SqlServerStrings.IndexTableRequired, ex.Message); } - [ConditionalFact] + [Fact] public virtual void MoveSequenceOperation_legacy() { Generate( @@ -735,7 +735,7 @@ public virtual void MoveSequenceOperation_legacy() """); } - [ConditionalFact] + [Fact] public virtual void MoveTableOperation_legacy() { Generate( @@ -752,7 +752,7 @@ public virtual void MoveTableOperation_legacy() """); } - [ConditionalFact] + [Fact] public virtual void RenameIndexOperations_throws_when_no_table() { var migrationBuilder = new MigrationBuilder("SqlServer"); @@ -766,7 +766,7 @@ public virtual void RenameIndexOperations_throws_when_no_table() Assert.Equal(SqlServerStrings.IndexTableRequired, ex.Message); } - [ConditionalFact] + [Fact] public virtual void RenameSequenceOperation_legacy() { Generate( @@ -783,7 +783,7 @@ public virtual void RenameSequenceOperation_legacy() """); } - [ConditionalFact] + [Fact] public override void RenameTableOperation_legacy() { base.RenameTableOperation_legacy(); @@ -804,7 +804,7 @@ public override void RenameTableOperation() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_backslash() { Generate( @@ -816,7 +816,7 @@ public virtual void SqlOperation_handles_backslash() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_ignores_sequential_gos() { Generate( @@ -828,7 +828,7 @@ public virtual void SqlOperation_ignores_sequential_gos() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_go() { Generate( @@ -843,7 +843,7 @@ public virtual void SqlOperation_handles_go() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_go_with_count() { Generate( @@ -858,7 +858,7 @@ public virtual void SqlOperation_handles_go_with_count() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_ignores_non_go() { Generate( @@ -880,7 +880,7 @@ public override void SqlOperation() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_block_comment_with_single_quote() { Generate( @@ -896,7 +896,7 @@ public virtual void SqlOperation_handles_block_comment_with_single_quote() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_multiline_block_comment_with_single_quote() { Generate( @@ -916,7 +916,7 @@ a multiline comment with ' quote */ """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_block_comment_with_multiple_quotes() { Generate( @@ -935,7 +935,7 @@ public virtual void SqlOperation_handles_block_comment_with_multiple_quotes() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_block_comment_before_procedure() { Generate( @@ -956,7 +956,7 @@ public virtual void SqlOperation_handles_block_comment_before_procedure() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_empty_block_comment() { Generate( @@ -972,7 +972,7 @@ public virtual void SqlOperation_handles_empty_block_comment() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_nested_comments_and_strings() { Generate( @@ -993,7 +993,7 @@ public virtual void SqlOperation_handles_nested_comments_and_strings() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_block_comment_after_string() { Generate( @@ -1009,7 +1009,7 @@ public virtual void SqlOperation_handles_block_comment_after_string() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_block_comment_with_asterisks() { Generate( @@ -1028,7 +1028,7 @@ public virtual void SqlOperation_handles_block_comment_with_asterisks() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_line_comment_with_block_comment_start() { Generate( @@ -1044,7 +1044,7 @@ public virtual void SqlOperation_handles_line_comment_with_block_comment_start() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_block_comment_with_line_comment_inside() { Generate( @@ -1060,7 +1060,7 @@ public virtual void SqlOperation_handles_block_comment_with_line_comment_inside( """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_multiline_block_comment_with_go_on_separate_line() { Generate( @@ -1081,7 +1081,7 @@ public virtual void SqlOperation_handles_multiline_block_comment_with_go_on_sepa """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_square_bracket_identifier() { Generate( @@ -1096,7 +1096,7 @@ public virtual void SqlOperation_handles_square_bracket_identifier() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_escaped_square_bracket_identifier() { Generate( @@ -1111,7 +1111,7 @@ public virtual void SqlOperation_handles_escaped_square_bracket_identifier() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_double_quote_identifier() { Generate( @@ -1128,7 +1128,7 @@ INSERT INTO " """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_quote_before_go() { Generate( @@ -1143,7 +1143,7 @@ public virtual void SqlOperation_handles_quote_before_go() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_forward_slash_before_go() { Generate( @@ -1158,7 +1158,7 @@ public virtual void SqlOperation_handles_forward_slash_before_go() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_asterisk_before_go() { Generate( @@ -1173,7 +1173,7 @@ public virtual void SqlOperation_handles_asterisk_before_go() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_dash_before_go() { Generate( @@ -1188,7 +1188,7 @@ public virtual void SqlOperation_handles_dash_before_go() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_square_bracket_before_go() { Generate( @@ -1205,7 +1205,7 @@ SELECT [ """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_double_quote_before_go() { Generate( @@ -1220,7 +1220,7 @@ public virtual void SqlOperation_handles_double_quote_before_go() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_line_comment_inside_quotes() { Generate( @@ -1235,7 +1235,7 @@ public virtual void SqlOperation_handles_line_comment_inside_quotes() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_line_comment_inside_square_brackets() { Generate( @@ -1250,7 +1250,7 @@ public virtual void SqlOperation_handles_line_comment_inside_square_brackets() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_line_comment_inside_double_quotes() { Generate( @@ -1265,7 +1265,7 @@ public virtual void SqlOperation_handles_line_comment_inside_double_quotes() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_brackets_inside_block_comment() { Generate( @@ -1281,7 +1281,7 @@ public virtual void SqlOperation_handles_brackets_inside_block_comment() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_double_quotes_inside_block_comment() { Generate( @@ -1297,7 +1297,7 @@ public virtual void SqlOperation_handles_double_quotes_inside_block_comment() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_single_quote_inside_block_comment() { Generate( @@ -1313,7 +1313,7 @@ public virtual void SqlOperation_handles_single_quote_inside_block_comment() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_quotes_inside_line_comment() { Generate( @@ -1329,7 +1329,7 @@ public virtual void SqlOperation_handles_quotes_inside_line_comment() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_brackets_inside_line_comment() { Generate( @@ -1345,7 +1345,7 @@ public virtual void SqlOperation_handles_brackets_inside_line_comment() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_double_quotes_inside_line_comment() { Generate( @@ -1361,7 +1361,7 @@ public virtual void SqlOperation_handles_double_quotes_inside_line_comment() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_escaped_quotes_in_string() { Generate( @@ -1376,7 +1376,7 @@ public virtual void SqlOperation_handles_escaped_quotes_in_string() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_multiple_delimiters_in_string() { Generate( @@ -1391,7 +1391,7 @@ public virtual void SqlOperation_handles_multiple_delimiters_in_string() """); } - [ConditionalFact] + [Fact] public virtual void SqlOperation_handles_go_in_script_with_suppress_transaction() { Generate( @@ -1485,7 +1485,7 @@ IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'First Name' """); } - [ConditionalFact] + [Fact] public virtual void InsertDataOperation_max_batch_size_is_respected() { // The SQL Server max batch size is 42 by default @@ -1823,7 +1823,7 @@ public override void Sequence_restart_operation(long? startsAt) AssertSql(expectedSql); } - [ConditionalFact] + [Fact] public virtual void CreateIndex_generates_exec_when_legacy_filter_and_idempotent() { Generate( @@ -1846,7 +1846,7 @@ public virtual void CreateIndex_generates_exec_when_legacy_filter_and_idempotent """); } - [ConditionalFact] + [Fact] public virtual void AlterColumn_make_required_with_idempotent() { Generate( @@ -1883,7 +1883,7 @@ FROM [sys].[default_constraints] [d] - [ConditionalFact] + [Fact] public void Invalid_column_type_for_unmappable_clr_type_throws_meaningful_exception() { var ex = Assert.Throws(() => diff --git a/test/EFCore.SqlServer.FunctionalTests/ModelBuilding/SqlServerModelBuilderTestBase.cs b/test/EFCore.SqlServer.FunctionalTests/ModelBuilding/SqlServerModelBuilderTestBase.cs index 185d3bf3292..a883df3c8ea 100644 --- a/test/EFCore.SqlServer.FunctionalTests/ModelBuilding/SqlServerModelBuilderTestBase.cs +++ b/test/EFCore.SqlServer.FunctionalTests/ModelBuilding/SqlServerModelBuilderTestBase.cs @@ -16,7 +16,7 @@ public class SqlServerModelBuilderTestBase : RelationalModelBuilderTest public abstract class SqlServerNonRelationship(SqlServerModelBuilderFixture fixture) : RelationalNonRelationshipTestBase(fixture), IClassFixture { - [ConditionalFact] + [Fact] public virtual void Index_has_a_filter_if_nonclustered_unique_with_nullable_properties() { var modelBuilder = CreateModelBuilder(); @@ -75,7 +75,7 @@ public virtual void Index_has_a_filter_if_nonclustered_unique_with_nullable_prop Assert.Null(index.GetFilter()); } - [ConditionalFact] + [Fact] public void Indexes_can_have_same_name_across_tables() { var modelBuilder = CreateModelBuilder(); @@ -103,7 +103,7 @@ public void Indexes_can_have_same_name_across_tables() StoreObjectIdentifier.Table("CustomerDetails"))); } - [ConditionalFact] + [Fact] public virtual void Can_set_store_type_for_property_type() { var modelBuilder = CreateModelBuilder(c => @@ -137,7 +137,7 @@ public virtual void Can_set_store_type_for_property_type() Assert.Equal("nchar(max)", entityType.FindProperty("Bottom")!.GetColumnType()); } - [ConditionalFact] + [Fact] public virtual void Can_set_fixed_length_for_property_type() { var modelBuilder = CreateModelBuilder(c => @@ -166,7 +166,7 @@ public virtual void Can_set_fixed_length_for_property_type() Assert.True(entityType.FindProperty("Bottom")!.IsFixedLength()); } - [ConditionalFact] + [Fact] public virtual void Can_set_collation_for_property_type() { var modelBuilder = CreateModelBuilder(c => @@ -195,7 +195,7 @@ public virtual void Can_set_collation_for_property_type() Assert.Equal("Latin1_General_BIN", entityType.FindProperty("Bottom")!.GetCollation()); } - [ConditionalFact] + [Fact] public virtual void Can_set_store_type_for_primitive_collection() { var modelBuilder = CreateModelBuilder(); @@ -221,7 +221,7 @@ public virtual void Can_set_store_type_for_primitive_collection() Assert.Equal("varchar(max)", entityType.FindProperty("Bottom")!.GetColumnType()); } - [ConditionalFact] + [Fact] public virtual void Can_set_fixed_length_for_primitive_collection() { var modelBuilder = CreateModelBuilder(); @@ -240,7 +240,7 @@ public virtual void Can_set_fixed_length_for_primitive_collection() Assert.True(entityType.FindProperty("Charm")!.IsFixedLength()); } - [ConditionalFact] + [Fact] public virtual void Can_set_collation_for_primitive_collection() { var modelBuilder = CreateModelBuilder(); @@ -259,7 +259,7 @@ public virtual void Can_set_collation_for_primitive_collection() Assert.Equal("Latin1_General_CI_AI", entityType.FindProperty("Charm")!.GetCollation()); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsVectorType)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsVectorTypeSupported))] [Experimental("EF9105")] public virtual void Can_configure_vector_index_with_fluent_api() { @@ -286,7 +286,7 @@ public virtual void Can_configure_vector_index_with_fluent_api() Assert.Equal(nameof(VectorIndexEntity.Vector), index.Properties.Single().Name); } - [ConditionalFact] + [Fact] public virtual void Can_configure_full_text_index_with_fluent_api() { var modelBuilder = CreateModelBuilder(); @@ -314,7 +314,7 @@ public virtual void Can_configure_full_text_index_with_fluent_api() Assert.Equal(nameof(FullTextEntity.Title), index.Properties.Single().Name); } - [ConditionalFact] + [Fact] public virtual void Can_configure_full_text_index_with_multiple_columns() { var modelBuilder = CreateModelBuilder(); @@ -339,7 +339,7 @@ public virtual void Can_configure_full_text_index_with_multiple_columns() Assert.Equal("French", index.GetFullTextLanguage("Body")); } - [ConditionalFact] + [Fact] public virtual void Can_configure_full_text_catalog_with_fluent_api() { var modelBuilder = CreateModelBuilder(); @@ -363,7 +363,7 @@ public virtual void Can_configure_full_text_catalog_with_fluent_api() Assert.False(catalogs[0].IsAccentSensitive); } - [ConditionalFact] + [Fact] public virtual void Can_configure_full_text_index_with_change_tracking_off_no_population() { var modelBuilder = CreateModelBuilder(); @@ -391,7 +391,7 @@ protected class FullTextEntity public byte[]? Document { get; set; } } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual void Can_avoid_attributes_when_discovering_properties(bool useAttributes) { var modelBuilder = CreateModelBuilder(c => c.Conventions.Replace(s => new PropertyDiscoveryConvention( @@ -439,7 +439,7 @@ public abstract class SqlServerComplexCollection(SqlServerModelBuilderFixture fi public abstract class SqlServerInheritance(SqlServerModelBuilderFixture fixture) : RelationalInheritanceTestBase(fixture), IClassFixture { - [ConditionalFact] // #7240 + [Fact] // #7240 public void Can_use_shadow_FK_that_collides_with_convention_shadow_FK_on_other_derived_type() { var modelBuilder = CreateModelBuilder(); @@ -460,7 +460,7 @@ public void Can_use_shadow_FK_that_collides_with_convention_shadow_FK_on_other_d Assert.Equal("DisjointChildSubclass2_ParentId", property2.GetColumnName(StoreObjectIdentifier.Table(nameof(Child)))); } - [ConditionalFact] + [Fact] public void Inherited_clr_properties_are_mapped_to_the_same_column() { var modelBuilder = CreateModelBuilder(); @@ -477,7 +477,7 @@ public void Inherited_clr_properties_are_mapped_to_the_same_column() Assert.Equal(nameof(Child.Name), property2.GetColumnName()); } - [ConditionalFact] //Issue#10659 + [Fact] //Issue#10659 public void Index_convention_run_for_fk_when_derived_type_discovered_before_base_type() { var modelBuilder = CreateModelBuilder(); @@ -490,7 +490,7 @@ public void Index_convention_run_for_fk_when_derived_type_discovered_before_base Assert.Equal("[CustomerId] IS NOT NULL", index.GetFilter()); } - [ConditionalFact] + [Fact] public void Index_convention_sets_filter_for_unique_index_when_base_type_changed() { var modelBuilder = CreateModelBuilder(); @@ -510,7 +510,7 @@ public void Index_convention_sets_filter_for_unique_index_when_base_type_changed Assert.Null(index.GetFilter()); } - [ConditionalFact] + [Fact] public virtual void Can_override_TPC_with_TPH() { var modelBuilder = CreateModelBuilder(); @@ -530,7 +530,7 @@ public virtual void Can_override_TPC_with_TPH() Assert.Equal(nameof(Q), model.FindEntityType(typeof(Q))!.GetDiscriminatorValue()); } - [ConditionalFact] + [Fact] public virtual void TPT_identifying_FK_is_created_only_on_declaring_table() { var modelBuilder = CreateModelBuilder(); @@ -592,7 +592,7 @@ public virtual void TPT_identifying_FK_is_created_only_on_declaring_table() Assert.Single(sesameBunFk.GetMappedConstraints()); } - [ConditionalFact] + [Fact] public virtual void TPC_identifying_FKs_are_created_on_all_tables() { var modelBuilder = CreateModelBuilder(); @@ -656,7 +656,7 @@ public virtual void TPC_identifying_FKs_are_created_on_all_tables() ingredientIndex.GetDatabaseName(StoreObjectIdentifier.Create(bunType, StoreObjectType.Table)!.Value)); } - [ConditionalFact] + [Fact] public virtual void TPT_index_can_use_inherited_properties() { var modelBuilder = CreateModelBuilder(); @@ -683,7 +683,7 @@ public virtual void TPT_index_can_use_inherited_properties() Assert.All(bunType.GetIndexes(), i => Assert.Null(i.GetFilter())); } - [ConditionalFact] + [Fact] public void Can_add_check_constraints() { var modelBuilder = CreateModelBuilder(); @@ -720,7 +720,7 @@ public void Can_add_check_constraints() Assert.Empty(child.GetDeclaredCheckConstraints()); } - [ConditionalFact] + [Fact] public void Adding_conflicting_check_constraint_to_derived_type_throws() { var modelBuilder = CreateModelBuilder(); @@ -733,7 +733,7 @@ public void Adding_conflicting_check_constraint_to_derived_type_throws() => modelBuilder.Entity().ToTable(tb => tb.HasCheckConstraint("LargeId", "Id > 1000"))).Message); } - [ConditionalFact] + [Fact] public void Adding_conflicting_check_constraint_to_derived_type_before_base_throws() { var modelBuilder = CreateModelBuilder(); @@ -773,7 +773,7 @@ protected class DisjointChildSubclass2 : Child; public abstract class SqlServerOneToMany(SqlServerModelBuilderFixture fixture) : RelationalOneToManyTestBase(fixture), IClassFixture { - [ConditionalFact] + [Fact] public virtual void Shadow_foreign_keys_to_generic_types_have_terrible_names_that_should_not_change() { var modelBuilder = CreateModelBuilder(); @@ -833,7 +833,7 @@ public abstract class SqlServerOneToOne(SqlServerModelBuilderFixture fixture) public abstract class SqlServerManyToMany(SqlServerModelBuilderFixture fixture) : RelationalManyToManyTestBase(fixture), IClassFixture { - [ConditionalFact] + [Fact] public virtual void Join_entity_type_uses_same_schema() { var modelBuilder = CreateModelBuilder(); @@ -861,7 +861,7 @@ public virtual void Join_entity_type_uses_same_schema() Assert.Equal(2, productCategoryType.GetForeignKeys().Count()); } - [ConditionalFact] + [Fact] public virtual void Join_entity_type_uses_default_schema_if_related_are_different() { var modelBuilder = CreateModelBuilder(); @@ -893,7 +893,7 @@ public virtual void Join_entity_type_uses_default_schema_if_related_are_differen public abstract class SqlServerOwnedTypes(SqlServerModelBuilderFixture fixture) : RelationalOwnedTypesTestBase(fixture), IClassFixture { - [ConditionalFact] + [Fact] public virtual void Owned_types_use_table_splitting_by_default() { var modelBuilder = CreateModelBuilder(); @@ -1014,7 +1014,7 @@ public virtual void Owned_types_use_table_splitting_by_default() Assert.All(bookId.PropertyMappings, m => Assert.Equal(ValueGenerated.OnUpdateSometimes, m.Property.ValueGenerated)); } - [ConditionalFact] + [Fact] public virtual void Owned_types_can_be_mapped_to_different_tables() { var modelBuilder = CreateModelBuilder(); @@ -1189,7 +1189,7 @@ public virtual void Owned_types_can_be_mapped_to_different_tables() ValueGenerated.Never, bookLabel2Ownership21.DeclaringEntityType.FindPrimaryKey()!.Properties.Single().ValueGenerated); } - [ConditionalFact] + [Fact] public virtual void Owned_type_collections_can_be_mapped_to_different_tables() { var modelBuilder = CreateModelBuilder(); @@ -1242,7 +1242,7 @@ public virtual void Owned_type_collections_can_be_mapped_to_different_tables() Assert.Null(owned.GetSchema()); } - [ConditionalFact] + [Fact] public virtual void Owned_type_collections_are_mapped_to_same_tables_by_default() { var modelBuilder = CreateModelBuilder(); @@ -1289,7 +1289,7 @@ public virtual void Owned_type_collections_are_mapped_to_same_tables_by_default( Assert.Throws(() => modelBuilder.FinalizeModel()).Message); } - [ConditionalFact] + [Fact] public virtual void Owned_type_collections_can_be_mapped_to_a_view() { var modelBuilder = CreateModelBuilder(); @@ -1328,7 +1328,7 @@ public virtual void Owned_type_collections_can_be_mapped_to_a_view() Assert.Equal("foo", owned.GetViewSchema()); } - [ConditionalFact] + [Fact] public virtual void Owner_can_be_mapped_to_a_view() { var modelBuilder = CreateModelBuilder(); @@ -1367,7 +1367,7 @@ public virtual void Owner_can_be_mapped_to_a_view() Assert.Null(owned.GetSchema()); } - [ConditionalFact] + [Fact] public virtual void Temporal_table_default_settings() { var modelBuilder = CreateModelBuilder(); @@ -1401,7 +1401,7 @@ public virtual void Temporal_table_default_settings() Assert.Equal(ValueGenerated.OnAddOrUpdate, periodEnd.ValueGenerated); } - [ConditionalFact] + [Fact] public virtual void Temporal_table_with_history_table_configuration() { var modelBuilder = CreateModelBuilder(); @@ -1440,7 +1440,7 @@ public virtual void Temporal_table_with_history_table_configuration() Assert.Equal(ValueGenerated.OnAddOrUpdate, periodEnd.ValueGenerated); } - [ConditionalFact] + [Fact] public virtual void Temporal_table_with_changed_configuration() { var modelBuilder = CreateModelBuilder(); @@ -1486,7 +1486,7 @@ public virtual void Temporal_table_with_changed_configuration() Assert.Equal(ValueGenerated.OnAddOrUpdate, periodEnd.ValueGenerated); } - [ConditionalFact] + [Fact] public virtual void Temporal_table_with_period_column_names_changed_configuration() { var modelBuilder = CreateModelBuilder(); @@ -1532,7 +1532,7 @@ public virtual void Temporal_table_with_period_column_names_changed_configuratio Assert.Equal(ValueGenerated.OnAddOrUpdate, periodEnd.ValueGenerated); } - [ConditionalFact] + [Fact] public virtual void Temporal_table_with_explicit_properties_mapped_to_the_period_columns() { var modelBuilder = CreateModelBuilder(); @@ -1581,7 +1581,7 @@ public virtual void Temporal_table_with_explicit_properties_mapped_to_the_period Assert.Equal(ValueGenerated.OnAddOrUpdate, periodEnd.ValueGenerated); } - [ConditionalFact] + [Fact] public virtual void Temporal_table_with_explicit_properties_with_same_name_as_default_periods_but_different_periods_defined_explicity_as_well() { @@ -1637,7 +1637,7 @@ public virtual void Assert.Equal(ValueGenerated.Never, propertyMappedToEnd.ValueGenerated); } - [ConditionalFact] + [Fact] public virtual void Switching_from_temporal_to_non_temporal_default_settings() { var modelBuilder = CreateModelBuilder(); @@ -1655,7 +1655,7 @@ public virtual void Switching_from_temporal_to_non_temporal_default_settings() Assert.Equal(5, entity.GetProperties().Count()); } - [ConditionalFact] + [Fact] public virtual void Implicit_many_to_many_converted_from_non_temporal_to_temporal() { var modelBuilder = CreateModelBuilder(); @@ -1675,7 +1675,7 @@ public virtual void Implicit_many_to_many_converted_from_non_temporal_to_tempora Assert.True(joinEntity.IsTemporal()); } - [ConditionalFact] + [Fact] public virtual void Temporal_table_with_period_mapped_to_CLR_property() { var modelBuilder = CreateModelBuilder(); @@ -1706,7 +1706,7 @@ public virtual void Temporal_table_with_period_mapped_to_CLR_property() Assert.Equal(ValueGenerated.OnAddOrUpdate, periodEnd.ValueGenerated); } - [ConditionalFact] + [Fact] public virtual void Temporal_table_with_period_mapped_to_CLR_property_via_lambda() { var modelBuilder = CreateModelBuilder(); @@ -1738,7 +1738,7 @@ public virtual void Temporal_table_with_period_mapped_to_CLR_property_via_lambda } #pragma warning disable EF8001 // Owned JSON entities are obsolete - [ConditionalFact] + [Fact] public virtual void Json_entity_and_normal_owned_can_exist_side_by_side_on_same_entity() { var modelBuilder = CreateModelBuilder(); @@ -1776,7 +1776,7 @@ public virtual void Json_entity_and_normal_owned_can_exist_side_by_side_on_same_ Assert.True(nonJson.All(x => x.GetProperty("Enum").GetJsonPropertyName() == null)); } - [ConditionalFact] + [Fact] public virtual void Json_entity_with_tph_inheritance() { var modelBuilder = CreateModelBuilder(); @@ -1812,7 +1812,7 @@ public virtual void Json_entity_with_tph_inheritance() Assert.Equal("reference_on_derived", jsonColumnNames[3]); } - [ConditionalFact] + [Fact] public virtual void Json_entity_with_nested_structure_same_property_names() { var modelBuilder = CreateModelBuilder(); @@ -1915,7 +1915,7 @@ public virtual void Json_entity_with_nested_structure_same_property_names() Assert.Equal(16, model.FindEntityTypes(typeof(OwnedEntity)).Count()); } - [ConditionalFact] + [Fact] public virtual void Json_entity_nested_enums_have_conversions_to_int_by_default_ToJson_first() { var modelBuilder = CreateModelBuilder(); @@ -1969,7 +1969,7 @@ public virtual void Json_entity_nested_enums_have_conversions_to_int_by_default_ } } - [ConditionalFact] + [Fact] public virtual void Json_entity_nested_enums_have_conversions_to_int_by_default_ToJson_last() { var modelBuilder = CreateModelBuilder(); @@ -2023,7 +2023,7 @@ public virtual void Json_entity_nested_enums_have_conversions_to_int_by_default_ } } - [ConditionalFact] + [Fact] public virtual void Entity_mapped_to_json_and_unwound_afterwards_properly_cleans_up_its_state() { var modelBuilder = CreateModelBuilder(); @@ -2081,7 +2081,7 @@ public virtual void Entity_mapped_to_json_and_unwound_afterwards_properly_cleans } #pragma warning disable EF8001 // Owned JSON entities are obsolete - [ConditionalFact] + [Fact] public virtual void Json_entity_mapped_to_view() { var modelBuilder = CreateModelBuilder(); @@ -2105,7 +2105,7 @@ public virtual void Json_entity_mapped_to_view() Assert.True(ownedEntities.All(x => x.GetViewName() == "MyView")); } - [ConditionalFact] + [Fact] public virtual void Json_entity_mapped_to_view_with_custom_schema() { var modelBuilder = CreateModelBuilder(); @@ -2130,7 +2130,7 @@ public virtual void Json_entity_mapped_to_view_with_custom_schema() Assert.True(ownedEntities.All(x => x.GetViewSchema() == "MySchema")); } - [ConditionalFact] + [Fact] public virtual void Json_entity_with_custom_property_names() { var modelBuilder = CreateModelBuilder(); diff --git a/test/EFCore.SqlServer.FunctionalTests/NavigationTest.cs b/test/EFCore.SqlServer.FunctionalTests/NavigationTest.cs index 5165fb77f49..8422a6dc004 100644 --- a/test/EFCore.SqlServer.FunctionalTests/NavigationTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/NavigationTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore; public class NavigationTest(NavigationTestFixture fixture) : IClassFixture { - [ConditionalFact] + [Fact] public void Duplicate_entries_are_not_created_for_navigations_to_principal() { using var context = _fixture.CreateContext(); @@ -32,7 +32,7 @@ public void Duplicate_entries_are_not_created_for_navigations_to_principal() entityType.GetForeignKeys().Skip(1).First().ToString()); } - [ConditionalFact] + [Fact] public void Duplicate_entries_are_not_created_for_navigations_to_dependent() { using var context = _fixture.CreateContext(); @@ -88,7 +88,7 @@ public NavigationTestFixture() .AddEntityFrameworkSqlServer() .BuildServiceProvider(validateScopes: true); - var connStrBuilder = new SqlConnectionStringBuilder(TestEnvironment.DefaultConnection) + var connStrBuilder = new SqlConnectionStringBuilder(SqlServerTestEnvironment.DefaultConnection) { InitialCatalog = "StateManagerBug", MultipleActiveResultSets = true, diff --git a/test/EFCore.SqlServer.FunctionalTests/OptimisticConcurrencySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/OptimisticConcurrencySqlServerTest.cs index 1da16848031..82a2ee82b00 100644 --- a/test/EFCore.SqlServer.FunctionalTests/OptimisticConcurrencySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/OptimisticConcurrencySqlServerTest.cs @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore; public class OptimisticConcurrencyULongSqlServerTest(F1ULongSqlServerFixture fixture) : OptimisticConcurrencySqlServerTestBase(fixture) { - [ConditionalFact] + [Fact] public async Task ULong_row_version_can_handle_empty_array_from_the_database() { await using var context = CreateF1Context(); @@ -30,27 +30,27 @@ await context ).ToArrayAsync(); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public Task Ulong_row_version_with_TPH_and_owned_types(bool updateOwnedFirst) => Row_version_with_owned_types(updateOwnedFirst, Mapping.Tph, "ULongVersion"); - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public Task Ulong_row_version_with_TPT_and_owned_types(bool updateOwnedFirst) => Row_version_with_owned_types(updateOwnedFirst, Mapping.Tpt, "ULongVersion"); - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public Task Ulong_row_version_with_TPC_and_owned_types(bool updateOwnedFirst) => Row_version_with_owned_types(updateOwnedFirst, Mapping.Tpc, "ULongVersion"); - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public Task Ulong_row_version_with_TPH_and_table_splitting(bool updateDependentFirst) => Row_version_with_table_splitting(updateDependentFirst, Mapping.Tph, "ULongVersion"); - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public Task Ulong_row_version_with_TPT_and_table_splitting(bool updateDependentFirst) => Row_version_with_table_splitting(updateDependentFirst, Mapping.Tpt, "ULongVersion"); - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public Task Ulong_row_version_with_TPC_and_table_splitting(bool updateDependentFirst) => Row_version_with_table_splitting(updateDependentFirst, Mapping.Tpc, "ULongVersion"); } @@ -58,27 +58,27 @@ public Task Ulong_row_version_with_TPC_and_table_splitting(bool updateDependentF public class OptimisticConcurrencySqlServerTest(F1SqlServerFixture fixture) : OptimisticConcurrencySqlServerTestBase(fixture) { - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public Task Row_version_with_TPH_and_owned_types(bool updateOwnedFirst) => Row_version_with_owned_types>(updateOwnedFirst, Mapping.Tph, "BinaryVersion"); - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public Task Row_version_with_TPT_and_owned_types(bool updateOwnedFirst) => Row_version_with_owned_types>(updateOwnedFirst, Mapping.Tpt, "BinaryVersion"); - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public Task Row_version_with_TPC_and_owned_types(bool updateOwnedFirst) => Row_version_with_owned_types>(updateOwnedFirst, Mapping.Tpc, "BinaryVersion"); - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public Task Ulong_row_version_with_TPH_and_table_splitting(bool updateDependentFirst) => Row_version_with_table_splitting>(updateDependentFirst, Mapping.Tph, "BinaryVersion"); - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public Task Ulong_row_version_with_TPT_and_table_splitting(bool updateDependentFirst) => Row_version_with_table_splitting>(updateDependentFirst, Mapping.Tpt, "BinaryVersion"); - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public Task Ulong_row_version_with_TPC_and_table_splitting(bool updateDependentFirst) => Row_version_with_table_splitting>(updateDependentFirst, Mapping.Tpc, "BinaryVersion"); } @@ -314,7 +314,7 @@ await c.Database.CreateExecutionStrategy().ExecuteAsync( }); } - [ConditionalFact] + [Fact] public async Task Modifying_concurrency_token_only_is_noop() { using var c = CreateF1Context(); @@ -344,7 +344,7 @@ await c.Database.CreateExecutionStrategy().ExecuteAsync( }); } - [ConditionalFact] + [Fact] public async Task Database_concurrency_token_value_is_updated_for_all_sharing_entities() { using var c = CreateF1Context(); @@ -378,7 +378,7 @@ await c.Database.CreateExecutionStrategy().ExecuteAsync( }); } - [ConditionalFact] + [Fact] public async Task Original_concurrency_token_value_is_used_when_replacing_owned_instance() { using var c = CreateF1Context(); diff --git a/test/EFCore.SqlServer.FunctionalTests/Properties/TestAssemblyConditions.cs b/test/EFCore.SqlServer.FunctionalTests/Properties/TestAssemblyConditions.cs index 660729c7ab1..715607c9eb8 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Properties/TestAssemblyConditions.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Properties/TestAssemblyConditions.cs @@ -1,6 +1,7 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -// Skip the entire assembly if not on Windows and no external SQL Server is configured +using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; -[assembly: SqlServerConfiguredCondition] +// Skip the entire assembly if SQL Server is not available +[assembly: ConditionalAssembly(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SqlServerAvailable))] diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/AdHocComplexTypeQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/AdHocComplexTypeQuerySqlServerTest.cs index de51ef8ec48..7f2e888351a 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/AdHocComplexTypeQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/AdHocComplexTypeQuerySqlServerTest.cs @@ -69,7 +69,7 @@ FROM [BlogsView] AS [b] #endregion 34706 - [ConditionalFact] + [Fact] public virtual async Task Complex_type_equality_with_non_default_type_mapping() { var contextFactory = await InitializeNonSharedTest( diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/AdHocJsonQuerySqlServerJsonTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/AdHocJsonQuerySqlServerJsonTypeTest.cs index 2e1cb8eb454..646d9e60bc5 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/AdHocJsonQuerySqlServerJsonTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/AdHocJsonQuerySqlServerJsonTypeTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Query; -[SqlServerCondition(SqlServerCondition.SupportsJsonType)] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsJsonTypeSupported))] public class AdHocJsonQuerySqlServerJsonTypeTest(NonSharedFixture fixture) : AdHocJsonQuerySqlServerTestBase(fixture) { #region BadJsonProperties diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/AdHocJsonQuerySqlServerTestBase.cs b/test/EFCore.SqlServer.FunctionalTests/Query/AdHocJsonQuerySqlServerTestBase.cs index a2af824e218..48e637cef26 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/AdHocJsonQuerySqlServerTestBase.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/AdHocJsonQuerySqlServerTestBase.cs @@ -476,7 +476,7 @@ INSERT INTO [Entities] ([Id], [Scenario], [OptionalReference], [RequiredReferenc #region EnumLegacyValues - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public abstract Task Read_enum_property_with_legacy_values(bool async); protected virtual async Task Read_enum_property_with_legacy_values_core(bool async) @@ -506,7 +506,7 @@ protected virtual async Task Read_enum_property_with_legacy_values_core(bool asy } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Read_json_entity_with_enum_properties_with_legacy_values(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -546,7 +546,7 @@ public virtual async Task Read_json_entity_with_enum_properties_with_legacy_valu l => l.Message == CoreResources.LogStringEnumValueInJson(testLogger).GenerateMessage(nameof(ULongEnumLegacyValues))); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Read_json_entity_collection_with_enum_properties_with_legacy_values(bool async) { var contextFactory = await InitializeNonSharedTest( diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/AdHocMiscellaneousQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/AdHocMiscellaneousQuerySqlServerTest.cs index 7a31744d3eb..0719a6d7ac3 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/AdHocMiscellaneousQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/AdHocMiscellaneousQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // ReSharper disable InconsistentNaming @@ -37,7 +37,7 @@ INSERT ZeroKey VALUES (NULL) #region 5456 - [ConditionalFact] + [Fact] public virtual async Task Include_group_join_is_per_query_context() { var contextFactory = await InitializeNonSharedTest( @@ -72,7 +72,7 @@ public virtual async Task Include_group_join_is_per_query_context() }); } - [ConditionalFact] + [Fact] public virtual async Task Include_group_join_is_per_query_context_async() { var contextFactory = await InitializeNonSharedTest( @@ -159,7 +159,7 @@ public class Comment #region 8864 - [ConditionalFact] + [Fact] public virtual async Task Select_nested_projection() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -229,7 +229,7 @@ public class Customer #region 9214 - [ConditionalFact] + [Fact] public async Task Default_schema_applied_when_no_function_schema() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -328,7 +328,7 @@ public class Widget9214 #region 9277 - [ConditionalFact] + [Fact] public virtual async Task From_sql_gets_value_of_out_parameter_in_stored_procedure() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -400,7 +400,7 @@ public class Blog9277 #region 12482 - [ConditionalFact] + [Fact] public virtual async Task Batch_insert_with_sqlvariant_different_types() { var contextFactory = await InitializeNonSharedTest(); @@ -458,7 +458,7 @@ public class BaseEntity #region 12518 - [ConditionalFact] + [Fact] public virtual async Task Projecting_entity_with_value_converter_and_include_works() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -474,7 +474,7 @@ ORDER BY [p].[Id] """); } - [ConditionalFact] + [Fact] public virtual async Task Projecting_column_with_value_converter_of_ulong_byte_array() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -536,7 +536,7 @@ public class Child12518 #region 13118 - [ConditionalFact] + [Fact] public virtual async Task DateTime_Contains_with_smalldatetime_generates_correct_literal() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -586,7 +586,7 @@ protected class ReproEntity13118 #region 14095 - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Where_equals_DateTime_Now(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -611,7 +611,7 @@ FROM [Dates] AS [d] """); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Where_not_equals_DateTime_Now(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -636,7 +636,7 @@ FROM [Dates] AS [d] """); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Where_equals_new_DateTime(bool async) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -668,7 +668,7 @@ FROM [Dates] AS [d] """); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Where_contains_DateTime_literals(bool async) { var dateTimes = new[] @@ -1003,7 +1003,7 @@ public class DatesAndPrunes14095 #region 15518 - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual async Task Nested_queries_does_not_cause_concurrency_exception_sync(bool tracking) { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -1103,7 +1103,7 @@ public class Repo #region 19206 - [ConditionalFact] + [Fact] public virtual async Task From_sql_expression_compares_correctly() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -1171,7 +1171,7 @@ public enum TestType19206 #region 21666 - [ConditionalFact] + [Fact] public virtual async Task Thread_safety_in_relational_command_cache() { var contextFactory = await InitializeNonSharedTest( @@ -1211,7 +1211,7 @@ public class List #region 23282 - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsSqlClr)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsSqlClrSupported))] public virtual async Task Can_query_point_with_buffered_data_reader() { var contextFactory = await InitializeNonSharedTest( @@ -1282,7 +1282,7 @@ public class Location #region 24216 - [ConditionalFact] + [Fact] public virtual async Task Subquery_take_SelectMany_with_TVF() { var contextFactory = await InitializeNonSharedTest(); @@ -1390,7 +1390,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) #region 27427 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Muliple_occurrences_of_FromSql_in_group_by_aggregate(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -1443,7 +1443,7 @@ protected class DemoEntity #region 30478 - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task TemporalAsOf_with_json_basic_query(bool async) { var contextFactory = await InitializeNonSharedTest(seed: x => x.SeedAsync()); @@ -1465,7 +1465,7 @@ public virtual async Task TemporalAsOf_with_json_basic_query(bool async) """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task TemporalAll_with_json_basic_query(bool async) { var contextFactory = await InitializeNonSharedTest(seed: x => x.SeedAsync()); @@ -1487,7 +1487,7 @@ FROM [Entities] FOR SYSTEM_TIME ALL AS [e] """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task TemporalAsOf_project_json_entity_reference(bool async) { var contextFactory = await InitializeNonSharedTest(seed: x => x.SeedAsync()); @@ -1508,7 +1508,7 @@ public virtual async Task TemporalAsOf_project_json_entity_reference(bool async) """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task TemporalAsOf_project_json_entity_collection(bool async) { var contextFactory = await InitializeNonSharedTest(seed: x => x.SeedAsync()); @@ -2625,7 +2625,7 @@ FROM [TestEntities] AS [t] #region 37327 - [ConditionalFact] + [Fact] public virtual async Task SqlFragment_within_GroupBy_subquery_pushdown() { var contextFactory = await InitializeNonSharedTest(); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/AdHocNavigationsQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/AdHocNavigationsQuerySqlServerTest.cs index e23161d0540..92d677623ae 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/AdHocNavigationsQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/AdHocNavigationsQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -12,7 +12,7 @@ protected override ITestStoreFactory NonSharedTestStoreFactory #region 10447 - [ConditionalFact] + [Fact] public virtual async Task Nested_include_queries_do_not_populate_navigation_twice() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/AdHocPrecompiledQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/AdHocPrecompiledQuerySqlServerTest.cs index 42e560596e9..4392a3756b0 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/AdHocPrecompiledQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/AdHocPrecompiledQuerySqlServerTest.cs @@ -9,7 +9,7 @@ public class AdHocPrecompiledQuerySqlServerTest(NonSharedFixture fixture, ITestO protected override bool AlwaysPrintGeneratedSources => false; - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Index_no_evaluatability() { await base.Index_no_evaluatability(); @@ -22,7 +22,7 @@ WHERE CAST(JSON_VALUE([j].[IntList], '$[' + CAST([j].[Id] AS nvarchar(max)) + '] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Index_with_captured_variable() { await base.Index_with_captured_variable(); @@ -101,7 +101,7 @@ FROM [Books] AS [b] """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/AdHocQueryFiltersQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/AdHocQueryFiltersQuerySqlServerTest.cs index 42cdc65a5f8..33f2fc564ae 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/AdHocQueryFiltersQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/AdHocQueryFiltersQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -100,7 +100,7 @@ FROM [Entities] AS [e] #region 11803 - [ConditionalFact] + [Fact] public virtual async Task Query_filter_with_db_set_should_not_block_other_filters() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -120,7 +120,7 @@ FROM [Leaders] AS [l] """); } - [ConditionalFact] + [Fact] public virtual async Task Keyless_type_used_inside_defining_query() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/AdHocQuerySplittingQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/AdHocQuerySplittingQuerySqlServerTest.cs index b1f760511a1..51801c85ac4 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/AdHocQuerySplittingQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/AdHocQuerySplittingQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.SqlServer.Infrastructure.Internal; @@ -270,7 +270,7 @@ ORDER BY [p1].[Id] """); } - [ConditionalFact] + [Fact] public virtual async Task Using_AsSplitQuery_without_multiple_active_result_sets_works() { var contextFactory = await InitializeNonSharedTest( diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonBulkUpdateSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonBulkUpdateSqlServerTest.cs index 894e1d97cde..34e76a9b2da 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonBulkUpdateSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonBulkUpdateSqlServerTest.cs @@ -666,7 +666,7 @@ WHERE [r].[OptionalAssociate] IS NOT NULL #endregion Multiple updates - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonCollectionSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonCollectionSqlServerTest.cs index 7e7c4f68595..094446832bb 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonCollectionSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonCollectionSqlServerTest.cs @@ -296,7 +296,7 @@ WHERE CAST(JSON_VALUE([r].[AssociateCollection], '$[9999].Int') AS int) = 8 #region GroupBy - [ConditionalFact] + [Fact] public override async Task GroupBy() { await base.GroupBy(); @@ -369,7 +369,7 @@ ORDER BY [p0].[Id] """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonMiscellaneousSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonMiscellaneousSqlServerTest.cs index c3c9ebff5fd..9f281c16879 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonMiscellaneousSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonMiscellaneousSqlServerTest.cs @@ -160,7 +160,7 @@ public override async Task FromSql_on_root() // """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonPrimitiveCollectionSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonPrimitiveCollectionSqlServerTest.cs index c32a57c936c..2bc87f82f79 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonPrimitiveCollectionSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonPrimitiveCollectionSqlServerTest.cs @@ -128,7 +128,7 @@ FROM OPENJSON(JSON_QUERY([r].[RequiredAssociate], '$.Ints')) WITH ([value] int ' """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonProjectionSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonProjectionSqlServerTest.cs index 82a6926bd2f..f7b4f224189 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonProjectionSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonProjectionSqlServerTest.cs @@ -508,7 +508,7 @@ ORDER BY [v].[Id] #endregion Value types - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonSetOperationsSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonSetOperationsSqlServerTest.cs index 4e43889203e..68dda65a13b 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonSetOperationsSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonSetOperationsSqlServerTest.cs @@ -126,7 +126,7 @@ public override async Task Over_different_collection_properties() AssertSql(); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonSqlServerFixture.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonSqlServerFixture.cs index 300689eb1e9..f173efdaa6b 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonSqlServerFixture.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonSqlServerFixture.cs @@ -13,11 +13,11 @@ public override DbContextOptionsBuilder AddOptions(DbContextOptionsBuilder build { var options = base.AddOptions(builder); - return TestEnvironment.SqlServerMajorVersion < 17 + return SqlServerTestEnvironment.SqlServerMajorVersion < 17 ? options : options.UseSqlServerCompatibilityLevel(170); } public virtual bool UsingJsonType - => TestEnvironment.SqlServerMajorVersion >= 17; + => SqlServerTestEnvironment.SqlServerMajorVersion >= 17; } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonStructuralEqualitySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonStructuralEqualitySqlServerTest.cs index 598087799ec..ddcbb89821d 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonStructuralEqualitySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexJson/ComplexJsonStructuralEqualitySqlServerTest.cs @@ -504,7 +504,7 @@ WHERE [v].[OptionalAssociate] IS NULL #endregion Value types - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexTableSplitting/ComplexTableSplittingBulkUpdateSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexTableSplitting/ComplexTableSplittingBulkUpdateSqlServerTest.cs index e8bf33ccc80..1daa7300f77 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexTableSplitting/ComplexTableSplittingBulkUpdateSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexTableSplitting/ComplexTableSplittingBulkUpdateSqlServerTest.cs @@ -540,7 +540,7 @@ WHERE [r].[OptionalAssociate_Id] IS NOT NULL #endregion Multiple updates - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexTableSplitting/ComplexTableSplittingMiscellaneousSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexTableSplitting/ComplexTableSplittingMiscellaneousSqlServerTest.cs index 868095884ca..fffa57ea252 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexTableSplitting/ComplexTableSplittingMiscellaneousSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexTableSplitting/ComplexTableSplittingMiscellaneousSqlServerTest.cs @@ -94,7 +94,7 @@ public override async Task FromSql_on_root() """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexTableSplitting/ComplexTableSplittingPrimitiveCollectionSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexTableSplitting/ComplexTableSplittingPrimitiveCollectionSqlServerTest.cs index eaef360d3f5..7492ad4c09b 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexTableSplitting/ComplexTableSplittingPrimitiveCollectionSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexTableSplitting/ComplexTableSplittingPrimitiveCollectionSqlServerTest.cs @@ -94,7 +94,7 @@ FROM OPENJSON([r].[RequiredAssociate_Ints]) WITH ([value] int '$') AS [r0]) >= 6 """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexTableSplitting/ComplexTableSplittingProjectionSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexTableSplitting/ComplexTableSplittingProjectionSqlServerTest.cs index ffb9c0f2077..85606f2e0ab 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexTableSplitting/ComplexTableSplittingProjectionSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexTableSplitting/ComplexTableSplittingProjectionSqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query.Associations.ComplexTableSplitting; @@ -366,7 +366,7 @@ ORDER BY [v].[Id] #endregion Value types - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexTableSplitting/ComplexTableSplittingStructuralEqualitySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexTableSplitting/ComplexTableSplittingStructuralEqualitySqlServerTest.cs index 5a3468c7b73..7d3648ddf43 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexTableSplitting/ComplexTableSplittingStructuralEqualitySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/ComplexTableSplitting/ComplexTableSplittingStructuralEqualitySqlServerTest.cs @@ -179,7 +179,7 @@ WHERE [v].[OptionalAssociate_Id] IS NULL #endregion Value types - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsBulkUpdateSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsBulkUpdateSqlServerTest.cs index fe93fe343b3..479d1b609e1 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsBulkUpdateSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsBulkUpdateSqlServerTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Associations.Navigations; public class NavigationsBulkUpdateSqlServerTest(NavigationsSqlServerFixture fixture, ITestOutputHelper testOutputHelper) : NavigationsBulkUpdateRelationalTestBase(fixture, testOutputHelper) { - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsCollectionSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsCollectionSqlServerTest.cs index 89fc2fd761c..83cb7deb84b 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsCollectionSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsCollectionSqlServerTest.cs @@ -217,7 +217,7 @@ public override async Task Index_out_of_bounds() #region GroupBy - [ConditionalFact] + [Fact] public override async Task GroupBy() { await base.GroupBy(); @@ -272,7 +272,7 @@ FROM [RootEntity] AS [r] """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsIncludeSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsIncludeSqlServerTest.cs index 6c165d5bafb..9dd389875a3 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsIncludeSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsIncludeSqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query.Associations.Navigations; @@ -249,7 +249,7 @@ FROM [AssociateType] AS [a1] """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsMiscellaneousSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsMiscellaneousSqlServerTest.cs index 0c18bc6543a..092338224fc 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsMiscellaneousSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsMiscellaneousSqlServerTest.cs @@ -125,7 +125,7 @@ FROM [AssociateType] AS [a1] """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsPrimitiveCollectionSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsPrimitiveCollectionSqlServerTest.cs index 3e7c1840294..febded24fd0 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsPrimitiveCollectionSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsPrimitiveCollectionSqlServerTest.cs @@ -173,7 +173,7 @@ FROM OPENJSON([a].[Ints]) WITH ([value] int '$') AS [i]) >= 6 """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsProjectionSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsProjectionSqlServerTest.cs index 232b2041564..c5e853e9ab5 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsProjectionSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsProjectionSqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query.Associations.Navigations; @@ -431,7 +431,7 @@ ORDER BY [r0].[Id] #endregion Subquery - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsSetOperationsSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsSetOperationsSqlServerTest.cs index e93b56d973d..388999800e2 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsSetOperationsSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsSetOperationsSqlServerTest.cs @@ -155,7 +155,7 @@ FROM [NestedAssociateType] AS [n0] """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsStructuralEqualitySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsStructuralEqualitySqlServerTest.cs index 2d4e5a054aa..669aa624f37 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsStructuralEqualitySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/Navigations/NavigationsStructuralEqualitySqlServerTest.cs @@ -412,7 +412,7 @@ FROM [AssociateType] AS [a] #endregion Contains - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedJson/OwnedJsonCollectionSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedJson/OwnedJsonCollectionSqlServerTest.cs index 6dcfc10841b..1487014c9c8 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedJson/OwnedJsonCollectionSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedJson/OwnedJsonCollectionSqlServerTest.cs @@ -351,7 +351,7 @@ WHERE CAST(JSON_VALUE([r].[AssociateCollection], '$[9999].Int') AS int) = 8 #region GroupBy - [ConditionalFact] + [Fact] public override async Task GroupBy() { await base.GroupBy(); @@ -427,7 +427,7 @@ FROM [RootEntity] AS [r] } } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedJson/OwnedJsonMiscellaneousSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedJson/OwnedJsonMiscellaneousSqlServerTest.cs index ec204531776..e9bbbb4954b 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedJson/OwnedJsonMiscellaneousSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedJson/OwnedJsonMiscellaneousSqlServerTest.cs @@ -97,7 +97,7 @@ public override async Task FromSql_on_root() """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedJson/OwnedJsonPrimitiveCollectionSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedJson/OwnedJsonPrimitiveCollectionSqlServerTest.cs index ae6f59caf65..1a04c0a2bfd 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedJson/OwnedJsonPrimitiveCollectionSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedJson/OwnedJsonPrimitiveCollectionSqlServerTest.cs @@ -128,7 +128,7 @@ FROM OPENJSON(JSON_QUERY([r].[RequiredAssociate], '$.Ints')) WITH ([value] int ' """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedJson/OwnedJsonProjectionSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedJson/OwnedJsonProjectionSqlServerTest.cs index a58dcb921a8..728246e01e2 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedJson/OwnedJsonProjectionSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedJson/OwnedJsonProjectionSqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query.Associations.OwnedJson; @@ -511,7 +511,7 @@ ORDER BY [r0].[Id] #endregion Subquery - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedJson/OwnedJsonSqlServerFixture.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedJson/OwnedJsonSqlServerFixture.cs index 493fbee30a9..d244642d67e 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedJson/OwnedJsonSqlServerFixture.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedJson/OwnedJsonSqlServerFixture.cs @@ -12,11 +12,11 @@ protected override ITestStoreFactory TestStoreFactory public override DbContextOptionsBuilder AddOptions(DbContextOptionsBuilder builder) { var options = base.AddOptions(builder); - return TestEnvironment.SqlServerMajorVersion < 17 + return SqlServerTestEnvironment.SqlServerMajorVersion < 17 ? options : options.UseSqlServerCompatibilityLevel(170); } public virtual bool UsingJsonType - => TestEnvironment.SqlServerMajorVersion >= 17; + => SqlServerTestEnvironment.SqlServerMajorVersion >= 17; } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedJson/OwnedJsonStructuralEqualitySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedJson/OwnedJsonStructuralEqualitySqlServerTest.cs index 87797f8c30a..a85a267c206 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedJson/OwnedJsonStructuralEqualitySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedJson/OwnedJsonStructuralEqualitySqlServerTest.cs @@ -156,7 +156,7 @@ public override async Task Contains_with_nested_and_composed_operators() #endregion Contains - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsCollectionSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsCollectionSqlServerTest.cs index 06fa9a4be73..d5f05184b79 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsCollectionSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsCollectionSqlServerTest.cs @@ -220,7 +220,7 @@ public override async Task Index_out_of_bounds() #region GroupBy - [ConditionalFact] + [Fact] public override async Task GroupBy() { await base.GroupBy(); @@ -275,7 +275,7 @@ FROM [RootEntity] AS [r] """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsMiscellaneousSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsMiscellaneousSqlServerTest.cs index e86339afe3a..ee323eccf05 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsMiscellaneousSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsMiscellaneousSqlServerTest.cs @@ -125,7 +125,7 @@ FROM [RelatedCollection] AS [r2] """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsPrimitiveCollectionSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsPrimitiveCollectionSqlServerTest.cs index e6f8e9c6210..43539ee13d0 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsPrimitiveCollectionSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsPrimitiveCollectionSqlServerTest.cs @@ -173,7 +173,7 @@ FROM OPENJSON([r0].[Ints]) WITH ([value] int '$') AS [i]) >= 6 """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsProjectionSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsProjectionSqlServerTest.cs index d27d6d21e1c..bce905f7ef1 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsProjectionSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsProjectionSqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query.Associations.OwnedNavigations; @@ -485,7 +485,7 @@ ORDER BY [r0].[Id] #endregion Subquery - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsSetOperationsSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsSetOperationsSqlServerTest.cs index ec602b0201d..c62116f36a0 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsSetOperationsSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsSetOperationsSqlServerTest.cs @@ -120,7 +120,7 @@ public override async Task Over_different_collection_properties() AssertSql(); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsStructuralEqualitySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsStructuralEqualitySqlServerTest.cs index 02575f6ea0c..f8edd77c1d7 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsStructuralEqualitySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsStructuralEqualitySqlServerTest.cs @@ -266,7 +266,7 @@ public override async Task Contains_with_nested_and_composed_operators() #endregion Contains - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedTableSplitting/OwnedTableSplittingMiscellaneousSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedTableSplitting/OwnedTableSplittingMiscellaneousSqlServerTest.cs index fcf81893bea..d610a2a3aeb 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedTableSplitting/OwnedTableSplittingMiscellaneousSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedTableSplitting/OwnedTableSplittingMiscellaneousSqlServerTest.cs @@ -103,7 +103,7 @@ WHEN [r].[OptionalAssociate_Id] IS NOT NULL AND [r].[OptionalAssociate_Int] IS N """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedTableSplitting/OwnedTableSplittingPrimitiveCollectionSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedTableSplitting/OwnedTableSplittingPrimitiveCollectionSqlServerTest.cs index 8d5cbb697b9..9c1334c20c7 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedTableSplitting/OwnedTableSplittingPrimitiveCollectionSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedTableSplitting/OwnedTableSplittingPrimitiveCollectionSqlServerTest.cs @@ -144,7 +144,7 @@ FROM OPENJSON([r].[RequiredAssociate_Ints]) WITH ([value] int '$') AS [r0]) >= 6 """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedTableSplitting/OwnedTableSplittingProjectionSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedTableSplitting/OwnedTableSplittingProjectionSqlServerTest.cs index 887c458bf6d..85352763cac 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedTableSplitting/OwnedTableSplittingProjectionSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedTableSplitting/OwnedTableSplittingProjectionSqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query.Associations.OwnedTableSplitting; @@ -437,7 +437,7 @@ ORDER BY [r0].[Id] #endregion Subquery - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedTableSplitting/OwnedTableSplittingStructuralEqualitySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedTableSplitting/OwnedTableSplittingStructuralEqualitySqlServerTest.cs index 8f905ca3010..27dc76d2a98 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedTableSplitting/OwnedTableSplittingStructuralEqualitySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Associations/OwnedTableSplitting/OwnedTableSplittingStructuralEqualitySqlServerTest.cs @@ -226,7 +226,7 @@ public override async Task Contains_with_nested_and_composed_operators() #endregion Contains - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsCollectionsQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsCollectionsQuerySqlServerTest.cs index e8955bd48ac..569473bea9e 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsCollectionsQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsCollectionsQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -17,7 +17,7 @@ public ComplexNavigationsCollectionsQuerySqlServerTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsCollectionsSharedTypeQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsCollectionsSharedTypeQuerySqlServerTest.cs index c96fba58231..3a1a071d7ad 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsCollectionsSharedTypeQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsCollectionsSharedTypeQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -17,7 +17,7 @@ public ComplexNavigationsCollectionsSharedTypeQuerySqlServerTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsCollectionsSplitQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsCollectionsSplitQuerySqlServerTest.cs index 010b4b2ed0b..59cebb2d444 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsCollectionsSplitQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsCollectionsSplitQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -17,7 +17,7 @@ public ComplexNavigationsCollectionsSplitQuerySqlServerTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsQuerySqlServerFixture.cs b/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsQuerySqlServerFixture.cs index b00b0fc7685..57fa8dce201 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsQuerySqlServerFixture.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsQuerySqlServerFixture.cs @@ -11,5 +11,5 @@ protected override ITestStoreFactory TestStoreFactory => SqlServerTestStoreFactory.Instance; public override DbContextOptionsBuilder AddOptions(DbContextOptionsBuilder builder) - => TestEnvironment.SetCompatibilityLevelFromEnvironment(base.AddOptions(builder)); + => SqlServerTestEnvironment.SetCompatibilityLevelFromEnvironment(base.AddOptions(builder)); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsQuerySqlServerTest.cs index 77106b530b2..a0309c8b272 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsQuerySqlServerTest.cs @@ -18,11 +18,11 @@ public ComplexNavigationsQuerySqlServerTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Distinct_skip_without_orderby(bool async) { await AssertQuery( @@ -51,7 +51,7 @@ WHERE [l].[Id] < 3 """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Distinct_take_without_orderby(bool async) { await AssertQuery( @@ -1322,7 +1322,7 @@ FROM [LevelTwo] AS [l0] """); } - [ConditionalFact] + [Fact] public void Multiple_complex_includes_from_sql() { using var context = CreateContext(); @@ -3104,7 +3104,7 @@ public override async Task Nav_rewrite_doesnt_apply_null_protection_for_function { await base.Nav_rewrite_doesnt_apply_null_protection_for_function_arguments(async); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsSharedTypeQuerySqlServerFixture.cs b/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsSharedTypeQuerySqlServerFixture.cs index 94721631b7e..d7b4124b7de 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsSharedTypeQuerySqlServerFixture.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsSharedTypeQuerySqlServerFixture.cs @@ -11,5 +11,5 @@ protected override ITestStoreFactory TestStoreFactory => SqlServerTestStoreFactory.Instance; public override DbContextOptionsBuilder AddOptions(DbContextOptionsBuilder builder) - => TestEnvironment.SetCompatibilityLevelFromEnvironment(base.AddOptions(builder)); + => SqlServerTestEnvironment.SetCompatibilityLevelFromEnvironment(base.AddOptions(builder)); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsSharedTypeQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsSharedTypeQuerySqlServerTest.cs index 4fc2c0e127a..83b644d5e13 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsSharedTypeQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsSharedTypeQuerySqlServerTest.cs @@ -19,11 +19,11 @@ public ComplexNavigationsSharedTypeQuerySqlServerTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Distinct_skip_without_orderby(bool async) { await AssertQuery( @@ -71,7 +71,7 @@ WHERE [l].[Id] < 3 """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Distinct_take_without_orderby(bool async) { await AssertQuery( @@ -1021,7 +1021,7 @@ WHERE [l2].[OneToOne_Required_PK_Date] IS NOT NULL AND [l2].[Level1_Required_Id] """); } - [ConditionalTheory] + [Theory] public override async Task GroupBy_aggregate_where_required_relationship_2(bool async) { await base.GroupBy_aggregate_where_required_relationship_2(async); @@ -1172,7 +1172,7 @@ WHERE [l5].[OneToOne_Required_PK_Date] IS NOT NULL AND [l5].[Level1_Required_Id] """); } - [ConditionalTheory] + [Theory] public override async Task GroupBy_aggregate_where_required_relationship(bool async) { await base.GroupBy_aggregate_where_required_relationship(async); @@ -6598,7 +6598,7 @@ public override async Task Nav_rewrite_doesnt_apply_null_protection_for_function { await base.Nav_rewrite_doesnt_apply_null_protection_for_function_arguments(async); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/ComplexTypeQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/ComplexTypeQuerySqlServerTest.cs index c6032822599..1b2b00875ab 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/ComplexTypeQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/ComplexTypeQuerySqlServerTest.cs @@ -755,7 +755,7 @@ public override async Task Union_two_different_struct_complex_type(bool async) AssertSql(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_on_property_inside_complex_type_with_FromSql(bool async) => AssertQuery( async, @@ -767,7 +767,7 @@ FROM [Customer] AS [c] """), ss => ss.Set().Where(c => c.ShippingAddress.ZipCode == 07728)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Filter_on_property_inside_complex_type_after_subquery_with_FromSql(bool async) => AssertQuery( async, @@ -788,7 +788,7 @@ ORDER BY [c].[Id] .Distinct() .Where(c => c.ShippingAddress.ZipCode == 07728)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Load_complex_type_after_subquery_on_entity_type_with_FromSql(bool async) => AssertQuery( async, @@ -807,7 +807,7 @@ ORDER BY [c].[Id] .Skip(1) .Distinct()); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_complex_type_with_FromSql(bool async) => AssertQuery( async, @@ -818,7 +818,7 @@ FROM [Customer] AS [c] """).Select(c => c.ShippingAddress), ss => ss.Set().Select(c => c.ShippingAddress)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_nested_complex_type_with_FromSql(bool async) => AssertQuery( async, @@ -829,7 +829,7 @@ FROM [Customer] AS [c] """).Select(c => c.ShippingAddress.Country), ss => ss.Set().Select(c => c.ShippingAddress.Country)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_single_property_on_nested_complex_type_with_FromSql(bool async) => AssertQuery( async, @@ -840,7 +840,7 @@ FROM [Customer] AS [c] """).Select(c => c.ShippingAddress.Country.FullName), ss => ss.Set().Select(c => c.ShippingAddress.Country.FullName)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_complex_type_Where_with_FromSql(bool async) => AssertQuery( async, @@ -851,7 +851,7 @@ FROM [Customer] AS [c] """).Select(c => c.ShippingAddress).Where(a => a.ZipCode == 07728), ss => ss.Set().Select(c => c.ShippingAddress).Where(a => a.ZipCode == 07728)); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual Task Select_complex_type_Distinct_with_FromSql(bool async) => AssertQuery( async, @@ -1261,7 +1261,7 @@ ORDER BY [c1].[Id] DESC """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Ef6GroupBySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Ef6GroupBySqlServerTest.cs index aac11dfdb09..d4ae72ec9a6 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Ef6GroupBySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Ef6GroupBySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -14,7 +14,7 @@ public Ef6GroupBySqlServerTest(Ef6GroupBySqlServerFixture fixture, ITestOutputHe Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/EntitySplittingQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/EntitySplittingQuerySqlServerTest.cs index 956893060ad..2b77411315a 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/EntitySplittingQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/EntitySplittingQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -10,7 +10,7 @@ public class EntitySplittingQuerySqlServerTest(NonSharedFixture fixture) : Entit protected override ITestStoreFactory NonSharedTestStoreFactory => SqlServerTestStoreFactory.Instance; - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -218,7 +218,7 @@ FROM [EntityOnes] AS [e] """); } - [ConditionalTheory(Skip = "Issue29075")] + [Theory(Skip = "Issue29075")] public override async Task Normal_entity_owning_a_split_reference_with_main_fragment_not_sharing(bool async) { await base.Normal_entity_owning_a_split_reference_with_main_fragment_not_sharing(async); @@ -226,7 +226,7 @@ public override async Task Normal_entity_owning_a_split_reference_with_main_frag AssertSql(); } - [ConditionalTheory(Skip = "Issue29075")] + [Theory(Skip = "Issue29075")] public override async Task Normal_entity_owning_a_split_reference_with_main_fragment_not_sharing_custom_projection(bool async) { await base.Normal_entity_owning_a_split_reference_with_main_fragment_not_sharing_custom_projection(async); @@ -234,7 +234,7 @@ public override async Task Normal_entity_owning_a_split_reference_with_main_frag AssertSql(); } - [ConditionalTheory(Skip = "Issue29075")] + [Theory(Skip = "Issue29075")] public override async Task Normal_entity_owning_a_split_collection(bool async) { await base.Normal_entity_owning_a_split_collection(async); @@ -285,7 +285,7 @@ FROM [EntityOne] AS [e] """); } - [ConditionalTheory(Skip = "Issue29075")] + [Theory(Skip = "Issue29075")] public override async Task Split_entity_owning_a_split_reference_without_table_sharing(bool async) { await base.Split_entity_owning_a_split_reference_without_table_sharing(async); @@ -293,7 +293,7 @@ public override async Task Split_entity_owning_a_split_reference_without_table_s AssertSql(); } - [ConditionalTheory(Skip = "Issue29075")] + [Theory(Skip = "Issue29075")] public override async Task Split_entity_owning_a_split_collection(bool async) { await base.Split_entity_owning_a_split_collection(async); @@ -555,7 +555,7 @@ FROM [SiblingEntity] AS [s] """); } - [ConditionalTheory(Skip = "Issue29075")] + [Theory(Skip = "Issue29075")] public override async Task Tph_entity_owning_a_split_reference_on_base_without_table_sharing(bool async) { await base.Tph_entity_owning_a_split_reference_on_base_without_table_sharing(async); @@ -563,7 +563,7 @@ public override async Task Tph_entity_owning_a_split_reference_on_base_without_t AssertSql(); } - [ConditionalTheory(Skip = "Issue29075")] + [Theory(Skip = "Issue29075")] public override async Task Tpt_entity_owning_a_split_reference_on_base_without_table_sharing(bool async) { await base.Tpt_entity_owning_a_split_reference_on_base_without_table_sharing(async); @@ -597,7 +597,7 @@ FROM [LeafEntity] AS [l] """); } - [ConditionalTheory(Skip = "Issue29075")] + [Theory(Skip = "Issue29075")] public override async Task Tph_entity_owning_a_split_reference_on_middle_without_table_sharing(bool async) { await base.Tph_entity_owning_a_split_reference_on_middle_without_table_sharing(async); @@ -605,7 +605,7 @@ public override async Task Tph_entity_owning_a_split_reference_on_middle_without AssertSql(); } - [ConditionalTheory(Skip = "Issue29075")] + [Theory(Skip = "Issue29075")] public override async Task Tpt_entity_owning_a_split_reference_on_middle_without_table_sharing(bool async) { await base.Tpt_entity_owning_a_split_reference_on_middle_without_table_sharing(async); @@ -639,7 +639,7 @@ FROM [LeafEntity] AS [l] """); } - [ConditionalTheory(Skip = "Issue29075")] + [Theory(Skip = "Issue29075")] public override async Task Tph_entity_owning_a_split_reference_on_leaf_without_table_sharing(bool async) { await base.Tph_entity_owning_a_split_reference_on_leaf_without_table_sharing(async); @@ -647,7 +647,7 @@ public override async Task Tph_entity_owning_a_split_reference_on_leaf_without_t AssertSql(); } - [ConditionalTheory(Skip = "Issue29075")] + [Theory(Skip = "Issue29075")] public override async Task Tpt_entity_owning_a_split_reference_on_leaf_without_table_sharing(bool async) { await base.Tpt_entity_owning_a_split_reference_on_leaf_without_table_sharing(async); @@ -655,7 +655,7 @@ public override async Task Tpt_entity_owning_a_split_reference_on_leaf_without_t AssertSql(); } - [ConditionalTheory(Skip = "Issue29075")] + [Theory(Skip = "Issue29075")] public override async Task Tpc_entity_owning_a_split_reference_on_leaf_without_table_sharing(bool async) { await base.Tpc_entity_owning_a_split_reference_on_leaf_without_table_sharing(async); @@ -663,7 +663,7 @@ public override async Task Tpc_entity_owning_a_split_reference_on_leaf_without_t AssertSql(); } - [ConditionalTheory(Skip = "Issue29075")] + [Theory(Skip = "Issue29075")] public override async Task Tph_entity_owning_a_split_collection_on_base(bool async) { await base.Tph_entity_owning_a_split_collection_on_base(async); @@ -671,7 +671,7 @@ public override async Task Tph_entity_owning_a_split_collection_on_base(bool asy AssertSql(); } - [ConditionalTheory(Skip = "Issue29075")] + [Theory(Skip = "Issue29075")] public override async Task Tpt_entity_owning_a_split_collection_on_base(bool async) { await base.Tpt_entity_owning_a_split_collection_on_base(async); @@ -709,7 +709,7 @@ FROM [OwnedReferencePart1] AS [o] """); } - [ConditionalTheory(Skip = "Issue29075")] + [Theory(Skip = "Issue29075")] public override async Task Tph_entity_owning_a_split_collection_on_middle(bool async) { await base.Tph_entity_owning_a_split_collection_on_middle(async); @@ -717,7 +717,7 @@ public override async Task Tph_entity_owning_a_split_collection_on_middle(bool a AssertSql(); } - [ConditionalTheory(Skip = "Issue29075")] + [Theory(Skip = "Issue29075")] public override async Task Tpt_entity_owning_a_split_collection_on_middle(bool async) { await base.Tpt_entity_owning_a_split_collection_on_middle(async); @@ -755,7 +755,7 @@ FROM [OwnedReferencePart1] AS [o] """); } - [ConditionalTheory(Skip = "Issue29075")] + [Theory(Skip = "Issue29075")] public override async Task Tph_entity_owning_a_split_collection_on_leaf(bool async) { await base.Tph_entity_owning_a_split_collection_on_leaf(async); @@ -763,7 +763,7 @@ public override async Task Tph_entity_owning_a_split_collection_on_leaf(bool asy AssertSql(); } - [ConditionalTheory(Skip = "Issue29075")] + [Theory(Skip = "Issue29075")] public override async Task Tpt_entity_owning_a_split_collection_on_leaf(bool async) { await base.Tpt_entity_owning_a_split_collection_on_leaf(async); @@ -771,7 +771,7 @@ public override async Task Tpt_entity_owning_a_split_collection_on_leaf(bool asy AssertSql(); } - [ConditionalTheory(Skip = "Issue29075")] + [Theory(Skip = "Issue29075")] public override async Task Tpc_entity_owning_a_split_collection_on_leaf(bool async) { await base.Tpc_entity_owning_a_split_collection_on_leaf(async); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/FromSqlQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/FromSqlQuerySqlServerTest.cs index b7edcf2ad91..6a6b0909fea 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/FromSqlQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/FromSqlQuerySqlServerTest.cs @@ -1031,7 +1031,7 @@ public override async Task FromSqlRaw_composed_with_common_table_expression(bool Assert.Equal(RelationalStrings.FromSqlNonComposable, exception.Message); } - [ConditionalFact] + [Fact] public virtual void FromSql_output_parameter_works_with_transient_errors() { using var context = Fixture.CreateContext(); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/GearsOfWarQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/GearsOfWarQuerySqlServerTest.cs index 23cf3c03672..d5d791126e2 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/GearsOfWarQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/GearsOfWarQuerySqlServerTest.cs @@ -16,7 +16,7 @@ public GearsOfWarQuerySqlServerTest(GearsOfWarQuerySqlServerFixture fixture, ITe Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -2377,7 +2377,7 @@ LEFT JOIN [Weapons] AS [w] ON [w].[SynergyWithId] IS NOT NULL """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData)), SqlServerCondition(SqlServerCondition.SupportsSqlClr)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsSqlClrSupported)), MemberData(nameof(IsAsyncData))] public virtual async Task Where_AtTimeZone_datetime_constant(bool async) { using var context = CreateContext(); @@ -2399,7 +2399,7 @@ FROM [Missions] AS [m] """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData)), SqlServerCondition(SqlServerCondition.SupportsSqlClr)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsSqlClrSupported)), MemberData(nameof(IsAsyncData))] public virtual async Task Where_AtTimeZone_datetime_parameter(bool async) { using var context = CreateContext(); @@ -2426,7 +2426,7 @@ FROM [Missions] AS [m] """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData)), SqlServerCondition(SqlServerCondition.SupportsSqlClr)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsSqlClrSupported)), MemberData(nameof(IsAsyncData))] public virtual async Task Where_AtTimeZone_datetime_column(bool async) { using var context = CreateContext(); @@ -3482,7 +3482,7 @@ FROM [Factions] AS [f] """); } - [ConditionalTheory(Skip = "Issue #34001 SqlServer never returns null for bool?")] + [Theory(Skip = "Issue #34001 SqlServer never returns null for bool?")] public override async Task ToString_boolean_computed_nullable(bool async) { await base.ToString_boolean_computed_nullable(async); @@ -7476,7 +7476,7 @@ FROM [Gears] AS [g] """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public async Task DataLength_function_for_string_parameter(bool async) { await AssertQueryScalar( diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/IncompleteMappingInheritanceQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/IncompleteMappingInheritanceQuerySqlServerTest.cs index 6befb89f8d5..e0f07d02e34 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/IncompleteMappingInheritanceQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/IncompleteMappingInheritanceQuerySqlServerTest.cs @@ -13,11 +13,11 @@ public class IncompleteMappingInheritanceQuerySqlServerTest( ITestOutputHelper testOutputHelper) : TPHInheritanceQueryTestBase(fixture, testOutputHelper) { - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); - [ConditionalFact] + [Fact] public virtual void Common_property_shares_column() { using var context = CreateContext(); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCFiltersInheritanceQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCFiltersInheritanceQuerySqlServerTest.cs index 18c14f8f881..3dc26fe1df8 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCFiltersInheritanceQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCFiltersInheritanceQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query.Inheritance; @@ -16,7 +16,7 @@ public TPCFiltersInheritanceQuerySqlServerTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCGearsOfWarQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCGearsOfWarQuerySqlServerTest.cs index 24c4cb80ef6..1caaec1c1ab 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCGearsOfWarQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCGearsOfWarQuerySqlServerTest.cs @@ -16,7 +16,7 @@ public TPCGearsOfWarQuerySqlServerTest(TPCGearsOfWarQuerySqlServerFixture fixtur Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -9974,7 +9974,7 @@ FROM [Officers] AS [o] """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public async Task DataLength_function_for_string_parameter(bool async) { await AssertQueryScalar( @@ -11444,7 +11444,7 @@ FROM [LocustHordes] AS [l] """); } - [ConditionalTheory(Skip = "Issue #34001 SqlServer never returns null for bool?")] + [Theory(Skip = "Issue #34001 SqlServer never returns null for bool?")] public override async Task ToString_boolean_computed_nullable(bool async) { await base.ToString_boolean_computed_nullable(async); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCInheritanceJsonQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCInheritanceJsonQuerySqlServerTest.cs index 1e8325641cf..7d9b3c9d0fd 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCInheritanceJsonQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCInheritanceJsonQuerySqlServerTest.cs @@ -173,7 +173,7 @@ FROM OPENJSON([u].[ComplexTypeCollection], '$') WITH ([Int] int '$.Int') AS [c0] """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCInheritanceQuerySqlServerTestBase.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCInheritanceQuerySqlServerTestBase.cs index cbd976f32a9..4eb94d840c1 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCInheritanceQuerySqlServerTestBase.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCInheritanceQuerySqlServerTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query.Inheritance; @@ -9,7 +9,7 @@ public abstract class TPCInheritanceQuerySqlServerTestBase(TFixture fi : TPCInheritanceQueryTestBase(fixture, testOutputHelper) where TFixture : TPCInheritanceQuerySqlServerFixtureBase, new() { - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType().BaseType); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCInheritanceTableSplittingQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCInheritanceTableSplittingQuerySqlServerTest.cs index 3588d8cab55..83fc12c49dd 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCInheritanceTableSplittingQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCInheritanceTableSplittingQuerySqlServerTest.cs @@ -167,7 +167,7 @@ FROM OPENJSON([u].[ComplexTypeCollection], '$') WITH ([Int] int '$.Int') AS [c0] """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCManyToManyNoTrackingQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCManyToManyNoTrackingQuerySqlServerTest.cs index 4975ed463ad..80729b6c23f 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCManyToManyNoTrackingQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCManyToManyNoTrackingQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query.Inheritance; @@ -14,7 +14,7 @@ public TPCManyToManyNoTrackingQuerySqlServerTest(TPCManyToManyQuerySqlServerFixt Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCManyToManyQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCManyToManyQuerySqlServerTest.cs index d71dc709784..7121034e5be 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCManyToManyQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCManyToManyQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query.Inheritance; @@ -14,7 +14,7 @@ public TPCManyToManyQuerySqlServerTest(TPCManyToManyQuerySqlServerFixture fixtur Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCRelationshipsQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCRelationshipsQuerySqlServerTest.cs index ff56d443c00..ef2f3104b8d 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCRelationshipsQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPCRelationshipsQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query.Inheritance; @@ -17,7 +17,7 @@ public TPCRelationshipsQuerySqlServerTest( fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPHFiltersInheritanceQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPHFiltersInheritanceQuerySqlServerTest.cs index 1cfa57949e1..2b72ee1f4b3 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPHFiltersInheritanceQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPHFiltersInheritanceQuerySqlServerTest.cs @@ -14,7 +14,7 @@ public TPHFiltersInheritanceQuerySqlServerTest(TPHFiltersInheritanceQuerySqlServ Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPHInheritanceQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPHInheritanceQuerySqlServerTest.cs index 4dfa7237be9..ab6a246d3e1 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPHInheritanceQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPHInheritanceQuerySqlServerTest.cs @@ -10,11 +10,11 @@ namespace Microsoft.EntityFrameworkCore.Query.Inheritance; public class TPHInheritanceQuerySqlServerTest(TPHInheritanceQuerySqlServerFixture fixture, ITestOutputHelper testOutputHelper) : TPHInheritanceQueryTestBase(fixture, testOutputHelper) { - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); - [ConditionalFact] + [Fact] public virtual void Common_property_shares_column() { using var context = CreateContext(); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPHInheritanceTableSplittingQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPHInheritanceTableSplittingQuerySqlServerTest.cs index ab86cbf3eff..dca82cc32c1 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPHInheritanceTableSplittingQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPHInheritanceTableSplittingQuerySqlServerTest.cs @@ -117,7 +117,7 @@ FROM OPENJSON([d].[ComplexTypeCollection], '$') WITH ([Int] int '$.Int') AS [c] """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPHTemporalFiltersInheritanceQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPHTemporalFiltersInheritanceQuerySqlServerTest.cs index 7b005ec8126..cff7c95ca4d 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPHTemporalFiltersInheritanceQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPHTemporalFiltersInheritanceQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.InheritanceModel; @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Inheritance; #nullable disable -[SqlServerCondition(SqlServerCondition.SupportsTemporalTablesCascadeDelete)] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsTemporalTablesCascadeDeleteSupported))] public class TPHTemporalFiltersInheritanceQuerySqlServerTest : FiltersInheritanceQueryTestBase< TPHTemporalFiltersInheritanceQuerySqlServerFixture> { @@ -37,7 +37,7 @@ protected override Expression RewriteServerQueryExpression(Expression serverQuer return rewriter.Visit(serverQueryExpression); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPTFiltersInheritanceQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPTFiltersInheritanceQuerySqlServerTest.cs index c6134f6ad9b..e7b48b35a8f 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPTFiltersInheritanceQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPTFiltersInheritanceQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query.Inheritance; @@ -16,7 +16,7 @@ public TPTFiltersInheritanceQuerySqlServerTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPTGearsOfWarQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPTGearsOfWarQuerySqlServerTest.cs index 1c7ba920cee..d6a016cd82f 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPTGearsOfWarQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPTGearsOfWarQuerySqlServerTest.cs @@ -16,7 +16,7 @@ public TPTGearsOfWarQuerySqlServerTest(TPTGearsOfWarQuerySqlServerFixture fixtur Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -8427,7 +8427,7 @@ FROM [Gears] AS [g] """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public async Task DataLength_function_for_string_parameter(bool async) { await AssertQueryScalar( @@ -9718,7 +9718,7 @@ FROM [Factions] AS [f] """); } - [ConditionalTheory(Skip = "Issue #34001 SqlServer never returns null for bool?")] + [Theory(Skip = "Issue #34001 SqlServer never returns null for bool?")] public override async Task ToString_boolean_computed_nullable(bool async) { await base.ToString_boolean_computed_nullable(async); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPTInheritanceQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPTInheritanceQuerySqlServerTest.cs index 2616affaabc..b628e16a9a8 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPTInheritanceQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPTInheritanceQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query.Inheritance; @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Inheritance; public class TPTInheritanceQuerySqlServerTest(TPTInheritanceQuerySqlServerFixture fixture, ITestOutputHelper testOutputHelper) : TPTInheritanceQueryTestBase(fixture, testOutputHelper) { - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPTInheritanceTableSplittingQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPTInheritanceTableSplittingQuerySqlServerTest.cs index 38eae00d356..92698d17249 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPTInheritanceTableSplittingQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPTInheritanceTableSplittingQuerySqlServerTest.cs @@ -140,7 +140,7 @@ FROM OPENJSON([d].[ComplexTypeCollection], '$') WITH ([Int] int '$.Int') AS [c0] """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPTManyToManyNoTrackingQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPTManyToManyNoTrackingQuerySqlServerTest.cs index 22dccf5295d..77159fc36f3 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPTManyToManyNoTrackingQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPTManyToManyNoTrackingQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query.Inheritance; @@ -15,7 +15,7 @@ public TPTManyToManyNoTrackingQuerySqlServerTest(TPTManyToManyQuerySqlServerFixt Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPTManyToManyQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPTManyToManyQuerySqlServerTest.cs index 1ca70e15275..3facfe7e76e 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPTManyToManyQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPTManyToManyQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query.Inheritance; @@ -14,7 +14,7 @@ public TPTManyToManyQuerySqlServerTest(TPTManyToManyQuerySqlServerFixture fixtur Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPTRelationshipsQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPTRelationshipsQuerySqlServerTest.cs index cc08569001d..da9c9e0b9d1 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPTRelationshipsQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Inheritance/TPTRelationshipsQuerySqlServerTest.cs @@ -14,7 +14,7 @@ public TPTRelationshipsQuerySqlServerTest( : base(fixture) => fixture.TestSqlLoggerFactory.Clear(); - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/InheritanceRelationshipsQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/InheritanceRelationshipsQuerySqlServerTest.cs index 66afd52c949..b0022570600 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/InheritanceRelationshipsQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/InheritanceRelationshipsQuerySqlServerTest.cs @@ -15,7 +15,7 @@ public InheritanceRelationshipsQuerySqlServerTest( : base(fixture) => fixture.TestSqlLoggerFactory.Clear(); - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/JsonQueryJsonTypeSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/JsonQueryJsonTypeSqlServerTest.cs index 8e9d827ae19..deebce1fc79 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/JsonQueryJsonTypeSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/JsonQueryJsonTypeSqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. #nullable disable @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Query; -[SqlServerCondition(SqlServerCondition.SupportsJsonType)] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsJsonTypeSupported))] public class JsonQueryJsonTypeSqlServerTest : JsonQueryRelationalTestBase { public JsonQueryJsonTypeSqlServerTest(JsonQueryJsonTypeSqlServerFixture fixture, ITestOutputHelper testOutputHelper) @@ -803,7 +803,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_projection_using_parameter(bool async) { await base.Json_collection_index_in_projection_using_parameter(async); @@ -817,7 +817,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_projection_using_column(bool async) { await base.Json_collection_index_in_projection_using_column(async); @@ -887,7 +887,7 @@ ORDER BY [j].[Id] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_projection_nested(bool async) { await base.Json_collection_index_in_projection_nested(async); @@ -901,7 +901,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_projection_nested_project_scalar(bool async) { await base.Json_collection_index_in_projection_nested_project_scalar(async); @@ -915,7 +915,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_projection_nested_project_reference(bool async) { await base.Json_collection_index_in_projection_nested_project_reference(async); @@ -929,7 +929,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_projection_nested_project_collection(bool async) { await base.Json_collection_index_in_projection_nested_project_collection(async); @@ -944,7 +944,7 @@ ORDER BY [j].[Id] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_projection_nested_project_collection_anonymous_projection(bool async) { await base.Json_collection_index_in_projection_nested_project_collection_anonymous_projection(async); @@ -970,7 +970,7 @@ WHERE JSON_VALUE([j].[OwnedCollectionRoot], '$[0].Name' RETURNING nvarchar(max)) """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_predicate_using_variable(bool async) { await base.Json_collection_index_in_predicate_using_variable(async); @@ -985,7 +985,7 @@ WHERE JSON_VALUE([j].[OwnedCollectionRoot], '$[' + CAST(@prm AS nvarchar(max)) + """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_predicate_using_column(bool async) { await base.Json_collection_index_in_predicate_using_column(async); @@ -998,7 +998,7 @@ WHERE JSON_VALUE([j].[OwnedCollectionRoot], '$[' + CAST([j].[Id] AS nvarchar(max """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_predicate_using_complex_expression1(bool async) { await base.Json_collection_index_in_predicate_using_complex_expression1(async); @@ -1014,7 +1014,7 @@ END AS nvarchar(max)) + '].Name' RETURNING nvarchar(max)) = N'e1_c1' """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_predicate_using_complex_expression2(bool async) { await base.Json_collection_index_in_predicate_using_complex_expression2(async); @@ -1041,7 +1041,7 @@ WHERE JSON_VALUE([j].[OwnedCollectionRoot], '$[1].Name' RETURNING nvarchar(max)) """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_predicate_nested_mix(bool async) { await base.Json_collection_index_in_predicate_nested_mix(async); @@ -1613,7 +1613,7 @@ FROM OPENJSON(JSON_QUERY([j].[OwnedReferenceRoot], '$.Names')) WITH ([value] nva """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_with_parameter_Select_ElementAt(bool async) { await base.Json_collection_index_with_parameter_Select_ElementAt(async); @@ -1631,7 +1631,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_with_expression_Select_ElementAt(bool async) { await base.Json_collection_index_with_expression_Select_ElementAt(async); @@ -1713,7 +1713,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_projection_deduplication_with_collection_indexer_in_target(bool async) { await base.Json_projection_deduplication_with_collection_indexer_in_target(async); @@ -1727,7 +1727,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_projection_deduplication_with_collection_in_original_and_collection_indexer_in_target(bool async) { await base.Json_projection_deduplication_with_collection_in_original_and_collection_indexer_in_target(async); @@ -1763,7 +1763,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_projection_using_parameter_when_owner_is_present(bool async) { await base.Json_collection_index_in_projection_using_parameter_when_owner_is_present(async); @@ -1777,7 +1777,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_projection_using_parameter_when_owner_is_not_present(bool async) { await base.Json_collection_index_in_projection_using_parameter_when_owner_is_not_present(async); @@ -1813,7 +1813,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_after_collection_index_in_projection_using_parameter_when_owner_is_present(bool async) { await base.Json_collection_after_collection_index_in_projection_using_parameter_when_owner_is_present(async); @@ -1827,7 +1827,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_after_collection_index_in_projection_using_parameter_when_owner_is_not_present(bool async) { await base.Json_collection_after_collection_index_in_projection_using_parameter_when_owner_is_not_present(async); @@ -1841,7 +1841,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_projection_when_owner_is_present_misc1(bool async) { await base.Json_collection_index_in_projection_when_owner_is_present_misc1(async); @@ -1855,7 +1855,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_projection_when_owner_is_not_present_misc1(bool async) { await base.Json_collection_index_in_projection_when_owner_is_not_present_misc1(async); @@ -1891,7 +1891,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_projection_when_owner_is_present_multiple(bool async) { await base.Json_collection_index_in_projection_when_owner_is_present_multiple(async); @@ -1905,7 +1905,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_projection_when_owner_is_not_present_multiple(bool async) { await base.Json_collection_index_in_projection_when_owner_is_not_present_multiple(async); @@ -3018,7 +3018,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_projection_second_element_through_collection_element_parameter_correctly_projected_after_owner_nested_AsNoTrackingWithIdentityResolution( bool async) @@ -3051,7 +3051,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_projection_only_second_element_through_collection_element_parameter_projected_nested_AsNoTrackingWithIdentityResolution( bool async) @@ -3096,7 +3096,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_projection_nested_collection_element_using_parameter_and_the_owner_in_correct_order_AsNoTrackingWithIdentityResolution( bool async) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/JsonQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/JsonQuerySqlServerTest.cs index 6e434d293c4..df34579ef4f 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/JsonQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/JsonQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.Data.SqlClient; @@ -786,7 +786,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_projection_using_parameter(bool async) { await base.Json_collection_index_in_projection_using_parameter(async); @@ -800,7 +800,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_projection_using_column(bool async) { await base.Json_collection_index_in_projection_using_column(async); @@ -870,7 +870,7 @@ ORDER BY [j].[Id] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_projection_nested(bool async) { await base.Json_collection_index_in_projection_nested(async); @@ -884,7 +884,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_projection_nested_project_scalar(bool async) { await base.Json_collection_index_in_projection_nested_project_scalar(async); @@ -898,7 +898,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_projection_nested_project_reference(bool async) { await base.Json_collection_index_in_projection_nested_project_reference(async); @@ -912,7 +912,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_projection_nested_project_collection(bool async) { await base.Json_collection_index_in_projection_nested_project_collection(async); @@ -927,7 +927,7 @@ ORDER BY [j].[Id] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_projection_nested_project_collection_anonymous_projection(bool async) { await base.Json_collection_index_in_projection_nested_project_collection_anonymous_projection(async); @@ -953,7 +953,7 @@ WHERE JSON_VALUE([j].[OwnedCollectionRoot], '$[0].Name') <> N'Foo' OR JSON_VALUE """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_predicate_using_variable(bool async) { await base.Json_collection_index_in_predicate_using_variable(async); @@ -968,7 +968,7 @@ WHERE JSON_VALUE([j].[OwnedCollectionRoot], '$[' + CAST(@prm AS nvarchar(max)) + """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_predicate_using_column(bool async) { await base.Json_collection_index_in_predicate_using_column(async); @@ -981,7 +981,7 @@ WHERE JSON_VALUE([j].[OwnedCollectionRoot], '$[' + CAST([j].[Id] AS nvarchar(max """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_predicate_using_complex_expression1(bool async) { await base.Json_collection_index_in_predicate_using_complex_expression1(async); @@ -997,7 +997,7 @@ END AS nvarchar(max)) + '].Name') = N'e1_c1' """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_predicate_using_complex_expression2(bool async) { await base.Json_collection_index_in_predicate_using_complex_expression2(async); @@ -1024,7 +1024,7 @@ WHERE JSON_VALUE([j].[OwnedCollectionRoot], '$[1].Name') <> N'Foo' OR JSON_VALUE """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_predicate_nested_mix(bool async) { await base.Json_collection_index_in_predicate_nested_mix(async); @@ -1578,7 +1578,7 @@ FROM OPENJSON(JSON_QUERY([j].[OwnedReferenceRoot], '$.Names')) WITH ([value] nva """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_with_parameter_Select_ElementAt(bool async) { await base.Json_collection_index_with_parameter_Select_ElementAt(async); @@ -1596,7 +1596,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_with_expression_Select_ElementAt(bool async) { await base.Json_collection_index_with_expression_Select_ElementAt(async); @@ -1678,7 +1678,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_projection_deduplication_with_collection_indexer_in_target(bool async) { await base.Json_projection_deduplication_with_collection_indexer_in_target(async); @@ -1692,7 +1692,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_projection_deduplication_with_collection_in_original_and_collection_indexer_in_target(bool async) { await base.Json_projection_deduplication_with_collection_in_original_and_collection_indexer_in_target(async); @@ -1728,7 +1728,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_projection_using_parameter_when_owner_is_present(bool async) { await base.Json_collection_index_in_projection_using_parameter_when_owner_is_present(async); @@ -1742,7 +1742,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_projection_using_parameter_when_owner_is_not_present(bool async) { await base.Json_collection_index_in_projection_using_parameter_when_owner_is_not_present(async); @@ -1778,7 +1778,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_after_collection_index_in_projection_using_parameter_when_owner_is_present(bool async) { await base.Json_collection_after_collection_index_in_projection_using_parameter_when_owner_is_present(async); @@ -1792,7 +1792,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_after_collection_index_in_projection_using_parameter_when_owner_is_not_present(bool async) { await base.Json_collection_after_collection_index_in_projection_using_parameter_when_owner_is_not_present(async); @@ -1806,7 +1806,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_projection_when_owner_is_present_misc1(bool async) { await base.Json_collection_index_in_projection_when_owner_is_present_misc1(async); @@ -1820,7 +1820,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_projection_when_owner_is_not_present_misc1(bool async) { await base.Json_collection_index_in_projection_when_owner_is_not_present_misc1(async); @@ -1856,7 +1856,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_projection_when_owner_is_present_multiple(bool async) { await base.Json_collection_index_in_projection_when_owner_is_present_multiple(async); @@ -1870,7 +1870,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_collection_index_in_projection_when_owner_is_not_present_multiple(bool async) { await base.Json_collection_index_in_projection_when_owner_is_not_present_multiple(async); @@ -2976,7 +2976,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_projection_second_element_through_collection_element_parameter_correctly_projected_after_owner_nested_AsNoTrackingWithIdentityResolution( bool async) @@ -3009,7 +3009,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_projection_only_second_element_through_collection_element_parameter_projected_nested_AsNoTrackingWithIdentityResolution( bool async) @@ -3054,7 +3054,7 @@ FROM [JsonEntitiesBasic] AS [j] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Json_projection_nested_collection_element_using_parameter_and_the_owner_in_correct_order_AsNoTrackingWithIdentityResolution( bool async) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindAggregateOperatorsQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindAggregateOperatorsQuerySqlServerTest.cs index dda07466711..032b5e52de8 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindAggregateOperatorsQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindAggregateOperatorsQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.Northwind; @@ -20,7 +20,7 @@ public NorthwindAggregateOperatorsQuerySqlServerTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindAsNoTrackingQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindAsNoTrackingQuerySqlServerTest.cs index 4cfbc4fe1ed..db190d19648 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindAsNoTrackingQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindAsNoTrackingQuerySqlServerTest.cs @@ -17,7 +17,7 @@ public NorthwindAsNoTrackingQuerySqlServerTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindAsTrackingQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindAsTrackingQuerySqlServerTest.cs index 46d8f9a3731..e02cb5b8c04 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindAsTrackingQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindAsTrackingQuerySqlServerTest.cs @@ -12,7 +12,7 @@ public NorthwindAsTrackingQuerySqlServerTest(NorthwindQuerySqlServerFixture Fixture.TestSqlLoggerFactory.Clear(); - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindChangeTrackingQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindChangeTrackingQuerySqlServerTest.cs index 7bc6bfb4942..cac4852b7a0 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindChangeTrackingQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindChangeTrackingQuerySqlServerTest.cs @@ -14,7 +14,7 @@ public NorthwindChangeTrackingQuerySqlServerTest(NorthwindQuerySqlServerFixture< : base(fixture) => Fixture.TestSqlLoggerFactory.Clear(); - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -100,7 +100,7 @@ public override void Entity_range_does_not_revert_when_attached_dbSet() { base.Entity_range_does_not_revert_when_attached_dbSet(); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ @@ -216,7 +216,7 @@ public override void Entity_range_does_not_revert_when_attached_dbContext() { base.Entity_range_does_not_revert_when_attached_dbContext(); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindCompiledQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindCompiledQuerySqlServerTest.cs index ebfd7dee89f..f73c74a1b1c 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindCompiledQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindCompiledQuerySqlServerTest.cs @@ -16,7 +16,7 @@ public NorthwindCompiledQuerySqlServerTest( fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -393,7 +393,7 @@ public override void Query_with_array_parameter() { base.Query_with_array_parameter(); - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -437,7 +437,7 @@ public override async Task Query_with_array_parameter_async() { await base.Query_with_array_parameter_async(); - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindDbFunctionsQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindDbFunctionsQuerySqlServerTest.cs index 55c678515f3..19ebaf64369 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindDbFunctionsQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindDbFunctionsQuerySqlServerTest.cs @@ -22,7 +22,7 @@ public NorthwindDbFunctionsQuerySqlServerTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -134,7 +134,7 @@ WHERE [c].[Region] IS NULL """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Collate_with_invalid_chars_throws(bool async) { using var context = CreateContext(); @@ -147,7 +147,7 @@ public virtual async Task Collate_with_invalid_chars_throws(bool async) public override async Task Least(bool async) { - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { await base.Least(async); @@ -166,7 +166,7 @@ WHERE LEAST([o].[OrderID], 10251) = 10251 public override async Task Greatest(bool async) { - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { await base.Greatest(async); @@ -185,7 +185,7 @@ WHERE GREATEST([o].[OrderID], 10251) = 10251 public override async Task Least_with_nullable_value_type(bool async) { - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { await base.Least_with_nullable_value_type(async); @@ -204,7 +204,7 @@ WHERE LEAST([o].[OrderID], 10251) = 10251 public override async Task Greatest_with_nullable_value_type(bool async) { - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { await base.Greatest_with_nullable_value_type(async); @@ -241,7 +241,7 @@ protected override string CaseInsensitiveCollation protected override string CaseSensitiveCollation => "Latin1_General_CS_AS"; - [ConditionalFact] + [Fact] public async Task PatIndex_literal() { using var context = CreateContext(); @@ -259,7 +259,7 @@ WHERE PATINDEX(N'%Nancy%', [e].[FirstName]) = CAST(1 AS bigint) """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task DateDiff_Year(bool async) { await AssertCount( @@ -277,7 +277,7 @@ WHERE DATEDIFF(year, [o].[OrderDate], GETDATE()) = 0 """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task DateDiff_Month(bool async) { var now = DateTime.Now; @@ -296,7 +296,7 @@ WHERE DATEDIFF(month, [o].[OrderDate], GETDATE()) = 0 """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task DateDiff_Day(bool async) { await AssertCount( @@ -314,7 +314,7 @@ WHERE DATEDIFF(day, [o].[OrderDate], GETDATE()) = 0 """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task DateDiff_Hour(bool async) { await AssertCount( @@ -332,7 +332,7 @@ WHERE DATEDIFF(hour, [o].[OrderDate], GETDATE()) = 0 """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task DateDiff_Minute(bool async) { await AssertCount( @@ -350,7 +350,7 @@ WHERE DATEDIFF(minute, [o].[OrderDate], GETDATE()) = 0 """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task DateDiff_Second(bool async) { await AssertCount( @@ -368,7 +368,7 @@ WHERE DATEDIFF(second, [o].[OrderDate], GETDATE()) = 0 """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task DateDiff_Millisecond(bool async) { await AssertCount( @@ -386,7 +386,7 @@ WHERE DATEDIFF(millisecond, GETDATE(), DATEADD(day, CAST(1.0E0 AS int), GETDATE( """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task DateDiff_Microsecond(bool async) { await AssertCount( @@ -404,7 +404,7 @@ WHERE DATEDIFF(microsecond, GETDATE(), DATEADD(second, CAST(1.0E0 AS int), GETDA """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task DateDiff_Nanosecond(bool async) { await AssertCount( @@ -422,7 +422,7 @@ WHERE DATEDIFF(nanosecond, GETDATE(), DATEADD(second, CAST(1.0E0 AS int), GETDAT """); } - [ConditionalFact] + [Fact] public virtual void DateDiff_Week_datetime() { using var context = CreateContext(); @@ -442,7 +442,7 @@ WHERE DATEDIFF(week, [o].[OrderDate], '1998-05-06T00:00:00.000') = 5 """); } - [ConditionalFact] + [Fact] public virtual void DateDiff_Week_datetimeoffset() { using var context = CreateContext(); @@ -462,7 +462,7 @@ WHERE DATEDIFF(week, CAST([o].[OrderDate] AS datetimeoffset), '1998-05-06T00:00: """); } - [ConditionalFact] + [Fact] public virtual void DateDiff_Week_parameters_null() { using var context = CreateContext(); @@ -482,7 +482,7 @@ WHERE DATEDIFF(week, NULL, [o].[OrderDate]) = 5 """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task IsDate_not_valid(bool async) { await AssertQueryScalar( @@ -498,7 +498,7 @@ WHERE CAST(ISDATE([o].[CustomerID]) AS bit) = CAST(0 AS bit) """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task IsDate_valid(bool async) { await AssertQueryScalar( @@ -516,7 +516,7 @@ WHERE CAST(ISDATE(COALESCE(CONVERT(varchar(100), [o].[OrderDate]), '')) AS bit) """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task IsDate_join_fields(bool async) { await AssertCount( @@ -534,7 +534,7 @@ WHERE CAST(ISDATE(COALESCE([o].[CustomerID], N'') + CAST([o].[OrderID] AS nvarch """); } - [ConditionalFact] + [Fact] public void IsDate_should_throw_on_client_eval() { var exIsDate = Assert.Throws(() => EF.Functions.IsDate("#ISDATE#")); @@ -544,7 +544,7 @@ public void IsDate_should_throw_on_client_eval() exIsDate.Message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task IsNumeric_not_valid(bool async) { await AssertQueryScalar( @@ -562,7 +562,7 @@ WHERE ISNUMERIC(COALESCE(CONVERT(varchar(100), [o].[OrderDate]), '')) <> 1 """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task IsNummeric_valid(bool async) { await AssertQueryScalar( @@ -580,7 +580,7 @@ WHERE ISNUMERIC(CONVERT(varchar(100), [o].[UnitPrice])) = 1 """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task IsNumeric_join_fields(bool async) { await AssertCount( @@ -598,7 +598,7 @@ WHERE ISNUMERIC(COALESCE([o].[CustomerID], N'') + CAST([o].[OrderID] AS nvarchar """); } - [ConditionalFact] + [Fact] public void IsNumeric_should_throw_on_client_eval() { var exIsDate = Assert.Throws(() => EF.Functions.IsNumeric("#ISNUMERIC#")); @@ -608,7 +608,7 @@ public void IsNumeric_should_throw_on_client_eval() exIsDate.Message); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task DateTimeFromParts_column_compare(bool async) { await AssertCount( @@ -626,7 +626,7 @@ FROM [Orders] AS [o] """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task DateTimeFromParts_constant_compare(bool async) { await AssertCount( @@ -644,7 +644,7 @@ FROM [Orders] AS [o] """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task DateTimeFromParts_compare_with_local_variable(bool async) { var dateTime = new DateTime(1919, 12, 12, 10, 20, 15, 0); @@ -677,7 +677,7 @@ FROM [Orders] AS [o] """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task DateFromParts_column_compare(bool async) { await AssertCount( @@ -695,7 +695,7 @@ FROM [Orders] AS [o] """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task DateFromParts_constant_compare(bool async) { await AssertCount( @@ -713,7 +713,7 @@ FROM [Orders] AS [o] """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task DateFromParts_compare_with_local_variable(bool async) { var date = new DateTime(1919, 12, 12); @@ -736,7 +736,7 @@ FROM [Orders] AS [o] """); } - [ConditionalFact] + [Fact] public virtual void DateTime2FromParts_column_compare() { using (var context = CreateContext()) @@ -755,7 +755,7 @@ FROM [Orders] AS [o] } } - [ConditionalFact] + [Fact] public virtual void DateTime2FromParts_constant_compare() { using (var context = CreateContext()) @@ -775,7 +775,7 @@ FROM [Orders] AS [o] } } - [ConditionalFact] + [Fact] public virtual void DateTime2FromParts_compare_with_local_variable() { var dateTime = new DateTime(1919, 12, 12, 10, 20, 15); @@ -807,7 +807,7 @@ FROM [Orders] AS [o] } } - [ConditionalFact] + [Fact] public virtual void DateTimeOffsetFromParts_column_compare() { using (var context = CreateContext()) @@ -826,7 +826,7 @@ WHERE CAST([o].[OrderDate] AS datetimeoffset) > DATETIMEOFFSETFROMPARTS(DATEPART } } - [ConditionalFact] + [Fact] public virtual void DateTimeOffsetFromParts_constant_compare() { using (var context = CreateContext()) @@ -846,7 +846,7 @@ FROM [Orders] AS [o] } } - [ConditionalFact] + [Fact] public virtual void DateTimeOffsetFromParts_compare_with_local_variable() { var dateTimeOffset = new DateTimeOffset(1919, 12, 12, 10, 20, 15, new TimeSpan(1, 30, 0)); @@ -882,7 +882,7 @@ FROM [Orders] AS [o] } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SmallDateTimeFromParts_column_compare(bool async) { await AssertCount( @@ -900,7 +900,7 @@ FROM [Orders] AS [o] """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SmallDateTimeFromParts_constant_compare(bool async) { await AssertCount( @@ -918,7 +918,7 @@ FROM [Orders] AS [o] """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task SmallDateTimeFromParts_compare_with_local_variable(bool async) { var dateTime = new DateTime(1919, 12, 12, 23, 20, 0); @@ -944,7 +944,7 @@ FROM [Orders] AS [o] """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task TimeFromParts_constant_compare(bool async) { await AssertCount( @@ -962,7 +962,7 @@ FROM [Orders] AS [o] """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task TimeFromParts_select(bool async) { await AssertQueryScalar( @@ -978,7 +978,7 @@ FROM [Orders] AS [o] """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task DataLength_column_compare(bool async) { await AssertCount( @@ -996,7 +996,7 @@ FROM [Orders] AS [o] """); } - [ConditionalFact] + [Fact] public virtual void DataLength_constant_compare() { using (var context = CreateContext()) @@ -1015,7 +1015,7 @@ FROM [Orders] AS [o] } } - [ConditionalFact] + [Fact] public virtual void DataLength_compare_with_local_variable() { int? length = 100; @@ -1037,7 +1037,7 @@ FROM [Orders] AS [o] } } - [ConditionalFact] + [Fact] public virtual void DataLength_all_constants() { using (var context = CreateContext()) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindEFPropertyIncludeQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindEFPropertyIncludeQuerySqlServerTest.cs index 008506c015f..d0a41026063 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindEFPropertyIncludeQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindEFPropertyIncludeQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -12,7 +12,7 @@ public NorthwindEFPropertyIncludeQuerySqlServerTest(NorthwindQuerySqlServerFixtu : base(fixture) => Fixture.TestSqlLoggerFactory.Clear(); - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -761,7 +761,7 @@ public override async Task Multi_level_includes_are_applied_with_take(bool async { await base.Multi_level_includes_are_applied_with_take(async); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ @@ -964,7 +964,7 @@ public override async Task Multi_level_includes_are_applied_with_skip_take(bool { await base.Multi_level_includes_are_applied_with_skip_take(async); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindFunctionsQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindFunctionsQuerySqlServerTest.cs index 0d054715000..5b2ed22142e 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindFunctionsQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindFunctionsQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.Northwind; @@ -19,7 +19,7 @@ public NorthwindFunctionsQuerySqlServerTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -158,7 +158,7 @@ FROM [Orders] AS [o] """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task StandardDeviation(bool async) { await using var ctx = CreateContext(); @@ -188,7 +188,7 @@ GROUP BY [o].[ProductID] """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Variance(bool async) { await using var ctx = CreateContext(); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindGroupByQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindGroupByQuerySqlServerTest.cs index 53a0312be1c..b6a4ffb914f 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindGroupByQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindGroupByQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -17,7 +17,7 @@ public NorthwindGroupByQuerySqlServerTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindIncludeNoTrackingQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindIncludeNoTrackingQuerySqlServerTest.cs index c2c1caef82c..a946425f731 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindIncludeNoTrackingQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindIncludeNoTrackingQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -12,7 +12,7 @@ public NorthwindIncludeNoTrackingQuerySqlServerTest(NorthwindQuerySqlServerFixtu : base(fixture) => Fixture.TestSqlLoggerFactory.Clear(); - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -771,7 +771,7 @@ public override async Task Multi_level_includes_are_applied_with_take(bool async { await base.Multi_level_includes_are_applied_with_take(async); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ @@ -1376,7 +1376,7 @@ public override async Task Multi_level_includes_are_applied_with_skip_take(bool { await base.Multi_level_includes_are_applied_with_skip_take(async); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindIncludeQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindIncludeQuerySqlServerTest.cs index 237de8cff99..79cfb4096f1 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindIncludeQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindIncludeQuerySqlServerTest.cs @@ -19,7 +19,7 @@ public NorthwindIncludeQuerySqlServerTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -174,7 +174,7 @@ WHERE [o].[CustomerID] LIKE N'F%' """); } - [ConditionalFact] + [Fact] public void ToQueryString_for_include_reference_and_collection() { using var context = CreateContext(); @@ -1654,7 +1654,7 @@ public override async Task Multi_level_includes_are_applied_with_take(bool async { await base.Multi_level_includes_are_applied_with_take(async); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ @@ -1706,7 +1706,7 @@ public override async Task Multi_level_includes_are_applied_with_skip_take(bool { await base.Multi_level_includes_are_applied_with_skip_take(async); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindJoinQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindJoinQuerySqlServerTest.cs index d13e82df986..d615a646e81 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindJoinQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindJoinQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -16,7 +16,7 @@ public NorthwindJoinQuerySqlServerTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindKeylessEntitiesQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindKeylessEntitiesQuerySqlServerTest.cs index f44b09966be..bb9070e9b4f 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindKeylessEntitiesQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindKeylessEntitiesQuerySqlServerTest.cs @@ -19,7 +19,7 @@ public NorthwindKeylessEntitiesQuerySqlServerTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindMiscellaneousQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindMiscellaneousQuerySqlServerTest.cs index 138214a588c..a6d63a6074e 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindMiscellaneousQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindMiscellaneousQuerySqlServerTest.cs @@ -22,7 +22,7 @@ public NorthwindMiscellaneousQuerySqlServerTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -2167,7 +2167,7 @@ public override async Task Take_with_single(bool async) { await base.Take_with_single(async); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ @@ -2199,7 +2199,7 @@ public override async Task Take_with_single_select_many(bool async) { await base.Take_with_single_select_many(async); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ @@ -3668,7 +3668,7 @@ public override async Task OrderBy_skip_take_take(bool async) { await base.OrderBy_skip_take_take(async); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ @@ -3706,7 +3706,7 @@ public override async Task OrderBy_skip_take_take_take_take(bool async) { await base.OrderBy_skip_take_take_take_take(async); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ @@ -5902,12 +5902,12 @@ ORDER BY [c].[CustomerID] """); } - [ConditionalFact] + [Fact] public async Task Single_Predicate_Cancellation() => await Assert.ThrowsAnyAsync(async () => await Single_Predicate_Cancellation_test(Fixture.TestSqlLoggerFactory.CancelQuery())); - [ConditionalFact] + [Fact] public Task Query_compiler_concurrency() { const int threadCount = 50; @@ -5940,7 +5940,7 @@ public Task Query_compiler_concurrency() return Task.WhenAll(tasks); } - [ConditionalFact] + [Fact] public Task Race_when_context_disposed_before_query_termination() { DbSet task; @@ -5953,7 +5953,7 @@ public Task Race_when_context_disposed_before_query_termination() return Assert.ThrowsAsync(() => task.SingleAsync(c => c.CustomerID == "ALFKI")); } - [ConditionalFact] + [Fact] public async Task Concurrent_async_queries_are_serialized2() { using var context = CreateContext(); @@ -5967,7 +5967,7 @@ await context.OrderDetails .Where(od => od.OrderID > 0)).ToListAsync(); } - [ConditionalFact] + [Fact] public async Task Concurrent_async_queries_when_raw_query() { using var context = CreateContext(); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindNavigationsQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindNavigationsQuerySqlServerTest.cs index bfeae0b8e99..273f37ae1ef 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindNavigationsQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindNavigationsQuerySqlServerTest.cs @@ -17,7 +17,7 @@ public NorthwindNavigationsQuerySqlServerTest( fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindQueryFiltersQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindQueryFiltersQuerySqlServerTest.cs index 454be9b4098..f6cdd9bd9f8 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindQueryFiltersQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindQueryFiltersQuerySqlServerTest.cs @@ -19,7 +19,7 @@ public NorthwindQueryFiltersQuerySqlServerTest( fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -252,7 +252,7 @@ WHERE [o0].[Quantity] > @ef_filter___quantity """); } - [ConditionalFact] + [Fact] public void FromSql_is_composed() { using (var context = Fixture.CreateContext()) @@ -274,7 +274,7 @@ WHERE [m].[CompanyName] LIKE @ef_filter__TenantPrefix_startswith ESCAPE N'\' """); } - [ConditionalFact] + [Fact] public void FromSql_is_composed_when_filter_has_navigation() { using (var context = Fixture.CreateContext()) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindQuerySqlServerFixture.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindQuerySqlServerFixture.cs index b22b3402bef..80920a58885 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindQuerySqlServerFixture.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindQuerySqlServerFixture.cs @@ -14,7 +14,7 @@ protected override ITestStoreFactory TestStoreFactory => SqlServerNorthwindTestStoreFactory.Instance; public override DbContextOptionsBuilder AddOptions(DbContextOptionsBuilder builder) - => TestEnvironment.SetCompatibilityLevelFromEnvironment(base.AddOptions(builder)); + => SqlServerTestEnvironment.SetCompatibilityLevelFromEnvironment(base.AddOptions(builder)); protected override void OnModelCreating(ModelBuilder modelBuilder, DbContext context) { diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindQueryTaggingQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindQueryTaggingQuerySqlServerTest.cs index 620310d0136..89476e557bc 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindQueryTaggingQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindQueryTaggingQuerySqlServerTest.cs @@ -17,7 +17,7 @@ public NorthwindQueryTaggingQuerySqlServerTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -103,7 +103,7 @@ ORDER BY [c0].[CustomerID] """); } - [ConditionalFact] + [Fact] public virtual void Tag_on_split_include_query() { using var context = CreateContext(); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSelectQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSelectQuerySqlServerTest.cs index d31594ed0d4..3d39be2048c 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSelectQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSelectQuerySqlServerTest.cs @@ -17,7 +17,7 @@ public NorthwindSelectQuerySqlServerTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -856,7 +856,7 @@ public override async Task Project_single_element_from_collection_with_OrderBy_T { await base.Project_single_element_from_collection_with_OrderBy_Take_and_FirstOrDefault_with_parameter(async); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ @@ -1386,7 +1386,7 @@ public override async Task Select_with_multiple_Take(bool async) { await base.Select_with_multiple_Take(async); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSetOperationsQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSetOperationsQuerySqlServerTest.cs index e1402293072..e904994ae2d 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSetOperationsQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSetOperationsQuerySqlServerTest.cs @@ -19,7 +19,7 @@ public NorthwindSetOperationsQuerySqlServerTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -1581,7 +1581,7 @@ public override async Task Client_eval_Union_FirstOrDefault(bool async) AssertSql(); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Union_with_different_store_types_is_fine_if_database_can_translate_it(bool async) { await AssertQuery( @@ -1600,7 +1600,7 @@ FROM [Customers] AS [c0] """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] // Issue #29020 + [Theory, MemberData(nameof(IsAsyncData))] // Issue #29020 public virtual async Task Union_with_type_mappings_to_same_store_type(bool async) { await AssertQuery( diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSplitIncludeNoTrackingQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSplitIncludeNoTrackingQuerySqlServerTest.cs index 1bbb9176ed2..7c08bbd81c3 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSplitIncludeNoTrackingQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSplitIncludeNoTrackingQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -17,7 +17,7 @@ public NorthwindSplitIncludeNoTrackingQuerySqlServerTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -1237,7 +1237,7 @@ public override async Task Multi_level_includes_are_applied_with_take(bool async { await base.Multi_level_includes_are_applied_with_take(async); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ @@ -1851,7 +1851,7 @@ public override async Task Multi_level_includes_are_applied_with_skip_take(bool { await base.Multi_level_includes_are_applied_with_skip_take(async); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSplitIncludeQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSplitIncludeQuerySqlServerTest.cs index 4f2ddadcec9..70c3e119c16 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSplitIncludeQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSplitIncludeQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.Northwind; @@ -19,7 +19,7 @@ public NorthwindSplitIncludeQuerySqlServerTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -229,7 +229,7 @@ ORDER BY [o].[OrderID] """); } - [ConditionalFact] + [Fact] public virtual void ToQueryString_for_include_reference_and_collection() { using var context = CreateContext(); @@ -2331,7 +2331,7 @@ public override async Task Multi_level_includes_are_applied_with_take(bool async { await base.Multi_level_includes_are_applied_with_take(async); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ @@ -2431,7 +2431,7 @@ public override async Task Multi_level_includes_are_applied_with_skip_take(bool { await base.Multi_level_includes_are_applied_with_skip_take(async); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSqlQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSqlQuerySqlServerTest.cs index 7d0e5c6d2f9..8e52be10ca8 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSqlQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSqlQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.Data.SqlClient; @@ -13,7 +13,7 @@ public NorthwindSqlQuerySqlServerTest(NorthwindQuerySqlServerFixture Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindStringIncludeQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindStringIncludeQuerySqlServerTest.cs index af7a77ae9ef..fdcc79ae159 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindStringIncludeQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindStringIncludeQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -12,7 +12,7 @@ public NorthwindStringIncludeQuerySqlServerTest(NorthwindQuerySqlServerFixture Fixture.TestSqlLoggerFactory.Clear(); - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -761,7 +761,7 @@ public override async Task Multi_level_includes_are_applied_with_take(bool async { await base.Multi_level_includes_are_applied_with_take(async); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ @@ -964,7 +964,7 @@ public override async Task Multi_level_includes_are_applied_with_skip_take(bool { await base.Multi_level_includes_are_applied_with_skip_take(async); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindWhereQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindWhereQuerySqlServerTest.cs index f977908f550..300eac0ebd0 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindWhereQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindWhereQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -17,7 +17,7 @@ public NorthwindWhereQuerySqlServerTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -1689,7 +1689,7 @@ FROM [Orders] AS [o] """); } - [ConditionalTheory] + [Theory] public override async Task Using_same_parameter_twice_in_query_generates_one_sql_parameter(bool async) { await base.Using_same_parameter_twice_in_query_generates_one_sql_parameter(async); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/OperatorsQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/OperatorsQuerySqlServerTest.cs index cda003b5ba6..7d2a37b864c 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/OperatorsQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/OperatorsQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.Operators; @@ -153,7 +153,7 @@ FROM [Owner] AS [o] """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData)), SqlServerCondition(SqlServerCondition.SupportsSqlClr)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsSqlClrSupported)), MemberData(nameof(IsAsyncData))] public virtual async Task Where_AtTimeZone_datetimeoffset_constant(bool async) { var contextFactory = await InitializeNonSharedTest(seed: Seed); @@ -181,7 +181,7 @@ FROM [OperatorEntityDateTimeOffset] AS [o] """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData)), SqlServerCondition(SqlServerCondition.SupportsSqlClr)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsSqlClrSupported)), MemberData(nameof(IsAsyncData))] public virtual async Task Where_AtTimeZone_datetimeoffset_parameter(bool async) { var contextFactory = await InitializeNonSharedTest(seed: Seed); @@ -215,7 +215,7 @@ FROM [OperatorEntityDateTimeOffset] AS [o] """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData)), SqlServerCondition(SqlServerCondition.SupportsSqlClr)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsSqlClrSupported)), MemberData(nameof(IsAsyncData))] public virtual async Task Where_AtTimeZone_datetimeoffset_column(bool async) { var contextFactory = await InitializeNonSharedTest(seed: Seed); @@ -247,7 +247,7 @@ CROSS JOIN [OperatorEntityDateTimeOffset] AS [o0] """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData)), SqlServerCondition(SqlServerCondition.SupportsSqlClr)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsSqlClrSupported)), MemberData(nameof(IsAsyncData))] public virtual async Task Where_AtTimeZone_is_null(bool async) { var contextFactory = await InitializeNonSharedTest(seed: Seed); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/OwnedEntityQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/OwnedEntityQuerySqlServerTest.cs index 2bce79623e8..bdecc53cb7f 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/OwnedEntityQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/OwnedEntityQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // ReSharper disable InconsistentNaming @@ -16,7 +16,7 @@ protected override ITestStoreFactory NonSharedTestStoreFactory #region 22054 - [ConditionalFact] + [Fact] public virtual async Task Optional_dependent_is_null_when_sharing_required_column_with_principal() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -139,7 +139,7 @@ public class Address22054 #region 22340 - [ConditionalFact] + [Fact] public virtual async Task Owned_entity_mapped_to_separate_table() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); @@ -235,7 +235,7 @@ public class Currency22340 #region 23211 - [ConditionalFact] + [Fact] public virtual async Task Collection_include_on_owner_with_owned_type_mapped_to_different_table() { var contextFactory = await InitializeNonSharedTest(seed: c => c.SeedAsync()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/PrecompiledQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/PrecompiledQuerySqlServerTest.cs index f7d013e0b75..ef813c77564 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/PrecompiledQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/PrecompiledQuerySqlServerTest.cs @@ -1841,7 +1841,7 @@ ORDER BY [m].[Id] """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] public virtual async Task SqlServerAggregateFunctionExpression() { await Test( @@ -1862,7 +1862,7 @@ GROUP BY [b].[Id] // SqlServerOpenJsonExpression is covered by PrecompiledQueryRelationalTestBase.Contains_with_parameterized_collection -// [ConditionalFact] +// [Fact] // public virtual Task TableValuedFunctionExpression_toplevel() // => Test( // "_ = context.GetBlogsWithAtLeast(9).ToList();", @@ -1900,7 +1900,7 @@ GROUP BY [b].[Id] // """, // cleanupSql: "DROP FUNCTION dbo.GetBlogsWithAtLeast;"); // -// [ConditionalFact] +// [Fact] // public virtual Task TableValuedFunctionExpression_non_toplevel() // => Test( // "_ = context.Blogs.Where(b => context.GetPosts(b.Id).Count() == 2).ToList();", @@ -2170,7 +2170,7 @@ FROM [Blogs] AS [b] """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/PrecompiledSqlPregenerationQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/PrecompiledSqlPregenerationQuerySqlServerTest.cs index 301cf3d46b5..c6b115f257c 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/PrecompiledSqlPregenerationQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/PrecompiledSqlPregenerationQuerySqlServerTest.cs @@ -225,7 +225,7 @@ ORDER BY [b].[Name] #endregion Tests for the different querying enumerables - [ConditionalFact] + [Fact] public virtual async Task Do_not_cache_is_respected() { // The "do not cache" flag in the 2nd part of the query pipeline is turned on in provider-specific situations, so we test it diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/PrimitiveCollectionsQueryOldSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/PrimitiveCollectionsQueryOldSqlServerTest.cs index b0f77b12b83..45961fb92ca 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/PrimitiveCollectionsQueryOldSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/PrimitiveCollectionsQueryOldSqlServerTest.cs @@ -1354,7 +1354,7 @@ public override Task Column_collection_of_nullable_strings_contains_null() public override Task Column_collection_of_bools_Contains() => AssertCompatibilityLevelTooLow(() => base.Column_collection_of_bools_Contains()); - [ConditionalFact] + [Fact] public virtual async Task Json_representation_of_bool_array() { await using var context = CreateContext(); @@ -1404,7 +1404,7 @@ SELECT COUNT(*) """); } - [ConditionalFact] + [Fact] public override Task Multidimensional_array_is_not_supported() => base.Multidimensional_array_is_not_supported(); @@ -2137,7 +2137,7 @@ SELECT COUNT(*) """); } - [ConditionalFact] // #37605 + [Fact] // #37605 public virtual async Task Parameter_collection_with_null_value_Contains_null_2201_values() { using var context = Fixture.CreateContext(); @@ -2159,7 +2159,7 @@ protected override DbContextOptionsBuilder SetParameterizedCollectionMode( return optionsBuilder; } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/PrimitiveCollectionsQuerySqlServerJsonTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/PrimitiveCollectionsQuerySqlServerJsonTypeTest.cs index 6bfe2463603..ecf7591c6d1 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/PrimitiveCollectionsQuerySqlServerJsonTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/PrimitiveCollectionsQuerySqlServerJsonTypeTest.cs @@ -1,9 +1,9 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; -[SqlServerCondition(SqlServerCondition.SupportsJsonType)] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsJsonTypeSupported))] public class PrimitiveCollectionsQuerySqlServerJsonTypeTest : PrimitiveCollectionsQueryRelationalTestBase< PrimitiveCollectionsQuerySqlServerJsonTypeTest.PrimitiveCollectionsQuerySqlServerFixture> { @@ -18,7 +18,7 @@ public PrimitiveCollectionsQuerySqlServerJsonTypeTest( Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -1660,7 +1660,7 @@ WHERE JSON_CONTAINS([p].[Bools], CAST(1 AS bit)) = 1 """); } - [ConditionalFact] + [Fact] public virtual async Task Json_representation_of_bool_array() { await using var context = CreateContext(); @@ -1727,7 +1727,7 @@ SELECT COUNT(*) """); } - [ConditionalFact] + [Fact] public override Task Multidimensional_array_is_not_supported() => base.Multidimensional_array_is_not_supported(); @@ -1961,7 +1961,7 @@ ORDER BY [v].[_ord] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Parameter_collection_index_Column_equal_Column() { await base.Parameter_collection_index_Column_equal_Column(); @@ -1976,7 +1976,7 @@ WHERE JSON_VALUE(@ints, '$[' + CAST([p].[Int] AS nvarchar(max)) + ']' RETURNING """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Parameter_collection_index_Column_equal_constant() { await base.Parameter_collection_index_Column_equal_constant(); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/PrimitiveCollectionsQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/PrimitiveCollectionsQuerySqlServerTest.cs index d266ab765bf..cb68de4d396 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/PrimitiveCollectionsQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/PrimitiveCollectionsQuerySqlServerTest.cs @@ -241,7 +241,7 @@ public override async Task Inline_collection_Min_with_two_values() { await base.Inline_collection_Min_with_two_values(); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ @@ -267,7 +267,7 @@ public override async Task Inline_collection_List_Min_with_two_values() { await base.Inline_collection_List_Min_with_two_values(); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ @@ -293,7 +293,7 @@ public override async Task Inline_collection_Max_with_two_values() { await base.Inline_collection_Max_with_two_values(); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ @@ -319,7 +319,7 @@ public override async Task Inline_collection_List_Max_with_two_values() { await base.Inline_collection_List_Max_with_two_values(); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ @@ -345,7 +345,7 @@ public override async Task Inline_collection_Min_with_three_values() { await base.Inline_collection_Min_with_three_values(); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ @@ -375,7 +375,7 @@ public override async Task Inline_collection_List_Min_with_three_values() { await base.Inline_collection_List_Min_with_three_values(); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ @@ -405,7 +405,7 @@ public override async Task Inline_collection_Max_with_three_values() { await base.Inline_collection_Max_with_three_values(); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ @@ -435,7 +435,7 @@ public override async Task Inline_collection_List_Max_with_three_values() { await base.Inline_collection_List_Max_with_three_values(); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ @@ -465,7 +465,7 @@ public override async Task Inline_collection_of_nullable_value_type_Min() { await base.Inline_collection_of_nullable_value_type_Min(); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ @@ -495,7 +495,7 @@ public override async Task Inline_collection_of_nullable_value_type_Max() { await base.Inline_collection_of_nullable_value_type_Max(); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ @@ -525,7 +525,7 @@ public override async Task Inline_collection_of_nullable_value_type_with_null_Mi { await base.Inline_collection_of_nullable_value_type_with_null_Min(); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ @@ -551,7 +551,7 @@ public override async Task Inline_collection_of_nullable_value_type_with_null_Ma { await base.Inline_collection_of_nullable_value_type_with_null_Max(); - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { AssertSql( """ @@ -608,7 +608,7 @@ public override async Task Inline_collection_Contains_with_EF_Parameter() { await base.Inline_collection_Contains_with_EF_Parameter(); - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -642,7 +642,7 @@ public override async Task Inline_collection_Contains_with_IEnumerable_EF_Parame { await base.Inline_collection_Contains_with_IEnumerable_EF_Parameter(); - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -676,7 +676,7 @@ public override async Task Inline_collection_Count_with_column_predicate_with_EF { await base.Inline_collection_Count_with_column_predicate_with_EF_Parameter(); - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -957,7 +957,7 @@ public override async Task Parameter_collection_of_nullable_ints_Contains_nullab { await base.Parameter_collection_of_nullable_ints_Contains_nullable_int_with_EF_Parameter(); - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -1322,7 +1322,7 @@ SELECT COUNT(*) case ParameterTranslationMode.Parameter: { - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -1394,7 +1394,7 @@ WHERE [t].[Id] IN (2, 999) case ParameterTranslationMode.Parameter: { - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -1476,7 +1476,7 @@ public override async Task Parameter_collection_Count_with_column_predicate_with { await base.Parameter_collection_Count_with_column_predicate_with_default_mode_EF_Parameter(mode); - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -1510,7 +1510,7 @@ public override async Task Parameter_collection_Contains_with_default_mode_EF_Pa { await base.Parameter_collection_Contains_with_default_mode_EF_Parameter(mode); - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -1629,7 +1629,7 @@ SELECT 1 case ParameterTranslationMode.Parameter: { - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -1739,7 +1739,7 @@ public override async Task Column_collection_of_ints_Contains() { await base.Column_collection_of_ints_Contains(); - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -1766,7 +1766,7 @@ public override async Task Column_collection_of_nullable_ints_Contains() { await base.Column_collection_of_nullable_ints_Contains(); - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -1808,7 +1808,7 @@ public override async Task Column_collection_of_strings_Contains() { await base.Column_collection_of_strings_Contains(); - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -1862,7 +1862,7 @@ public override async Task Column_collection_of_bools_Contains() { await base.Column_collection_of_bools_Contains(); - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -1885,7 +1885,7 @@ FROM OPENJSON([p].[Bools]) WITH ([value] bit '$') AS [b] } } - [ConditionalFact] + [Fact] public virtual async Task Json_representation_of_bool_array() { await using var context = CreateContext(); @@ -1914,7 +1914,7 @@ public override async Task Column_collection_inside_json_owned_entity() { await base.Column_collection_inside_json_owned_entity(); - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -1972,7 +1972,7 @@ SELECT COUNT(*) """); } - [ConditionalFact] + [Fact] public override Task Multidimensional_array_is_not_supported() => base.Multidimensional_array_is_not_supported(); @@ -2074,7 +2074,7 @@ public override async Task Column_collection_index_int() { await base.Column_collection_index_int(); - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -2098,7 +2098,7 @@ public override async Task Column_collection_index_string() { await base.Column_collection_index_string(); - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -2122,7 +2122,7 @@ public override async Task Column_collection_index_datetime() { await base.Column_collection_index_datetime(); - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -2146,7 +2146,7 @@ public override async Task Column_collection_index_beyond_end() { await base.Column_collection_index_beyond_end(); - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -2171,7 +2171,7 @@ public override async Task Nullable_reference_column_collection_index_equals_nul // TODO: This test is incorrect, see #33784 await base.Nullable_reference_column_collection_index_equals_nullable_column(); - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -2195,7 +2195,7 @@ public override async Task Non_nullable_reference_column_collection_index_equals { await base.Non_nullable_reference_column_collection_index_equals_nullable_column(); - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -2239,7 +2239,7 @@ public override async Task Inline_collection_index_Column_with_EF_Constant() { await base.Inline_collection_index_Column_with_EF_Constant(); - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -2291,12 +2291,12 @@ ORDER BY [v].[_ord] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Parameter_collection_index_Column_equal_Column() { await base.Parameter_collection_index_Column_equal_Column(); - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -2320,12 +2320,12 @@ WHERE CAST(JSON_VALUE(@ints, '$[' + CAST([p].[Int] AS nvarchar(max)) + ']') AS i } } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Parameter_collection_index_Column_equal_constant() { await base.Parameter_collection_index_Column_equal_constant(); - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -2353,7 +2353,7 @@ public override async Task Column_collection_ElementAt() { await base.Column_collection_ElementAt(); - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -2732,12 +2732,12 @@ FROM OPENJSON([p].[Ints]) AS [i] """); } - [SqlServerCondition(SqlServerCondition.SupportsJsonPathExpressions)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsJsonPathExpressions))] public override async Task Parameter_collection_with_type_inference_for_JsonScalarExpression() { await base.Parameter_collection_with_type_inference_for_JsonScalarExpression(); - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -2854,7 +2854,7 @@ public override async Task Column_collection_equality_parameter_collection() { await base.Column_collection_equality_parameter_collection(); - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -2889,7 +2889,7 @@ public override async Task Column_collection_equality_inline_collection() { await base.Column_collection_equality_inline_collection(); - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -3275,7 +3275,7 @@ public override async Task Project_primitive_collections_element() { await base.Project_primitive_collections_element(); - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { AssertSql( """ @@ -3559,7 +3559,7 @@ SELECT COUNT(*) """); } - [ConditionalFact] // #37605 + [Fact] // #37605 public virtual async Task Parameter_collection_with_null_value_Contains_null_2201_values() { using var context = Fixture.CreateContext(); @@ -3572,7 +3572,7 @@ public virtual async Task Parameter_collection_with_null_value_Contains_null_220 // No SQL assertion as the SQL is huge } - [ConditionalFact] + [Fact] public virtual async Task Ordered_array_of_string() { await TestOrderedArray("a", "b"); @@ -3593,7 +3593,7 @@ OFFSET 1 ROWS """); } - [ConditionalFact] + [Fact] public virtual async Task Ordered_array_of_int() { await TestOrderedArray(1, 2); @@ -3614,7 +3614,7 @@ OFFSET 1 ROWS """); } - [ConditionalFact] + [Fact] public virtual async Task Ordered_array_of_long() { await TestOrderedArray(1L, 2L); @@ -3635,7 +3635,7 @@ OFFSET 1 ROWS """); } - [ConditionalFact] + [Fact] public virtual async Task Ordered_array_of_short() { await TestOrderedArray((short)1, (short)2); @@ -3657,11 +3657,11 @@ OFFSET 1 ROWS } // On relational databases, byte[] gets mapped to a special binary data type, which isn't queryable as a regular primitive collection. - [ConditionalFact] + [Fact] public virtual async Task Ordered_array_of_byte() => await AssertTranslationFailed(() => TestOrderedArray((byte)1, (byte)2)); - [ConditionalFact] + [Fact] public virtual async Task Ordered_array_of_double() { await TestOrderedArray(1d, 2d); @@ -3682,7 +3682,7 @@ OFFSET 1 ROWS """); } - [ConditionalFact] + [Fact] public virtual async Task Ordered_array_of_float() { await TestOrderedArray(1f, 2f); @@ -3703,7 +3703,7 @@ OFFSET 1 ROWS """); } - [ConditionalFact] + [Fact] public virtual async Task Ordered_array_of_decimal() { await TestOrderedArray(1m, 2m); @@ -3724,7 +3724,7 @@ OFFSET 1 ROWS """); } - [ConditionalFact] + [Fact] public virtual async Task Ordered_array_of_DateTime() { await TestOrderedArray(new DateTime(2023, 1, 1, 12, 30, 0), new DateTime(2023, 1, 2, 12, 30, 0)); @@ -3745,7 +3745,7 @@ OFFSET 1 ROWS """); } - [ConditionalFact] + [Fact] public virtual async Task Ordered_array_of_DateOnly() { await TestOrderedArray(new DateOnly(2023, 1, 1), new DateOnly(2023, 1, 2)); @@ -3766,7 +3766,7 @@ OFFSET 1 ROWS """); } - [ConditionalFact] + [Fact] public virtual async Task Ordered_array_of_TimeOnly() { await TestOrderedArray(new TimeOnly(12, 30, 0), new TimeOnly(12, 30, 1)); @@ -3787,7 +3787,7 @@ OFFSET 1 ROWS """); } - [ConditionalFact] + [Fact] public virtual async Task Ordered_array_of_DateTimeOffset() { await TestOrderedArray( @@ -3810,7 +3810,7 @@ OFFSET 1 ROWS """); } - [ConditionalFact] + [Fact] public virtual async Task Ordered_array_of_bool() { await TestOrderedArray(true, false); @@ -3831,7 +3831,7 @@ OFFSET 1 ROWS """); } - [ConditionalFact] + [Fact] public virtual async Task Ordered_array_of_guid() { await TestOrderedArray( @@ -3854,7 +3854,7 @@ OFFSET 1 ROWS """); } - [ConditionalFact] + [Fact] public virtual async Task Ordered_array_of_byte_array() { var exception = await Assert.ThrowsAsync(() => TestOrderedArray([1, 2], new byte[] { 3, 4 })); @@ -3862,7 +3862,7 @@ public virtual async Task Ordered_array_of_byte_array() Assert.Equal(SqlServerStrings.QueryingOrderedBinaryJsonCollectionsNotSupported, exception.Message); } - [ConditionalFact] + [Fact] public virtual async Task Ordered_array_of_enum() { await TestOrderedArray(OrderedTestEnum.Label1, OrderedTestEnum.Label2); @@ -3947,7 +3947,7 @@ private static readonly MethodInfo CountWithPredicateMethod private static readonly MethodInfo SkipMethod = typeof(Enumerable).GetRuntimeMethods().Single(m => m.Name == nameof(Enumerable.Skip) && m.GetParameters().Length == 2); - [ConditionalFact] + [Fact] public virtual async Task Same_parameter_with_different_type_mappings() { var contextFactory = await InitializeNonSharedTest( @@ -3980,7 +3980,7 @@ WHERE [t].[DateTime] IN (@dateTimes1, @dateTimes2) AND [t].[DateTime2] IN (@date """); } - [ConditionalFact] + [Fact] public virtual async Task Same_collection_with_default_type_mapping_and_uninferrable_context() { var contextFactory = await InitializeNonSharedTest( @@ -4009,7 +4009,7 @@ SELECT 1 """); } - [ConditionalFact] + [Fact] public virtual async Task Same_collection_with_non_default_type_mapping_and_uninferrable_context() { var contextFactory = await InitializeNonSharedTest( @@ -4025,7 +4025,7 @@ public virtual async Task Same_collection_with_non_default_type_mapping_and_unin Assert.Equal(RelationalStrings.ConflictingTypeMappingsInferredForColumn("Value"), exception.Message); } - [ConditionalFact] + [Fact] public virtual async Task Same_collection_with_conflicting_type_mappings_not_supported() { var contextFactory = await InitializeNonSharedTest( @@ -4046,7 +4046,7 @@ public virtual async Task Same_collection_with_conflicting_type_mappings_not_sup Assert.Equal(RelationalStrings.ConflictingTypeMappingsInferredForColumn("Value"), exception.Message); } - [ConditionalFact] + [Fact] public virtual async Task Infer_inline_collection_type_mapping() { var contextFactory = await InitializeNonSharedTest( @@ -4070,7 +4070,7 @@ ORDER BY [v].[_ord] """); } - [ConditionalFact] + [Fact] public virtual async Task Ordered_collection_with_split_query() { var contextFactory = await InitializeNonSharedTest( @@ -4106,7 +4106,7 @@ public class Dependent } } - [ConditionalFact] + [Fact] public virtual async Task Parameter_collection_of_ints_Contains_int_2071_values() { var ints = Enumerable.Repeat(10, 2071).ToArray(); @@ -4116,7 +4116,7 @@ public virtual async Task Parameter_collection_of_ints_Contains_int_2071_values( Assert.Contains("@ints2071)", Fixture.TestSqlLoggerFactory.SqlStatements[0], StringComparison.Ordinal); } - [ConditionalTheory] + [Theory] [InlineData(2098)] [InlineData(2099)] [InlineData(2100)] @@ -4128,7 +4128,7 @@ public virtual Task Parameter_collection_of_ints_Contains_int_parameters_limit(i return AssertQuery(ss => ss.Set().Where(c => ints.Contains(c.Int))); } - [ConditionalTheory] + [Theory] [InlineData(2098)] [InlineData(2099)] [InlineData(2100)] @@ -4149,7 +4149,7 @@ protected override DbContextOptionsBuilder SetParameterizedCollectionMode( return optionsBuilder; } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -4168,7 +4168,7 @@ protected override ITestStoreFactory TestStoreFactory => SqlServerTestStoreFactory.Instance; public override DbContextOptionsBuilder AddOptions(DbContextOptionsBuilder builder) - => TestEnvironment.SetCompatibilityLevelFromEnvironment(base.AddOptions(builder)); + => SqlServerTestEnvironment.SetCompatibilityLevelFromEnvironment(base.AddOptions(builder)); protected override void OnModelCreating(ModelBuilder modelBuilder, DbContext context) { diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/QueryLoggingSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/QueryLoggingSqlServerTest.cs index 8d0a62628d0..0386c72433a 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/QueryLoggingSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/QueryLoggingSqlServerTest.cs @@ -20,7 +20,7 @@ public QueryLoggingSqlServerTest(NorthwindQuerySqlServerFixture Fixture { get; } - [ConditionalFact] + [Fact] public virtual void Queryable_simple() { using var context = CreateContext(); @@ -38,7 +38,7 @@ var customers Fixture.TestSqlLoggerFactory.Log[1].Message); } - [ConditionalFact] + [Fact] public virtual void Queryable_simple_split() { using var context = CreateContext(); @@ -52,7 +52,7 @@ var customers Fixture.TestSqlLoggerFactory.Log[1].Message); } - [ConditionalFact] + [Fact] public virtual void Queryable_with_parameter_outputs_parameter_value_logging_warning() { using var context = CreateContext(); @@ -72,7 +72,7 @@ var customers Fixture.TestSqlLoggerFactory.Log.Select(l => l.Message)); } - [ConditionalFact] + [Fact] public virtual void Include_navigation() { using var context = CreateContext(); @@ -89,7 +89,7 @@ var customers Fixture.TestSqlLoggerFactory.Log[1].Message); } - [ConditionalFact] + [Fact] public virtual void Skip_without_order_by() { using var context = CreateContext(); @@ -102,7 +102,7 @@ public virtual void Skip_without_order_by() Fixture.TestSqlLoggerFactory.Log[1].Message); } - [ConditionalFact] + [Fact] public virtual void Take_without_order_by() { using var context = CreateContext(); @@ -115,7 +115,7 @@ public virtual void Take_without_order_by() Fixture.TestSqlLoggerFactory.Log[1].Message); } - [ConditionalFact] + [Fact] public virtual void FirstOrDefault_without_filter_order_by() { using var context = CreateContext(); @@ -128,7 +128,7 @@ public virtual void FirstOrDefault_without_filter_order_by() Fixture.TestSqlLoggerFactory.Log[1].Message); } - [ConditionalFact] + [Fact] public virtual void Distinct_used_after_order_by() { using var context = CreateContext(); @@ -142,7 +142,7 @@ public virtual void Distinct_used_after_order_by() Fixture.TestSqlLoggerFactory.Log[1].Message); } - [ConditionalFact] + [Fact] public virtual void Include_collection_does_not_generate_warning() { using var context = CreateContext(); @@ -156,7 +156,7 @@ public virtual void Include_collection_does_not_generate_warning() Fixture.TestSqlLoggerFactory.Log.Select(e => e.Message)); } - [ConditionalFact] + [Fact] public void SelectExpression_does_not_use_an_old_logger() { DbContextOptions CreateOptions(ListLoggerFactory listLoggerFactory) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/SpatialQuerySqlServerGeographyTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/SpatialQuerySqlServerGeographyTest.cs index c05a21b3e44..6895d67e0e9 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/SpatialQuerySqlServerGeographyTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/SpatialQuerySqlServerGeographyTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.SpatialModel; @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query; #nullable disable -[SqlServerCondition(SqlServerCondition.SupportsSqlClr)] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsSqlClrSupported))] public class SpatialQuerySqlServerGeographyTest : SpatialQueryRelationalTestBase { public SpatialQuerySqlServerGeographyTest(SpatialQuerySqlServerGeographyFixture fixture, ITestOutputHelper testOutputHelper) @@ -218,7 +218,7 @@ public override Task Covers(bool async) public override Task Crosses(bool async) => Task.CompletedTask; - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task CurveToLine(bool async) { await AssertQuery( diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/SpatialQuerySqlServerGeometryTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/SpatialQuerySqlServerGeometryTest.cs index 88b283e7ce3..fce52cf195d 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/SpatialQuerySqlServerGeometryTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/SpatialQuerySqlServerGeometryTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.SpatialModel; @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Query; #nullable disable -[SqlServerCondition(SqlServerCondition.SupportsSqlClr)] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsSqlClrSupported))] public class SpatialQuerySqlServerGeometryTest : SpatialQueryRelationalTestBase { public SpatialQuerySqlServerGeometryTest(SpatialQuerySqlServerGeometryFixture fixture, ITestOutputHelper testOutputHelper) @@ -245,7 +245,7 @@ FROM [LineStringEntity] AS [l] """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task CurveToLine(bool async) { await AssertQuery( diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/TemporalComplexNavigationsCollectionsQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/TemporalComplexNavigationsCollectionsQuerySqlServerTest.cs index 07544c66999..edbf4bea3fd 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/TemporalComplexNavigationsCollectionsQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/TemporalComplexNavigationsCollectionsQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.ComplexNavigationsModel; @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Query; #nullable disable -[SqlServerCondition(SqlServerCondition.SupportsTemporalTablesCascadeDelete)] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsTemporalTablesCascadeDeleteSupported))] public class TemporalComplexNavigationsCollectionsQuerySqlServerTest : ComplexNavigationsCollectionsQueryRelationalTestBase { @@ -37,7 +37,7 @@ protected override Expression RewriteServerQueryExpression(Expression serverQuer return rewriter.Visit(serverQueryExpression); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/TemporalComplexNavigationsCollectionsSharedTypeQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/TemporalComplexNavigationsCollectionsSharedTypeQuerySqlServerTest.cs index 071738ab0f6..a0e4a51a5da 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/TemporalComplexNavigationsCollectionsSharedTypeQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/TemporalComplexNavigationsCollectionsSharedTypeQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.ComplexNavigationsModel; @@ -190,7 +190,7 @@ ORDER BY [l].[Id] """); } - [ConditionalTheory(Skip = "See issue#28058")] + [Theory(Skip = "See issue#28058")] public override async Task Complex_query_with_let_collection_projection_FirstOrDefault_with_ToList_on_inner_and_outer(bool async) { await base.Complex_query_with_let_collection_projection_FirstOrDefault_with_ToList_on_inner_and_outer(async); @@ -3284,7 +3284,7 @@ public override async Task SelectMany_with_predicate_and_DefaultIfEmpty_projecti Assert.True(exception.InnerException is InvalidCastException); } - [ConditionalTheory(Skip = "issue #26922")] + [Theory(Skip = "issue #26922")] public override async Task Filtered_include_include_parameter_used_inside_filter_throws(bool async) { await base.Filtered_include_include_parameter_used_inside_filter_throws(async); @@ -3292,7 +3292,7 @@ public override async Task Filtered_include_include_parameter_used_inside_filter AssertSql(""); } - [ConditionalTheory(Skip = "issue #26922")] + [Theory(Skip = "issue #26922")] public override async Task Filtered_include_outer_parameter_used_inside_filter(bool async) { await base.Filtered_include_outer_parameter_used_inside_filter(async); @@ -3300,7 +3300,7 @@ public override async Task Filtered_include_outer_parameter_used_inside_filter(b AssertSql(""); } - [ConditionalTheory(Skip = "issue #26922")] + [Theory(Skip = "issue #26922")] public override async Task Include_inside_subquery(bool async) { await base.Include_inside_subquery(async); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/TemporalGearsOfWarQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/TemporalGearsOfWarQuerySqlServerTest.cs index 029f935662b..0548560db08 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/TemporalGearsOfWarQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/TemporalGearsOfWarQuerySqlServerTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query; #nullable disable -[SqlServerCondition(SqlServerCondition.SupportsTemporalTablesCascadeDelete)] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsTemporalTablesCascadeDeleteSupported))] public class TemporalGearsOfWarQuerySqlServerTest : GearsOfWarQueryRelationalTestBase { public TemporalGearsOfWarQuerySqlServerTest(TemporalGearsOfWarQuerySqlServerFixture fixture, ITestOutputHelper testOutputHelper) @@ -45,7 +45,7 @@ protected override Expression RewriteServerQueryExpression(Expression serverQuer return rewriter.Visit(serverQueryExpression); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -326,7 +326,7 @@ SELECT 1 """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Set_operation_on_temporal_same_ops(bool async) { using var ctx = CreateContext(); @@ -347,7 +347,7 @@ UNION ALL """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Set_operation_with_inheritance_on_temporal_same_ops(bool async) { using var ctx = CreateContext(); @@ -369,7 +369,7 @@ UNION ALL """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Set_operation_on_temporal_different_dates(bool async) { using var ctx = CreateContext(); @@ -7342,7 +7342,7 @@ ELSE N'' """); } - [ConditionalTheory(Skip = "Issue #34001 SqlServer never returns null for bool?")] + [Theory(Skip = "Issue #34001 SqlServer never returns null for bool?")] public override async Task ToString_boolean_computed_nullable(bool async) { await base.ToString_boolean_computed_nullable(async); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/TemporalManyToManyQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/TemporalManyToManyQuerySqlServerTest.cs index d562b80a953..92acdf2088b 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/TemporalManyToManyQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/TemporalManyToManyQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.TestModels.ManyToManyModel; @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Query; #nullable disable -[SqlServerCondition(SqlServerCondition.SupportsTemporalTablesCascadeDelete)] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsTemporalTablesCascadeDeleteSupported))] public class TemporalManyToManyQuerySqlServerTest : ManyToManyQueryRelationalTestBase { public TemporalManyToManyQuerySqlServerTest(TemporalManyToManyQuerySqlServerFixture fixture, ITestOutputHelper testOutputHelper) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/TemporalOwnedQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/TemporalOwnedQuerySqlServerTest.cs index b91e5797b0d..4ec8ae98396 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/TemporalOwnedQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/TemporalOwnedQuerySqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.SqlServer.Internal; @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Query; #nullable disable -[SqlServerCondition(SqlServerCondition.SupportsTemporalTablesCascadeDelete)] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsTemporalTablesCascadeDeleteSupported))] public class TemporalOwnedQuerySqlServerTest : OwnedQueryRelationalTestBase< TemporalOwnedQuerySqlServerTest.TemporalOwnedQuerySqlServerFixture> { @@ -36,7 +36,7 @@ protected override Expression RewriteServerQueryExpression(Expression serverQuer return rewriter.Visit(serverQueryExpression); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Navigation_on_owned_entity_mapped_to_same_table_works_with_all_temporal_methods(bool async) { var context = CreateContext(); @@ -87,7 +87,7 @@ FROM [OwnedPerson] FOR SYSTEM_TIME ALL AS [o] """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Navigation_on_owned_entity_mapped_to_different_table_fails_for_non_asof(bool async) { var context = CreateContext(); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/TemporalTableSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/TemporalTableSqlServerTest.cs index 2e79dc2ad4e..dffe4565b0f 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/TemporalTableSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/TemporalTableSqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.SqlServer.Internal; @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Query; #nullable disable -[SqlServerCondition(SqlServerCondition.SupportsTemporalTablesCascadeDelete)] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsTemporalTablesCascadeDeleteSupported))] public class TemporalTableSqlServerTest(NonSharedFixture fixture) : NonSharedModelTestBase(fixture), IClassFixture { protected override string NonSharedStoreName @@ -23,7 +23,7 @@ protected override ITestStoreFactory NonSharedTestStoreFactory protected void AssertSql(params string[] expected) => TestSqlLoggerFactory.AssertBaseline(expected); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Temporal_owned_basic(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -43,7 +43,7 @@ public virtual async Task Temporal_owned_basic(bool async) """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Temporal_owned_join(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -68,7 +68,7 @@ public virtual async Task Temporal_owned_join(bool async) """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Temporal_owned_set_operation(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -97,7 +97,7 @@ public virtual async Task Temporal_owned_set_operation(bool async) """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Temporal_owned_FromSql(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -127,7 +127,7 @@ public virtual async Task Temporal_owned_FromSql(bool async) """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Temporal_owned_subquery(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -158,7 +158,7 @@ ORDER BY [m0].[Id] DESC """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Temporal_owned_complex(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -196,7 +196,7 @@ ORDER BY [s0].[Id] DESC """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Temporal_owned_complex_with_nontrivial_alias(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -234,7 +234,7 @@ ORDER BY [s0].[Id] DESC """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Temporal_owned_range_operation_negative(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -251,7 +251,7 @@ public virtual async Task Temporal_owned_range_operation_negative(bool async) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Temporal_owned_mapped_to_same_table(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -270,7 +270,7 @@ public virtual async Task Temporal_owned_mapped_to_same_table(bool async) """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Temporal_owned_many(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -291,7 +291,7 @@ public virtual async Task Temporal_owned_many(bool async) """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Temporal_owned_with_union(bool async) { var contextFactory = await InitializeNonSharedTest(); @@ -433,7 +433,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Temporal_with_CLR_period_properties(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -455,7 +455,7 @@ public virtual async Task Temporal_with_CLR_period_properties(bool async) Assert.NotEqual(default, result[0].PeriodEnd); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Temporal_with_CLR_period_properties_and_TemporalAll(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -476,7 +476,7 @@ public virtual async Task Temporal_with_CLR_period_properties_and_TemporalAll(bo Assert.NotEqual(default, result[0].PeriodEnd); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Temporal_with_CLR_period_properties_configured_via_lambda(bool async) { var contextFactory = await InitializeNonSharedTest( @@ -537,7 +537,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Temporal_can_query_shared_derived_hierarchy(bool async) { var contectFactory = await InitializeAsync(OnModelCreating); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/ToSqlQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/ToSqlQuerySqlServerTest.cs index 2b7054dceac..57ab0ea8132 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/ToSqlQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/ToSqlQuerySqlServerTest.cs @@ -10,7 +10,7 @@ public class ToSqlQuerySqlServerTest(NonSharedFixture fixture) : ToSqlQueryTestB protected override ITestStoreFactory NonSharedTestStoreFactory => SqlServerTestStoreFactory.Instance; - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/BasicTypesQuerySqlServerFixture.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/BasicTypesQuerySqlServerFixture.cs index 777a3236aa9..74d039bb0e8 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/BasicTypesQuerySqlServerFixture.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/BasicTypesQuerySqlServerFixture.cs @@ -14,7 +14,7 @@ public TestSqlLoggerFactory TestSqlLoggerFactory => (TestSqlLoggerFactory)ListLoggerFactory; public override DbContextOptionsBuilder AddOptions(DbContextOptionsBuilder builder) - => TestEnvironment.SetCompatibilityLevelFromEnvironment(base.AddOptions(builder)); + => SqlServerTestEnvironment.SetCompatibilityLevelFromEnvironment(base.AddOptions(builder)); protected override void OnModelCreating(ModelBuilder modelBuilder, DbContext context) { diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/ByteArrayTranslationsSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/ByteArrayTranslationsSqlServerTest.cs index fa962275747..60ce69a61d0 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/ByteArrayTranslationsSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/ByteArrayTranslationsSqlServerTest.cs @@ -112,7 +112,7 @@ FROM [BasicTypesEntities] AS [b] """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/EnumTranslationsSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/EnumTranslationsSqlServerTest.cs index 0eaf24c36b5..8df28f8719d 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/EnumTranslationsSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/EnumTranslationsSqlServerTest.cs @@ -300,7 +300,7 @@ FROM [BasicTypesEntities] AS [b] """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/FullTextSearchTranslationsSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/FullTextSearchTranslationsSqlServerTest.cs index 26debf402a1..3a442e45fd1 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/FullTextSearchTranslationsSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/FullTextSearchTranslationsSqlServerTest.cs @@ -6,7 +6,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Translations; -[SqlServerCondition(SqlServerCondition.SupportsFullTextSearch)] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFullTextSearchSupported))] public class FullTextSearchTranslationsSqlServerTest : IClassFixture { private FullTextSearchQueryFixture Fixture { get; } @@ -20,7 +20,7 @@ public FullTextSearchTranslationsSqlServerTest(FullTextSearchQueryFixture fixtur #region FREETEXTTABLE TVF tests - [ConditionalFact] + [Fact] public async Task FreeTextTable_all_columns() { using var context = CreateContext(); @@ -40,7 +40,7 @@ FROM FREETEXTTABLE([Articles], *, @p) AS [f] """); } - [ConditionalFact] + [Fact] public async Task FreeTextTable_single_column() { using var context = CreateContext(); @@ -61,7 +61,7 @@ FROM FREETEXTTABLE([Articles], [Title], @p) AS [f] """); } - [ConditionalFact] + [Fact] public async Task FreeTextTable_multiple_columns() { using var context = CreateContext(); @@ -81,7 +81,7 @@ FROM FREETEXTTABLE([Articles], ([Title], [Content]), @p) AS [f] """); } - [ConditionalFact] + [Fact] public async Task FreeTextTable_join_as_inner() { using var context = CreateContext(); @@ -106,7 +106,7 @@ INNER JOIN FREETEXTTABLE([Articles], *, @p) AS [f] ON [a].[Id] = [f].[KEY] """); } - [ConditionalFact] + [Fact] public async Task FreeTextTable_join_as_outer() { using var context = CreateContext(); @@ -131,7 +131,7 @@ FROM FREETEXTTABLE([Articles], *, @p) AS [f] """); } - [ConditionalFact] + [Fact] public async Task FreeTextTable_with_language_term() { using var context = CreateContext(); @@ -151,7 +151,7 @@ FROM FREETEXTTABLE([Articles], [Title], @p, LANGUAGE N'English') AS [f] """); } - [ConditionalFact] + [Fact] public async Task FreeTextTable_with_top_n() { using var context = CreateContext(); @@ -172,7 +172,7 @@ FROM FREETEXTTABLE([Articles], [Content], @p, @p1) AS [f] """); } - [ConditionalFact] + [Fact] public async Task FreeTextTable_with_language_and_top_n() { using var context = CreateContext(); @@ -193,7 +193,7 @@ FROM FREETEXTTABLE([Articles], [Content], @p, LANGUAGE N'English', @p1) AS [f] """); } - [ConditionalFact] + [Fact] public async Task FreeTextTable_join_to_get_entity() { using var context = CreateContext(); @@ -219,7 +219,7 @@ ORDER BY [f].[RANK] DESC """); } - [ConditionalFact] + [Fact] public async Task FreeTextTable_order_by_rank() { using var context = CreateContext(); @@ -250,7 +250,7 @@ ORDER BY [f].[RANK] DESC #region CONTAINSTABLE TVF tests - [ConditionalFact] + [Fact] public async Task ContainsTable_all_columns() { using var context = CreateContext(); @@ -270,7 +270,7 @@ FROM CONTAINSTABLE([Articles], *, @p) AS [c] """); } - [ConditionalFact] + [Fact] public async Task ContainsTable_single_column() { using var context = CreateContext(); @@ -291,7 +291,7 @@ FROM CONTAINSTABLE([Articles], [Title], @p) AS [c] """); } - [ConditionalFact] + [Fact] public async Task ContainsTable_multiple_columns() { using var context = CreateContext(); @@ -311,7 +311,7 @@ FROM CONTAINSTABLE([Articles], ([Title], [Content]), @p) AS [c] """); } - [ConditionalFact] + [Fact] public async Task ContainsTable_with_language_term() { using var context = CreateContext(); @@ -331,7 +331,7 @@ FROM CONTAINSTABLE([Articles], [Title], @p, LANGUAGE N'English') AS [c] """); } - [ConditionalFact] + [Fact] public async Task ContainsTable_with_top_n() { using var context = CreateContext(); @@ -352,7 +352,7 @@ FROM CONTAINSTABLE([Articles], [Content], @p, @p1) AS [c] """); } - [ConditionalFact] + [Fact] public async Task ContainsTable_join_as_inner() { using var context = CreateContext(); @@ -377,7 +377,7 @@ INNER JOIN CONTAINSTABLE([Articles], *, @p) AS [c] ON [a].[Id] = [c].[KEY] """); } - [ConditionalFact] + [Fact] public async Task ContainsTable_join_as_outer() { using var context = CreateContext(); @@ -406,7 +406,7 @@ FROM CONTAINSTABLE([Articles], *, @p) AS [c] #region FREETEXT predicate tests - [ConditionalFact] + [Fact] public async Task FreeText_literal() { using var context = CreateContext(); @@ -424,14 +424,14 @@ WHERE FREETEXT([a].[Title], N'database') """); } - [ConditionalFact] + [Fact] public void FreeText_client_eval_throws() { Assert.Throws(() => EF.Functions.FreeText("teststring", "teststring")); Assert.Throws(() => EF.Functions.FreeText("teststring", "teststring", 1033)); } - [ConditionalFact] + [Fact] public void FreeText_multiple_words() { using var context = CreateContext(); @@ -449,7 +449,7 @@ WHERE FREETEXT([a].[Content], N'data performance') """); } - [ConditionalFact] + [Fact] public void FreeText_with_language_term() { using var context = CreateContext(); @@ -465,7 +465,7 @@ WHERE FREETEXT([a].[Title], N'querying', LANGUAGE 1033) """); } - [ConditionalFact] + [Fact] public void FreeText_with_non_literal_language_term() { var language = 1033; @@ -482,7 +482,7 @@ WHERE FREETEXT([a].[Title], N'querying', LANGUAGE 1033) """); } - [ConditionalFact] + [Fact] public void FreeText_multiple_predicates() { using var context = CreateContext(); @@ -501,7 +501,7 @@ WHERE FREETEXT([a].[Title], N'database') AND FREETEXT([a].[Content], N'performan """); } - [ConditionalFact] + [Fact] public async Task FreeText_throws_when_using_non_parameter_or_constant_for_freetext_string() { using var context = CreateContext(); @@ -515,7 +515,7 @@ await Assert.ThrowsAsync(async () => await context.Articles.FirstOrDefaultAsync(a => EF.Functions.FreeText(a.Title, a.Content.ToUpper()))); } - [ConditionalFact] + [Fact] public async Task FreeText_throws_when_using_non_column_for_property_reference() { using var context = CreateContext(); @@ -530,7 +530,7 @@ await Assert.ThrowsAsync(async () #region CONTAINS predicate tests - [ConditionalFact] + [Fact] public void Contains_should_throw_on_client_eval() { var exNoLang = Assert.Throws(() => EF.Functions.Contains("teststring", "teststring")); @@ -544,7 +544,7 @@ public void Contains_should_throw_on_client_eval() exLang.Message); } - [ConditionalFact] + [Fact] public async Task Contains_should_throw_when_using_non_parameter_or_constant_for_contains_string() { using var context = CreateContext(); @@ -558,7 +558,7 @@ await Assert.ThrowsAsync(async () => await context.Articles.FirstOrDefaultAsync(a => EF.Functions.Contains(a.Title, a.Content.ToUpper()))); } - [ConditionalFact] + [Fact] public async Task Contains_literal() { using var context = CreateContext(); @@ -576,7 +576,7 @@ WHERE CONTAINS([a].[Title], N'database') """); } - [ConditionalFact] + [Fact] public void Contains_with_language_term() { using var context = CreateContext(); @@ -592,7 +592,7 @@ WHERE CONTAINS([a].[Title], N'querying', LANGUAGE 1033) """); } - [ConditionalFact] + [Fact] public void Contains_with_non_literal_language_term() { var language = 1033; @@ -609,7 +609,7 @@ WHERE CONTAINS([a].[Title], N'querying', LANGUAGE 1033) """); } - [ConditionalFact] + [Fact] public async Task Contains_with_logical_operator() { using var context = CreateContext(); @@ -627,7 +627,7 @@ WHERE CONTAINS([a].[Content], N'data OR storage') """); } - [ConditionalFact] + [Fact] public async Task Contains_with_prefix_term_and_language_term() { using var context = CreateContext(); @@ -644,7 +644,7 @@ WHERE CONTAINS([a].[Title], N'"query*"', LANGUAGE 1033) """); } - [ConditionalFact] + [Fact] public async Task Contains_with_proximity_term_and_language_term() { using var context = CreateContext(); @@ -666,7 +666,7 @@ WHERE CONTAINS([a].[Content], N'NEAR((data, performance), 5)', LANGUAGE 1033) #region Binary column full-text search tests - [ConditionalFact] + [Fact] public async Task FreeText_with_binary_column() { using var context = CreateContext(); @@ -682,7 +682,7 @@ WHERE FREETEXT([b].[Content], N'bombing') """); } - [ConditionalFact] + [Fact] public async Task FreeText_with_binary_column_and_language_term() { using var context = CreateContext(); @@ -698,7 +698,7 @@ WHERE FREETEXT([b].[Content], N'bombing', LANGUAGE 1033) """); } - [ConditionalFact] + [Fact] public async Task Contains_with_binary_column() { using var context = CreateContext(); @@ -714,7 +714,7 @@ WHERE CONTAINS([b].[Content], N'bomb') """); } - [ConditionalFact] + [Fact] public async Task Contains_with_binary_column_and_language_term() { using var context = CreateContext(); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/GuidTranslationsSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/GuidTranslationsSqlServerTest.cs index d06da363f66..7a57ae21769 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/GuidTranslationsSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/GuidTranslationsSqlServerTest.cs @@ -61,7 +61,7 @@ WHERE NEWID() <> '00000000-0000-0000-0000-000000000000' """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/JsonTranslationsSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/JsonTranslationsSqlServerTest.cs index 408e4b8844d..58b9d7716bd 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/JsonTranslationsSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/JsonTranslationsSqlServerTest.cs @@ -14,7 +14,7 @@ public JsonTranslationsSqlServerTest(JsonTranslationsQuerySqlServerFixture fixtu Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] public override async Task JsonPathExists_on_scalar_string_column() { await base.JsonPathExists_on_scalar_string_column(); @@ -27,7 +27,7 @@ WHERE JSON_PATH_EXISTS([j].[JsonString], N'$.OptionalInt') = 1 """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] public override async Task JsonPathExists_on_complex_property() { await base.JsonPathExists_on_complex_property(); @@ -40,7 +40,7 @@ WHERE JSON_PATH_EXISTS([j].[JsonComplexType], N'$.OptionalInt') = 1 """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] public override async Task JsonPathExists_on_owned_entity() { await base.JsonPathExists_on_owned_entity(); @@ -54,7 +54,7 @@ WHERE JSON_PATH_EXISTS([j].[JsonOwnedType], N'$.OptionalInt') = 1 } #pragma warning disable EF9106 // JsonContains is experimental - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsJsonType)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsJsonTypeSupported))] public async Task JsonContains_on_scalar_string_column() { await AssertQuery( @@ -73,7 +73,7 @@ WHERE JSON_CONTAINS([j].[JsonString], 8, N'$.OptionalInt') = 1 """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsJsonType)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsJsonTypeSupported))] public async Task JsonContains_on_complex_property() { await AssertQuery( @@ -90,7 +90,7 @@ WHERE JSON_CONTAINS([j].[JsonComplexType], 8, N'$.OptionalInt') = 1 """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsJsonType)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsJsonTypeSupported))] public async Task JsonContains_on_owned_entity() { await AssertQuery( @@ -118,7 +118,7 @@ public override DbContextOptionsBuilder AddOptions(DbContextOptionsBuilder build { var options = base.AddOptions(builder); - return TestEnvironment.SqlServerMajorVersion < 17 + return SqlServerTestEnvironment.SqlServerMajorVersion < 17 ? options : options.UseSqlServerCompatibilityLevel(170); } @@ -127,7 +127,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder, DbContext con { base.OnModelCreating(modelBuilder, context); - if (TestEnvironment.IsJsonTypeSupported) + if (SqlServerTestEnvironment.IsJsonTypeSupported) { modelBuilder.Entity().Property(e => e.JsonString).HasColumnType("json"); } @@ -137,7 +137,7 @@ protected override string RemoveJsonProperty(string column, string property) => $"JSON_MODIFY({column}, '$.{property}', NULL)"; } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/MathTranslationsSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/MathTranslationsSqlServerTest.cs index 3a848d36b84..1ad8387e69f 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/MathTranslationsSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/MathTranslationsSqlServerTest.cs @@ -479,7 +479,7 @@ WHERE SIGN([b].[Float]) > 0 public override async Task Max() { - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { await base.Max(); @@ -498,7 +498,7 @@ WHERE GREATEST([b].[Int], [b].[Short] - CAST(3 AS smallint)) = [b].[Int] public override async Task Max_nested() { - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { await base.Max_nested(); @@ -517,7 +517,7 @@ WHERE GREATEST([b].[Short] - CAST(3 AS smallint), [b].[Int], 1) = [b].[Int] public override async Task Max_nested_twice() { - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { await base.Max_nested_twice(); @@ -536,7 +536,7 @@ WHERE GREATEST(1, [b].[Int], 2, [b].[Short] - CAST(3 AS smallint)) = [b].[Int] public override async Task Min() { - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { await base.Min(); @@ -555,7 +555,7 @@ WHERE LEAST([b].[Int], [b].[Short] + CAST(3 AS smallint)) = [b].[Int] public override async Task Min_nested() { - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { await base.Min_nested(); @@ -574,7 +574,7 @@ WHERE LEAST([b].[Short] + CAST(3 AS smallint), [b].[Int], 99999) = [b].[Int] public override async Task Min_nested_twice() { - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { await base.Min_nested_twice(); @@ -829,7 +829,7 @@ public override async Task Tanh() #endregion Trigonometry - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/MiscellaneousTranslationsSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/MiscellaneousTranslationsSqlServerTest.cs index ff98df740b6..a0ac0941eed 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/MiscellaneousTranslationsSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/MiscellaneousTranslationsSqlServerTest.cs @@ -768,7 +768,7 @@ FROM [BasicTypesEntities] AS [b] #endregion Compare - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Operators/ArithmeticOperatorTranslationsSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Operators/ArithmeticOperatorTranslationsSqlServerTest.cs index e833e0b9c3c..cfbe4f844c3 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Operators/ArithmeticOperatorTranslationsSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Operators/ArithmeticOperatorTranslationsSqlServerTest.cs @@ -72,7 +72,7 @@ FROM [BasicTypesEntities] AS [b] """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Operators/BitwiseOperatorTranslationsSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Operators/BitwiseOperatorTranslationsSqlServerTest.cs index 5ccc529caf9..90f6d8c3dfd 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Operators/BitwiseOperatorTranslationsSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Operators/BitwiseOperatorTranslationsSqlServerTest.cs @@ -208,7 +208,7 @@ public override Task Left_shift() public override Task Right_shift() => AssertTranslationFailed(() => base.Right_shift()); - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Operators/ComparisonOperatorTranslationsSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Operators/ComparisonOperatorTranslationsSqlServerTest.cs index 0cb5f2efdec..d0e027c7cfb 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Operators/ComparisonOperatorTranslationsSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Operators/ComparisonOperatorTranslationsSqlServerTest.cs @@ -84,7 +84,7 @@ FROM [BasicTypesEntities] AS [b] """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Operators/LogicalOperatorTranslationsSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Operators/LogicalOperatorTranslationsSqlServerTest.cs index a890749f1e4..6a914efec1f 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Operators/LogicalOperatorTranslationsSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Operators/LogicalOperatorTranslationsSqlServerTest.cs @@ -84,7 +84,7 @@ FROM [BasicTypesEntities] AS [b] """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Operators/MiscellaneousOperatorTranslationsSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Operators/MiscellaneousOperatorTranslationsSqlServerTest.cs index f54135b2b4d..0f49f5be3af 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Operators/MiscellaneousOperatorTranslationsSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Operators/MiscellaneousOperatorTranslationsSqlServerTest.cs @@ -39,7 +39,7 @@ WHERE COALESCE([n].[String], N'Unknown') = N'Seattle' """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/StringTranslationsSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/StringTranslationsSqlServerTest.cs index ab511ddd6f0..139ac94aff0 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/StringTranslationsSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/StringTranslationsSqlServerTest.cs @@ -829,7 +829,7 @@ WHERE LTRIM([b].[String]) = N'Boston ' public override async Task TrimStart_with_char_argument() { - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { await base.TrimStart_with_char_argument(); @@ -848,7 +848,7 @@ WHERE LTRIM([b].[String], N'S') = N'eattle' public override async Task TrimStart_with_char_array_argument() { - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { await base.TrimStart_with_char_array_argument(); @@ -883,7 +883,7 @@ WHERE RTRIM([b].[String]) = N' Boston' public override async Task TrimEnd_with_char_argument() { - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { await base.TrimEnd_with_char_argument(); @@ -902,7 +902,7 @@ WHERE RTRIM([b].[String], N'e') = N'Seattl' public override async Task TrimEnd_with_char_array_argument() { - if (TestEnvironment.IsFunctions2022Supported) + if (SqlServerTestEnvironment.IsFunctions2022Supported) { await base.TrimEnd_with_char_array_argument(); @@ -1415,7 +1415,7 @@ FROM [BasicTypesEntities] AS [b] #region Join - [SqlServerCondition(SqlServerCondition.SupportsFunctions2017)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2017Supported))] public override async Task Join_over_non_nullable_column() { await base.Join_over_non_nullable_column(); @@ -1428,7 +1428,7 @@ GROUP BY [b].[Int] """); } - [SqlServerCondition(SqlServerCondition.SupportsFunctions2017)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2017Supported))] public override async Task Join_over_nullable_column() { await base.Join_over_nullable_column(); @@ -1444,7 +1444,7 @@ GROUP BY [n0].[Key] """); } - [SqlServerCondition(SqlServerCondition.SupportsFunctions2017)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2017Supported))] public override async Task Join_with_predicate() { await base.Join_with_predicate(); @@ -1459,7 +1459,7 @@ GROUP BY [b].[Int] """); } - [SqlServerCondition(SqlServerCondition.SupportsFunctions2017)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2017Supported))] public override async Task Join_with_ordering() { await base.Join_with_ordering(); @@ -1472,7 +1472,7 @@ GROUP BY [b].[Int] """); } - [SqlServerCondition(SqlServerCondition.SupportsFunctions2017)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2017Supported))] public override async Task Join_non_aggregate() { await base.Join_non_aggregate(); @@ -1503,7 +1503,7 @@ FROM [BasicTypesEntities] AS [b] """); } - [SqlServerCondition(SqlServerCondition.SupportsFunctions2017)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2017Supported))] public override async Task Concat_aggregate() { await base.Concat_aggregate(); @@ -1720,7 +1720,7 @@ public override Task Regex_IsMatch_constant_input() #endregion Regex - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Temporal/DateOnlyTranslationsSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Temporal/DateOnlyTranslationsSqlServerTest.cs index 475b5144fea..45e0ef6377b 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Temporal/DateOnlyTranslationsSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Temporal/DateOnlyTranslationsSqlServerTest.cs @@ -219,7 +219,7 @@ public override async Task ToDateTime_with_complex_TimeOnly() AssertSql(); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] public virtual async Task DateTrunc_year() { await AssertQueryScalar( @@ -233,7 +233,7 @@ FROM [BasicTypesEntities] AS [b] """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] public virtual async Task DateTrunc_month() { await AssertQueryScalar( @@ -247,7 +247,7 @@ FROM [BasicTypesEntities] AS [b] """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Temporal/DateTimeOffsetTranslationsSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Temporal/DateTimeOffsetTranslationsSqlServerTest.cs index a8aef389f4b..f050b43fa99 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Temporal/DateTimeOffsetTranslationsSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Temporal/DateTimeOffsetTranslationsSqlServerTest.cs @@ -207,7 +207,7 @@ WHERE CONVERT(datetime2, [b].[DateTimeOffset] AT TIME ZONE 'UTC') = '1998-05-04T """); } - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] public override async Task LocalDateTime() { await base.LocalDateTime(); @@ -325,7 +325,7 @@ WHERE DATEDIFF_BIG(second, '1970-01-01T00:00:00.0000000+00:00', [b].[DateTimeOff """); } - [ConditionalFact] + [Fact] public virtual async Task Offset_TotalMinutes() { await AssertQuery(ss => ss.Set().Where(b => b.DateTimeOffset.Offset.TotalMinutes == 90)); @@ -362,7 +362,7 @@ WHERE SWITCHOFFSET([b].[DateTimeOffset], '+02:00') = '1998-05-04T17:30:10.000000 """); } - [ConditionalFact] + [Fact] public virtual async Task ToOffset_parameter() { var offset = new TimeSpan(2, 0, 0); @@ -402,7 +402,7 @@ WHERE DATEPART(year, [b].[DateTime]) > 1 AND TODATETIMEOFFSET([b].[DateTime], '+ """); } - [ConditionalFact] + [Fact] public virtual async Task Ctor_DateTime_TimeSpan_parameter() { var offset = new TimeSpan(2, 0, 0); @@ -422,7 +422,7 @@ WHERE DATEPART(year, [b].[DateTime]) > 1 AND TODATETIMEOFFSET([b].[DateTime], @o """); } - [ConditionalFact] + [Fact] public virtual async Task Now_has_proper_type_mapping_for_constant_comparison() { await AssertQuery( @@ -436,7 +436,7 @@ WHERE SYSDATETIMEOFFSET() > '2025-01-01T00:00:00.0000000+00:00' """); } - [ConditionalFact] + [Fact] public virtual async Task UtcNow_has_proper_type_mapping_for_constant_comparison() { await AssertQuery( @@ -450,7 +450,7 @@ WHERE CAST(SYSUTCDATETIME() AS datetimeoffset) > '2025-01-01T00:00:00.0000000+00 """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] public virtual async Task DateTrunc_day() { await AssertQueryScalar( @@ -464,7 +464,7 @@ FROM [BasicTypesEntities] AS [b] """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] public virtual async Task DateTrunc_hour() { await AssertQueryScalar( @@ -480,7 +480,7 @@ FROM [BasicTypesEntities] AS [b] """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Temporal/DateTimeTranslationsSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Temporal/DateTimeTranslationsSqlServerTest.cs index 060f21aa0ff..74b291fd157 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Temporal/DateTimeTranslationsSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Temporal/DateTimeTranslationsSqlServerTest.cs @@ -243,7 +243,7 @@ FROM [BasicTypesEntities] AS [b] """); } - [ConditionalFact] + [Fact] public virtual async Task Now_has_proper_type_mapping_for_constant_comparison() { await AssertQuery( @@ -257,7 +257,7 @@ WHERE GETDATE() > '2025-01-01T00:00:00.000' """); } - [ConditionalFact] + [Fact] public virtual async Task UtcNow_has_proper_type_mapping_for_constant_comparison() { await AssertQuery( @@ -271,7 +271,7 @@ WHERE GETUTCDATE() > '2025-01-01T00:00:00.000' """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] public virtual async Task DateTrunc_day() { await AssertQueryScalar( @@ -285,7 +285,7 @@ FROM [BasicTypesEntities] AS [b] """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] public virtual async Task DateTrunc_hour() { await AssertQueryScalar( @@ -300,7 +300,7 @@ FROM [BasicTypesEntities] AS [b] """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Temporal/TimeOnlyTranslationsSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Temporal/TimeOnlyTranslationsSqlServerTest.cs index e2f133a76f6..d34bf24a762 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Temporal/TimeOnlyTranslationsSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Temporal/TimeOnlyTranslationsSqlServerTest.cs @@ -218,7 +218,7 @@ ORDER BY [b].[TimeSpan] """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] public virtual async Task DateTrunc_hour() { await AssertQueryScalar( @@ -232,7 +232,7 @@ FROM [BasicTypesEntities] AS [b] """); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] public virtual async Task DateTrunc_minute() { await AssertQueryScalar( @@ -246,7 +246,7 @@ FROM [BasicTypesEntities] AS [b] """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Temporal/TimeSpanTranslationsSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Temporal/TimeSpanTranslationsSqlServerTest.cs index a7b5f42f7b6..2d2417b4871 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Temporal/TimeSpanTranslationsSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/Temporal/TimeSpanTranslationsSqlServerTest.cs @@ -84,7 +84,7 @@ WHERE DATEPART(nanosecond, [b].[TimeSpan]) % 1000 = 400 """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/VectorTranslationsSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/VectorTranslationsSqlServerTest.cs index 48244c25abb..a976ca9ae57 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Translations/VectorTranslationsSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Translations/VectorTranslationsSqlServerTest.cs @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Translations; -[SqlServerCondition(SqlServerCondition.SupportsVectorType)] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsVectorTypeSupported))] public class VectorTranslationsSqlServerTest : IClassFixture { private VectorQueryFixture Fixture { get; } @@ -23,7 +23,7 @@ public VectorTranslationsSqlServerTest(VectorQueryFixture fixture, ITestOutputHe Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public async Task VectorDistance_with_parameter() { using var ctx = CreateContext(); @@ -47,7 +47,7 @@ ORDER BY VECTOR_DISTANCE('cosine', [v].[Vector], @vector) """); } - [ConditionalFact] + [Fact] public async Task VectorDistance_with_constant() { using var ctx = CreateContext(); @@ -70,8 +70,7 @@ ORDER BY VECTOR_DISTANCE('cosine', [v].[Vector], CAST('[1,2,100]' AS VECTOR(3))) } // The latest vector index version (required for VECTOR_SEARCH) is only available on Azure SQL (#36384). - [ConditionalFact] - [SqlServerCondition(SqlServerCondition.IsAzureSql)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsAzureSql))] public async Task VectorSearch_project_entity_and_distance() { using var ctx = CreateContext(); @@ -104,8 +103,7 @@ ORDER BY [v0].[Distance] } // The latest vector index version (required for VECTOR_SEARCH) is only available on Azure SQL (#36384). - [ConditionalFact] - [SqlServerCondition(SqlServerCondition.IsAzureSql)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsAzureSql))] public async Task VectorSearch_exact_knn() { using var ctx = CreateContext(); @@ -137,8 +135,7 @@ ORDER BY [v0].[Distance] } // The latest vector index version (required for VECTOR_SEARCH) is only available on Azure SQL (#36384). - [ConditionalFact] - [SqlServerCondition(SqlServerCondition.IsAzureSql)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsAzureSql))] public async Task VectorSearch_project_entity_only_with_distance_filter() { using var ctx = CreateContext(); @@ -177,8 +174,7 @@ ORDER BY [v0].[Distance] } // The latest vector index version (required for VECTOR_SEARCH) is only available on Azure SQL (#36384). - [ConditionalFact] - [SqlServerCondition(SqlServerCondition.IsAzureSql)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsAzureSql))] public async Task VectorSearch_in_subquery() { using var ctx = CreateContext(); @@ -221,8 +217,7 @@ ORDER BY [v1].[Distance] } // The latest vector index version (required for VECTOR_SEARCH) is only available on Azure SQL (#36384). - [ConditionalFact] - [SqlServerCondition(SqlServerCondition.IsAzureSql)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsAzureSql))] public async Task VectorSearch_with_Where_before_Take() { using var ctx = CreateContext(); @@ -258,8 +253,7 @@ ORDER BY [v0].[Distance] } // The latest vector index version (required for VECTOR_SEARCH) is only available on Azure SQL (#36384). - [ConditionalFact] - [SqlServerCondition(SqlServerCondition.IsAzureSql)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsAzureSql))] public async Task VectorSearch_with_Join_before_Take() { using var ctx = CreateContext(); @@ -298,8 +292,7 @@ ORDER BY [v0].[Distance] } // The latest vector index version (required for VECTOR_SEARCH) is only available on Azure SQL (#36384). - [ConditionalFact] - [SqlServerCondition(SqlServerCondition.IsAzureSql)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsAzureSql))] public async Task VectorSearch_with_Take_and_Skip() { using var ctx = CreateContext(); @@ -339,8 +332,7 @@ OFFSET @p2 ROWS } // The latest vector index version (required for VECTOR_SEARCH) is only available on Azure SQL (#36384). - [ConditionalFact] - [SqlServerCondition(SqlServerCondition.IsAzureSql)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsAzureSql))] public async Task VectorSearch_reranking() { using var ctx = CreateContext(); @@ -384,8 +376,7 @@ ORDER BY [v1].[Id] } // The latest vector index version (required for VECTOR_SEARCH) is only available on Azure SQL (#36384). - [ConditionalFact] - [SqlServerCondition(SqlServerCondition.IsAzureSql)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsAzureSql))] public async Task WithApproximate_without_Take_throws() { using var ctx = CreateContext(); @@ -402,8 +393,7 @@ public async Task WithApproximate_without_Take_throws() } // The latest vector index version (required for VECTOR_SEARCH) is only available on Azure SQL (#36384). - [ConditionalFact] - [SqlServerCondition(SqlServerCondition.IsAzureSql)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsAzureSql))] public async Task WithApproximate_with_Skip_and_Take_throws() { using var ctx = CreateContext(); @@ -423,8 +413,7 @@ public async Task WithApproximate_with_Skip_and_Take_throws() } // The latest vector index version (required for VECTOR_SEARCH) is only available on Azure SQL (#36384). - [ConditionalFact] - [SqlServerCondition(SqlServerCondition.IsAzureSql)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsAzureSql))] public async Task VectorSearch_without_WithApproximate_logs_warning() { using var ctx = CreateContext(); @@ -445,7 +434,7 @@ public async Task VectorSearch_without_WithApproximate_logs_warning() Assert.Contains("VectorEntity", warning.Message); } - [ConditionalFact] + [Fact] public async Task Length() { using var ctx = CreateContext(); diff --git a/test/EFCore.SqlServer.FunctionalTests/SaveChangesInterceptionSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/SaveChangesInterceptionSqlServerTest.cs index 1a81bfdc52a..46f991f1334 100644 --- a/test/EFCore.SqlServer.FunctionalTests/SaveChangesInterceptionSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/SaveChangesInterceptionSqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; @@ -11,7 +11,7 @@ public abstract class SaveChangesInterceptionSqlServerTestBase( SaveChangesInterceptionSqlServerTestBase.InterceptionSqlServerFixtureBase fixture) : SaveChangesInterceptionTestBase(fixture) { - [ConditionalTheory, InlineData(false, false, false), InlineData(true, false, false), InlineData(false, true, false), + [Theory, InlineData(false, false, false), InlineData(true, false, false), InlineData(false, true, false), InlineData(true, true, false), InlineData(false, false, true), InlineData(true, false, true), InlineData(false, true, true), InlineData(true, true, true)] public virtual async Task Intercept_concurrency_with_relational_specific_data(bool async, bool inject, bool noAcceptChanges) diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/CompiledModelSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/CompiledModelSqlServerTest.cs index d798f379d93..3d7865e04e1 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/CompiledModelSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/CompiledModelSqlServerTest.cs @@ -192,7 +192,7 @@ protected override void AssertBigModel(IModel model, bool jsonColumns) model.GetEntityTypes()); } - [ConditionalFact] + [Fact] public virtual Task Vector_index() => Test( modelBuilder => @@ -220,7 +220,7 @@ public virtual Task Vector_index() useContext: null, additionalSourceFiles: []); - [ConditionalFact] + [Fact] public virtual Task Full_text_index() => Test( modelBuilder => @@ -392,7 +392,7 @@ protected override void AssertComplexTypes(IModel model) Assert.Throws(() => detailsProperty.IsSparse()).Message); } - [ConditionalFact] + [Fact] public virtual Task Key_HiLo_sequence() => Test( modelBuilder => @@ -423,7 +423,7 @@ public virtual Task Key_HiLo_sequence() Assert.Same(hiLo, dataEntity.FindPrimaryKey()!.Properties.Single().FindHiLoSequence()); }); - [ConditionalFact] + [Fact] public virtual Task Key_sequence() => Test( modelBuilder => modelBuilder.Entity(eb => @@ -451,7 +451,7 @@ public virtual Task Key_sequence() Assert.Same(keySequence, dataEntity!.FindPrimaryKey()!.Properties.Single().FindSequence()); }); - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsSqlClr)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsSqlClrSupported))] public virtual Task SpatialTypesTest() => Test( modelBuilder => modelBuilder.Entity(eb => diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/SqlServerDatabaseModelFactoryTest.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/SqlServerDatabaseModelFactoryTest.cs index 362afdb9d03..4c8a42dabc4 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/SqlServerDatabaseModelFactoryTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/SqlServerDatabaseModelFactoryTest.cs @@ -25,7 +25,7 @@ public SqlServerDatabaseModelFactoryTest(SqlServerDatabaseModelFixture fixture) #region Sequences - [ConditionalFact] + [Fact] public void Create_sequences_with_facets() => Test( @" @@ -95,7 +95,7 @@ MAXVALUE 8 DROP SEQUENCE db2.CustomFacetsSequence"); - [ConditionalFact] + [Fact] public void Sequence_min_max_start_values_are_null_if_default() => Test( @" @@ -178,7 +178,7 @@ public void Sequence_min_max_start_values_are_null_if_default() DROP SEQUENCE [BigIntSequence];"); - [ConditionalFact] + [Fact] public void Sequence_min_max_start_values_are_not_null_if_decimal() => Test( @" @@ -231,7 +231,7 @@ public void Sequence_min_max_start_values_are_not_null_if_decimal() DROP SEQUENCE [NumericSequence];"); - [ConditionalFact] + [Fact] public void Sequence_high_min_max_start_values_are_not_null_if_decimal() => Test( @" @@ -278,7 +278,7 @@ MAXVALUE 99999999999999999999999999999999999999 @" DROP SEQUENCE [HighDecimalSequence];"); - [ConditionalFact] + [Fact] public void Sequence_using_type_alias() { Fixture.TestStore.ExecuteNonQuery( @@ -325,7 +325,7 @@ public void Sequence_using_type_alias() DROP TYPE [dbo].[TestTypeAlias];"); } - [ConditionalFact] + [Fact] public void Sequence_using_type_with_facets() => Test( @" @@ -362,7 +362,7 @@ public void Sequence_using_type_with_facets() @" DROP SEQUENCE [TypeFacetSequence];"); - [ConditionalFact] + [Fact] public void Filter_sequences_based_on_schema() => Test( @" @@ -407,7 +407,7 @@ public void Filter_sequences_based_on_schema() #region Model - [ConditionalFact] + [Fact] public void Set_default_schema() => Test( "SELECT 1", @@ -424,7 +424,7 @@ public void Set_default_schema() }, null); - [ConditionalFact] + [Fact] public void Create_tables() => Test( @" @@ -477,7 +477,7 @@ public void Create_tables() DROP TABLE [dbo].[Denali];"); - [ConditionalFact] + [Fact] public void Scaffold_relationships_in_order() => Test( @" @@ -905,7 +905,7 @@ ALTER TABLE [dbo].[Properties] CHECK CONSTRAINT [FK_Properties_Listings] DROP TABLE [dbo].[TableB]; DROP TABLE [dbo].[TableC];"); - [ConditionalFact] + [Fact] public void Expose_join_table_when_interloper_reference() => Test( @" @@ -1068,7 +1068,7 @@ CONSTRAINT [PK_LinkToBBlogPPosts] PRIMARY KEY (LinkId1, LinkId2), DROP TABLE [dbo].[PPosts]; DROP TABLE [dbo].[BBlogs];"); - [ConditionalFact] + [Fact] public void Default_database_collation_is_not_scaffolded() => Test( @"", @@ -1081,7 +1081,7 @@ public void Default_database_collation_is_not_scaffolded() #region FilteringSchemaTable - [ConditionalFact] + [Fact] public void Filter_schemas() => Test( @" @@ -1108,7 +1108,7 @@ public void Filter_schemas() DROP TABLE [db2].[K2];"); - [ConditionalFact] + [Fact] public void Filter_tables() => Test( @" @@ -1135,7 +1135,7 @@ public void Filter_tables() DROP TABLE [dbo].[K2];"); - [ConditionalFact] + [Fact] public void Filter_tables_with_quote_in_name() => Test( @" @@ -1162,7 +1162,7 @@ public void Filter_tables_with_quote_in_name() DROP TABLE [dbo].[K2'];"); - [ConditionalFact] + [Fact] public void Filter_tables_with_qualified_name() => Test( @" @@ -1189,7 +1189,7 @@ public void Filter_tables_with_qualified_name() DROP TABLE [dbo].[K.2];"); - [ConditionalFact] + [Fact] public void Filter_tables_with_schema_qualified_name1() => Test( @" @@ -1220,7 +1220,7 @@ public void Filter_tables_with_schema_qualified_name1() DROP TABLE [db2].[K2];"); - [ConditionalFact] + [Fact] public void Filter_tables_with_schema_qualified_name2() => Test( @" @@ -1251,7 +1251,7 @@ public void Filter_tables_with_schema_qualified_name2() DROP TABLE [db.2].[K.2];"); - [ConditionalFact] + [Fact] public void Filter_tables_with_schema_qualified_name3() => Test( @" @@ -1282,7 +1282,7 @@ public void Filter_tables_with_schema_qualified_name3() DROP TABLE [db2].[K.2];"); - [ConditionalFact] + [Fact] public void Filter_tables_with_schema_qualified_name4() => Test( @" @@ -1313,7 +1313,7 @@ public void Filter_tables_with_schema_qualified_name4() DROP TABLE [db.2].[K2];"); - [ConditionalFact] + [Fact] public void Complex_filtering_validation() { Test( @@ -1578,7 +1578,7 @@ void AssertIdOnly(IEntityType entityType) #region Table - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsMemoryOptimized)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsMemoryOptimizedTablesSupported))] public void Set_memory_optimized_table_annotation() => Test( @" @@ -1634,7 +1634,7 @@ CONSTRAINT [PK_Blogs] PRIMARY KEY NONCLUSTERED ([Id]) }, "DROP TABLE [Blogs]"); - [ConditionalFact] + [Fact] public void Class_members_can_have_same_name_as_classes_when_casing_differs() // Issue #30237 => Test( @" @@ -1673,7 +1673,7 @@ [UiText] NVARCHAR(1000) NOT NULL }, "DROP TABLE [UIText]"); - [ConditionalFact] + [Fact] public void Create_columns() => Test( @" @@ -1733,7 +1733,7 @@ Name nvarchar(100) NOT NULL, }, "DROP TABLE [dbo].[Blogs]"); - [ConditionalFact] + [Fact] public void Create_view_columns() => Test( @" @@ -1781,7 +1781,7 @@ CREATE VIEW [dbo].[BlogsView] }, "DROP VIEW [dbo].[BlogsView];"); - [ConditionalFact] + [Fact] public void Create_primary_key() => Test( @" @@ -1822,7 +1822,7 @@ Id int PRIMARY KEY }, "DROP TABLE PrimaryKeyTable;"); - [ConditionalFact] + [Fact] public void Create_unique_constraints() => Test( @" @@ -1878,7 +1878,7 @@ CREATE TABLE UniqueConstraint ( }, "DROP TABLE UniqueConstraint;"); - [ConditionalFact] + [Fact] public void Create_indexes() => Test( @" @@ -1939,7 +1939,7 @@ CREATE TABLE IndexTable ( }, "DROP TABLE IndexTable;"); - [ConditionalFact] + [Fact] public void Create_multiple_indexes_on_same_column() => Test( @" @@ -2012,7 +2012,7 @@ IndexProperty int }, "DROP TABLE IndexTable;"); - [ConditionalFact] + [Fact] public void Create_indexes_on_views() => Test( @" @@ -2080,7 +2080,7 @@ CREATE UNIQUE CLUSTERED INDEX IX_TestView_Id DROP VIEW dbo.TestView; DROP TABLE dbo.BaseTable;"); - [ConditionalFact] + [Fact] public void Create_foreign_keys() => Test( @" @@ -2190,7 +2190,7 @@ FOREIGN KEY (Id) REFERENCES PrincipalTable(Id) ON DELETE NO ACTION, DROP TABLE FirstDependent; DROP TABLE PrincipalTable;"); - [ConditionalFact] + [Fact] public void Triggers() => Test( [ @@ -2252,7 +2252,7 @@ AFTER INSERT AS }, "DROP TABLE SomeTable;"); - [ConditionalTheory, InlineData("events", false, false, "Events", "Id", "Class", "Strings", "_", "_1"), + [Theory, InlineData("events", false, false, "Events", "Id", "Class", "Strings", "_", "_1"), InlineData("events", false, true, "Event", "Id", "Class", "Strings", "_", "_1"), InlineData("events", true, false, "events", "Id", "_class", "strings", "_", "_1"), InlineData("events", true, true, "_event", "Id", "_class", "strings", "_", "_1"), @@ -2320,7 +2320,7 @@ public void Table_name_with_pluralized_keywords( #region ColumnFacets - [ConditionalFact] + [Fact] public void Column_with_type_alias_assigns_underlying_store_type() { Fixture.TestStore.ExecuteNonQuery( @@ -2369,7 +2369,7 @@ typeAliasColumn dbo.TestTypeAlias NULL DROP TYPE db2.TestTypeAlias;"); } - [ConditionalFact] + [Fact] public void Column_with_sysname_assigns_underlying_store_type_and_nullability() => Test( @" @@ -2410,7 +2410,7 @@ typeAliasColumn sysname @" DROP TABLE TypeAlias;"); - [ConditionalFact] + [Fact] public void Decimal_numeric_types_have_precision_scale() => Test( @" @@ -2504,7 +2504,7 @@ numericDefaultPrecisionColumn numeric(38, 5) NOT NULL, }, "DROP TABLE NumericColumns;"); - [ConditionalFact] + [Fact] public void Max_length_of_negative_one_translate_to_max_in_store_type() => Test( @" @@ -2599,7 +2599,7 @@ nationalCharacterVaryingMaxColumn national char varying(max) NULL }, "DROP TABLE MaxColumns;"); - [SqlServerCondition(SqlServerCondition.SupportsJsonType), ConditionalFact] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsJsonTypeSupported))] public void Handles_native_JSON_type() => Test( @" @@ -2638,7 +2638,7 @@ jsonTypeColumn json NULL }, "DROP TABLE JsonColumns;"); - [ConditionalFact] + [Fact] public void Specific_max_length_are_add_to_store_type() => Test( @" @@ -2796,7 +2796,7 @@ nationalCharacterVarying188Column national char varying(188) NULL, }, "DROP TABLE LengthColumns;"); - [ConditionalFact] + [Fact] public void Default_max_length_are_added_to_binary_varbinary() => Test( @" @@ -2855,7 +2855,7 @@ varbinaryColumn varbinary(8000) }, "DROP TABLE DefaultRequiredLengthBinaryColumns;"); - [ConditionalFact] + [Fact] public void Default_max_length_are_added_to_char_1() => Test( @" @@ -2896,7 +2896,7 @@ charColumn char(8000) }, "DROP TABLE DefaultRequiredLengthCharColumns;"); - [ConditionalFact] + [Fact] public void Default_max_length_are_added_to_char_2() => Test( @" @@ -2937,7 +2937,7 @@ characterColumn character(8000) }, "DROP TABLE DefaultRequiredLengthCharColumns;"); - [ConditionalFact] + [Fact] public void Default_max_length_are_added_to_varchar() => Test( @" @@ -2998,7 +2998,7 @@ varcharColumn varchar(8000) }, "DROP TABLE DefaultRequiredLengthVarcharColumns;"); - [ConditionalFact] + [Fact] public void Default_max_length_are_added_to_nchar_1() => Test( @" @@ -3039,7 +3039,7 @@ nationalCharColumn national char(4000), }, "DROP TABLE DefaultRequiredLengthNcharColumns;"); - [ConditionalFact] + [Fact] public void Default_max_length_are_added_to_nchar_2() => Test( @" @@ -3080,7 +3080,7 @@ nationalCharacterColumn national character(4000), }, "DROP TABLE DefaultRequiredLengthNcharColumns;"); - [ConditionalFact] + [Fact] public void Default_max_length_are_added_to_nchar_3() => Test( @" @@ -3121,7 +3121,7 @@ ncharColumn nchar(4000), }, "DROP TABLE DefaultRequiredLengthNcharColumns;"); - [ConditionalFact] + [Fact] public void Default_max_length_are_added_to_nvarchar() => Test( @" @@ -3182,7 +3182,7 @@ nvarcharColumn nvarchar(4000) }, "DROP TABLE DefaultRequiredLengthNvarcharColumns;"); - [ConditionalFact] + [Fact] public void Datetime_types_have_precision_if_non_null_scale() => Test( @" @@ -3240,7 +3240,7 @@ datetimeoffset5Column datetimeoffset(5) NULL, }, "DROP TABLE LengthColumns;"); - [ConditionalFact] + [Fact] public void Types_with_required_length_uses_length_of_one() => Test( @" @@ -3383,7 +3383,7 @@ CREATE TABLE OneLengthColumns ( }, "DROP TABLE OneLengthColumns;"); - [ConditionalFact] + [Fact] public void Store_types_without_any_facets() => Test( @" @@ -3601,7 +3601,7 @@ CREATE TABLE RowversionType ( DROP TABLE NoFacetTypes; DROP TABLE RowversionType;"); - [ConditionalFact] + [Fact] public void Default_and_computed_values_are_stored() => Test( @" @@ -3697,7 +3697,7 @@ ComputedValue AS GETDATE(), }, "DROP TABLE DefaultComputedValues;"); - [ConditionalFact] + [Fact] public void Non_literal_bool_default_values_are_passed_through() => Test( @" @@ -3725,7 +3725,7 @@ B bit DEFAULT ((CONVERT([bit],(CHOOSE(1, 0, 1, 2))))), }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Simple_int_literals_are_parsed_for_HasDefaultValue() => Test( @" @@ -3793,7 +3793,7 @@ J int DEFAULT ( ( CONVERT([int],((-8))))), }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Simple_short_literals_are_parsed_for_HasDefaultValue() => Test( @" @@ -3826,7 +3826,7 @@ C smallint DEFAULT ((CONVERT ( ""smallint"", ( (-7) ) ))), }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Simple_long_literals_are_parsed_for_HasDefaultValue() => Test( @" @@ -3859,7 +3859,7 @@ C bigint DEFAULT ((CONVERT ( ""bigint"", ( (-7) ) ))), }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Simple_byte_literals_are_parsed_for_HasDefaultValue() => Test( @" @@ -3892,7 +3892,7 @@ C tinyint DEFAULT ((CONVERT ( ""tinyint"", ( (7) ) ))), }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Non_literal_int_default_values_are_passed_through() => Test( @" @@ -3920,7 +3920,7 @@ B int DEFAULT ((CONVERT([int],(CHOOSE(1, 0, 1, 2))))), }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Simple_double_literals_are_parsed_for_HasDefaultValue() => Test( @" @@ -3958,7 +3958,7 @@ D float DEFAULT ((CONVERT ( ""float"", ( (1.1234) ) ))), }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Simple_float_literals_are_parsed_for_HasDefaultValue() => Test( @" @@ -3996,7 +3996,7 @@ D real DEFAULT ((CONVERT ( ""real"", ( (1.1234) ) ))), }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Simple_decimal_literals_are_parsed_for_HasDefaultValue() => Test( @" @@ -4039,7 +4039,7 @@ E decimal DEFAULT ((10.0)), }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Simple_decimal_literals_are_parsed_for_HasDefaultValue_with_Danish_locale() { var currentCulture = CultureInfo.CurrentCulture; @@ -4094,7 +4094,7 @@ E decimal DEFAULT ((10.0)), } } - [ConditionalFact] + [Fact] public void Simple_bool_literals_are_parsed_for_HasDefaultValue() => Test( @" @@ -4147,7 +4147,7 @@ G bit DEFAULT ((CONVERT ( ""bit"", ( ('tRUE') ) ))), }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Simple_DateTime_literals_are_parsed_for_HasDefaultValue() => Test( @" @@ -4187,7 +4187,7 @@ D datetime DEFAULT (CONVERT(datetime,'12:12:12')), }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Non_literal_or_non_parsable_DateTime_default_values_are_passed_through() => Test( @" @@ -4220,7 +4220,7 @@ C datetime2 DEFAULT ((CONVERT([datetime2],('12-01-16 12:32')))), }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Simple_DateOnly_literals_are_parsed_for_HasDefaultValue() => Test( @" @@ -4248,7 +4248,7 @@ B date DEFAULT (CONVERT([date],('1973-09-03T01:02:03'))), }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Simple_TimeOnly_literals_are_parsed_for_HasDefaultValue() => Test( @" @@ -4276,7 +4276,7 @@ B time DEFAULT (CONVERT([time],('1973-09-03T01:02:03'))), }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Simple_DateTimeOffset_literals_are_parsed_for_HasDefaultValue() => Test( @" @@ -4308,7 +4308,7 @@ B datetimeoffset DEFAULT (CONVERT([datetimeoffset],('1973-09-03T01:02:03'))), }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Simple_Guid_literals_are_parsed_for_HasDefaultValue() => Test( @" @@ -4336,7 +4336,7 @@ B uniqueidentifier DEFAULT (CONVERT([uniqueidentifier],('0E984725-C51C-4BF4-9960 }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Non_literal_Guid_default_values_are_passed_through() => Test( @" @@ -4364,7 +4364,7 @@ B uniqueidentifier DEFAULT NEWSEQUENTIALID(), }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Simple_string_literals_are_parsed_for_HasDefaultValue() => Test( @" @@ -4417,7 +4417,7 @@ G varchar(max) DEFAULT (CONVERT(character varying(max),('Toasted teacakes'))), }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void ValueGenerated_is_set_for_identity_and_computed_column() => Test( @" @@ -4484,7 +4484,7 @@ ComputedValue AS GETDATE(), }, "DROP TABLE ValueGeneratedProperties;"); - [ConditionalFact] + [Fact] public void ConcurrencyToken_is_set_for_rowVersion() => Test( @" @@ -4528,7 +4528,7 @@ CREATE TABLE RowVersionTable ( }, "DROP TABLE RowVersionTable;"); - [ConditionalFact] + [Fact] public void Column_nullability_is_set() => Test( @" @@ -4579,7 +4579,7 @@ NonNullString nvarchar(max) NOT NULL, }, "DROP TABLE NullableColumns;"); - [ConditionalFact] + [Fact] public void Column_collation_is_set() => Test( @" @@ -4630,7 +4630,7 @@ NonDefaultCollation nvarchar(max) COLLATE German_PhoneBook_CI_AS, }, "DROP TABLE ColumnsWithCollation;"); - [ConditionalFact] + [Fact] public void Column_sparseness_is_set() => Test( @" @@ -4681,7 +4681,7 @@ NonSparse nvarchar(max) NULL }, "DROP TABLE ColumnsWithSparseness;"); - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsHiddenColumns)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsHiddenColumnsSupported))] public void Hidden_period_columns_are_not_created() => Test( @" @@ -4745,7 +4745,7 @@ PERIOD FOR SYSTEM_TIME(SysStartTime, SysEndTime) DROP TABLE dbo.HiddenColumnsTable; "); - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsHiddenColumns)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsHiddenColumnsSupported))] public void Period_columns_are_not_created() => Test( @" @@ -4813,7 +4813,7 @@ PERIOD FOR SYSTEM_TIME(SysStartTime, SysEndTime) #region PrimaryKeyFacets - [ConditionalFact] + [Fact] public void Create_composite_primary_key() => Test( @" @@ -4868,7 +4868,7 @@ PRIMARY KEY (Id2, Id1) }, "DROP TABLE CompositePrimaryKeyTable;"); - [ConditionalFact] + [Fact] public void Set_clustered_false_for_non_clustered_primary_key() => Test( @" @@ -4911,7 +4911,7 @@ CREATE TABLE NonClusteredPrimaryKeyTable ( }, "DROP TABLE NonClusteredPrimaryKeyTable;"); - [ConditionalFact] + [Fact] public void Set_clustered_false_for_primary_key_if_different_clustered_index() => Test( @" @@ -4938,7 +4938,7 @@ CREATE TABLE NonClusteredPrimaryKeyTableWithClusteredIndex ( }, "DROP TABLE NonClusteredPrimaryKeyTableWithClusteredIndex;"); - [ConditionalFact] + [Fact] public void Set_clustered_false_for_primary_key_if_different_clustered_constraint() => Test( @" @@ -4964,7 +4964,7 @@ CONSTRAINT UK_Clustered UNIQUE CLUSTERED ( Id2 ), }, "DROP TABLE NonClusteredPrimaryKeyTableWithClusteredConstraint;"); - [ConditionalFact] + [Fact] public void Set_primary_key_name_from_index() => Test( @" @@ -4990,7 +4990,7 @@ CONSTRAINT MyPK PRIMARY KEY ( Id2 ), }, "DROP TABLE PrimaryKeyName;"); - [ConditionalFact] + [Fact] public void Primary_key_fill_factor() => Test( @" @@ -5021,7 +5021,7 @@ [Id] ASC #region UniqueConstraintFacets - [ConditionalFact] + [Fact] public void Create_composite_unique_constraint() => Test( @" @@ -5047,7 +5047,7 @@ CONSTRAINT UX UNIQUE (Id2, Id1) }, "DROP TABLE CompositeUniqueConstraintTable;"); - [ConditionalFact] + [Fact] public void Set_clustered_true_for_clustered_unique_constraint() => Test( @" @@ -5073,7 +5073,7 @@ CREATE TABLE ClusteredUniqueConstraintTable ( }, "DROP TABLE ClusteredUniqueConstraintTable;"); - [ConditionalFact] + [Fact] public void Set_unique_constraint_name_from_index() => Test( @" @@ -5099,7 +5099,7 @@ CONSTRAINT MyUC UNIQUE ( Id2 ), }, "DROP TABLE UniqueConstraintName;"); - [ConditionalFact] + [Fact] public void Unique_constraint_fill_factor() => Test( @" @@ -5131,7 +5131,7 @@ [SomethingElse] ASC #region IndexFacets - [ConditionalFact] + [Fact] public void Create_composite_index() => Test( @" @@ -5179,7 +5179,7 @@ CREATE TABLE CompositeIndexTable ( }, "DROP TABLE CompositeIndexTable;"); - [ConditionalFact] + [Fact] public void Set_clustered_true_for_clustered_index() => Test( @" @@ -5207,7 +5207,7 @@ CREATE TABLE ClusteredIndexTable ( }, "DROP TABLE ClusteredIndexTable;"); - [ConditionalFact] + [Fact] public void Set_unique_true_for_unique_index() => Test( @" @@ -5236,7 +5236,7 @@ CREATE TABLE UniqueIndexTable ( }, "DROP TABLE UniqueIndexTable;"); - [ConditionalFact] + [Fact] public void Set_filter_for_filtered_index() => Test( @" @@ -5264,7 +5264,7 @@ CREATE TABLE FilteredIndexTable ( }, "DROP TABLE FilteredIndexTable;"); - [ConditionalFact] + [Fact] public void Ignore_hypothetical_index() => Test( @" @@ -5285,7 +5285,7 @@ CREATE TABLE HypotheticalIndexTable ( }, "DROP TABLE HypotheticalIndexTable;"); - [ConditionalFact, SqlServerCondition(SqlServerCondition.IsNotAzureSql)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsNotAzureSql))] public void Ignore_columnstore_index() => Test( @" @@ -5306,7 +5306,7 @@ CREATE NONCLUSTERED COLUMNSTORE INDEX ixColumnStore ON ColumnStoreIndexTable ( I }, "DROP TABLE ColumnStoreIndexTable;"); - [ConditionalFact] + [Fact] public void Set_include_for_index() => Test( @" @@ -5330,7 +5330,7 @@ IncludeProperty int }, "DROP TABLE IncludeIndexTable;"); - [ConditionalFact] + [Fact] public void Index_fill_factor() => Test( @" @@ -5362,7 +5362,7 @@ [Name] ASC #region ForeignKeyFacets - [ConditionalFact] + [Fact] public void Create_composite_foreign_key() => Test( @" @@ -5456,7 +5456,7 @@ FOREIGN KEY (ForeignKeyId1, ForeignKeyId2) REFERENCES PrincipalTable(Id1, Id2) O DROP TABLE DependentTable; DROP TABLE PrincipalTable;"); - [ConditionalFact] + [Fact] public void Create_multiple_foreign_key_in_same_table() => Test( @" @@ -5582,7 +5582,7 @@ FOREIGN KEY (ForeignKeyId2) REFERENCES AnotherPrincipalTable(Id) ON DELETE CASCA DROP TABLE AnotherPrincipalTable; DROP TABLE PrincipalTable;"); - [ConditionalFact] + [Fact] public void Create_foreign_key_referencing_unique_constraint() => Test( @" @@ -5673,7 +5673,7 @@ FOREIGN KEY (ForeignKeyId) REFERENCES PrincipalTable(Id2) ON DELETE CASCADE, DROP TABLE DependentTable; DROP TABLE PrincipalTable;"); - [ConditionalFact] + [Fact] public void Set_name_for_foreign_key() => Test( @" @@ -5709,7 +5709,7 @@ CONSTRAINT MYFK FOREIGN KEY (ForeignKeyId) REFERENCES PrincipalTable(Id) ON DELE DROP TABLE DependentTable; DROP TABLE PrincipalTable;"); - [ConditionalFact] + [Fact] public void Set_referential_action_for_foreign_key() => Test( @" @@ -5791,7 +5791,7 @@ FOREIGN KEY (ForeignKeyId) REFERENCES PrincipalTable(Id) ON DELETE SET NULL, #region Types - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsVectorType)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsVectorTypeSupported))] public void Vector_type() => Test( "CREATE TABLE [dbo].[VectorTable] (vector VECTOR(3))", @@ -5816,7 +5816,7 @@ public void Vector_type() #region Full-Text Search - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFullTextSearch)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFullTextSearchSupported))] public void Full_text_catalog() => Test( [ @@ -5838,7 +5838,7 @@ public void Full_text_catalog() DROP FULLTEXT CATALOG [TestCatalog]; """); - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFullTextSearch)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFullTextSearchSupported))] public void Full_text_index() => Test( [ @@ -5867,7 +5867,7 @@ public void Full_text_index() DROP FULLTEXT CATALOG [TestCatalog]; """); - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsFullTextSearch)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFullTextSearchSupported))] public void Full_text_index_with_defaults() => Test( [ @@ -5896,7 +5896,7 @@ public void Full_text_index_with_defaults() #region Warnings - [ConditionalFact] + [Fact] public void Warn_missing_schema() => Test( @" @@ -5920,7 +5920,7 @@ CREATE TABLE Blank ( }, "DROP TABLE Blank;"); - [ConditionalFact] + [Fact] public void Warn_missing_table() => Test( @" @@ -5944,7 +5944,7 @@ CREATE TABLE Blank ( }, "DROP TABLE Blank;"); - [ConditionalFact] + [Fact] public void Warn_missing_principal_table_for_foreign_key() => Test( @" @@ -5975,7 +5975,7 @@ CONSTRAINT MYFK FOREIGN KEY (ForeignKeyId) REFERENCES PrincipalTable(Id) ON DELE DROP TABLE DependentTable; DROP TABLE PrincipalTable;"); - [ConditionalFact] + [Fact] public void Skip_reflexive_foreign_key() => Test( @" @@ -6003,7 +6003,7 @@ CONSTRAINT MYFK FOREIGN KEY (Id) REFERENCES PrincipalTable(Id) @" DROP TABLE PrincipalTable;"); - [ConditionalFact] + [Fact] public void Skip_duplicate_foreign_key() => Test( @"CREATE TABLE PrincipalTable ( @@ -6050,7 +6050,7 @@ CONSTRAINT MYFK5 FOREIGN KEY (ValueKey) REFERENCES PrincipalTable(Value2), DROP TABLE PrincipalTable; DROP TABLE OtherPrincipalTable;"); - [ConditionalFact] + [Fact] public void No_warning_missing_view_definition() => Test( @"CREATE TABLE TestViewDefinition ( @@ -6137,7 +6137,7 @@ protected override ITestStoreFactory TestStoreFactory public TestOperationReporter OperationReporter { get; } = new(); - public override async Task InitializeAsync() + public override async ValueTask InitializeAsync() { await base.InitializeAsync(); await TestStore.ExecuteNonQueryAsync("CREATE SCHEMA db2"); diff --git a/test/EFCore.SqlServer.FunctionalTests/SequenceEndToEndTest.cs b/test/EFCore.SqlServer.FunctionalTests/SequenceEndToEndTest.cs index 03660353721..e2779ffbde1 100644 --- a/test/EFCore.SqlServer.FunctionalTests/SequenceEndToEndTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/SequenceEndToEndTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore; public class SequenceEndToEndTest : IAsyncLifetime { - [ConditionalFact] + [Fact] public void Can_use_sequence_end_to_end() { var serviceProvider = new ServiceCollection() @@ -58,7 +58,7 @@ private static void AddEntities(IServiceProvider serviceProvider, string name) context.SaveChanges(); } - [ConditionalFact, SqlServerCondition(SqlServerCondition.IsNotCI)] + [Fact, SkipOnCI("Flaky on CI")] public void Can_use_sequence_end_to_end_on_multiple_databases() { var serviceProvider = new ServiceCollection() @@ -125,7 +125,7 @@ private static void AddEntitiesToMultipleContexts( context2.SaveChanges(); } - [ConditionalFact] + [Fact] public async Task Can_use_sequence_end_to_end_async() { var serviceProvider = new ServiceCollection() @@ -174,7 +174,7 @@ await context.AddAsync( await context.SaveChangesAsync(); } - [ConditionalFact] + [Fact] public async Task Can_use_sequence_end_to_end_from_multiple_contexts_concurrently_async() { var serviceProvider = new ServiceCollection() @@ -214,7 +214,7 @@ public async Task Can_use_sequence_end_to_end_from_multiple_contexts_concurrentl } } - [ConditionalFact] + [Fact] public void Can_use_explicit_values() { var serviceProvider = new ServiceCollection() @@ -295,7 +295,7 @@ private class Pegasus public string Name { get; set; } } - [ConditionalFact] // Issue #478 + [Fact] // Issue #478 public void Can_use_sequence_with_nullable_key_end_to_end() { var serviceProvider = new ServiceCollection() @@ -323,7 +323,7 @@ public void Can_use_sequence_with_nullable_key_end_to_end() } } - [ConditionalFact] // Issue #478 + [Fact] // Issue #478 public void Can_use_identity_with_nullable_key_end_to_end() { var serviceProvider = new ServiceCollection() @@ -402,9 +402,9 @@ private class Unicon protected SqlServerTestStore TestStore { get; private set; } - public async Task InitializeAsync() + public async ValueTask InitializeAsync() => TestStore = await SqlServerTestStore.CreateInitializedAsync("SequenceEndToEndTest"); - public async Task DisposeAsync() + public async ValueTask DisposeAsync() => await TestStore.DisposeAsync(); } diff --git a/test/EFCore.SqlServer.FunctionalTests/SequentialGuidEndToEndTest.cs b/test/EFCore.SqlServer.FunctionalTests/SequentialGuidEndToEndTest.cs index 5fd9caec040..842d41db4f5 100644 --- a/test/EFCore.SqlServer.FunctionalTests/SequentialGuidEndToEndTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/SequentialGuidEndToEndTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore; public class SequentialGuidEndToEndTest : IAsyncLifetime { - [ConditionalFact] + [Fact] public async Task Can_use_sequential_GUID_end_to_end_async() { var serviceProvider = new ServiceCollection() @@ -40,7 +40,7 @@ await context.AddAsync( } } - [ConditionalFact] + [Fact] public async Task Can_use_explicit_values() { var serviceProvider = new ServiceCollection() @@ -103,9 +103,9 @@ private class Pegasus protected SqlServerTestStore TestStore { get; private set; } - public async Task InitializeAsync() + public async ValueTask InitializeAsync() => TestStore = await SqlServerTestStore.CreateInitializedAsync("SequentialGuidEndToEndTest"); - public async Task DisposeAsync() + public async ValueTask DisposeAsync() => await TestStore.DisposeAsync(); } diff --git a/test/EFCore.SqlServer.FunctionalTests/SpatialSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/SpatialSqlServerTest.cs index 1a0179a6c60..cd27d9913d4 100644 --- a/test/EFCore.SqlServer.FunctionalTests/SpatialSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/SpatialSqlServerTest.cs @@ -1,11 +1,11 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore; #nullable disable -[SqlServerCondition(SqlServerCondition.SupportsSqlClr)] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsSqlClrSupported))] public class SpatialSqlServerTest(SpatialSqlServerFixture fixture) : SpatialTestBase(fixture) { protected override void UseTransaction(DatabaseFacade facade, IDbContextTransaction transaction) diff --git a/test/EFCore.SqlServer.FunctionalTests/SqlAzure/SqlAzureBatchingTest.cs b/test/EFCore.SqlServer.FunctionalTests/SqlAzure/SqlAzureBatchingTest.cs index 4267a81c43d..85112d8b965 100644 --- a/test/EFCore.SqlServer.FunctionalTests/SqlAzure/SqlAzureBatchingTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/SqlAzure/SqlAzureBatchingTest.cs @@ -7,12 +7,12 @@ namespace Microsoft.EntityFrameworkCore.SqlAzure; #nullable disable -[SqlServerCondition(SqlServerCondition.IsAzureSql)] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsAzureSql))] public class SqlAzureBatchingTest(BatchingSqlAzureFixture fixture) : IClassFixture { public BatchingSqlAzureFixture Fixture { get; } = fixture; - [ConditionalTheory, InlineData(1), InlineData(10), InlineData(100), InlineData(1000)] + [Theory, InlineData(1), InlineData(10), InlineData(100), InlineData(1000)] public void AddWithBatchSize(int batchSize) { using var context = Fixture.CreateContext(batchSize); diff --git a/test/EFCore.SqlServer.FunctionalTests/SqlAzure/SqlAzureConnectionTest.cs b/test/EFCore.SqlServer.FunctionalTests/SqlAzure/SqlAzureConnectionTest.cs index c205c00aaac..d8113f30800 100644 --- a/test/EFCore.SqlServer.FunctionalTests/SqlAzure/SqlAzureConnectionTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/SqlAzure/SqlAzureConnectionTest.cs @@ -10,12 +10,12 @@ namespace Microsoft.EntityFrameworkCore.SqlAzure; #nullable disable -[SqlServerCondition(SqlServerCondition.IsAzureSql)] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsAzureSql))] #pragma warning disable CS9113 // Parameter is unread. public class SqlAzureConnectionTest(SqlAzureFixture fixture) : IClassFixture #pragma warning restore CS9113 // Parameter is unread. { - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void Connect_with_encryption(bool encryptionEnabled) { var connectionStringBuilder = diff --git a/test/EFCore.SqlServer.FunctionalTests/SqlAzure/SqlAzureDatabaseCreationTest.cs b/test/EFCore.SqlServer.FunctionalTests/SqlAzure/SqlAzureDatabaseCreationTest.cs index 72dde696461..6d6b74d80c5 100644 --- a/test/EFCore.SqlServer.FunctionalTests/SqlAzure/SqlAzureDatabaseCreationTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/SqlAzure/SqlAzureDatabaseCreationTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.Data.SqlClient; @@ -8,12 +8,12 @@ namespace Microsoft.EntityFrameworkCore.SqlAzure; #nullable disable -[SqlServerCondition(SqlServerCondition.IsAzureSql)] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsAzureSql))] public class SqlAzureDatabaseCreationTest { protected string StoreName { get; } = "SqlAzureDatabaseCreationTest"; - [ConditionalFact] + [Fact] public async Task Creates_database_in_elastic_pool() { await using var testDatabase = SqlServerTestStore.Create(StoreName + "Elastic"); @@ -35,10 +35,10 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) => optionsBuilder.UseSqlServer(_connectionString, b => b.ApplyConfiguration()); protected override void OnModelCreating(ModelBuilder modelBuilder) - => modelBuilder.HasPerformanceLevelSql($"ELASTIC_POOL ( name = {TestEnvironment.ElasticPoolName} )"); + => modelBuilder.HasPerformanceLevelSql($"ELASTIC_POOL ( name = {SqlServerTestEnvironment.ElasticPoolName} )"); } - [ConditionalFact] + [Fact] public async Task Creates_basic_database() { await using var testDatabase = SqlServerTestStore.Create(StoreName + "Basic"); @@ -67,7 +67,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public async Task Creates_business_critical_database() { await using var testDatabase = SqlServerTestStore.Create(StoreName + "BusinessCritical"); diff --git a/test/EFCore.SqlServer.FunctionalTests/SqlAzure/SqlAzureFundamentalsTest.cs b/test/EFCore.SqlServer.FunctionalTests/SqlAzure/SqlAzureFundamentalsTest.cs index ac1881c2c55..5cc0ef7981b 100644 --- a/test/EFCore.SqlServer.FunctionalTests/SqlAzure/SqlAzureFundamentalsTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/SqlAzure/SqlAzureFundamentalsTest.cs @@ -8,19 +8,19 @@ namespace Microsoft.EntityFrameworkCore.SqlAzure; #nullable disable -[SqlServerCondition(SqlServerCondition.IsAzureSql)] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsAzureSql))] public class SqlAzureFundamentalsTest(SqlAzureFixture fixture) : IClassFixture { public SqlAzureFixture Fixture { get; } = fixture; - [ConditionalFact] + [Fact] public void CanExecuteQuery() { using var context = CreateContext(); Assert.NotEqual(0, context.Addresses.Count()); } - [ConditionalFact] + [Fact] public void CanAdd() { using var context = CreateContext(); @@ -42,7 +42,7 @@ public void CanAdd() }); } - [ConditionalFact] + [Fact] public void CanUpdate() { using var context = CreateContext(); @@ -62,7 +62,7 @@ public void CanUpdate() }); } - [ConditionalFact] + [Fact] public void IncludeQuery() { using var context = CreateContext(); diff --git a/test/EFCore.SqlServer.FunctionalTests/SqlServerConfigPatternsTest.cs b/test/EFCore.SqlServer.FunctionalTests/SqlServerConfigPatternsTest.cs index 150864270ea..380a6c67f83 100644 --- a/test/EFCore.SqlServer.FunctionalTests/SqlServerConfigPatternsTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/SqlServerConfigPatternsTest.cs @@ -15,7 +15,7 @@ public class SqlServerConfigPatternsTest { public class ImplicitServicesAndConfig { - [ConditionalFact] + [Fact] public async Task Can_query_with_implicit_services_and_OnConfiguring() { await using (await SqlServerTestStore.GetNorthwindStoreAsync()) @@ -43,7 +43,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) public class ImplicitServicesExplicitConfig { - [ConditionalFact] + [Fact] public async Task Can_query_with_implicit_services_and_explicit_config() { await using (await SqlServerTestStore.GetNorthwindStoreAsync()) @@ -68,7 +68,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) public class ExplicitServicesImplicitConfig { - [ConditionalFact] + [Fact] public async Task Can_query_with_explicit_services_and_OnConfiguring() { await using (await SqlServerTestStore.GetNorthwindStoreAsync()) @@ -97,7 +97,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) public class ExplicitServicesAndConfig { - [ConditionalFact] + [Fact] public async Task Can_query_with_explicit_services_and_explicit_config() { await using (await SqlServerTestStore.GetNorthwindStoreAsync()) @@ -124,7 +124,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) public class ExplicitServicesAndNoConfig { - [ConditionalFact] + [Fact] public async Task Throws_on_attempt_to_use_SQL_Server_without_providing_connection_string() { await using (await SqlServerTestStore.GetNorthwindStoreAsync()) @@ -154,7 +154,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) public class NoServicesAndNoConfig { - [ConditionalFact] + [Fact] public async Task Throws_on_attempt_to_use_context_with_no_store() { await using (await SqlServerTestStore.GetNorthwindStoreAsync()) @@ -183,7 +183,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) public class ImplicitConfigButNoServices { - [ConditionalFact] + [Fact] public async Task Throws_on_attempt_to_use_store_with_no_store_services() { var serviceCollection = new ServiceCollection(); @@ -219,7 +219,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) public class InjectContext { - [ConditionalFact] + [Fact] public async Task Can_register_context_with_DI_container_and_have_it_injected() { var serviceProvider = new ServiceCollection() @@ -269,7 +269,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) public class InjectContextAndConfiguration { - [ConditionalFact] + [Fact] public async Task Can_register_context_and_configuration_with_DI_container_and_have_both_injected() { var serviceProvider = new ServiceCollection() @@ -317,7 +317,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) public class ConstructorArgsToBuilder { - [ConditionalFact] + [Fact] public async Task Can_pass_context_options_to_constructor_and_use_in_builder() { await using (await SqlServerTestStore.GetNorthwindStoreAsync()) @@ -342,7 +342,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) public class ConstructorArgsToOnConfiguring { - [ConditionalFact] + [Fact] public async Task Can_pass_connection_string_to_constructor_and_use_in_OnConfiguring() { await using (await SqlServerTestStore.GetNorthwindStoreAsync()) @@ -370,7 +370,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) public class NestedContext { - [ConditionalFact] + [Fact] public async Task Can_use_one_context_nested_inside_another_of_the_same_type() { await using (await SqlServerTestStore.GetNorthwindStoreAsync()) @@ -414,7 +414,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) public class NonDefaultAzureSqlDatabase { - [InlineData(true), InlineData(false), ConditionalTheory] + [InlineData(true), InlineData(false), Theory] public void Retry_on_failure_enabled_if_Azure_SQL_configured(bool useAzure) { using var context = new NorthwindContext(useAzure); @@ -454,7 +454,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) public class ExplicitExecutionStrategies_SqlServer { - [InlineData(true), InlineData(false), ConditionalTheory] + [InlineData(true), InlineData(false), Theory] public void Retry_strategy_properly_handled(bool before) { using var context = new NorthwindContext(before); @@ -498,7 +498,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) public class ExplicitExecutionStrategies_AzureSql { - [InlineData(true), InlineData(false), ConditionalTheory] + [InlineData(true), InlineData(false), Theory] public void Retry_strategy_properly_handled(bool before) { using var context = new NorthwindContext(before); @@ -542,7 +542,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) public class ExplicitExecutionStrategies_AzureSynapse { - [InlineData(true), InlineData(false), ConditionalTheory] + [InlineData(true), InlineData(false), Theory] public void Retry_strategy_properly_handled(bool before) { using var context = new NorthwindContext(before); @@ -586,7 +586,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) public class ExplicitExecutionStrategies_ConfigureSqlEngine_AzureSql { - [InlineData(true), InlineData(false), ConditionalTheory] + [InlineData(true), InlineData(false), Theory] public void Retry_strategy_properly_handled(bool before) { using var context = new NorthwindContext(before); diff --git a/test/EFCore.SqlServer.FunctionalTests/SqlServerDatabaseCreatorTest.cs b/test/EFCore.SqlServer.FunctionalTests/SqlServerDatabaseCreatorTest.cs index 802a829280e..9dfeec26abc 100644 --- a/test/EFCore.SqlServer.FunctionalTests/SqlServerDatabaseCreatorTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/SqlServerDatabaseCreatorTest.cs @@ -13,16 +13,15 @@ namespace Microsoft.EntityFrameworkCore; // Tests are split into classes to enable parallel execution // Some combinations are skipped to reduce run time -[SqlServerCondition(SqlServerCondition.IsNotCI)] +[SkipOnCI("Flaky on CI")] public class SqlServerDatabaseCreatorExistsTest : SqlServerDatabaseCreatorTestBase { - [ConditionalTheory, InlineData(true, true, false), InlineData(false, false, false), InlineData(true, true, true), + [Theory, InlineData(true, true, false), InlineData(false, false, false), InlineData(true, true, true), InlineData(false, false, true)] public Task Returns_false_when_database_does_not_exist(bool async, bool ambientTransaction, bool useCanConnect) => Returns_false_when_database_does_not_exist_test(async, ambientTransaction, useCanConnect, file: false); - [ConditionalTheory, InlineData(true, false, false), InlineData(false, true, false), InlineData(true, false, true), - InlineData(false, true, true), SqlServerCondition(SqlServerCondition.SupportsAttach)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsAttach)), InlineData(true, false, false), InlineData(false, true, false), InlineData(true, false, true), InlineData(false, true, true)] public Task Returns_false_when_database_with_filename_does_not_exist(bool async, bool ambientTransaction, bool useCanConnect) => Returns_false_when_database_does_not_exist_test(async, ambientTransaction, useCanConnect, file: true); @@ -54,13 +53,12 @@ await context.Database.CreateExecutionStrategy().ExecuteAsync(async () => Assert.Equal(ConnectionState.Closed, context.Database.GetDbConnection().State); } - [ConditionalTheory, InlineData(true, false, false), InlineData(false, true, false), InlineData(true, false, true), + [Theory, InlineData(true, false, false), InlineData(false, true, false), InlineData(true, false, true), InlineData(false, true, true)] public Task Returns_true_when_database_exists(bool async, bool ambientTransaction, bool useCanConnect) => Returns_true_when_database_exists_test(async, ambientTransaction, useCanConnect, file: false); - [ConditionalTheory, InlineData(true, true, false), InlineData(false, false, false), InlineData(true, true, true), - InlineData(false, false, true), SqlServerCondition(SqlServerCondition.SupportsAttach)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsAttach)), InlineData(true, true, false), InlineData(false, false, false), InlineData(true, true, true), InlineData(false, false, true)] public Task Returns_true_when_database_with_filename_exists(bool async, bool ambientTransaction, bool useCanConnect) => Returns_true_when_database_exists_test(async, ambientTransaction, useCanConnect, file: true); @@ -91,10 +89,10 @@ await context.Database.CreateExecutionStrategy().ExecuteAsync(async () => } } -[SqlServerCondition(SqlServerCondition.IsNotCI)] +[SkipOnCI("Flaky on CI")] public class SqlServerDatabaseCreatorEnsureDeletedTest : SqlServerDatabaseCreatorTestBase { - [ConditionalTheory(Skip = "#36578")] + [Theory(Skip = "#36578")] [InlineData(true, true, true)] [InlineData(false, false, true)] [InlineData(true, false, false)] @@ -102,8 +100,7 @@ public class SqlServerDatabaseCreatorEnsureDeletedTest : SqlServerDatabaseCreato public Task Deletes_database(bool async, bool open, bool ambientTransaction) => Delete_database_test(async, open, ambientTransaction, file: false); - [ConditionalTheory, InlineData(true, true, false), InlineData(true, false, true), InlineData(false, true, true), - InlineData(false, false, false), SqlServerCondition(SqlServerCondition.SupportsAttach)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsAttach)), InlineData(true, true, false), InlineData(true, false, true), InlineData(false, true, true), InlineData(false, false, false)] public Task Deletes_database_with_filename(bool async, bool open, bool ambientTransaction) => Delete_database_test(async, open, ambientTransaction, file: true); @@ -142,11 +139,11 @@ await GetExecutionStrategy(testDatabase).ExecuteAsync(async () => Assert.Equal(ConnectionState.Closed, context.Database.GetDbConnection().State); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public Task Noop_when_database_does_not_exist(bool async) => Noop_when_database_does_not_exist_test(async, file: false); - [ConditionalTheory, InlineData(true), InlineData(false), SqlServerCondition(SqlServerCondition.SupportsAttach)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsAttach)), InlineData(true), InlineData(false)] public Task Noop_when_database_with_filename_does_not_exist(bool async) => Noop_when_database_does_not_exist_test(async, file: true); @@ -175,33 +172,33 @@ private static async Task Noop_when_database_does_not_exist_test(bool async, boo } } -[SqlServerCondition(SqlServerCondition.IsNotCI)] +[SkipOnCI("Flaky on CI")] public class SqlServerDatabaseCreatorEnsureCreatedTest : SqlServerDatabaseCreatorTestBase { - [ConditionalTheory, SqlServerCondition(SqlServerCondition.IsNotAzureSql), InlineData(true, true), InlineData(false, false)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsNotAzureSql)), InlineData(true, true), InlineData(false, false)] public Task Creates_schema_in_existing_database(bool async, bool ambientTransaction) => Creates_schema_in_existing_database_test(async, ambientTransaction, file: false); - [ConditionalTheory, InlineData(true, false), InlineData(false, true), SqlServerCondition(SqlServerCondition.SupportsAttach)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsAttach)), InlineData(true, false), InlineData(false, true)] public Task Creates_schema_in_existing_database_with_filename(bool async, bool ambientTransaction) => Creates_schema_in_existing_database_test(async, ambientTransaction, file: true); private static Task Creates_schema_in_existing_database_test(bool async, bool ambientTransaction, bool file) - => TestEnvironment.IsAzureSql + => SqlServerTestEnvironment.IsAzureSql ? new TestSqlServerRetryingExecutionStrategy().ExecuteAsync( (true, async, ambientTransaction, file), Creates_physical_database_and_schema_test) : Creates_physical_database_and_schema_test((true, async, ambientTransaction, file)); - [ConditionalTheory, InlineData(true, false), InlineData(false, true), SqlServerCondition(SqlServerCondition.IsNotAzureSql)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsNotAzureSql)), InlineData(true, false), InlineData(false, true)] public Task Creates_physical_database_and_schema(bool async, bool ambientTransaction) => Creates_new_physical_database_and_schema_test(async, ambientTransaction, file: false); - [ConditionalTheory, InlineData(true, true), InlineData(false, false), SqlServerCondition(SqlServerCondition.SupportsAttach)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsAttach)), InlineData(true, true), InlineData(false, false)] public Task Creates_physical_database_with_filename_and_schema(bool async, bool ambientTransaction) => Creates_new_physical_database_and_schema_test(async, ambientTransaction, file: true); private static Task Creates_new_physical_database_and_schema_test(bool async, bool ambientTransaction, bool file) - => TestEnvironment.IsAzureSql + => SqlServerTestEnvironment.IsAzureSql ? new TestSqlServerRetryingExecutionStrategy().ExecuteAsync( (false, async, ambientTransaction, file), Creates_physical_database_and_schema_test) : Creates_physical_database_and_schema_test((false, async, ambientTransaction, file)); @@ -275,11 +272,11 @@ private static async Task Creates_physical_database_and_schema_test( columns); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public Task Noop_when_database_exists_and_has_schema(bool async) => Noop_when_database_exists_and_has_schema_test(async, file: false); - [ConditionalTheory, InlineData(true), InlineData(false), SqlServerCondition(SqlServerCondition.SupportsAttach)] + [ConditionalTheory(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.SupportsAttach)), InlineData(true), InlineData(false)] public Task Noop_when_database_with_filename_exists_and_has_schema(bool async) => Noop_when_database_exists_and_has_schema_test(async, file: true); @@ -301,7 +298,7 @@ private static async Task Noop_when_database_exists_and_has_schema_test(bool asy Assert.Equal(ConnectionState.Closed, context.Database.GetDbConnection().State); } - [ConditionalFact] + [Fact] public async Task Throws_for_missing_seed() { await using var testDatabase = await SqlServerTestStore.CreateInitializedAsync("EnsureCreatedSeedTest"); @@ -312,7 +309,7 @@ public async Task Throws_for_missing_seed() Assert.Throws(() => context.Database.EnsureCreated()).Message); } - [ConditionalFact] + [Fact] public async Task Throws_for_missing_seed_async() { await using var testDatabase = await SqlServerTestStore.CreateInitializedAsync("EnsureCreatedSeedTest"); @@ -324,10 +321,10 @@ public async Task Throws_for_missing_seed_async() } } -[SqlServerCondition(SqlServerCondition.IsNotCI)] +[SkipOnCI("Flaky on CI")] public class SqlServerDatabaseCreatorHasTablesTest : SqlServerDatabaseCreatorTestBase { - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Throws_when_database_does_not_exist(bool async) { await using var testDatabase = SqlServerTestStore.GetOrCreate("NonExisting"); @@ -349,7 +346,7 @@ await databaseCreator.ExecutionStrategy.ExecuteAsync( }); } - [ConditionalTheory, InlineData(true, false), InlineData(false, true)] + [Theory, InlineData(true, false), InlineData(false, true)] public async Task Returns_false_when_database_exists_but_has_no_tables(bool async, bool ambientTransaction) { await using var testDatabase = await SqlServerTestStore.GetOrCreateInitializedAsync("Empty"); @@ -364,7 +361,7 @@ await GetExecutionStrategy(testDatabase).ExecuteAsync(async () => }); } - [ConditionalTheory, InlineData(true, true), InlineData(false, false)] + [Theory, InlineData(true, true), InlineData(false, false)] public async Task Returns_true_when_database_exists_and_has_any_tables(bool async, bool ambientTransaction) { await using var testDatabase = await SqlServerTestStore.GetOrCreate("ExistingTables") @@ -381,10 +378,10 @@ await GetExecutionStrategy(testDatabase).ExecuteAsync(async () => } } -[SqlServerCondition(SqlServerCondition.IsNotCI)] +[SkipOnCI("Flaky on CI")] public class SqlServerDatabaseCreatorDeleteTest : SqlServerDatabaseCreatorTestBase { - [ConditionalTheory(Skip = "#36578")] + [Theory(Skip = "#36578")] [InlineData(true, true)] [InlineData(false, false)] public static async Task Deletes_database(bool async, bool ambientTransaction) @@ -411,7 +408,7 @@ public static async Task Deletes_database(bool async, bool ambientTransaction) Assert.False(async ? await creator.ExistsAsync() : creator.Exists()); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Throws_when_database_does_not_exist(bool async) { await using var testDatabase = SqlServerTestStore.GetOrCreate("NonExistingBlogging"); @@ -427,10 +424,10 @@ public async Task Throws_when_database_does_not_exist(bool async) } } - [ConditionalFact] + [Fact] public void Throws_when_no_initial_catalog() { - var connectionStringBuilder = new SqlConnectionStringBuilder(TestEnvironment.DefaultConnection); + var connectionStringBuilder = new SqlConnectionStringBuilder(SqlServerTestEnvironment.DefaultConnection); connectionStringBuilder.Remove("Initial Catalog"); var creator = GetDatabaseCreator(connectionStringBuilder.ToString()); @@ -441,10 +438,10 @@ public void Throws_when_no_initial_catalog() } } -[SqlServerCondition(SqlServerCondition.IsNotCI)] +[SkipOnCI("Flaky on CI")] public class SqlServerDatabaseCreatorCreateTablesTest : SqlServerDatabaseCreatorTestBase { - [ConditionalTheory, InlineData(true, true), InlineData(false, false)] + [Theory, InlineData(true, true), InlineData(false, false)] public async Task Creates_schema_in_existing_database_test(bool async, bool ambientTransaction) { await using var testDatabase = await SqlServerTestStore.GetOrCreateInitializedAsync("ExistingBlogging" + (async ? "Async" : "")); @@ -492,7 +489,7 @@ public async Task Creates_schema_in_existing_database_test(bool async, bool ambi Assert.Contains(columns, c => c == "Blogs.AndRow"); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Throws_if_database_does_not_exist(bool async) { await using var testDatabase = SqlServerTestStore.GetOrCreate("NonExisting"); @@ -514,7 +511,7 @@ public async Task Throws_if_database_does_not_exist(bool async) } } - [ConditionalFact] + [Fact] public void GenerateCreateScript_works() { using var context = new BloggingContext("Data Source=foo"); @@ -564,10 +561,10 @@ public void GenerateCreateScript_works() private static readonly string _eol = Environment.NewLine; } -[SqlServerCondition(SqlServerCondition.IsNotCI)] +[SkipOnCI("Flaky on CI")] public class SqlServerDatabaseCreatorCreateTest : SqlServerDatabaseCreatorTestBase { - [ConditionalTheory, InlineData(true, false), InlineData(false, true)] + [Theory, InlineData(true, false), InlineData(false, true)] public async Task Creates_physical_database_but_not_tables(bool async, bool ambientTransaction) { await using var testDatabase = SqlServerTestStore.GetOrCreate("CreateTest"); @@ -609,7 +606,7 @@ await testDatabase.ExecuteScalarAsync( "'"))); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Throws_if_database_already_exists(bool async) { await using var testDatabase = await SqlServerTestStore.GetOrCreateInitializedAsync("ExistingBlogging"); @@ -625,7 +622,7 @@ public async Task Throws_if_database_already_exists(bool async) } #pragma warning disable RCS1102 // Make class static. -[SqlServerCondition(SqlServerCondition.IsNotAzureSql | SqlServerCondition.IsNotCI)] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsNotAzureSql)), SkipOnCI("Flaky on CI")] public abstract class SqlServerDatabaseCreatorTestBase { protected static IDisposable CreateTransactionScope(bool useTransaction) diff --git a/test/EFCore.SqlServer.FunctionalTests/SqlServerEndToEndTest.cs b/test/EFCore.SqlServer.FunctionalTests/SqlServerEndToEndTest.cs index cb158d7ba39..eeac7085dd2 100644 --- a/test/EFCore.SqlServer.FunctionalTests/SqlServerEndToEndTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/SqlServerEndToEndTest.cs @@ -27,7 +27,7 @@ public SqlServerEndToEndTest(SqlServerFixture fixture) Fixture.TestSqlLoggerFactory.Clear(); } - [ConditionalFact] + [Fact] public async Task Can_use_decimal_and_byte_as_identity_columns() { await using var testDatabase = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -213,7 +213,7 @@ private class ByteAdNum public string Lucy { get; set; } } - [ConditionalFact] // Issue #29931 + [Fact] // Issue #29931 public async Task Can_use_SqlQuery_when_context_has_DbFunction() { await using var testDatabase = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -253,7 +253,7 @@ private class RawResult public string Name { get; set; } } - [ConditionalFact] + [Fact] public async Task Can_use_string_enum_or_byte_array_as_key() { await using var testDatabase = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -289,7 +289,7 @@ public async Task Can_use_string_enum_or_byte_array_as_key() } } - [ConditionalFact] + [Fact] public async Task Can_remove_multiple_byte_array_as_key() { await using var testDatabase = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -324,7 +324,7 @@ private class ENumContext(DbContextOptions options) : DbContext(options) public DbSet BNums { get; set; } } - [ConditionalFact] + [Fact] public async Task Can_add_table_splitting_dependent_after_principal() { await using var testDatabase = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -367,7 +367,7 @@ public async Task Can_add_table_splitting_dependent_after_principal() } } - [ConditionalFact] + [Fact] public async Task Throws_when_adding_table_splitting_dependent_without_principal() { await using var testDatabase = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -459,7 +459,7 @@ private class BNum public string TheWalrus { get; set; } } - [ConditionalFact] + [Fact] public async Task Can_add_and_remove_entities_with_keys_of_different_type() { await using var testDatabase = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -511,7 +511,7 @@ private class Int64CompositeKeys public long Id2 { get; set; } } - [ConditionalFact] + [Fact] public async Task Can_insert_non_owner_principal_for_owned() { await using var testDatabase = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -572,7 +572,7 @@ private sealed class FileSource public bool Deleted { get; set; } } - [ConditionalFact] + [Fact] public async Task Can_insert_TPT_dependents_with_identity() { await using var testDatabase = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -610,7 +610,7 @@ private class Ferrari : Car public Car Special { get; set; } } - [ConditionalFact] + [Fact] public async Task Can_run_linq_query_on_entity_set() { await using var testStore = await SqlServerTestStore.GetNorthwindStoreAsync(); @@ -632,7 +632,7 @@ public async Task Can_run_linq_query_on_entity_set() Assert.Equal("030-0076545", results[3].Fax); } - [ConditionalFact] + [Fact] public async Task Can_run_linq_query_on_entity_set_with_value_buffer_reader() { await using var testStore = await SqlServerTestStore.GetNorthwindStoreAsync(); @@ -654,7 +654,7 @@ public async Task Can_run_linq_query_on_entity_set_with_value_buffer_reader() Assert.Equal("030-0076545", results[3].Fax); } - [ConditionalFact] + [Fact] public async Task Can_enumerate_entity_set() { await using var testStore = await SqlServerTestStore.GetNorthwindStoreAsync(); @@ -670,7 +670,7 @@ public async Task Can_enumerate_entity_set() Assert.Equal("Alfreds Futterkiste", results[0].CompanyName); } - [ConditionalFact] + [Fact] public async Task Can_save_changes() { await using var testDatabase = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -743,7 +743,7 @@ public async Task Can_save_changes() } } - [ConditionalFact] + [Fact] public async Task Can_save_changes_in_tracked_entities() { await using var testDatabase = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -800,7 +800,7 @@ public async Task Can_save_changes_in_tracked_entities() } } - [ConditionalFact] + [Fact] public async Task Can_track_an_entity_with_more_than_10_properties() { await using var testDatabase = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -829,7 +829,7 @@ public async Task Can_track_an_entity_with_more_than_10_properties() } } - [ConditionalFact] + [Fact] public async Task Can_replace_identifying_FK_entity_with_many_to_many() { await using var testDatabase = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -864,7 +864,7 @@ public async Task Can_replace_identifying_FK_entity_with_many_to_many() } } - [ConditionalTheory, MemberData( + [Theory, MemberData( nameof(DataGenerator.GetCombinations), new object[] { 0, 1, 2, 3, 4, 7 }, 2, @@ -1181,7 +1181,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) .HasForeignKey(e => e.Id); } - [ConditionalFact] + [Fact] public async Task Adding_an_item_to_a_collection_marks_it_as_modified() { await using var testDatabase = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -1206,7 +1206,7 @@ public async Task Adding_an_item_to_a_collection_marks_it_as_modified() Assert.True(context.Entry(player).Collection(p => p.Items).IsModified); } - [ConditionalFact] + [Fact] public async Task Can_set_reference_twice() { await using var testDatabase = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -1246,7 +1246,7 @@ public async Task Can_set_reference_twice() } } - [ConditionalFact] + [Fact] public async Task Can_include_on_loaded_entity() { await using var testDatabase = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -1468,7 +1468,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public async Task Tracking_entities_asynchronously_returns_tracked_entities_back() { await using var testStore = await SqlServerTestStore.GetNorthwindStoreAsync(); @@ -1482,7 +1482,7 @@ public async Task Tracking_entities_asynchronously_returns_tracked_entities_back db.Customers.Remove(customer); } - [ConditionalFact] // Issue #931 + [Fact] // Issue #931 public async Task Can_save_and_query_with_schema() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -1537,15 +1537,15 @@ private class Black public int MyKey { get; set; } } - [ConditionalFact] + [Fact] public Task Can_round_trip_changes_with_snapshot_change_tracking() => RoundTripChanges(); - [ConditionalFact] + [Fact] public Task Can_round_trip_changes_with_full_notification_entities() => RoundTripChanges(); - [ConditionalFact] + [Fact] public Task Can_round_trip_changes_with_changed_only_notification_entities() => RoundTripChanges(); diff --git a/test/EFCore.SqlServer.FunctionalTests/SqlServerQueryTriggersTest.cs b/test/EFCore.SqlServer.FunctionalTests/SqlServerQueryTriggersTest.cs index 107566f3a5a..868a8b3a4b9 100644 --- a/test/EFCore.SqlServer.FunctionalTests/SqlServerQueryTriggersTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/SqlServerQueryTriggersTest.cs @@ -12,7 +12,7 @@ public class SqlServerQueryTriggersTest(SqlServerQueryTriggersTest.SqlServerTrig { private SqlServerTriggersFixture Fixture { get; } = fixture; - [ConditionalFact] + [Fact] public void Triggers_with_subqueries_run_on_insert_update_and_delete() { using var context = CreateContext(); @@ -33,7 +33,7 @@ public void Triggers_with_subqueries_run_on_insert_update_and_delete() Assert.Empty(context.Products); } - [ConditionalFact] + [Fact] public void Triggers_with_subqueries_work_with_batch_operations() { using var context = CreateContext(); diff --git a/test/EFCore.SqlServer.FunctionalTests/SqlServerTriggersTest.cs b/test/EFCore.SqlServer.FunctionalTests/SqlServerTriggersTest.cs index 02afddebaf6..1cb7815d24e 100644 --- a/test/EFCore.SqlServer.FunctionalTests/SqlServerTriggersTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/SqlServerTriggersTest.cs @@ -13,7 +13,7 @@ public class SqlServerTriggersTest(SqlServerTriggersTest.SqlServerTriggersFixtur { private SqlServerTriggersFixture Fixture { get; } = fixture; - [ConditionalFact] + [Fact] public void Triggers_run_on_insert_update_and_delete() { using var context = CreateContext(); @@ -39,7 +39,7 @@ public void Triggers_run_on_insert_update_and_delete() Assert.Empty(context.ProductBackups); } - [ConditionalFact] + [Fact] public void Triggers_work_with_batch_operations() { using var context = CreateContext(); diff --git a/test/EFCore.SqlServer.FunctionalTests/SqlServerTypeAliasTest.cs b/test/EFCore.SqlServer.FunctionalTests/SqlServerTypeAliasTest.cs index 1db5af1c182..fb0048e4ccc 100644 --- a/test/EFCore.SqlServer.FunctionalTests/SqlServerTypeAliasTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/SqlServerTypeAliasTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.ComponentModel.DataAnnotations.Schema; @@ -11,7 +11,7 @@ public class SqlServerTypeAliasTest(SqlServerFixture fixture) : IClassFixture fixture) : SqlServerValueGenerationConflictTest(fixture) { - [ConditionalFact] + [Fact] public virtual void SqlServerValueGeneration_conflicting_with_existing_ValueGeneration_strategy_throws() { var modelBuilder = CreateModelBuilder(); @@ -32,7 +32,7 @@ public virtual void SqlServerValueGeneration_conflicting_with_existing_ValueGene Assert.Throws(() => Validate(modelBuilder)).Message); } - [ConditionalFact] + [Fact] public virtual void SqlServerValueGeneration_conflicting_with_existing_default_value_strategy_throws() { var modelBuilder = CreateModelBuilder(); @@ -66,7 +66,7 @@ public class SqlServerValueGenerationStrategyNoThrowTest( SqlServerValueGenerationStrategyFixture fixture) : SqlServerValueGenerationConflictTest(fixture) { - [ConditionalFact] + [Fact] public virtual void SqlServerValueGeneration_conflicting_with_existing_ValueGeneration_strategy_warns() { var modelBuilder = CreateModelBuilder(); diff --git a/test/EFCore.SqlServer.FunctionalTests/SqlServerValueGenerationScenariosTestBase.cs b/test/EFCore.SqlServer.FunctionalTests/SqlServerValueGenerationScenariosTestBase.cs index 52b2f4d2824..be4d4933cf2 100644 --- a/test/EFCore.SqlServer.FunctionalTests/SqlServerValueGenerationScenariosTestBase.cs +++ b/test/EFCore.SqlServer.FunctionalTests/SqlServerValueGenerationScenariosTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.Data.SqlClient; @@ -31,7 +31,7 @@ public abstract class SqlServerValueGenerationScenariosTestBase // Positive cases - [ConditionalFact] + [Fact] public async Task Insert_with_Identity_column() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -55,7 +55,7 @@ public async Task Insert_with_Identity_column() public class BlogContextIdentity(string databaseName, Action modelBuilder) : ContextBase(databaseName, modelBuilder); - [ConditionalFact] + [Fact] public async Task Insert_with_sequence_HiLo() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -95,7 +95,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public async Task Insert_with_key_sequence() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -135,7 +135,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public async Task Insert_with_non_key_sequence() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -173,7 +173,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public async Task Insert_with_default_value_from_sequence() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -243,7 +243,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public async Task Insert_with_default_string_value_from_sequence() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -296,7 +296,7 @@ public class BlogWithStringKey public string Name { get; set; } } - [ConditionalFact] + [Fact] public async Task Insert_with_key_default_value_from_sequence() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -337,7 +337,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public async Task Insert_uint_to_Identity_column_using_value_converter() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -386,7 +386,7 @@ public class BlogWithUIntKey public string Name { get; set; } } - [ConditionalFact] + [Fact] public async Task Insert_int_enum_to_Identity_column() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -442,7 +442,7 @@ public enum IntKey SixSixSeven, } - [ConditionalFact] + [Fact] public async Task Insert_ulong_enum_to_Identity_column() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -497,7 +497,7 @@ public enum ULongKey : ulong Sentinel } - [ConditionalFact] + [Fact] public async Task Insert_string_to_Identity_column_using_value_converter() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -547,7 +547,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public async Task Insert_with_explicit_non_default_keys() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -584,7 +584,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public async Task Insert_with_explicit_with_default_keys() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -625,7 +625,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public async Task Insert_with_non_key_default_value() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -694,7 +694,7 @@ public async Task Insert_with_non_key_default_value() } } - [ConditionalFact, SqlServerCondition(SqlServerCondition.SupportsSqlClr)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsSqlClrSupported))] public async Task Insert_with_non_key_default_spatial_value() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -809,7 +809,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public async Task Insert_with_non_key_default_value_readonly() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -888,7 +888,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public async Task Insert_and_update_with_computed_column() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -964,7 +964,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } // #6044 - [ConditionalFact] + [Fact] public async Task Insert_and_update_with_computed_column_with_function() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -1038,7 +1038,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } // #6044 - [ConditionalFact] + [Fact] public async Task Insert_and_update_with_computed_column_with_querying_function() { SqlServerTestStore testStore = null; @@ -1135,7 +1135,7 @@ RETURN @FullName } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public async Task Insert_with_computed_column_with_function_without_metadata_configuration(bool async) { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -1182,7 +1182,7 @@ RETURN @FullName } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public async Task Insert_with_trigger_without_metadata_configuration(bool async) { // Execute an insert against a table which has a trigger, but which haven't identified as such in our metadata. @@ -1225,7 +1225,7 @@ ON [FullNameBlogs] } } - [ConditionalFact] + [Fact] public async Task Insert_with_client_generated_GUID_key() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -1281,7 +1281,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact, SqlServerCondition(SqlServerCondition.IsNotAzureSql)] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsNotAzureSql))] public async Task Insert_with_ValueGeneratedOnAdd_GUID_nonkey_property_throws() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -1320,7 +1320,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public async Task Insert_with_server_generated_GUID_key() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -1379,7 +1379,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } // Negative cases - [ConditionalFact] + [Fact] public async Task Insert_with_explicit_non_default_keys_by_default() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -1396,7 +1396,7 @@ public async Task Insert_with_explicit_non_default_keys_by_default() context.Database.CreateExecutionStrategy().Execute(context, c => Assert.Throws(() => c.SaveChanges())); } - [ConditionalFact] + [Fact] public async Task Insert_with_explicit_default_keys() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -1416,7 +1416,7 @@ public async Task Insert_with_explicit_default_keys() public class BlogContext(string databaseName, Action modelBuilder) : ContextBase(databaseName, modelBuilder); - [ConditionalFact] + [Fact] public async Task Insert_with_implicit_default_keys() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -1456,7 +1456,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public async Task Insert_explicit_value_throws_when_readonly_sequence_before_save() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -1494,7 +1494,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public async Task Insert_explicit_value_throws_when_readonly_before_save() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -1522,7 +1522,7 @@ public async Task Insert_explicit_value_throws_when_readonly_before_save() Assert.Throws(() => context.SaveChanges()).Message); } - [ConditionalFact] + [Fact] public async Task Insert_explicit_value_into_computed_column() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -1545,7 +1545,7 @@ public async Task Insert_explicit_value_into_computed_column() Assert.Throws(() => context.SaveChanges()).Message); } - [ConditionalFact] + [Fact] public async Task Update_explicit_value_in_computed_column() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); @@ -1580,7 +1580,7 @@ public async Task Update_explicit_value_in_computed_column() } // Concurrency - [ConditionalFact] + [Fact] public async Task Resolve_concurrency() { await using var testStore = await SqlServerTestStore.CreateInitializedAsync(DatabaseName); diff --git a/test/EFCore.SqlServer.FunctionalTests/StoreGeneratedFixupSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/StoreGeneratedFixupSqlServerTest.cs index 39737b93b09..d89a3df4b7e 100644 --- a/test/EFCore.SqlServer.FunctionalTests/StoreGeneratedFixupSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/StoreGeneratedFixupSqlServerTest.cs @@ -11,7 +11,7 @@ public class StoreGeneratedFixupSqlServerTest(StoreGeneratedFixupSqlServerTest.S : StoreGeneratedFixupRelationalTestBase< StoreGeneratedFixupSqlServerTest.StoreGeneratedFixupSqlServerFixture>(fixture) { - [ConditionalFact] + [Fact] public Task Temp_values_are_replaced_on_save() => ExecuteWithStrategyInTransactionAsync(async context => { diff --git a/test/EFCore.SqlServer.FunctionalTests/StoreGeneratedSqlServerTestBase.cs b/test/EFCore.SqlServer.FunctionalTests/StoreGeneratedSqlServerTestBase.cs index 6419df3f763..ed05fa28768 100644 --- a/test/EFCore.SqlServer.FunctionalTests/StoreGeneratedSqlServerTestBase.cs +++ b/test/EFCore.SqlServer.FunctionalTests/StoreGeneratedSqlServerTestBase.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.ComponentModel.DataAnnotations.Schema; @@ -244,7 +244,7 @@ protected class LongToDecimalDependentOptional public LongToDecimalPrincipal? Principal { get; set; } } - [ConditionalFact] + [Fact] public virtual Task Insert_update_and_delete_with_long_to_decimal_conversion() { var id1 = 0L; @@ -345,7 +345,7 @@ public virtual Task Insert_update_and_delete_with_long_to_decimal_conversion() }); } - [ConditionalFact] + [Fact] public virtual Task Insert_update_and_delete_with_wrapped_int_key_using_hi_lo() { var id1 = 0; @@ -633,7 +633,7 @@ public virtual Task Insert_update_and_delete_with_wrapped_int_key_using_hi_lo() protected override void UseTransaction(DatabaseFacade facade, IDbContextTransaction transaction) => facade.UseTransaction(transaction.GetDbTransaction()); - [ConditionalFact] + [Fact] public virtual async Task Exception_in_SaveChanges_causes_store_values_to_be_reverted() { var entities = new List(); diff --git a/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerCondition.cs b/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerCondition.cs deleted file mode 100644 index 90e5e937201..00000000000 --- a/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerCondition.cs +++ /dev/null @@ -1,26 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -namespace Microsoft.EntityFrameworkCore.TestUtilities; - -[Flags] -public enum SqlServerCondition -{ - IsAzureSql = 1 << 0, - IsNotAzureSql = 1 << 1, - SupportsMemoryOptimized = 1 << 2, - SupportsAttach = 1 << 3, - SupportsHiddenColumns = 1 << 4, - IsNotCI = 1 << 5, - SupportsFullTextSearch = 1 << 6, - SupportsOnlineIndexes = 1 << 7, - SupportsTemporalTablesCascadeDelete = 1 << 8, - SupportsUtf8 = 1 << 9, - SupportsJsonPathExpressions = 1 << 10, - SupportsSqlClr = 1 << 11, - SupportsFunctions2017 = 1 << 12, - SupportsFunctions2019 = 1 << 13, - SupportsFunctions2022 = 1 << 14, - SupportsJsonType = 1 << 15, - SupportsVectorType = 1 << 16 -} diff --git a/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerConditionAttribute.cs b/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerConditionAttribute.cs deleted file mode 100644 index c8652a5c20c..00000000000 --- a/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerConditionAttribute.cs +++ /dev/null @@ -1,118 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using Microsoft.Data.SqlClient; -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - -namespace Microsoft.EntityFrameworkCore.TestUtilities; - -[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class)] -public sealed class SqlServerConditionAttribute(SqlServerCondition conditions) : Attribute, ITestCondition -{ - public SqlServerCondition Conditions { get; set; } = conditions; - - public ValueTask IsMetAsync() - { - var isMet = true; - - if (Conditions.HasFlag(SqlServerCondition.SupportsHiddenColumns)) - { - isMet &= TestEnvironment.IsHiddenColumnsSupported; - } - - if (Conditions.HasFlag(SqlServerCondition.SupportsMemoryOptimized)) - { - isMet &= TestEnvironment.IsMemoryOptimizedTablesSupported; - } - - if (Conditions.HasFlag(SqlServerCondition.IsAzureSql)) - { - isMet &= TestEnvironment.IsAzureSql; - } - - if (Conditions.HasFlag(SqlServerCondition.IsNotAzureSql)) - { - isMet &= !TestEnvironment.IsAzureSql; - } - - if (Conditions.HasFlag(SqlServerCondition.SupportsAttach)) - { - var defaultConnection = new SqlConnectionStringBuilder(TestEnvironment.DefaultConnection); - isMet &= defaultConnection.DataSource.Contains("(localdb)", StringComparison.OrdinalIgnoreCase) - || defaultConnection.UserInstance; - } - - if (Conditions.HasFlag(SqlServerCondition.IsNotCI)) - { - isMet &= !TestEnvironment.IsCI; - } - - if (Conditions.HasFlag(SqlServerCondition.SupportsFullTextSearch)) - { - isMet &= TestEnvironment.IsFullTextSearchSupported; - } - - if (Conditions.HasFlag(SqlServerCondition.SupportsOnlineIndexes)) - { - isMet &= TestEnvironment.IsOnlineIndexingSupported; - } - - if (Conditions.HasFlag(SqlServerCondition.SupportsTemporalTablesCascadeDelete)) - { - isMet &= TestEnvironment.IsTemporalTablesCascadeDeleteSupported; - } - - if (Conditions.HasFlag(SqlServerCondition.SupportsUtf8)) - { - isMet &= TestEnvironment.IsUtf8Supported; - } - - if (Conditions.HasFlag(SqlServerCondition.SupportsJsonPathExpressions)) - { - isMet &= TestEnvironment.SupportsJsonPathExpressions; - } - - if (Conditions.HasFlag(SqlServerCondition.SupportsSqlClr)) - { - isMet &= TestEnvironment.IsSqlClrSupported; - } - - if (Conditions.HasFlag(SqlServerCondition.SupportsFunctions2017)) - { - isMet &= TestEnvironment.IsFunctions2017Supported; - } - - if (Conditions.HasFlag(SqlServerCondition.SupportsFunctions2019)) - { - isMet &= TestEnvironment.IsFunctions2019Supported; - } - - if (Conditions.HasFlag(SqlServerCondition.SupportsFunctions2022)) - { - isMet &= TestEnvironment.IsFunctions2022Supported; - } - - if (Conditions.HasFlag(SqlServerCondition.SupportsJsonType)) - { - isMet &= TestEnvironment.IsJsonTypeSupported; - } - - if (Conditions.HasFlag(SqlServerCondition.SupportsVectorType)) - { - isMet &= TestEnvironment.IsVectorTypeSupported; - } - - return ValueTask.FromResult(isMet); - } - - public string SkipReason - => - // ReSharper disable once UseStringInterpolation - string.Format( - "The test SQL Server does not meet these conditions: '{0}'", - string.Join( - ", ", Enum.GetValues(typeof(SqlServerCondition)) - .Cast() - .Where(f => Conditions.HasFlag(f)) - .Select(f => Enum.GetName(typeof(SqlServerCondition), f)))); -} diff --git a/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerConfiguredConditionAttribute.cs b/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerConfiguredConditionAttribute.cs deleted file mode 100644 index 8955ae558f6..00000000000 --- a/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerConfiguredConditionAttribute.cs +++ /dev/null @@ -1,19 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using System.Runtime.InteropServices; -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - -namespace Microsoft.EntityFrameworkCore.TestUtilities; - -[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class | AttributeTargets.Assembly)] -public sealed class SqlServerConfiguredConditionAttribute : Attribute, ITestCondition -{ - public ValueTask IsMetAsync() - => new(TestEnvironment.IsConfigured && (RuntimeInformation.IsOSPlatform(OSPlatform.Windows) || !TestEnvironment.IsLocalDb)); - - public string SkipReason - => TestEnvironment.IsLocalDb - ? "LocalDb is not accessible on this platform. An external SQL Server must be configured." - : "No test SQL Server has been configured."; -} diff --git a/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerDbContextOptionsBuilderExtensions.cs b/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerDbContextOptionsBuilderExtensions.cs index 119389323dc..1c4580f498b 100644 --- a/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerDbContextOptionsBuilderExtensions.cs +++ b/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerDbContextOptionsBuilderExtensions.cs @@ -7,7 +7,7 @@ public static class SqlServerDbContextOptionsBuilderExtensions { public static SqlServerDbContextOptionsBuilder ApplyConfiguration(this SqlServerDbContextOptionsBuilder optionsBuilder) { - var maxBatch = TestEnvironment.GetInt(nameof(SqlServerDbContextOptionsBuilder.MaxBatchSize)); + var maxBatch = SqlServerTestEnvironment.GetInt(nameof(SqlServerDbContextOptionsBuilder.MaxBatchSize)); if (maxBatch.HasValue) { optionsBuilder.MaxBatchSize(maxBatch.Value); @@ -24,7 +24,7 @@ public static SqlServerDbContextOptionsBuilder ApplyConfiguration(this SqlServer public static AzureSqlDbContextOptionsBuilder ApplyConfiguration(this AzureSqlDbContextOptionsBuilder optionsBuilder) { - var maxBatch = TestEnvironment.GetInt(nameof(SqlServerDbContextOptionsBuilder.MaxBatchSize)); + var maxBatch = SqlServerTestEnvironment.GetInt(nameof(SqlServerDbContextOptionsBuilder.MaxBatchSize)); if (maxBatch.HasValue) { optionsBuilder.MaxBatchSize(maxBatch.Value); @@ -41,7 +41,7 @@ public static AzureSqlDbContextOptionsBuilder ApplyConfiguration(this AzureSqlDb public static AzureSynapseDbContextOptionsBuilder ApplyConfiguration(this AzureSynapseDbContextOptionsBuilder optionsBuilder) { - var maxBatch = TestEnvironment.GetInt(nameof(SqlServerDbContextOptionsBuilder.MaxBatchSize)); + var maxBatch = SqlServerTestEnvironment.GetInt(nameof(SqlServerDbContextOptionsBuilder.MaxBatchSize)); if (maxBatch.HasValue) { optionsBuilder.MaxBatchSize(maxBatch.Value); @@ -64,7 +64,7 @@ public static AzureSynapseDbContextOptionsBuilder ApplyConfiguration(this AzureS /// The compatibility level to use. /// The configured options builder. public static DbContextOptionsBuilder UseSqlServerCompatibilityLevel(this DbContextOptionsBuilder optionsBuilder, int compatibilityLevel) - => TestEnvironment.IsAzureSql + => SqlServerTestEnvironment.IsAzureSql ? optionsBuilder.UseAzureSql(b => b.UseCompatibilityLevel(compatibilityLevel)) : optionsBuilder.UseSqlServer(b => b.UseCompatibilityLevel(compatibilityLevel)); } diff --git a/test/EFCore.SqlServer.FunctionalTests/TestUtilities/TestEnvironment.cs b/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerTestEnvironment.cs similarity index 74% rename from test/EFCore.SqlServer.FunctionalTests/TestUtilities/TestEnvironment.cs rename to test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerTestEnvironment.cs index d0d5fa5df76..172fa140a44 100644 --- a/test/EFCore.SqlServer.FunctionalTests/TestUtilities/TestEnvironment.cs +++ b/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerTestEnvironment.cs @@ -1,12 +1,13 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System.Runtime.InteropServices; using Microsoft.Data.SqlClient; using Microsoft.Extensions.Configuration; namespace Microsoft.EntityFrameworkCore.TestUtilities; -public static class TestEnvironment +public static class SqlServerTestEnvironment { public static IConfiguration Config { get; } = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) @@ -30,17 +31,17 @@ public static class TestEnvironment private static bool? _fullTextInstalled; - private static bool? _supportsHiddenColumns; + private static bool? _IsHiddenColumnsSupported; - private static bool? _supportsSqlClr; + private static bool? _IsSqlClrSupported; private static bool? _supportsOnlineIndexing; - private static bool? _supportsMemoryOptimizedTables; + private static bool? _IsMemoryOptimizedTablesSupportedTables; - private static bool? _supportsTemporalTablesCascadeDelete; + private static bool? _IsTemporalTablesCascadeDeleteSupported; - private static bool? _supportsUtf8; + private static bool? _IsUtf8Supported; private static bool? _supportsJsonPathExpressions; @@ -48,11 +49,11 @@ public static class TestEnvironment private static bool? _isVectorTypeSupported; - private static bool? _supportsFunctions2017; + private static bool? _IsFunctions2017Supported; - private static bool? _supportsFunctions2019; + private static bool? _IsFunctions2019Supported; - private static bool? _supportsFunctions2022; + private static bool? _IsFunctions2022Supported; private static byte? _productMajorVersion; @@ -89,6 +90,9 @@ public static bool IsAzureSql public static bool IsLocalDb { get; } = _dataSource.StartsWith("(localdb)", StringComparison.OrdinalIgnoreCase); + public static bool SqlServerAvailable { get; } = IsConfigured + && (RuntimeInformation.IsOSPlatform(OSPlatform.Windows) || !IsLocalDb); + public static bool IsFullTextSearchSupported { get @@ -132,21 +136,21 @@ public static bool IsHiddenColumnsSupported return false; } - if (_supportsHiddenColumns.HasValue) + if (_IsHiddenColumnsSupported.HasValue) { - return _supportsHiddenColumns.Value; + return _IsHiddenColumnsSupported.Value; } try { - _supportsHiddenColumns = ((GetProductMajorVersion() >= 13 && GetEngineEdition() != 6) || IsAzureSql) && GetCompatibilityLevel() >= 130; + _IsHiddenColumnsSupported = ((GetProductMajorVersion() >= 13 && GetEngineEdition() != 6) || IsAzureSql) && GetCompatibilityLevel() >= 130; } catch (PlatformNotSupportedException) { - _supportsHiddenColumns = false; + _IsHiddenColumnsSupported = false; } - return _supportsHiddenColumns.Value; + return _IsHiddenColumnsSupported.Value; } } @@ -159,21 +163,21 @@ public static bool IsSqlClrSupported return false; } - if (_supportsSqlClr.HasValue) + if (_IsSqlClrSupported.HasValue) { - return _supportsSqlClr.Value; + return _IsSqlClrSupported.Value; } try { - _supportsSqlClr = GetEngineEdition() != 9; + _IsSqlClrSupported = GetEngineEdition() != 9; } catch (PlatformNotSupportedException) { - _supportsSqlClr = false; + _IsSqlClrSupported = false; } - return _supportsSqlClr.Value; + return _IsSqlClrSupported.Value; } } @@ -213,15 +217,15 @@ public static bool IsMemoryOptimizedTablesSupported return false; } - var supported = GetFlag(nameof(SqlServerCondition.SupportsMemoryOptimized)); + var supported = GetFlag(nameof(IsMemoryOptimizedTablesSupported)); if (supported.HasValue) { - _supportsMemoryOptimizedTables = supported.Value; + _IsMemoryOptimizedTablesSupportedTables = supported.Value; } - if (_supportsMemoryOptimizedTables.HasValue) + if (_IsMemoryOptimizedTablesSupportedTables.HasValue) { - return _supportsMemoryOptimizedTables.Value; + return _IsMemoryOptimizedTablesSupportedTables.Value; } try @@ -232,14 +236,14 @@ public static bool IsMemoryOptimizedTablesSupported using var command = new SqlCommand( "SELECT SERVERPROPERTY('IsXTPSupported');", sqlConnection); var result = command.ExecuteScalar(); - _supportsMemoryOptimizedTables = (result != null ? Convert.ToInt32(result) : 0) == 1 && !IsLocalDb; + _IsMemoryOptimizedTablesSupportedTables = (result != null ? Convert.ToInt32(result) : 0) == 1 && !IsLocalDb; } catch (PlatformNotSupportedException) { - _supportsMemoryOptimizedTables = false; + _IsMemoryOptimizedTablesSupportedTables = false; } - return _supportsMemoryOptimizedTables.Value; + return _IsMemoryOptimizedTablesSupportedTables.Value; } } @@ -252,21 +256,21 @@ public static bool IsTemporalTablesCascadeDeleteSupported return false; } - if (_supportsTemporalTablesCascadeDelete.HasValue) + if (_IsTemporalTablesCascadeDeleteSupported.HasValue) { - return _supportsTemporalTablesCascadeDelete.Value; + return _IsTemporalTablesCascadeDeleteSupported.Value; } try { - _supportsTemporalTablesCascadeDelete = (GetProductMajorVersion() >= 14 || IsAzureSql) && GetCompatibilityLevel() >= 140; + _IsTemporalTablesCascadeDeleteSupported = (GetProductMajorVersion() >= 14 || IsAzureSql) && GetCompatibilityLevel() >= 140; } catch (PlatformNotSupportedException) { - _supportsTemporalTablesCascadeDelete = false; + _IsTemporalTablesCascadeDeleteSupported = false; } - return _supportsTemporalTablesCascadeDelete.Value; + return _IsTemporalTablesCascadeDeleteSupported.Value; } } @@ -279,21 +283,21 @@ public static bool IsUtf8Supported return false; } - if (_supportsUtf8.HasValue) + if (_IsUtf8Supported.HasValue) { - return _supportsUtf8.Value; + return _IsUtf8Supported.Value; } try { - _supportsUtf8 = (GetProductMajorVersion() >= 15 || IsAzureSql) && GetCompatibilityLevel() >= 150; + _IsUtf8Supported = (GetProductMajorVersion() >= 15 || IsAzureSql) && GetCompatibilityLevel() >= 150; } catch (PlatformNotSupportedException) { - _supportsUtf8 = false; + _IsUtf8Supported = false; } - return _supportsUtf8.Value; + return _IsUtf8Supported.Value; } } @@ -333,21 +337,21 @@ public static bool IsFunctions2017Supported return false; } - if (_supportsFunctions2017.HasValue) + if (_IsFunctions2017Supported.HasValue) { - return _supportsFunctions2017.Value; + return _IsFunctions2017Supported.Value; } try { - _supportsFunctions2017 = (GetProductMajorVersion() >= 14 || IsAzureSql) && GetCompatibilityLevel() >= 140; + _IsFunctions2017Supported = (GetProductMajorVersion() >= 14 || IsAzureSql) && GetCompatibilityLevel() >= 140; } catch (PlatformNotSupportedException) { - _supportsFunctions2017 = false; + _IsFunctions2017Supported = false; } - return _supportsFunctions2017.Value; + return _IsFunctions2017Supported.Value; } } @@ -360,21 +364,21 @@ public static bool IsFunctions2019Supported return false; } - if (_supportsFunctions2019.HasValue) + if (_IsFunctions2019Supported.HasValue) { - return _supportsFunctions2019.Value; + return _IsFunctions2019Supported.Value; } try { - _supportsFunctions2019 = (GetProductMajorVersion() >= 15 || IsAzureSql) && GetCompatibilityLevel() >= 150; + _IsFunctions2019Supported = (GetProductMajorVersion() >= 15 || IsAzureSql) && GetCompatibilityLevel() >= 150; } catch (PlatformNotSupportedException) { - _supportsFunctions2019 = false; + _IsFunctions2019Supported = false; } - return _supportsFunctions2019.Value; + return _IsFunctions2019Supported.Value; } } @@ -387,21 +391,21 @@ public static bool IsFunctions2022Supported return false; } - if (_supportsFunctions2022.HasValue) + if (_IsFunctions2022Supported.HasValue) { - return _supportsFunctions2022.Value; + return _IsFunctions2022Supported.Value; } try { - _supportsFunctions2022 = (GetProductMajorVersion() >= 16 || IsAzureSql) && GetCompatibilityLevel() >= 160; + _IsFunctions2022Supported = (GetProductMajorVersion() >= 16 || IsAzureSql) && GetCompatibilityLevel() >= 160; } catch (PlatformNotSupportedException) { - _supportsFunctions2022 = false; + _IsFunctions2022Supported = false; } - return _supportsFunctions2022.Value; + return _IsFunctions2022Supported.Value; } } @@ -463,6 +467,18 @@ public static bool IsVectorTypeSupported public static byte SqlServerMajorVersion => GetProductMajorVersion(); + public static bool IsNotAzureSql => !IsAzureSql; + + public static bool SupportsAttach + { + get + { + var defaultConnection = new SqlConnectionStringBuilder(DefaultConnection); + return defaultConnection.DataSource.Contains("(localdb)", StringComparison.OrdinalIgnoreCase) + || defaultConnection.UserInstance; + } + } + public static DbContextOptionsBuilder SetCompatibilityLevelFromEnvironment(DbContextOptionsBuilder builder) => builder.UseSqlServerCompatibilityLevel(SqlServerMajorVersion * 10); diff --git a/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerTestStore.cs b/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerTestStore.cs index 36df2aec0bb..a47a0b5f098 100644 --- a/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerTestStore.cs +++ b/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerTestStore.cs @@ -116,10 +116,10 @@ protected override async Task InitializeAsync(Func createContext, Fun public override DbContextOptionsBuilder AddProviderOptions(DbContextOptionsBuilder builder) => (UseConnectionString - ? TestEnvironment.IsAzureSql + ? SqlServerTestEnvironment.IsAzureSql ? builder.UseAzureSql(ConnectionString, b => b.ApplyConfiguration()) : builder.UseSqlServer(ConnectionString, b => b.ApplyConfiguration()) - : TestEnvironment.IsAzureSql + : SqlServerTestEnvironment.IsAzureSql ? builder.UseAzureSql(Connection, b => b.ApplyConfiguration()) : builder.UseSqlServer(Connection, b => b.ApplyConfiguration())) .ConfigureWarnings(b => b.Ignore(SqlServerEventId.SavepointsDisabledBecauseOfMARS)); @@ -131,7 +131,7 @@ private async Task CleanDatabaseAsync(Func? clean) if (ExecuteScalar(master, $"SELECT COUNT(*) FROM sys.databases WHERE name = N'{Name}'") > 0) { // Only reseed scripted databases during CI runs - if (_scriptPath != null && !TestEnvironment.IsCI) + if (_scriptPath != null && !SqlServerTestEnvironment.IsCI) { return false; } @@ -217,9 +217,9 @@ private static string GetCreateDatabaseStatement(string name, string? fileName) { var result = $"CREATE DATABASE [{name}]"; - if (TestEnvironment.IsAzureSql) + if (SqlServerTestEnvironment.IsAzureSql) { - var elasticGroupName = TestEnvironment.ElasticPoolName; + var elasticGroupName = SqlServerTestEnvironment.ElasticPoolName; result += Environment.NewLine + (string.IsNullOrEmpty(elasticGroupName) ? " ( Edition = 'basic' )" @@ -472,7 +472,7 @@ public override async ValueTask DisposeAsync() await base.DisposeAsync(); if (_fileName != null // Clean up the database using a local file, as it might get deleted later - || (TestEnvironment.IsAzureSql && !Shared)) + || (SqlServerTestEnvironment.IsAzureSql && !Shared)) { await DeleteDatabaseAsync(); } @@ -486,7 +486,7 @@ private static SqlConnection CreateConnection(string name, bool useFileName, boo public static string CreateConnectionString(string name, string? fileName = null, bool? multipleActiveResultSets = null) { - var builder = new SqlConnectionStringBuilder(TestEnvironment.DefaultConnection) + var builder = new SqlConnectionStringBuilder(SqlServerTestEnvironment.DefaultConnection) { MultipleActiveResultSets = multipleActiveResultSets ?? Random.Shared.Next(0, 2) == 1, InitialCatalog = name }; diff --git a/test/EFCore.SqlServer.FunctionalTests/TestUtilities/TestSqlServerRetryingExecutionStrategy.cs b/test/EFCore.SqlServer.FunctionalTests/TestUtilities/TestSqlServerRetryingExecutionStrategy.cs index ac0eea2e54c..dae45fe48e8 100644 --- a/test/EFCore.SqlServer.FunctionalTests/TestUtilities/TestSqlServerRetryingExecutionStrategy.cs +++ b/test/EFCore.SqlServer.FunctionalTests/TestUtilities/TestSqlServerRetryingExecutionStrategy.cs @@ -23,7 +23,7 @@ public TestSqlServerRetryingExecutionStrategy() new DbContext( new DbContextOptionsBuilder() .EnableServiceProviderCaching(false) - .UseSqlServer(TestEnvironment.DefaultConnection).Options), + .UseSqlServer(SqlServerTestEnvironment.DefaultConnection).Options), DefaultMaxRetryCount, DefaultMaxDelay, _additionalErrorNumbers) { } diff --git a/test/EFCore.SqlServer.FunctionalTests/TransactionSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/TransactionSqlServerTest.cs index a202a865a05..64db4c5fbe6 100644 --- a/test/EFCore.SqlServer.FunctionalTests/TransactionSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/TransactionSqlServerTest.cs @@ -31,7 +31,7 @@ public override Task SaveChanges_uses_explicit_transaction_with_failure_behavior ? Task.CompletedTask : base.SaveChanges_uses_explicit_transaction_with_failure_behavior(async, autoTransactionBehavior); - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual async Task Savepoints_are_disabled_with_MARS(bool async) { await using var context = CreateContextWithConnectionString( diff --git a/test/EFCore.SqlServer.FunctionalTests/TwoDatabasesSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/TwoDatabasesSqlServerTest.cs index 668dad4c391..2d6e19069a0 100644 --- a/test/EFCore.SqlServer.FunctionalTests/TwoDatabasesSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/TwoDatabasesSqlServerTest.cs @@ -10,7 +10,7 @@ public class TwoDatabasesSqlServerTest(SqlServerFixture fixture) : TwoDatabasesT protected new SqlServerFixture Fixture => (SqlServerFixture)base.Fixture; - [ConditionalTheory( + [Theory( Skip = "In SQL Server specifically, injection of Application Name into the connection string causes this test to fail (#36548)")] public override void Can_set_connection_string_in_interceptor(bool withConnectionString, bool withNullConnectionString) => base.Can_set_connection_string_in_interceptor(withConnectionString, withNullConnectionString); diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Geography/SqlServerGeographyCollectionTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Geography/SqlServerGeographyCollectionTypeTest.cs index 86cb416e43d..2253b247f94 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Geography/SqlServerGeographyCollectionTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Geography/SqlServerGeographyCollectionTypeTest.cs @@ -3,8 +3,6 @@ using NetTopologySuite.Geometries; -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Geography; public class SqlServerGeographyCollectionTypeTest(SqlServerGeographyCollectionTypeTest.GeographyCollectionTypeFixture fixture, ITestOutputHelper testOutputHelper) @@ -178,8 +176,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); @@ -243,7 +241,7 @@ public class GeographyCollectionTypeFixture : SqlServerGeographyTypeFixture { SRID = 4326 }; } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Geography/SqlServerGeographyLineStringTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Geography/SqlServerGeographyLineStringTypeTest.cs index 753ed281d42..12b6100917f 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Geography/SqlServerGeographyLineStringTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Geography/SqlServerGeographyLineStringTypeTest.cs @@ -3,8 +3,6 @@ using NetTopologySuite.Geometries; -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Geography; public class SqlServerGeographyLineStringTypeTest( @@ -172,8 +170,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); @@ -218,7 +216,7 @@ public class LineStringTypeFixture : SqlServerGeographyTypeFixture { SRID = 4326 }; } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Geography/SqlServerGeographyMultiLineStringTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Geography/SqlServerGeographyMultiLineStringTypeTest.cs index f9a757de351..338201e1990 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Geography/SqlServerGeographyMultiLineStringTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Geography/SqlServerGeographyMultiLineStringTypeTest.cs @@ -3,8 +3,6 @@ using NetTopologySuite.Geometries; -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Geography; public class SqlServerGeographyMultiLineStringTypeTest( @@ -176,8 +174,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); @@ -231,7 +229,7 @@ public class MultiLineStringTypeFixture : SqlServerGeographyTypeFixture { SRID = 4326 }; } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Geography/SqlServerGeographyMultiPointTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Geography/SqlServerGeographyMultiPointTypeTest.cs index 25c0fd0a10a..9a38879d862 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Geography/SqlServerGeographyMultiPointTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Geography/SqlServerGeographyMultiPointTypeTest.cs @@ -3,8 +3,6 @@ using NetTopologySuite.Geometries; -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Geography; public class SqlServerGeographyMultiPointTypeTest(SqlServerGeographyMultiPointTypeTest.MultiPointTypeFixture fixture, ITestOutputHelper testOutputHelper) @@ -178,8 +176,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); @@ -222,7 +220,7 @@ public class MultiPointTypeFixture : SqlServerGeographyTypeFixture { SRID = 4326 }; } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Geography/SqlServerGeographyMultiPolygonTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Geography/SqlServerGeographyMultiPolygonTypeTest.cs index 2ebd05f2e6a..8fdfbe5a160 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Geography/SqlServerGeographyMultiPolygonTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Geography/SqlServerGeographyMultiPolygonTypeTest.cs @@ -3,8 +3,6 @@ using NetTopologySuite.Geometries; -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Geography; public class SqlServerGeographyMultiPolygonTypeTest( @@ -176,8 +174,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); @@ -245,7 +243,7 @@ public class MultiPolygonTypeFixture : SqlServerGeographyTypeFixture { SRID = 4326 }; } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Geography/SqlServerGeographyPointTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Geography/SqlServerGeographyPointTypeTest.cs index 646d5df312d..9d128bdffeb 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Geography/SqlServerGeographyPointTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Geography/SqlServerGeographyPointTypeTest.cs @@ -3,8 +3,6 @@ using NetTopologySuite.Geometries; -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Geography; public class SqlServerGeographyPointTypeTest(SqlServerGeographyPointTypeTest.PointTypeFixture fixture, ITestOutputHelper testOutputHelper) @@ -170,8 +168,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); @@ -204,7 +202,7 @@ public class PointTypeFixture : SqlServerGeographyTypeFixture public override Point OtherValue { get; } = new(-121.7500, 46.2500) { SRID = 4326 }; } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Geography/SqlServerGeographyPolygonTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Geography/SqlServerGeographyPolygonTypeTest.cs index 45d71d38df2..8c1da76a069 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Geography/SqlServerGeographyPolygonTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Geography/SqlServerGeographyPolygonTypeTest.cs @@ -3,8 +3,6 @@ using NetTopologySuite.Geometries; -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Geography; public class SqlServerGeographyPolygonTypeTest(SqlServerGeographyPolygonTypeTest.PolygonTypeFixture fixture, ITestOutputHelper testOutputHelper) @@ -170,8 +168,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); @@ -223,7 +221,7 @@ public class PolygonTypeFixture : SqlServerGeographyTypeFixture { SRID = 4326 }; } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Geometry/SqlServerGeometryCollectionTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Geometry/SqlServerGeometryCollectionTypeTest.cs index af108e2aa79..046577d7a6f 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Geometry/SqlServerGeometryCollectionTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Geometry/SqlServerGeometryCollectionTypeTest.cs @@ -3,8 +3,6 @@ using NetTopologySuite.Geometries; -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Geometry; public class SqlServerGeometryCollectionTypeTest(SqlServerGeometryCollectionTypeTest.GeometryCollectionTypeFixture fixture, ITestOutputHelper testOutputHelper) @@ -178,8 +176,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); @@ -241,7 +239,7 @@ public class GeometryCollectionTypeFixture : GeometryTypeFixture ]); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Geometry/SqlServerGeometryLineStringTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Geometry/SqlServerGeometryLineStringTypeTest.cs index 36cdba3fb28..6e8cbe2070d 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Geometry/SqlServerGeometryLineStringTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Geometry/SqlServerGeometryLineStringTypeTest.cs @@ -3,8 +3,6 @@ using NetTopologySuite.Geometries; -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Geometry; public class SqlServerGeometryLineStringTypeTest( @@ -172,8 +170,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); @@ -216,7 +214,7 @@ public class LineStringTypeFixture : GeometryTypeFixture ]); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Geometry/SqlServerGeometryMultiLineStringTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Geometry/SqlServerGeometryMultiLineStringTypeTest.cs index 5f3259d891e..1750b533a2c 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Geometry/SqlServerGeometryMultiLineStringTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Geometry/SqlServerGeometryMultiLineStringTypeTest.cs @@ -3,8 +3,6 @@ using NetTopologySuite.Geometries; -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Geometry; public class SqlServerGeometryMultiLineStringTypeTest( @@ -176,8 +174,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); @@ -231,7 +229,7 @@ public class MultiLineStringTypeFixture : GeometryTypeFixture ]); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Geometry/SqlServerGeometryMultiPointTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Geometry/SqlServerGeometryMultiPointTypeTest.cs index 9da4cf18f6c..db4a739a18d 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Geometry/SqlServerGeometryMultiPointTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Geometry/SqlServerGeometryMultiPointTypeTest.cs @@ -3,8 +3,6 @@ using NetTopologySuite.Geometries; -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Geometry; public class SqlServerGeometryMultiPointTypeTest(SqlServerGeometryMultiPointTypeTest.MultiPointTypeFixture fixture, ITestOutputHelper testOutputHelper) @@ -178,8 +176,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); @@ -222,7 +220,7 @@ public class MultiPointTypeFixture : GeometryTypeFixture ]); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Geometry/SqlServerGeometryMultiPolygonTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Geometry/SqlServerGeometryMultiPolygonTypeTest.cs index 2f389371410..8a45799ca1d 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Geometry/SqlServerGeometryMultiPolygonTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Geometry/SqlServerGeometryMultiPolygonTypeTest.cs @@ -3,8 +3,6 @@ using NetTopologySuite.Geometries; -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Geometry; public class SqlServerGeometryMultiPolygonTypeTest( @@ -176,8 +174,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); @@ -243,7 +241,7 @@ public class MultiPolygonTypeFixture : GeometryTypeFixture ]); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Geometry/SqlServerGeometryPointTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Geometry/SqlServerGeometryPointTypeTest.cs index d6fb1f6d0e0..d8daa155a70 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Geometry/SqlServerGeometryPointTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Geometry/SqlServerGeometryPointTypeTest.cs @@ -3,8 +3,6 @@ using NetTopologySuite.Geometries; -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Geometry; public class SqlServerGeometryPointTypeTest(SqlServerGeometryPointTypeTest.PointTypeFixture fixture, ITestOutputHelper testOutputHelper) @@ -170,8 +168,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); @@ -204,7 +202,7 @@ public class PointTypeFixture : GeometryTypeFixture public override Point OtherValue { get; } = new(30, 40); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Geometry/SqlServerGeometryPolygonTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Geometry/SqlServerGeometryPolygonTypeTest.cs index ed29ee34bd3..fdb0e774abd 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Geometry/SqlServerGeometryPolygonTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Geometry/SqlServerGeometryPolygonTypeTest.cs @@ -3,8 +3,6 @@ using NetTopologySuite.Geometries; -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Geometry; public class SqlServerGeometryPolygonTypeTest(SqlServerGeometryPolygonTypeTest.PolygonTypeFixture fixture, ITestOutputHelper testOutputHelper) @@ -170,8 +168,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); @@ -221,7 +219,7 @@ public class PolygonTypeFixture : GeometryTypeFixture ])); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Miscellaneous/SqlServerBoolTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Miscellaneous/SqlServerBoolTypeTest.cs index 0b1639d0594..a290ce45eb7 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Miscellaneous/SqlServerBoolTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Miscellaneous/SqlServerBoolTypeTest.cs @@ -1,8 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Miscellaneous; public class SqlServerBoolTypeTest(SqlServerBoolTypeTest.BoolTypeFixture fixture, ITestOutputHelper testOutputHelper) @@ -192,8 +190,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); @@ -226,7 +224,7 @@ public class BoolTypeFixture : SqlServerTypeFixture public override bool OtherValue { get; } = false; } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Miscellaneous/SqlServerByteArrayTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Miscellaneous/SqlServerByteArrayTypeTest.cs index 53307784625..439d6557051 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Miscellaneous/SqlServerByteArrayTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Miscellaneous/SqlServerByteArrayTypeTest.cs @@ -1,8 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Miscellaneous; public class SqlServerByteArrayTypeTest(SqlServerByteArrayTypeTest.ByteArrayTypeFixture fixture, ITestOutputHelper testOutputHelper) @@ -170,8 +168,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); @@ -206,10 +204,10 @@ public class ByteArrayTypeFixture() : SqlServerTypeFixture public override Func Comparer { get; } = (a, b) => a.SequenceEqual(b); public override DbContextOptionsBuilder AddOptions(DbContextOptionsBuilder builder) - => TestEnvironment.SetCompatibilityLevelFromEnvironment(base.AddOptions(builder)); + => SqlServerTestEnvironment.SetCompatibilityLevelFromEnvironment(base.AddOptions(builder)); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Miscellaneous/SqlServerGuidTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Miscellaneous/SqlServerGuidTypeTest.cs index ebe283b8ddf..d6d856c360e 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Miscellaneous/SqlServerGuidTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Miscellaneous/SqlServerGuidTypeTest.cs @@ -1,8 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Miscellaneous; public class SqlServerGuidTypeTest(SqlServerGuidTypeTest.GuidTypeFixture fixture, ITestOutputHelper testOutputHelper) @@ -180,8 +178,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); @@ -214,10 +212,10 @@ public class GuidTypeFixture : SqlServerTypeFixture public override Guid OtherValue { get; } = new("ae192c36-9004-49b2-b785-8be10d169627"); public override DbContextOptionsBuilder AddOptions(DbContextOptionsBuilder builder) - => TestEnvironment.SetCompatibilityLevelFromEnvironment(base.AddOptions(builder)); + => SqlServerTestEnvironment.SetCompatibilityLevelFromEnvironment(base.AddOptions(builder)); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Miscellaneous/SqlServerStringTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Miscellaneous/SqlServerStringTypeTest.cs index 2b6038f2c4c..6844e19aa8e 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Miscellaneous/SqlServerStringTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Miscellaneous/SqlServerStringTypeTest.cs @@ -1,8 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Miscellaneous; public class SqlServerStringTypeTest(SqlServerStringTypeTest.StringTypeFixture fixture, ITestOutputHelper testOutputHelper) @@ -192,8 +190,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); @@ -226,7 +224,7 @@ public class StringTypeFixture : SqlServerTypeFixture public override string OtherValue { get; } = "bar"; } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Numeric/SqlServerByteTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Numeric/SqlServerByteTypeTest.cs index 23f9600ecd1..73b521f1c6f 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Numeric/SqlServerByteTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Numeric/SqlServerByteTypeTest.cs @@ -1,8 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Numeric; public class SqlServerByteTypeTest(SqlServerByteTypeTest.ByteTypeFixture fixture, ITestOutputHelper testOutputHelper) @@ -192,8 +190,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); @@ -226,7 +224,7 @@ public class ByteTypeFixture : SqlServerTypeFixture public override byte OtherValue { get; } = byte.MaxValue; } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Numeric/SqlServerDecimalTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Numeric/SqlServerDecimalTypeTest.cs index 04bbcece4a4..8bf8f631390 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Numeric/SqlServerDecimalTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Numeric/SqlServerDecimalTypeTest.cs @@ -1,8 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Numeric; public class SqlServerDecimalTypeTest(SqlServerDecimalTypeTest.DecimalTypeFixture fixture, ITestOutputHelper testOutputHelper) @@ -192,8 +190,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Numeric/SqlServerDoubleTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Numeric/SqlServerDoubleTypeTest.cs index 8258ecabb73..b510b3d7491 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Numeric/SqlServerDoubleTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Numeric/SqlServerDoubleTypeTest.cs @@ -1,8 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Numeric; public class SqlServerDoubleTypeTest(SqlServerDoubleTypeTest.DoubleTypeFixture fixture, ITestOutputHelper testOutputHelper) @@ -192,8 +190,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Numeric/SqlServerFloatTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Numeric/SqlServerFloatTypeTest.cs index 1b833cbd865..ee372f45eca 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Numeric/SqlServerFloatTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Numeric/SqlServerFloatTypeTest.cs @@ -1,8 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Numeric; public class SqlServerFloatTypeTest(SqlServerFloatTypeTest.FloatTypeFixture fixture, ITestOutputHelper testOutputHelper) @@ -192,8 +190,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Numeric/SqlServerIntTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Numeric/SqlServerIntTypeTest.cs index 835ca7b7648..76288410730 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Numeric/SqlServerIntTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Numeric/SqlServerIntTypeTest.cs @@ -1,8 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Numeric; public class SqlServerIntTypeTest(SqlServerIntTypeTest.IntTypeFixture fixture, ITestOutputHelper testOutputHelper) @@ -192,8 +190,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Numeric/SqlServerLongTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Numeric/SqlServerLongTypeTest.cs index 0543c2e989e..eebbedb8b44 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Numeric/SqlServerLongTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Numeric/SqlServerLongTypeTest.cs @@ -1,8 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Numeric; public class SqlServerLongTypeTest(SqlServerLongTypeTest.LongTypeFixture fixture, ITestOutputHelper testOutputHelper) @@ -192,8 +190,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Numeric/SqlServerShortTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Numeric/SqlServerShortTypeTest.cs index 8215d95aa1f..1484c585fcf 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Numeric/SqlServerShortTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Numeric/SqlServerShortTypeTest.cs @@ -1,8 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Numeric; public class SqlServerShortTypeTest(SqlServerShortTypeTest.ShortTypeFixture fixture, ITestOutputHelper testOutputHelper) @@ -192,8 +190,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/SqlServerTypeFixture.cs b/test/EFCore.SqlServer.FunctionalTests/Types/SqlServerTypeFixture.cs index da98806a7a2..36c4523fdbc 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/SqlServerTypeFixture.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/SqlServerTypeFixture.cs @@ -8,8 +8,8 @@ public abstract class SqlServerTypeFixture : RelationalTypeFixtureBase protected override ITestStoreFactory TestStoreFactory => SqlServerTestStoreFactory.Instance; public override DbContextOptionsBuilder AddOptions(DbContextOptionsBuilder builder) - => TestEnvironment.SetCompatibilityLevelFromEnvironment(base.AddOptions(builder)); + => SqlServerTestEnvironment.SetCompatibilityLevelFromEnvironment(base.AddOptions(builder)); public virtual bool UsingJsonType - => TestEnvironment.SqlServerMajorVersion >= 17; + => SqlServerTestEnvironment.SqlServerMajorVersion >= 17; } diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Temporal/SqlServerDateOnlyTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Temporal/SqlServerDateOnlyTypeTest.cs index 1c5d197e357..31499314260 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Temporal/SqlServerDateOnlyTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Temporal/SqlServerDateOnlyTypeTest.cs @@ -1,8 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Temporal; public class SqlServerDateOnlyTypeTest(SqlServerDateOnlyTypeTest.DateTypeFixture fixture, ITestOutputHelper testOutputHelper) @@ -192,8 +190,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); @@ -226,7 +224,7 @@ public class DateTypeFixture : SqlServerTypeFixture public override DateOnly OtherValue { get; } = new DateOnly(2022, 5, 3); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Temporal/SqlServerDateTime2TypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Temporal/SqlServerDateTime2TypeTest.cs index abc152d3e93..23d724c7ec2 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Temporal/SqlServerDateTime2TypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Temporal/SqlServerDateTime2TypeTest.cs @@ -1,8 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Temporal; public class SqlServerDateTime2TypeTest(SqlServerDateTime2TypeTest.DateTime2TypeFixture fixture, ITestOutputHelper testOutputHelper) @@ -192,8 +190,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); @@ -226,7 +224,7 @@ public class DateTime2TypeFixture : SqlServerTypeFixture public override DateTime OtherValue { get; } = new DateTime(2022, 5, 3, 0, 0, 0, DateTimeKind.Unspecified); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Temporal/SqlServerDateTimeOffsetTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Temporal/SqlServerDateTimeOffsetTypeTest.cs index 6a9a6e91d31..198c1f7fdf2 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Temporal/SqlServerDateTimeOffsetTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Temporal/SqlServerDateTimeOffsetTypeTest.cs @@ -1,8 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Temporal; public class SqlServerDateTimeOffsetTypeTest( @@ -194,8 +192,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); @@ -228,7 +226,7 @@ public class DateTimeOffsetTypeFixture : SqlServerTypeFixture public override DateTimeOffset OtherValue { get; } = new DateTimeOffset(2020, 1, 5, 12, 30, 45, TimeSpan.FromHours(3)); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Temporal/SqlServerDateTimeTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Temporal/SqlServerDateTimeTypeTest.cs index 3ef69618f5e..00bc33449b7 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Temporal/SqlServerDateTimeTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Temporal/SqlServerDateTimeTypeTest.cs @@ -1,8 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Temporal; public class SqlServerDateTimeTypeTest(SqlServerDateTimeTypeTest.DateTimeTypeFixture fixture, ITestOutputHelper testOutputHelper) @@ -178,8 +176,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); @@ -215,7 +213,7 @@ public class DateTimeTypeFixture : SqlServerTypeFixture public override DateTime OtherValue { get; } = new DateTime(2022, 5, 3, 0, 0, 0, DateTimeKind.Unspecified); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Temporal/SqlServerTimeOnlyTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Temporal/SqlServerTimeOnlyTypeTest.cs index 30cba7a5e77..36e1871ce77 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Temporal/SqlServerTimeOnlyTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Temporal/SqlServerTimeOnlyTypeTest.cs @@ -1,8 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Temporal; public class SqlServerTimeOnlyTypeTest(SqlServerTimeOnlyTypeTest.TimeOnlyTypeFixture fixture, ITestOutputHelper testOutputHelper) @@ -192,8 +190,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); @@ -226,7 +224,7 @@ public class TimeOnlyTypeFixture : SqlServerTypeFixture public override TimeOnly OtherValue { get; } = new TimeOnly(14, 0, 0); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Types/Temporal/SqlServerTimeSpanTypeTest.cs b/test/EFCore.SqlServer.FunctionalTests/Types/Temporal/SqlServerTimeSpanTypeTest.cs index 9a33e4a43c8..d9ba7b72ba0 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Types/Temporal/SqlServerTimeSpanTypeTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Types/Temporal/SqlServerTimeSpanTypeTest.cs @@ -1,8 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Types.Temporal; public class SqlServerTimeSpanTypeTest(SqlServerTimeSpanTypeTest.TimeSpanTypeFixture fixture, ITestOutputHelper testOutputHelper) @@ -192,8 +190,8 @@ FROM [JsonTypeEntity] AS [j] } // TODO: Currently failing on Helix only, see #36746 - [SqlServerCondition(SqlServerCondition.SupportsFunctions2022)] - [SkipOnHelixCondition] + [ConditionalFact(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsFunctions2022Supported))] + [SkipOnCI("Test does not run on Helix")] public override async Task ExecuteUpdate_within_json_to_nonjson_column() { await base.ExecuteUpdate_within_json_to_nonjson_column(); @@ -226,7 +224,7 @@ public class TimeSpanTypeFixture : SqlServerTypeFixture public override TimeSpan OtherValue { get; } = new TimeSpan(14, 0, 0); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Update/JsonUpdateJsonTypeSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Update/JsonUpdateJsonTypeSqlServerTest.cs index 61c307ab008..3e04e9b3418 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Update/JsonUpdateJsonTypeSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Update/JsonUpdateJsonTypeSqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. #nullable disable @@ -6,14 +6,14 @@ namespace Microsoft.EntityFrameworkCore.Update; -[SqlServerCondition(SqlServerCondition.SupportsJsonType)] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsJsonTypeSupported))] public class JsonUpdateJsonTypeSqlServerTest : JsonUpdateTestBase { public JsonUpdateJsonTypeSqlServerTest(JsonUpdateJsonTypeSqlServerFixture fixture) : base(fixture) => ClearLog(); - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -1463,7 +1463,7 @@ FROM [JsonEntitiesConverters] AS [j] """); } - [ConditionalFact] + [Fact] public override async Task Edit_single_property_with_converter_string_True_False_to_bool() { await base.Edit_single_property_with_converter_string_True_False_to_bool(); @@ -1487,7 +1487,7 @@ FROM [JsonEntitiesConverters] AS [j] """); } - [ConditionalFact] + [Fact] public override async Task Edit_single_property_with_converter_string_Y_N_to_bool() { await base.Edit_single_property_with_converter_string_Y_N_to_bool(); @@ -1582,7 +1582,7 @@ FROM [JsonEntitiesAllTypes] AS [j] """); } - [ConditionalFact(Skip = "TODO:SQLJSON Hangs (See InsertsHang.cs")] + [Fact(Skip = "TODO:SQLJSON Hangs (See InsertsHang.cs")] public override async Task Edit_single_property_collection_of_char() { await base.Edit_single_property_collection_of_char(); @@ -2702,7 +2702,7 @@ FROM [JsonEntitiesAllTypes] AS [j] """); } - [ConditionalFact(Skip = "TODO:SQLJSON Investigate")] + [Fact(Skip = "TODO:SQLJSON Investigate")] public override async Task Edit_single_property_relational_collection_of_char() { await base.Edit_single_property_relational_collection_of_char(); diff --git a/test/EFCore.SqlServer.FunctionalTests/Update/JsonUpdateSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Update/JsonUpdateSqlServerTest.cs index 504aad29e14..646ddf6fc43 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Update/JsonUpdateSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Update/JsonUpdateSqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Xunit.Sdk; @@ -1411,7 +1411,7 @@ FROM [JsonEntitiesConverters] AS [j] """); } - [ConditionalFact] + [Fact] public override async Task Edit_single_property_with_converter_string_True_False_to_bool() { await base.Edit_single_property_with_converter_string_True_False_to_bool(); @@ -1435,7 +1435,7 @@ FROM [JsonEntitiesConverters] AS [j] """); } - [ConditionalFact] + [Fact] public override async Task Edit_single_property_with_converter_string_Y_N_to_bool() { await base.Edit_single_property_with_converter_string_Y_N_to_bool(); diff --git a/test/EFCore.SqlServer.FunctionalTests/Update/MismatchedKeyTypesSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Update/MismatchedKeyTypesSqlServerTest.cs index 7092d38dd3c..a44b95fe356 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Update/MismatchedKeyTypesSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Update/MismatchedKeyTypesSqlServerTest.cs @@ -8,7 +8,7 @@ public class MismatchedKeyTypesSqlServerTest(MismatchedKeyTypesSqlServerTest.Mis { public MismatchedKeyTypesSqlServerFixture Fixture { get; } = fixture; - [ConditionalFact] // Issue #28392 + [Fact] // Issue #28392 public virtual void Can_update_and_delete_with_bigint_FK_and_int_PK() { using var context = new MismatchedKeyTypesContext(Fixture); @@ -81,7 +81,7 @@ IQueryable Load() .Include(e => e.RequiredSingle); } - [ConditionalFact] // Issue #28392 + [Fact] // Issue #28392 public virtual void Can_update_and_delete_with_tinyint_FK_and_smallint_PK() { using var context = new MismatchedKeyTypesContext(Fixture); @@ -154,7 +154,7 @@ IQueryable Load() .Include(e => e.RequiredSingle); } - [ConditionalFact] // Issue #28392 + [Fact] // Issue #28392 public virtual void Can_update_and_delete_with_string_FK_and_GUID_PK() { using var context = new MismatchedKeyTypesContext(Fixture); @@ -227,7 +227,7 @@ IQueryable Load() .Include(e => e.RequiredSingle); } - [ConditionalFact] // Issue #28392 + [Fact] // Issue #28392 public virtual void Can_update_and_delete_composite_keys_mismatched_in_store() { using var context = new MismatchedKeyTypesContext(Fixture); @@ -300,7 +300,7 @@ IQueryable Load() .Include(e => e.RequiredSingle); } - [ConditionalFact] + [Fact] public virtual void Queries_work_but_SaveChanges_fails_when_composite_keys_incompatible_in_store() { using var context = new MismatchedKeyTypesContext(Fixture); @@ -328,7 +328,7 @@ public virtual void Queries_work_but_SaveChanges_fails_when_composite_keys_incom Assert.Throws(() => context.SaveChanges()).Message); } - [ConditionalFact] + [Fact] public virtual void Queries_work_but_SaveChanges_fails_when_keys_incompatible_in_store() { using var context = new MismatchedKeyTypesContext(Fixture); @@ -774,7 +774,7 @@ public async Task SeedAsync() public SqlServerTestStore Store { get; set; } = null!; - public async Task InitializeAsync() + public async ValueTask InitializeAsync() { Store = await SqlServerTestStore.CreateInitializedAsync("MismatchedKeyTypes"); @@ -786,7 +786,7 @@ public async Task InitializeAsync() await SeedAsync(); } - public async Task DisposeAsync() + public async ValueTask DisposeAsync() { if (Store != null) { diff --git a/test/EFCore.SqlServer.FunctionalTests/Update/NonSharedModelUpdatesSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Update/NonSharedModelUpdatesSqlServerTest.cs index 3cb888868d6..89d0b677b11 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Update/NonSharedModelUpdatesSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Update/NonSharedModelUpdatesSqlServerTest.cs @@ -86,7 +86,7 @@ OUTPUT 1 """); } - [ConditionalFact] // Issue #29502 + [Fact] // Issue #29502 public virtual async Task Bulk_insert_result_set_mapping() { var contextFactory = await InitializeNonSharedTest( diff --git a/test/EFCore.SqlServer.FunctionalTests/Update/SqlServerUpdateSqlGeneratorTest.cs b/test/EFCore.SqlServer.FunctionalTests/Update/SqlServerUpdateSqlGeneratorTest.cs index ca469eeac92..9d4c06e9d0f 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Update/SqlServerUpdateSqlGeneratorTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Update/SqlServerUpdateSqlGeneratorTest.cs @@ -30,7 +30,7 @@ protected override IUpdateSqlGenerator CreateSqlGenerator() protected override TestHelpers TestHelpers => SqlServerTestHelpers.Instance; - [ConditionalFact] + [Fact] public void AppendBatchHeader_should_append_SET_NOCOUNT_ON() { var sb = new StringBuilder(); @@ -87,7 +87,7 @@ INSERT INTO [dbo].[Ducks] """, stringBuilder.ToString()); - [ConditionalFact] + [Fact] public void AppendBulkInsertOperation_appends_merge_if_store_generated_columns_exist() { var stringBuilder = new StringBuilder(); @@ -110,7 +110,7 @@ WHEN NOT MATCHED THEN Assert.Equal(ResultSetMapping.NotLastInResultSet | ResultSetMapping.IsPositionalResultMappingEnabled, grouping); } - [ConditionalFact] + [Fact] public void AppendBulkInsertOperation_appends_insert_if_no_store_generated_columns_exist() { var stringBuilder = new StringBuilder(); @@ -129,7 +129,7 @@ INSERT INTO [dbo].[Ducks] ([Id], [Name], [Quacks], [ConcurrencyToken]) Assert.Equal(ResultSetMapping.NoResults, grouping); } - [ConditionalFact] + [Fact] public void AppendBulkInsertOperation_appends_insert_if_store_generated_columns_exist_default_values_only() { var stringBuilder = new StringBuilder(); @@ -153,7 +153,7 @@ INTO @inserted0 Assert.Equal(ResultSetMapping.NotLastInResultSet, grouping); } - [ConditionalFact] + [Fact] public void AppendBulkInsertOperation_appends_insert_if_no_store_generated_columns_exist_default_values_only() { var stringBuilder = new StringBuilder(); diff --git a/test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationIdentitySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationIdentitySqlServerTest.cs index cae35ff8618..3533af76652 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationIdentitySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationIdentitySqlServerTest.cs @@ -387,7 +387,7 @@ OUTPUT 1 #region Different two operations - [ConditionalTheory] + [Theory] public override async Task Delete_Add_with_same_entity_types(bool async) { await Test(EntityState.Deleted, EntityState.Added, GeneratedValues.Some, async, withSameEntityType: true); diff --git a/test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationWithoutOutputSqlServerTestBase.cs b/test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationWithoutOutputSqlServerTestBase.cs index afd6578b907..59345c9dcdd 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationWithoutOutputSqlServerTestBase.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationWithoutOutputSqlServerTestBase.cs @@ -11,7 +11,7 @@ public abstract class StoreValueGenerationWithoutOutputSqlServerTestBase(fixture) where TFixture : StoreValueGenerationWithoutOutputSqlServerFixture { - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Three_Add_use_batched_inserts(bool async) { await using var context = CreateContext(); @@ -46,7 +46,7 @@ public virtual async Task Three_Add_use_batched_inserts(bool async) } } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Four_Add_use_merge_output_into(bool async) { await using var context = CreateContext(); diff --git a/test/EFCore.SqlServer.FunctionalTests/ValueConvertersEndToEndSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/ValueConvertersEndToEndSqlServerTest.cs index 323c8ee53f6..b490dc0fcf9 100644 --- a/test/EFCore.SqlServer.FunctionalTests/ValueConvertersEndToEndSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/ValueConvertersEndToEndSqlServerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Data; @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore; public class ValueConvertersEndToEndSqlServerTest(ValueConvertersEndToEndSqlServerTest.ValueConvertersEndToEndSqlServerFixture fixture) : ValueConvertersEndToEndTestBase(fixture) { - [ConditionalTheory, + [Theory, InlineData(nameof(ConvertingEntity.BoolAsChar), "nvarchar(1)", false), InlineData(nameof(ConvertingEntity.BoolAsNullableChar), "nvarchar(1)", false), InlineData(nameof(ConvertingEntity.BoolAsString), "nvarchar(3)", false), @@ -154,7 +154,7 @@ public virtual void Properties_with_conversions_map_to_appropriately_null_column Assert.Equal(isNullable, property!.IsNullable); } - [ConditionalFact] + [Fact] public virtual void Can_use_custom_converters_without_property() { Fixture.TestSqlLoggerFactory.Clear(); @@ -184,7 +184,7 @@ private struct WrappedString private class WrappedStringToStringConverter() : ValueConverter(v => v.Value, v => new WrappedString { Value = v }); - [ConditionalFact] + [Fact] public virtual void Fixed_length_hints_are_respected() { Fixture.TestSqlLoggerFactory.Clear(); @@ -217,7 +217,7 @@ WHERE [s].[GuidToFixedLengthString] <> @guid var parameter = Fixture.TestSqlLoggerFactory.Parameters.Single(); } - [ConditionalFact] + [Fact] public virtual void DbType_hints_are_respected() { Fixture.TestSqlLoggerFactory.Clear(); diff --git a/test/EFCore.SqlServer.HierarchyId.Tests/CSharpDbContextGeneratorTest.cs b/test/EFCore.SqlServer.HierarchyId.Tests/CSharpDbContextGeneratorTest.cs index 19e7e3e67b1..dd8275aee67 100644 --- a/test/EFCore.SqlServer.HierarchyId.Tests/CSharpDbContextGeneratorTest.cs +++ b/test/EFCore.SqlServer.HierarchyId.Tests/CSharpDbContextGeneratorTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer; public class CSharpDbContextGeneratorTest : ModelCodeGeneratorTestBase { - [ConditionalFact] + [Fact] public void Generates_context_with_UseHierarchyId() => Test( modelBuilder => diff --git a/test/EFCore.SqlServer.HierarchyId.Tests/CSharpEntityTypeGeneratorTest.cs b/test/EFCore.SqlServer.HierarchyId.Tests/CSharpEntityTypeGeneratorTest.cs index 77c33b38c74..7e2463d7bb3 100644 --- a/test/EFCore.SqlServer.HierarchyId.Tests/CSharpEntityTypeGeneratorTest.cs +++ b/test/EFCore.SqlServer.HierarchyId.Tests/CSharpEntityTypeGeneratorTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer; public class CSharpEntityTypeGeneratorTest : ModelCodeGeneratorTestBase { - [ConditionalFact] + [Fact] public void Class_with_HierarchyId_key_is_generated() => Test( modelBuilder => @@ -45,7 +45,7 @@ public partial class Patriarch code.AdditionalFiles.Single(f => f.Path == "Patriarch.cs")); }); - [ConditionalFact] + [Fact] public void Class_with_HierarchyId_property_is_generated() => Test( modelBuilder => @@ -85,7 +85,7 @@ public partial class Patriarch code.AdditionalFiles.Single(f => f.Path == "Patriarch.cs")); }); - [ConditionalFact] + [Fact] public void Class_with_multiple_HierarchyId_properties_are_generated() => Test( modelBuilder => diff --git a/test/EFCore.SqlServer.HierarchyId.Tests/DesignTimeServicesTests.cs b/test/EFCore.SqlServer.HierarchyId.Tests/DesignTimeServicesTests.cs index 1b6f94f6d4a..c92687da422 100644 --- a/test/EFCore.SqlServer.HierarchyId.Tests/DesignTimeServicesTests.cs +++ b/test/EFCore.SqlServer.HierarchyId.Tests/DesignTimeServicesTests.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Scaffolding; @@ -13,7 +13,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer; public class DesignTimeServicesTests { - [ConditionalFact] + [Fact] public void ConfigureDesignTimeServices_works() { var serviceCollection = new ServiceCollection(); diff --git a/test/EFCore.SqlServer.HierarchyId.Tests/HierarchyIdJsonConverterTest.cs b/test/EFCore.SqlServer.HierarchyId.Tests/HierarchyIdJsonConverterTest.cs index 67dc4990341..f7544bb2151 100644 --- a/test/EFCore.SqlServer.HierarchyId.Tests/HierarchyIdJsonConverterTest.cs +++ b/test/EFCore.SqlServer.HierarchyId.Tests/HierarchyIdJsonConverterTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Text.Json; @@ -8,19 +8,19 @@ namespace Microsoft.EntityFrameworkCore.SqlServer; public class HierarchyIdJsonConverterTest { - [ConditionalFact] + [Fact] public void Read_works() => Assert.Equal("/1/", JsonSerializer.Deserialize("\"/1/\"").ToString()); - [ConditionalFact] + [Fact] public void Read_works_when_null() => Assert.Null(JsonSerializer.Deserialize("null")); - [ConditionalFact] + [Fact] public void Write_works() => Assert.Equal("\"/1/\"", JsonSerializer.Serialize(new HierarchyId("/1/"))); - [ConditionalFact] + [Fact] public void Write_works_when_null() => Assert.Equal("null", JsonSerializer.Serialize(null)); } diff --git a/test/EFCore.SqlServer.HierarchyId.Tests/MigrationTests.cs b/test/EFCore.SqlServer.HierarchyId.Tests/MigrationTests.cs index cfe9ec410e1..29331ad8739 100644 --- a/test/EFCore.SqlServer.HierarchyId.Tests/MigrationTests.cs +++ b/test/EFCore.SqlServer.HierarchyId.Tests/MigrationTests.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Reflection; @@ -17,14 +17,14 @@ public class MigrationTests private delegate string SnapshotCodeGetter(string rootNamespace, string migrationId); - [ConditionalFact] + [Fact] public void Migration_and_snapshot_generate_with_typed_array() { using var db = new TypedArraySeedContext(); ValidateMigrationAndSnapshotCode(db, db.GetExpectedMigrationCode, db.GetExpectedSnapshotCode); } - [ConditionalFact] + [Fact] public void Migration_and_snapshot_generate_with_anonymous_array() { using var db = new AnonymousArraySeedContext(); diff --git a/test/EFCore.SqlServer.HierarchyId.Tests/NullabilityTests.cs b/test/EFCore.SqlServer.HierarchyId.Tests/NullabilityTests.cs index 74edf9a0f29..c2606ed93df 100644 --- a/test/EFCore.SqlServer.HierarchyId.Tests/NullabilityTests.cs +++ b/test/EFCore.SqlServer.HierarchyId.Tests/NullabilityTests.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Xunit; @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer; public class NullabilityTests { - [ConditionalFact] + [Fact] public void Null_against_null() { Assert.True(null == (HierarchyId)null); @@ -18,7 +18,7 @@ public void Null_against_null() Assert.True(null <= (HierarchyId)null); } - [ConditionalFact] + [Fact] public void Null_against_nonNull() { var hid = HierarchyId.GetRoot(); @@ -41,7 +41,7 @@ public void Null_against_nonNull() Assert.True(null <= hid); } - [ConditionalFact] + [Fact] public void NullOnly_aggregates_equalTo_null() { var hid = (HierarchyId)null; @@ -60,7 +60,7 @@ public void NullOnly_aggregates_equalTo_null() Assert.False(max != hid); } - [ConditionalFact] + [Fact] public void Aggregates_including_nulls_equalTo_nonNull() { var hid = HierarchyId.GetRoot(); diff --git a/test/EFCore.SqlServer.HierarchyId.Tests/QueryTests.cs b/test/EFCore.SqlServer.HierarchyId.Tests/QueryTests.cs index 34a97127b70..8ba79296e97 100644 --- a/test/EFCore.SqlServer.HierarchyId.Tests/QueryTests.cs +++ b/test/EFCore.SqlServer.HierarchyId.Tests/QueryTests.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer; -[SqlServerCondition(SqlServerCondition.SupportsSqlClr)] +[ConditionalClass(typeof(SqlServerTestEnvironment), nameof(SqlServerTestEnvironment.IsSqlClrSupported))] public class QueryTests : IDisposable { private readonly AbrahamicContext _db; @@ -20,7 +20,7 @@ public QueryTests() _db.ClearSql(); } - [ConditionalFact] + [Fact] public void GetLevel_can_translate() { var results = (from p in _db.Patriarchy @@ -34,7 +34,7 @@ where p.Id.GetLevel() == 0 Assert.Equal(new[] { "Abraham" }, results); } - [ConditionalFact] + [Fact] public void IsDescendantOf_can_translate() { var results = (from p in _db.Patriarchy @@ -49,7 +49,7 @@ where p.Id.GetLevel() == 3 Assert.All(results, b => Assert.True(b)); } - [ConditionalFact] + [Fact] public void IsDescendantOf_can_translate_when_constant() { var results = (from p in _db.Patriarchy @@ -64,7 +64,7 @@ where p.Id.GetLevel() == 1 Assert.All(results, b => Assert.True(b)); } - [ConditionalFact] + [Fact] public void GetAncestor_0_can_translate() { var results = (from p in _db.Patriarchy @@ -78,7 +78,7 @@ where p.Id.GetLevel() == 0 Assert.All(results, h => Assert.Equal(HierarchyId.GetRoot(), h)); } - [ConditionalFact] + [Fact] public void GetAncestor_1_can_translate() { var results = (from p in _db.Patriarchy @@ -92,7 +92,7 @@ where p.Id.GetLevel() == 1 Assert.All(results, h => Assert.Equal(HierarchyId.GetRoot(), h)); } - [ConditionalFact] + [Fact] public void GetAncestor_2_can_translate() { var results = (from p in _db.Patriarchy @@ -106,7 +106,7 @@ where p.Id.GetLevel() == 2 Assert.All(results, h => Assert.Equal(HierarchyId.GetRoot(), h)); } - [ConditionalFact] + [Fact] public void GetAncestor_3_can_translate() { var results = (from p in _db.Patriarchy @@ -120,7 +120,7 @@ where p.Id.GetLevel() == 3 Assert.All(results, h => Assert.Equal(HierarchyId.GetRoot(), h)); } - [ConditionalFact] + [Fact] public void GetAncestor_of_root_returns_null() { var results = (from p in _db.Patriarchy @@ -134,7 +134,7 @@ where p.Id.GetLevel() == 0 Assert.Equal(new HierarchyId[] { null }, results); } - [ConditionalFact] + [Fact] public void GetDescendent_can_translate() { var results = (from p in _db.Patriarchy @@ -148,7 +148,7 @@ where p.Id.GetLevel() == 0 Assert.Equal(new[] { HierarchyId.Parse("/1/") }, results); } - [ConditionalFact] + [Fact] public void GetDescendent_can_translate_when_one_argument() { var results = (from p in _db.Patriarchy @@ -162,7 +162,7 @@ where p.Id.GetLevel() == 0 Assert.Equal(new[] { HierarchyId.Parse("/1/") }, results); } - [ConditionalFact] + [Fact] public void HierarchyId_can_be_sent_as_parameter() { var results = (from p in _db.Patriarchy @@ -176,7 +176,7 @@ public void HierarchyId_can_be_sent_as_parameter() Assert.Equal(new[] { "Isaac" }, results); } - [ConditionalFact] + [Fact] public void Converted_HierarchyId_can_be_sent_as_parameter() { var results = (from p in _db.ConvertedPatriarchy @@ -190,7 +190,7 @@ public void Converted_HierarchyId_can_be_sent_as_parameter() Assert.Equal(new[] { "Isaac" }, results); } - [ConditionalFact] + [Fact] public void Can_insert_HierarchyId() { using (_db.Database.BeginTransaction()) @@ -221,7 +221,7 @@ public void Can_insert_HierarchyId() } } - [ConditionalFact] + [Fact] public void Can_insert_and_update_converted_HierarchyId() { using (_db.Database.BeginTransaction()) @@ -270,7 +270,7 @@ public void Can_insert_and_update_converted_HierarchyId() } } - [ConditionalFact] + [Fact] public void HierarchyId_get_ancestor_of_level_is_root() { var results = (from p in _db.Patriarchy @@ -291,7 +291,7 @@ public void HierarchyId_get_ancestor_of_level_is_root() Assert.Equal(all, results); } - [ConditionalFact] + [Fact] public void HierarchyId_can_call_method_on_parameter() { var isaac = HierarchyId.Parse("/1/"); @@ -314,7 +314,7 @@ WHERE @isaac.IsDescendantOf([p].[Id]) = CAST(1 AS bit) Assert.Equal(new[] { "Abraham", "Isaac" }, results); } - [ConditionalFact] + [Fact] public void ToString_can_translate() { var results = (from p in _db.Patriarchy @@ -328,7 +328,7 @@ where p.Id.GetLevel() == 1 Assert.Equal(new[] { "/1/" }, results); } - [ConditionalFact] + [Fact] public void ToString_can_translate_redux() { var results = (from p in _db.Patriarchy @@ -342,7 +342,7 @@ where EF.Functions.Like(p.Id.ToString(), "%/1/") Assert.Equal(new[] { "Isaac", "Jacob", "Reuben" }, results); } - [ConditionalFact] + [Fact] public void Parse_can_translate() { var results = (from p in _db.Patriarchy @@ -356,7 +356,7 @@ public void Parse_can_translate() Assert.Equal(new[] { HierarchyId.Parse("/") }, results); } - [ConditionalFact] + [Fact] public void Contains_with_parameter_list_can_translate() { var ids = new[] { HierarchyId.Parse("/1/1/7/"), HierarchyId.Parse("/1/1/99/") }; diff --git a/test/EFCore.SqlServer.HierarchyId.Tests/RelationalScaffoldingModelFactoryTest.cs b/test/EFCore.SqlServer.HierarchyId.Tests/RelationalScaffoldingModelFactoryTest.cs index 33b62b18bc5..adb37526fcd 100644 --- a/test/EFCore.SqlServer.HierarchyId.Tests/RelationalScaffoldingModelFactoryTest.cs +++ b/test/EFCore.SqlServer.HierarchyId.Tests/RelationalScaffoldingModelFactoryTest.cs @@ -54,7 +54,7 @@ public RelationalScaffoldingModelFactoryTest() _reporter.Clear(); } - [ConditionalFact] + [Fact] public void Loads_HierarchyId_columns() { var info = new DatabaseModel diff --git a/test/EFCore.SqlServer.HierarchyId.Tests/TypeMappingTests.cs b/test/EFCore.SqlServer.HierarchyId.Tests/TypeMappingTests.cs index 82d11973e64..7b480ad5165 100644 --- a/test/EFCore.SqlServer.HierarchyId.Tests/TypeMappingTests.cs +++ b/test/EFCore.SqlServer.HierarchyId.Tests/TypeMappingTests.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Text; @@ -14,7 +14,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer; public class TypeMappingTests { - [ConditionalFact] + [Fact] public void Maps_int_column() { var mapping = CreateMapper().FindMapping( @@ -29,7 +29,7 @@ public void Maps_int_column() Assert.Null(mapping); } - [ConditionalFact] + [Fact] public void Maps_hierarchyid_column() { var mapping = CreateMapper().FindMapping( @@ -46,14 +46,14 @@ public void Maps_hierarchyid_column() Assert.Same(SqlServerJsonHierarchyIdReaderWriter.Instance, mapping!.JsonValueReaderWriter); } - [ConditionalFact] + [Fact] public void Convert_HierarchyId_to_and_from_JSON() => Convert_to_and_from_JSON( SqlServerJsonHierarchyIdReaderWriter.Instance, HierarchyId.GetRoot(), new HierarchyId("/1/"), new HierarchyId("/1/3/"), """{"Prop1":"/","Prop2":"/1/","Prop3":"/1/3/"}"""); - [ConditionalFact] + [Fact] public void Convert_SqlHierarchyId_to_and_from_JSON() => Convert_to_and_from_JSON( SqlServerJsonSqlHierarchyIdReaderWriter.Instance, diff --git a/test/EFCore.SqlServer.HierarchyId.Tests/WrapperTests.cs b/test/EFCore.SqlServer.HierarchyId.Tests/WrapperTests.cs index 914b7f88616..0b3f1901918 100644 --- a/test/EFCore.SqlServer.HierarchyId.Tests/WrapperTests.cs +++ b/test/EFCore.SqlServer.HierarchyId.Tests/WrapperTests.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Xunit; @@ -7,48 +7,48 @@ namespace Microsoft.EntityFrameworkCore.SqlServer; public class WrapperTests { - [ConditionalTheory, InlineData(null, 1), InlineData("/", 1), InlineData("/0.5/", 1), InlineData("/1/", 0), InlineData("/2/", -1), + [Theory, InlineData(null, 1), InlineData("/", 1), InlineData("/0.5/", 1), InlineData("/1/", 0), InlineData("/2/", -1), InlineData("/1/1/", -1)] public void CompareTo_works(string value, int expected) => Assert.Equal(expected, HierarchyId.Parse("/1/").CompareTo(HierarchyId.Parse(value))); - [ConditionalTheory, InlineData(null, false), InlineData("/", false), InlineData("/1/", true)] + [Theory, InlineData(null, false), InlineData("/", false), InlineData("/1/", true)] public void Equals_works(string value, bool expected) => Assert.Equal(expected, HierarchyId.Parse("/1/").Equals(HierarchyId.Parse(value))); - [ConditionalFact] + [Fact] public void GetAncestor_returns_null_when_too_high() => Assert.Null(HierarchyId.Parse("/1/").GetAncestor(2)); - [ConditionalFact] + [Fact] public void GetReparentedValue_returns_null_when_newRoot_is_null() => Assert.Null(HierarchyId.Parse("/1/").GetReparentedValue(HierarchyId.GetRoot(), newRoot: null)); - [ConditionalFact] + [Fact] public void IsDescendantOf_returns_false_when_parent_is_null() => Assert.False(HierarchyId.Parse("/1/").IsDescendantOf(null)); - [ConditionalFact] + [Fact] public void Parse_overloads_works_when_parentId_is_simpleId() => Assert.Equal(HierarchyId.Parse(_parent, 2), HierarchyId.Parse("/1/2/")); - [ConditionalFact] + [Fact] public void Parse_overloads_works_when_parentId_is_dottedString() => Assert.Equal(HierarchyId.Parse(_parent, 2, 1), HierarchyId.Parse("/1/2.1/")); - [ConditionalFact] + [Fact] public void Parse_overloads_works_when_parentId_is_empty() => Assert.Equal(HierarchyId.Parse(_parent), HierarchyId.Parse("/1/")); - [ConditionalFact] + [Fact] public void Parse_overloads_works_when_parentHierarchy_is_root_and_parentId_is_simple() => Assert.Equal(HierarchyId.Parse(HierarchyId.GetRoot(), 1), HierarchyId.Parse("/1/")); - [ConditionalFact] + [Fact] public void Parse_overloads_works_when_parentHierarchy_is_root_and_parentId_is_empty() => Assert.Equal(HierarchyId.Parse(HierarchyId.GetRoot()), HierarchyId.Parse("/")); - [ConditionalFact] + [Fact] public void Parse_overloads_works_when_parentHierarchy_is_null_and_parentId_is_empty() => Assert.Equal(HierarchyId.Parse(null, []), HierarchyId.Parse("/")); diff --git a/test/EFCore.SqlServer.Tests/Design/Internal/SqlServerAnnotationCodeGeneratorTest.cs b/test/EFCore.SqlServer.Tests/Design/Internal/SqlServerAnnotationCodeGeneratorTest.cs index f8d4d4998d9..9a44a851504 100644 --- a/test/EFCore.SqlServer.Tests/Design/Internal/SqlServerAnnotationCodeGeneratorTest.cs +++ b/test/EFCore.SqlServer.Tests/Design/Internal/SqlServerAnnotationCodeGeneratorTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.SqlServer.Design.Internal; @@ -12,7 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Design.Internal; public class SqlServerAnnotationCodeGeneratorTest { - [ConditionalFact] + [Fact] public void GenerateFluentApi_IKey_works_when_clustered() { var generator = CreateGenerator(); @@ -35,7 +35,7 @@ public void GenerateFluentApi_IKey_works_when_clustered() Assert.Equal(0, result.Arguments.Count); } - [ConditionalFact] + [Fact] public void GenerateFluentApi_IKey_works_when_nonclustered() { var generator = CreateGenerator(); @@ -58,7 +58,7 @@ public void GenerateFluentApi_IKey_works_when_nonclustered() Assert.Equal(false, result.Arguments[0]); } - [ConditionalFact] + [Fact] public void GenerateFluentApi_IKey_works_with_fillfactor() { var generator = CreateGenerator(); @@ -80,7 +80,7 @@ public void GenerateFluentApi_IKey_works_with_fillfactor() Assert.Equal(80, result.Arguments[0]); } - [ConditionalFact] + [Fact] public void GenerateFluentApi_IUniqueConstraint_works_with_fillfactor() { var generator = CreateGenerator(); @@ -103,7 +103,7 @@ public void GenerateFluentApi_IUniqueConstraint_works_with_fillfactor() Assert.Equal(80, result.Arguments[0]); } - [ConditionalFact] + [Fact] public void GenerateFluentApi_IIndex_works_when_clustered() { var generator = CreateGenerator(); @@ -126,7 +126,7 @@ public void GenerateFluentApi_IIndex_works_when_clustered() Assert.Equal(0, result.Arguments.Count); } - [ConditionalFact] + [Fact] public void GenerateFluentApi_IIndex_works_when_nonclustered() { var generator = CreateGenerator(); @@ -150,7 +150,7 @@ public void GenerateFluentApi_IIndex_works_when_nonclustered() Assert.Equal(false, result.Arguments[0]); } - [ConditionalFact] + [Fact] public void GenerateFluentApi_IIndex_works_with_fillfactor() { var generator = CreateGenerator(); @@ -173,7 +173,7 @@ public void GenerateFluentApi_IIndex_works_with_fillfactor() Assert.Equal(90, result.Arguments[0]); } - [ConditionalFact] + [Fact] public void GenerateFluentApi_IIndex_works_with_includes() { var generator = CreateGenerator(); @@ -199,7 +199,7 @@ public void GenerateFluentApi_IIndex_works_with_includes() Assert.Equal(["FirstName"], properties.AsEnumerable()); } - [ConditionalFact] + [Fact] public void GenerateFluentApi_IModel_works_with_full_text_catalog() { var generator = CreateGenerator(); @@ -225,7 +225,7 @@ public void GenerateFluentApi_IModel_works_with_full_text_catalog() Assert.Equal(false, accentChain.Arguments[0]); } - [ConditionalFact] + [Fact] public void GenerateFluentApi_IModel_works_with_full_text_catalog_defaults() { var generator = CreateGenerator(); @@ -243,7 +243,7 @@ public void GenerateFluentApi_IModel_works_with_full_text_catalog_defaults() Assert.Null(catalogResult.ChainedCall); } - [ConditionalFact] + [Fact] public void GenerateFluentApi_IModel_works_with_identity() { var generator = CreateGenerator(); @@ -262,7 +262,7 @@ public void GenerateFluentApi_IModel_works_with_identity() increment => Assert.Equal(10, increment)); } - [ConditionalFact] + [Fact] public void GenerateFluentApi_IProperty_works_with_identity() { var generator = CreateGenerator(); @@ -282,7 +282,7 @@ public void GenerateFluentApi_IProperty_works_with_identity() increment => Assert.Equal(10, increment)); } - [ConditionalFact] + [Fact] public void GenerateFluentApi_IProperty_works_with_identity_default_seed_increment() { var generator = CreateGenerator(); @@ -299,7 +299,7 @@ public void GenerateFluentApi_IProperty_works_with_identity_default_seed_increme Assert.Empty(result.Arguments); } - [ConditionalFact] + [Fact] public void GenerateFluentApi_IModel_works_with_HiLo() { var generator = CreateGenerator(); @@ -318,7 +318,7 @@ public void GenerateFluentApi_IModel_works_with_HiLo() schema => Assert.Equal("HiLoIndexSchema", schema)); } - [ConditionalFact] + [Fact] public void GenerateFluentApi_IProperty_works_with_HiLo() { var generator = CreateGenerator(); @@ -338,7 +338,7 @@ public void GenerateFluentApi_IProperty_works_with_HiLo() schema => Assert.Equal("HiLoIndexSchema", schema)); } - [ConditionalFact] + [Fact] public void GenerateFluentApi_IModel_works_with_KeySequence() { var generator = CreateGenerator(); @@ -357,7 +357,7 @@ public void GenerateFluentApi_IModel_works_with_KeySequence() schema => Assert.Equal("KeySequenceSchema", schema)); } - [ConditionalFact] + [Fact] public void GenerateFluentApi_IProperty_works_with_KeySequence() { var generator = CreateGenerator(); @@ -377,7 +377,7 @@ public void GenerateFluentApi_IProperty_works_with_KeySequence() schema => Assert.Equal("KeySequenceSchema", schema)); } - [ConditionalFact] + [Fact] public void GenerateFluentApi_IProperty_works_with_IsSparse() { var generator = CreateGenerator(); @@ -408,7 +408,7 @@ public void GenerateFluentApi_IProperty_works_with_IsSparse() } } - [ConditionalFact] + [Fact] public void GenerateFluentApi_IProperty_with_DefaultConstraintName_and_no_DefaultValue_does_not_throw() { // Reproduces https://github.com/dotnet/efcore/issues/37175 @@ -435,7 +435,7 @@ public void GenerateFluentApi_IProperty_with_DefaultConstraintName_and_no_Defaul Assert.Empty(result); } - [ConditionalFact] + [Fact] public void GenerateFluentApi_IModel_works_with_DatabaseMaxSize() { var generator = CreateGenerator(); @@ -449,7 +449,7 @@ public void GenerateFluentApi_IModel_works_with_DatabaseMaxSize() Assert.Equal("100", Assert.Single(result.Arguments)); } - [ConditionalFact] + [Fact] public void GenerateFluentApi_IModel_works_with_ServiceTier() { var generator = CreateGenerator(); @@ -463,7 +463,7 @@ public void GenerateFluentApi_IModel_works_with_ServiceTier() Assert.Equal("'foo'", Assert.Single(result.Arguments)); } - [ConditionalFact] + [Fact] public void GenerateFluentApi_IModel_works_with_PerformanceLevel() { var generator = CreateGenerator(); @@ -477,7 +477,7 @@ public void GenerateFluentApi_IModel_works_with_PerformanceLevel() Assert.Equal("'foo'", Assert.Single(result.Arguments)); } - [ConditionalFact] + [Fact] public void GenerateFluentApi_IEntityType_works_when_IsMemoryOptimized() { var generator = CreateGenerator(); diff --git a/test/EFCore.SqlServer.Tests/Diagnostics/SqlServerEventIdTest.cs b/test/EFCore.SqlServer.Tests/Diagnostics/SqlServerEventIdTest.cs index cabca35ad48..e0c37cb301c 100644 --- a/test/EFCore.SqlServer.Tests/Diagnostics/SqlServerEventIdTest.cs +++ b/test/EFCore.SqlServer.Tests/Diagnostics/SqlServerEventIdTest.cs @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore.Diagnostics; public class SqlServerEventIdTest : EventIdTestBase { - [ConditionalFact] + [Fact] public void Every_eventId_has_a_logger_method_and_logs_when_level_enabled() { var entityType = new EntityType(typeof(object), new Model(new ConventionSet()), owned: false, ConfigurationSource.Convention); diff --git a/test/EFCore.SqlServer.Tests/EFCore.SqlServer.Tests.csproj b/test/EFCore.SqlServer.Tests/EFCore.SqlServer.Tests.csproj index 3d973b54271..fc082ebbfb4 100644 --- a/test/EFCore.SqlServer.Tests/EFCore.SqlServer.Tests.csproj +++ b/test/EFCore.SqlServer.Tests/EFCore.SqlServer.Tests.csproj @@ -1,4 +1,4 @@ - + $(DefaultNetCoreTargetFramework) @@ -38,7 +38,6 @@ - diff --git a/test/EFCore.SqlServer.Tests/Extensions/AzureSqlDbContextOptionsExtensionsTest.cs b/test/EFCore.SqlServer.Tests/Extensions/AzureSqlDbContextOptionsExtensionsTest.cs index ba25e6611fa..9829dd753ae 100644 --- a/test/EFCore.SqlServer.Tests/Extensions/AzureSqlDbContextOptionsExtensionsTest.cs +++ b/test/EFCore.SqlServer.Tests/Extensions/AzureSqlDbContextOptionsExtensionsTest.cs @@ -6,7 +6,7 @@ namespace Microsoft.EntityFrameworkCore; public class AzureSqlDbContextOptionsExtensionsTest { - [ConditionalFact] + [Fact] public void Can_call_UseNetTopologySuite_with_UseAzureSql() { // This test just makes sure we can call/compile UseNetTopologySuite with UseAzureSql. diff --git a/test/EFCore.SqlServer.Tests/Extensions/SqlServerDatabaseFacadeExtensionsTest.cs b/test/EFCore.SqlServer.Tests/Extensions/SqlServerDatabaseFacadeExtensionsTest.cs index 5773cec06b6..91711d3c4ea 100644 --- a/test/EFCore.SqlServer.Tests/Extensions/SqlServerDatabaseFacadeExtensionsTest.cs +++ b/test/EFCore.SqlServer.Tests/Extensions/SqlServerDatabaseFacadeExtensionsTest.cs @@ -9,13 +9,13 @@ namespace Microsoft.EntityFrameworkCore; public class SqlServerDatabaseFacadeExtensionsTest { - [ConditionalFact] + [Fact] public void Returns_appropriate_name() => Assert.Equal( typeof(SqlServerConnection).Assembly.GetName().Name, new DatabaseProvider(new DatabaseProviderDependencies()).Name); - [ConditionalFact] + [Fact] public void Is_configured_when_configuration_contains_associated_extension() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -25,7 +25,7 @@ public void Is_configured_when_configuration_contains_associated_extension() new DatabaseProvider(new DatabaseProviderDependencies()).IsConfigured(optionsBuilder.Options)); } - [ConditionalFact] + [Fact] public void Is_not_configured_when_configuration_does_not_contain_associated_extension() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -34,7 +34,7 @@ public void Is_not_configured_when_configuration_does_not_contain_associated_ext new DatabaseProvider(new DatabaseProviderDependencies()).IsConfigured(optionsBuilder.Options)); } - [ConditionalFact] + [Fact] public void Default_value_for_CommandTimeout_is_null_and_can_be_changed_including_setting_to_null() { using var context = new TimeoutContext(); @@ -50,7 +50,7 @@ public void Default_value_for_CommandTimeout_is_null_and_can_be_changed_includin Assert.Equal(66, context.Database.GetCommandTimeout()); } - [ConditionalFact] + [Fact] public void Setting_CommandTimeout_to_infinite_sets_to_zero() { using var context = new TimeoutContext(); @@ -59,7 +59,7 @@ public void Setting_CommandTimeout_to_infinite_sets_to_zero() Assert.Equal(0, context.Database.GetCommandTimeout()); } - [ConditionalFact] + [Fact] public void Setting_CommandTimeout_to_negative_value_throws() { Assert.Throws(() => new DbContextOptionsBuilder().UseSqlServer( @@ -93,14 +93,14 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) .UseSqlServer(new FakeDbConnection("A=B")); } - [ConditionalFact] + [Fact] public void IsSqlServer_when_using_OnConfiguring() { using var context = new SqlServerOnConfiguringContext(); Assert.True(context.Database.IsSqlServer()); } - [ConditionalFact] + [Fact] public void IsSqlServer_in_OnModelCreating_when_using_OnConfiguring() { using var context = new SqlServerOnModelContext(); @@ -108,7 +108,7 @@ public void IsSqlServer_in_OnModelCreating_when_using_OnConfiguring() Assert.True(context.IsSqlServerSet); } - [ConditionalFact] + [Fact] public void IsRelational_in_OnModelCreating_when_using_OnConfiguring() { using var context = new RelationalOnModelContext(); @@ -116,7 +116,7 @@ public void IsRelational_in_OnModelCreating_when_using_OnConfiguring() Assert.True(context.IsSqlServerSet); } - [ConditionalFact] + [Fact] public void IsSqlServer_in_constructor_when_using_OnConfiguring() { using var context = new SqlServerConstructorContext(); @@ -124,7 +124,7 @@ public void IsSqlServer_in_constructor_when_using_OnConfiguring() Assert.True(context.IsSqlServerSet); } - [ConditionalFact] + [Fact] public void Cannot_use_IsSqlServer_in_OnConfiguring() { using var context = new SqlServerUseInOnConfiguringContext(); @@ -136,7 +136,7 @@ public void Cannot_use_IsSqlServer_in_OnConfiguring() }).Message); } - [ConditionalFact] + [Fact] public void IsSqlServer_when_using_constructor() { using var context = new ProviderContext( @@ -146,7 +146,7 @@ public void IsSqlServer_when_using_constructor() Assert.True(context.Database.IsSqlServer()); } - [ConditionalFact] + [Fact] public void IsSqlServer_in_OnModelCreating_when_using_constructor() { using var context = new ProviderOnModelContext( @@ -157,7 +157,7 @@ public void IsSqlServer_in_OnModelCreating_when_using_constructor() Assert.True(context.IsSqlServerSet); } - [ConditionalFact] + [Fact] public void IsSqlServer_in_constructor_when_using_constructor() { using var context = new ProviderConstructorContext( @@ -168,7 +168,7 @@ public void IsSqlServer_in_constructor_when_using_constructor() Assert.True(context.IsSqlServerSet); } - [ConditionalFact] + [Fact] public void Cannot_use_IsSqlServer_in_OnConfiguring_with_constructor() { using var context = new ProviderUseInOnConfiguringContext( @@ -183,7 +183,7 @@ public void Cannot_use_IsSqlServer_in_OnConfiguring_with_constructor() }).Message); } - [ConditionalFact] + [Fact] public void Not_IsSqlServer_when_using_different_provider() { using var context = new ProviderContext( diff --git a/test/EFCore.SqlServer.Tests/Extensions/SqlServerDbContextOptionsExtensionsTest.cs b/test/EFCore.SqlServer.Tests/Extensions/SqlServerDbContextOptionsExtensionsTest.cs index fa5b816ee2e..ce323d33e8c 100644 --- a/test/EFCore.SqlServer.Tests/Extensions/SqlServerDbContextOptionsExtensionsTest.cs +++ b/test/EFCore.SqlServer.Tests/Extensions/SqlServerDbContextOptionsExtensionsTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore; public class SqlServerDbContextOptionsExtensionsTest { - [ConditionalFact] + [Fact] public void Can_add_extension_with_max_batch_size() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -20,7 +20,7 @@ public void Can_add_extension_with_max_batch_size() Assert.Equal(123, extension.MaxBatchSize); } - [ConditionalFact] + [Fact] public void Can_add_extension_with_command_timeout() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -31,7 +31,7 @@ public void Can_add_extension_with_command_timeout() Assert.Equal(30, extension.CommandTimeout); } - [ConditionalFact] + [Fact] public void Can_add_extension_with_connection_string() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -43,7 +43,7 @@ public void Can_add_extension_with_connection_string() Assert.Null(extension.Connection); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Can_add_extension_with_connection_string_using_generic_options(bool nullConnectionString) { var optionsBuilder = new DbContextOptionsBuilder(); @@ -55,7 +55,7 @@ public void Can_add_extension_with_connection_string_using_generic_options(bool Assert.Null(extension.Connection); } - [ConditionalFact] + [Fact] public void Can_add_extension_with_connection() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -70,7 +70,7 @@ public void Can_add_extension_with_connection() Assert.Null(extension.ConnectionString); } - [ConditionalFact] + [Fact] public void Can_add_extension_with_owned_connection() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -85,7 +85,7 @@ public void Can_add_extension_with_owned_connection() Assert.Null(extension.ConnectionString); } - [ConditionalFact] + [Fact] public void Connection_overrides_connection_string() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -101,7 +101,7 @@ public void Connection_overrides_connection_string() Assert.Null(extension.ConnectionString); } - [ConditionalFact] + [Fact] public void Connection_string_overrides_connection() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -117,7 +117,7 @@ public void Connection_string_overrides_connection() Assert.Equal("Database=Whisper", extension.ConnectionString); } - [ConditionalFact] + [Fact] public void Can_add_extension_with_connection_using_generic_options() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -132,7 +132,7 @@ public void Can_add_extension_with_connection_using_generic_options() Assert.Null(extension.ConnectionString); } - [ConditionalFact] + [Fact] public void Can_add_extension_with_owned_connection_using_generic_options() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -147,7 +147,7 @@ public void Can_add_extension_with_owned_connection_using_generic_options() Assert.Null(extension.ConnectionString); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Service_collection_extension_method_can_configure_sqlserver_options(bool nullConnectionString) { var serviceCollection = new ServiceCollection(); diff --git a/test/EFCore.SqlServer.Tests/Infrastructure/SqlServerModelValidatorTest.cs b/test/EFCore.SqlServer.Tests/Infrastructure/SqlServerModelValidatorTest.cs index 50fe67413e9..b629d3093a1 100644 --- a/test/EFCore.SqlServer.Tests/Infrastructure/SqlServerModelValidatorTest.cs +++ b/test/EFCore.SqlServer.Tests/Infrastructure/SqlServerModelValidatorTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Diagnostics.CodeAnalysis; @@ -13,7 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure; public class SqlServerModelValidatorTest : RelationalModelValidatorTest { - [ConditionalFact] // Issue #34324 + [Fact] // Issue #34324 public virtual void Throws_for_nested_primitive_collections() { var modelBuilder = CreateConventionModelBuilder(); @@ -36,7 +36,7 @@ protected class WithNestedCollection public string[][] SomeStrings { get; set; } } - [ConditionalFact] + [Fact] public virtual void Passes_on_TPT_with_nested_owned_types() { var modelBuilder = base.CreateConventionModelBuilder(); @@ -96,7 +96,7 @@ public override void Detects_store_generated_PK_in_TPC() Assert.Equal(SqlServerValueGenerationStrategy.Sequence, keyProperty.GetValueGenerationStrategy()); } - [ConditionalFact] + [Fact] public virtual void Throws_for_identity_on_bad_type() { var modelBuilder = CreateConventionModelBuilder(); @@ -111,7 +111,7 @@ public virtual void Throws_for_identity_on_bad_type() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Throws_for_sequence_on_bad_type() { var modelBuilder = CreateConventionModelBuilder(); @@ -126,7 +126,7 @@ public virtual void Throws_for_sequence_on_bad_type() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Throws_for_sequence_HiLo_on_bad_type() { var modelBuilder = CreateConventionModelBuilder(); @@ -141,7 +141,7 @@ public virtual void Throws_for_sequence_HiLo_on_bad_type() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_duplicate_column_names_within_hierarchy_with_identity() { var modelBuilder = CreateConventionModelBuilder(); @@ -158,7 +158,7 @@ public virtual void Passes_for_duplicate_column_names_within_hierarchy_with_iden Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_column_names_within_hierarchy_with_different_identity_seed() { var modelBuilder = CreateConventionModelBuilder(); @@ -178,7 +178,7 @@ public virtual void Detects_duplicate_column_names_within_hierarchy_with_differe modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_column_names_within_hierarchy_with_different_identity_increment() { var modelBuilder = CreateConventionModelBuilder(); @@ -198,7 +198,7 @@ public virtual void Detects_duplicate_column_names_within_hierarchy_with_differe modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_identity_seed_and_increment_on_owner() { var modelBuilder = CreateConventionModelBuilder(); @@ -209,7 +209,7 @@ public virtual void Passes_for_identity_seed_and_increment_on_owner() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_duplicate_column_names_with_HiLoSequence() { var modelBuilder = CreateConventionModelBuilder(); @@ -228,7 +228,7 @@ public virtual void Passes_for_duplicate_column_names_with_HiLoSequence() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_column_names_with_different_HiLoSequence_name() { var modelBuilder = CreateConventionModelBuilder(); @@ -250,7 +250,7 @@ public virtual void Detects_duplicate_column_names_with_different_HiLoSequence_n modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_column_name_with_different_HiLoSequence_schema() { var modelBuilder = CreateConventionModelBuilder(); @@ -272,7 +272,7 @@ public virtual void Detects_duplicate_column_name_with_different_HiLoSequence_sc modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_duplicate_column_names_with_KeySequence() { var modelBuilder = CreateConventionModelBuilder(); @@ -292,7 +292,7 @@ public virtual void Passes_for_duplicate_column_names_with_KeySequence() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_column_names_with_different_KeySequence_name() { var modelBuilder = CreateConventionModelBuilder(); @@ -316,7 +316,7 @@ public virtual void Detects_duplicate_column_names_with_different_KeySequence_na modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_column_name_with_different_KeySequence_schema() { var modelBuilder = CreateConventionModelBuilder(); @@ -340,7 +340,7 @@ public virtual void Detects_duplicate_column_name_with_different_KeySequence_sch modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_column_names_within_hierarchy_with_different_value_generation_strategy() { var modelBuilder = CreateConventionModelBuilder(); @@ -361,7 +361,7 @@ public virtual void Detects_duplicate_column_names_within_hierarchy_with_differe modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_column_names_within_hierarchy_with_different_sparseness() { var modelBuilder = CreateConventionModelBuilder(); @@ -383,7 +383,7 @@ public virtual void Detects_duplicate_column_names_within_hierarchy_with_differe modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_incompatible_foreignKeys_within_hierarchy_when_one_name_configured_explicitly_for_sqlServer() { var modelBuilder = CreateConventionModelBuilder(); @@ -399,7 +399,7 @@ public virtual void Passes_for_incompatible_foreignKeys_within_hierarchy_when_on Assert.Equal("FK_Animal_Person_Name1", fk2.GetConstraintName()); } - [ConditionalFact] + [Fact] public virtual void Passes_for_compatible_duplicate_convention_indexes_for_foreign_keys() { var modelBuilder = CreateConventionModelBuilder(); @@ -415,7 +415,7 @@ public virtual void Passes_for_compatible_duplicate_convention_indexes_for_forei Assert.Equal("IX_Animal_Name", model.FindEntityType(typeof(Dog)).GetDeclaredIndexes().Single().GetDatabaseName()); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_index_names_within_hierarchy_differently_clustered() { var modelBuilder = CreateConventionModelBuilder(); @@ -431,7 +431,7 @@ public virtual void Detects_duplicate_index_names_within_hierarchy_differently_c modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_index_names_within_hierarchy_different_fill_factor() { var modelBuilder = CreateConventionModelBuilder(); @@ -447,7 +447,7 @@ public virtual void Detects_duplicate_index_names_within_hierarchy_different_fil modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_index_names_within_hierarchy_differently_online() { var modelBuilder = CreateConventionModelBuilder(); @@ -463,7 +463,7 @@ public virtual void Detects_duplicate_index_names_within_hierarchy_differently_o modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_index_names_within_hierarchy_different_sort_in_tempdb() { var modelBuilder = CreateConventionModelBuilder(); @@ -479,7 +479,7 @@ public virtual void Detects_duplicate_index_names_within_hierarchy_different_sor modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_index_names_within_hierarchy_different_data_compression() { var modelBuilder = CreateConventionModelBuilder(); @@ -495,7 +495,7 @@ public virtual void Detects_duplicate_index_names_within_hierarchy_different_dat modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_index_names_within_hierarchy_with_different_different_include() { var modelBuilder = CreateConventionModelBuilder(); @@ -512,7 +512,7 @@ public virtual void Detects_duplicate_index_names_within_hierarchy_with_differen modelBuilder); } - [ConditionalFact] + [Fact] public void Detects_missing_include_properties() { var modelBuilder = CreateConventionModelBuilder(); @@ -522,7 +522,7 @@ public void Detects_missing_include_properties() VerifyError(SqlServerStrings.IncludePropertyNotFound("Tag", "{'Name'}", nameof(Dog)), modelBuilder); } - [ConditionalFact] + [Fact] public void Detects_duplicate_include_properties() { var modelBuilder = CreateConventionModelBuilder(); @@ -532,7 +532,7 @@ public void Detects_duplicate_include_properties() VerifyError(SqlServerStrings.IncludePropertyDuplicated(nameof(Dog), nameof(Dog.Type), "{'Name'}"), modelBuilder); } - [ConditionalFact] + [Fact] public void Detects_indexed_include_properties() { var modelBuilder = CreateConventionModelBuilder(); @@ -542,7 +542,7 @@ public void Detects_indexed_include_properties() VerifyError(SqlServerStrings.IncludePropertyInIndex(nameof(Dog), nameof(Dog.Name), "{'Name'}"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_incompatible_memory_optimized_shared_table() { var modelBuilder = CreateConventionModelBuilder(); @@ -558,7 +558,7 @@ public virtual void Detects_incompatible_memory_optimized_shared_table() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_incompatible_sql_output_clause_shared_table() { var modelBuilder = CreateConventionModelBuilder(); @@ -573,7 +573,7 @@ public virtual void Detects_incompatible_sql_output_clause_shared_table() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_shared_table_with_only_one_entity_trigger_definition() { var modelBuilder = CreateConventionModelBuilder(); @@ -584,7 +584,7 @@ public virtual void Passes_for_shared_table_with_only_one_entity_trigger_definit Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_incompatible_non_clustered_shared_key() { var modelBuilder = CreateConventionModelBuilder(); @@ -601,7 +601,7 @@ public virtual void Detects_incompatible_non_clustered_shared_key() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_decimal_keys() { var modelBuilder = CreateConventionModelBuilder(); @@ -614,7 +614,7 @@ public virtual void Detects_decimal_keys() .GenerateMessage("Price", nameof(Animal)), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_default_decimal_mapping() { var modelBuilder = CreateConventionModelBuilder(); @@ -625,7 +625,7 @@ public virtual void Detects_default_decimal_mapping() .GenerateMessage("Price", nameof(Animal)), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_default_nullable_decimal_mapping() { var modelBuilder = CreateConventionModelBuilder(); @@ -636,7 +636,7 @@ public virtual void Detects_default_nullable_decimal_mapping() .GenerateMessage("Price", nameof(Animal)), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Does_not_warn_if_decimal_column_has_precision_and_scale() { var modelBuilder = CreateConventionModelBuilder(); @@ -648,7 +648,7 @@ public virtual void Does_not_warn_if_decimal_column_has_precision_and_scale() .GenerateMessage("Price", nameof(Animal)), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Does_not_warn_if_default_decimal_mapping_has_non_decimal_to_decimal_value_converter() { var modelBuilder = CreateConventionModelBuilder(); @@ -661,7 +661,7 @@ public virtual void Does_not_warn_if_default_decimal_mapping_has_non_decimal_to_ .GenerateMessage("Price", nameof(Animal)), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Warn_if_default_decimal_mapping_has_decimal_to_decimal_value_converter() { var modelBuilder = CreateConventionModelBuilder(); @@ -674,7 +674,7 @@ public virtual void Warn_if_default_decimal_mapping_has_decimal_to_decimal_value .GenerateMessage("Price", nameof(Animal)), modelBuilder); } - [ConditionalFact] + [Fact] public void Detects_byte_identity_column() { var modelBuilder = CreateConventionModelBuilder(); @@ -686,7 +686,7 @@ public void Detects_byte_identity_column() .GenerateMessage("Bite", nameof(Dog)), modelBuilder); } - [ConditionalFact] + [Fact] public void Detects_nullable_byte_identity_column() { var modelBuilder = CreateConventionModelBuilder(); @@ -698,7 +698,7 @@ public void Detects_nullable_byte_identity_column() .GenerateMessage("Bite", nameof(Dog)), modelBuilder); } - [ConditionalFact] + [Fact] public void Detects_multiple_identity_properties() { var modelBuilder = CreateConventionModelBuilder(); @@ -710,7 +710,7 @@ public void Detects_multiple_identity_properties() VerifyError(SqlServerStrings.MultipleIdentityColumns("'Dog.Tag', 'Dog.Type'", nameof(Dog)), modelBuilder); } - [ConditionalFact] + [Fact] public void Passes_for_non_key_identity() { var modelBuilder = CreateConventionModelBuilder(); @@ -720,7 +720,7 @@ public void Passes_for_non_key_identity() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public void Passes_for_non_key_identity_on_model() { var modelBuilder = CreateConventionModelBuilder(); @@ -733,7 +733,7 @@ public void Passes_for_non_key_identity_on_model() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public void Passes_for_non_key_SequenceHiLo_on_model() { var modelBuilder = CreateConventionModelBuilder(); @@ -745,7 +745,7 @@ public void Passes_for_non_key_SequenceHiLo_on_model() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public void Passes_for_non_key_KeySequence_on_model() { var modelBuilder = CreateConventionModelBuilder(); @@ -757,7 +757,7 @@ public void Passes_for_non_key_KeySequence_on_model() Validate(modelBuilder); } - [ConditionalTheory, InlineData("DefaultValue", "DefaultValueSql"), InlineData("DefaultValue", "ComputedColumnSql"), + [Theory, InlineData("DefaultValue", "DefaultValueSql"), InlineData("DefaultValue", "ComputedColumnSql"), InlineData("DefaultValueSql", "ComputedColumnSql")] public void Metadata_throws_when_setting_conflicting_serverGenerated_values(string firstConfiguration, string secondConfiguration) { @@ -773,7 +773,7 @@ public void Metadata_throws_when_setting_conflicting_serverGenerated_values(stri modelBuilder); } - [ConditionalTheory, InlineData(SqlServerValueGenerationStrategy.IdentityColumn, "DefaultValueSql"), + [Theory, InlineData(SqlServerValueGenerationStrategy.IdentityColumn, "DefaultValueSql"), InlineData(SqlServerValueGenerationStrategy.IdentityColumn, "ComputedColumnSql"), InlineData(SqlServerValueGenerationStrategy.SequenceHiLo, "DefaultValueSql"), InlineData(SqlServerValueGenerationStrategy.SequenceHiLo, "ComputedColumnSql")] @@ -794,7 +794,7 @@ public void SqlServerValueGenerationStrategy_warns_when_setting_conflicting_valu modelBuilder); } - [ConditionalTheory, InlineData(SqlServerValueGenerationStrategy.IdentityColumn), + [Theory, InlineData(SqlServerValueGenerationStrategy.IdentityColumn), InlineData(SqlServerValueGenerationStrategy.SequenceHiLo)] public void SqlServerValueGenerationStrategy_warns_when_setting_conflicting_DefaultValue( SqlServerValueGenerationStrategy sqlServerValueGenerationStrategy) @@ -837,7 +837,7 @@ protected virtual void ConfigureProperty(IMutableProperty property, string confi } } - [ConditionalFact] + [Fact] public void DefaultValue_with_explicit_constraint_name_throws_for_TPC() { var modelBuilder = CreateConventionModelBuilder(); @@ -851,7 +851,7 @@ public void DefaultValue_with_explicit_constraint_name_throws_for_TPC() modelBuilder); } - [ConditionalFact] + [Fact] public void DefaultValueSql_with_explicit_constraint_name_throws_for_TPC() { var modelBuilder = CreateConventionModelBuilder(); @@ -865,7 +865,7 @@ public void DefaultValueSql_with_explicit_constraint_name_throws_for_TPC() modelBuilder); } - [ConditionalFact] + [Fact] public void DefaultValue_with_empty_explicit_constraint_name_throws() { var modelBuilder = CreateConventionModelBuilder(); @@ -876,7 +876,7 @@ public void DefaultValue_with_empty_explicit_constraint_name_throws() => modelBuilder.Entity().Property(x => x.Name).HasDefaultValue("Miauo", defaultConstraintName: "")); } - [ConditionalFact] + [Fact] public void DefaultValueSql_with_empty_explicit_constraint_name_throws() { var modelBuilder = CreateConventionModelBuilder(); @@ -887,7 +887,7 @@ public void DefaultValueSql_with_empty_explicit_constraint_name_throws() => modelBuilder.Entity().Property(x => x.Name).HasDefaultValueSql("Miauo", defaultConstraintName: "")); } - [ConditionalFact] + [Fact] public void DefaultValue_with_implicit_constraint_name_throws_for_TPC() { var modelBuilder = CreateConventionModelBuilder(); @@ -905,7 +905,7 @@ public void DefaultValue_with_implicit_constraint_name_throws_for_TPC() #region Temporal tables - [ConditionalFact] + [Fact] public void Temporal_can_only_be_specified_on_root_entities() { var modelBuilder = CreateConventionModelBuilder(); @@ -915,7 +915,7 @@ public void Temporal_can_only_be_specified_on_root_entities() VerifyError(SqlServerStrings.TemporalOnlyOnRoot(nameof(Dog)), modelBuilder); } - [ConditionalFact] + [Fact] public void Temporal_enitty_must_have_period_start() { var modelBuilder = CreateConventionModelBuilder(); @@ -925,7 +925,7 @@ public void Temporal_enitty_must_have_period_start() VerifyError(SqlServerStrings.TemporalMustDefinePeriodProperties(nameof(Dog)), modelBuilder); } - [ConditionalFact] + [Fact] public void Temporal_enitty_must_have_period_end() { var modelBuilder = CreateConventionModelBuilder(); @@ -935,7 +935,7 @@ public void Temporal_enitty_must_have_period_end() VerifyError(SqlServerStrings.TemporalMustDefinePeriodProperties(nameof(Dog)), modelBuilder); } - [ConditionalFact] + [Fact] public void Temporal_enitty_without_expected_period_start_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -945,7 +945,7 @@ public void Temporal_enitty_without_expected_period_start_property() VerifyError(SqlServerStrings.TemporalExpectedPeriodPropertyNotFound(nameof(Dog), "Start"), modelBuilder); } - [ConditionalFact] + [Fact] public void Temporal_period_property_mapped_to_CLR_property_is_allowed() { var modelBuilder = CreateConventionModelBuilder(); @@ -954,7 +954,7 @@ public void Temporal_period_property_mapped_to_CLR_property_is_allowed() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public void Temporal_period_property_must_be_non_nullable_datetime() { var modelBuilder1 = CreateConventionModelBuilder(); @@ -974,7 +974,7 @@ public void Temporal_period_property_must_be_non_nullable_datetime() SqlServerStrings.TemporalPeriodPropertyMustBeNonNullableDateTime(nameof(Dog), "Start", nameof(DateTime)), modelBuilder2); } - [ConditionalFact] + [Fact] public void Temporal_period_property_must_be_mapped_to_datetime2() { var modelBuilder = CreateConventionModelBuilder(); @@ -984,7 +984,7 @@ public void Temporal_period_property_must_be_mapped_to_datetime2() VerifyError(SqlServerStrings.TemporalPeriodPropertyMustBeMappedToDatetime2(nameof(Dog), "Start", "datetime2"), modelBuilder); } - [ConditionalFact] + [Fact] public void Temporal_all_properties_mapped_to_period_column_must_have_value_generated_OnAddOrUpdate() { var modelBuilder = CreateConventionModelBuilder(); @@ -996,7 +996,7 @@ public void Temporal_all_properties_mapped_to_period_column_must_have_value_gene nameof(Dog), "Start", nameof(ValueGenerated.OnAddOrUpdate)), modelBuilder); } - [ConditionalFact] + [Fact] public void Temporal_period_property_cant_have_default_value() { var modelBuilder = CreateConventionModelBuilder(); @@ -1006,7 +1006,7 @@ public void Temporal_period_property_cant_have_default_value() VerifyError(SqlServerStrings.TemporalPeriodPropertyCantHaveDefaultValue(nameof(Dog), "Start"), modelBuilder); } - [ConditionalFact] + [Fact] public void Temporal_doesnt_work_on_TPH() { var modelBuilder = CreateConventionModelBuilder(); @@ -1017,7 +1017,7 @@ public void Temporal_doesnt_work_on_TPH() VerifyError(SqlServerStrings.TemporalOnlySupportedForTPH(nameof(Animal)), modelBuilder); } - [ConditionalFact] + [Fact] public void Temporal_doesnt_work_on_table_splitting_with_inconsistent_period_mappings() { var modelBuilder = CreateConventionModelBuilder(); @@ -1030,7 +1030,7 @@ public void Temporal_doesnt_work_on_table_splitting_with_inconsistent_period_map "start", "Splitting2", "PeriodStart", "Splitting2_PeriodStart", "PeriodStart"), modelBuilder); } - [ConditionalFact] + [Fact] public void Temporal_doesnt_work_on_table_splitting_when_some_types_are_temporal_and_some_are_not() { var modelBuilder = CreateConventionModelBuilder(); @@ -1041,7 +1041,7 @@ public void Temporal_doesnt_work_on_table_splitting_when_some_types_are_temporal VerifyError(SqlServerStrings.TemporalAllEntitiesMappedToSameTableMustBeTemporal("Splitting1"), modelBuilder); } - [ConditionalFact] + [Fact] public void Temporal_table_with_explicit_precision_on_period_columns_passes_validation() { var modelBuilder = CreateConventionModelBuilder(); @@ -1059,7 +1059,7 @@ public void Temporal_table_with_explicit_precision_on_period_columns_passes_vali Assert.Equal(2, entity.FindProperty("End").GetPrecision()); } - [ConditionalFact] + [Fact] public void Temporal_table_with_owned_with_explicit_precision_on_period_columns_passes_validation() { var modelBuilder = CreateConventionModelBuilder(); @@ -1093,7 +1093,7 @@ public void Temporal_table_with_owned_with_explicit_precision_on_period_columns_ #region Vector - [ConditionalFact] + [Fact] public virtual void Throws_for_vector_property_without_dimensions() { var modelBuilder = CreateConventionModelBuilder(); @@ -1106,7 +1106,7 @@ public virtual void Throws_for_vector_property_without_dimensions() } #pragma warning disable EF8001 // Owned JSON entities are obsolete - [ConditionalFact] + [Fact] public virtual void Throws_for_vector_property_inside_JSON_owned_entity() { var modelBuilder = CreateConventionModelBuilder(); @@ -1126,7 +1126,7 @@ public virtual void Throws_for_vector_property_inside_JSON_owned_entity() } #pragma warning restore EF8001 // Owned JSON entities are obsolete - [ConditionalFact] + [Fact] [Experimental("EF9105")] public virtual void Throws_for_vector_property_inside_JSON_complex_type() { @@ -1148,7 +1148,7 @@ public virtual void Throws_for_vector_property_inside_JSON_complex_type() modelBuilder); } - [ConditionalFact] + [Fact] [Experimental("EF9105")] public virtual void Throws_for_vector_index_on_multiple_properties() { @@ -1169,7 +1169,7 @@ public virtual void Throws_for_vector_index_on_multiple_properties() modelBuilder); } - [ConditionalFact] + [Fact] [Experimental("EF9105")] public virtual void Throws_for_vector_index_on_non_vector_property() { @@ -1219,7 +1219,7 @@ public class VectorEntityWithNonVector #region Full-text search - [ConditionalFact] + [Fact] public virtual void Throws_for_multiple_full_text_indexes_on_same_entity() { var modelBuilder = CreateConventionModelBuilder(); @@ -1237,7 +1237,7 @@ public virtual void Throws_for_multiple_full_text_indexes_on_same_entity() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Throws_for_full_text_index_missing_key_index() { var modelBuilder = CreateConventionModelBuilder(); @@ -1256,7 +1256,7 @@ public virtual void Throws_for_full_text_index_missing_key_index() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Throws_for_full_text_index_on_invalid_column_type() { var modelBuilder = CreateConventionModelBuilder(); @@ -1272,7 +1272,7 @@ public virtual void Throws_for_full_text_index_on_invalid_column_type() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Does_not_throw_for_full_text_index_on_string_column() { var modelBuilder = CreateConventionModelBuilder(); @@ -1283,7 +1283,7 @@ public virtual void Does_not_throw_for_full_text_index_on_string_column() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Does_not_throw_for_full_text_index_on_byte_array_column() { var modelBuilder = CreateConventionModelBuilder(); @@ -1294,7 +1294,7 @@ public virtual void Does_not_throw_for_full_text_index_on_byte_array_column() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Does_not_throw_for_full_text_index_on_mixed_string_and_binary_columns() { var modelBuilder = CreateConventionModelBuilder(); @@ -1305,7 +1305,7 @@ public virtual void Does_not_throw_for_full_text_index_on_mixed_string_and_binar Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Throws_for_full_text_index_with_mixed_valid_and_invalid_columns() { var modelBuilder = CreateConventionModelBuilder(); @@ -1388,7 +1388,7 @@ private class Cheese public string Name { get; set; } } - [ConditionalFact] + [Fact] public void Throws_hierarchyid_message_when_hierarchyid_property_is_not_mapped() { var modelBuilder = CreateConventionlessModelBuilder(); diff --git a/test/EFCore.SqlServer.Tests/Metadata/Conventions/RelationalForeignKeyIndexConventionTest.cs b/test/EFCore.SqlServer.Tests/Metadata/Conventions/RelationalForeignKeyIndexConventionTest.cs index a63daef6e3d..8c45f71d138 100644 --- a/test/EFCore.SqlServer.Tests/Metadata/Conventions/RelationalForeignKeyIndexConventionTest.cs +++ b/test/EFCore.SqlServer.Tests/Metadata/Conventions/RelationalForeignKeyIndexConventionTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Collections; @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class RelationalForeignKeyIndexConventionTest { - [ConditionalFact] + [Fact] public void Removing_relationship_removes_unused_conventional_index() { var modelBuilder = CreateConventionalModelBuilder(); @@ -44,7 +44,7 @@ public void Removing_relationship_removes_unused_conventional_index() Assert.Empty(dependentEntityBuilder.Metadata.GetForeignKeys()); } - [ConditionalFact] + [Fact] public void Removing_relationship_does_not_remove_conventional_index_if_in_use() { var modelBuilder = CreateConventionalModelBuilder(); diff --git a/test/EFCore.SqlServer.Tests/Metadata/Conventions/SqlServerAutoLoadConventionTest.cs b/test/EFCore.SqlServer.Tests/Metadata/Conventions/SqlServerAutoLoadConventionTest.cs index 4ae71a5ecf5..60a0db2fb09 100644 --- a/test/EFCore.SqlServer.Tests/Metadata/Conventions/SqlServerAutoLoadConventionTest.cs +++ b/test/EFCore.SqlServer.Tests/Metadata/Conventions/SqlServerAutoLoadConventionTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class SqlServerAutoLoadConventionTest { - [ConditionalFact] + [Fact] public void Vector_property_configured_as_not_auto_loaded_by_convention() { var modelBuilder = SqlServerTestHelpers.Instance.CreateConventionBuilder(); @@ -26,7 +26,7 @@ public void Vector_property_configured_as_not_auto_loaded_by_convention() Assert.False(entityType.FindProperty(nameof(EntityWithVector.Vector))!.IsAutoLoaded); } - [ConditionalFact] + [Fact] public void Vector_property_can_be_manually_configured_as_not_auto_loaded() { var modelBuilder = SqlServerTestHelpers.Instance.CreateConventionBuilder(); @@ -45,7 +45,7 @@ public void Vector_property_can_be_manually_configured_as_not_auto_loaded() Assert.False(finalModel.FindEntityType(typeof(EntityWithVector))!.FindProperty(nameof(EntityWithVector.Vector))!.IsAutoLoaded); } - [ConditionalFact] + [Fact] public void Explicit_auto_load_overrides_convention() { var modelBuilder = SqlServerTestHelpers.Instance.CreateConventionBuilder(); @@ -64,7 +64,7 @@ public void Explicit_auto_load_overrides_convention() Assert.True(finalModel.FindEntityType(typeof(EntityWithVector))!.FindProperty(nameof(EntityWithVector.Vector))!.IsAutoLoaded); } - [ConditionalFact] + [Fact] public void Non_vector_property_remains_auto_loaded() { var modelBuilder = SqlServerTestHelpers.Instance.CreateConventionBuilder(); diff --git a/test/EFCore.SqlServer.Tests/Metadata/Conventions/SqlServerConventionSetBuilderTests.cs b/test/EFCore.SqlServer.Tests/Metadata/Conventions/SqlServerConventionSetBuilderTests.cs index 8822d2cebf6..b45738c3eb1 100644 --- a/test/EFCore.SqlServer.Tests/Metadata/Conventions/SqlServerConventionSetBuilderTests.cs +++ b/test/EFCore.SqlServer.Tests/Metadata/Conventions/SqlServerConventionSetBuilderTests.cs @@ -5,7 +5,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class SqlServerConventionSetBuilderTests : ConventionSetBuilderTests { - public override IReadOnlyModel Can_build_a_model_with_default_conventions_without_DI() +#pragma warning disable xUnit1028 + public override IMutableModel Can_build_a_model_with_default_conventions_without_DI() +#pragma warning restore xUnit1028 { var model = base.Can_build_a_model_with_default_conventions_without_DI(); diff --git a/test/EFCore.SqlServer.Tests/Metadata/Conventions/SqlServerMemoryOptimizedTablesConventionTest.cs b/test/EFCore.SqlServer.Tests/Metadata/Conventions/SqlServerMemoryOptimizedTablesConventionTest.cs index 0ac11b53cad..2813446308f 100644 --- a/test/EFCore.SqlServer.Tests/Metadata/Conventions/SqlServerMemoryOptimizedTablesConventionTest.cs +++ b/test/EFCore.SqlServer.Tests/Metadata/Conventions/SqlServerMemoryOptimizedTablesConventionTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class SqlServerMemoryOptimizedTablesConventionTest { - [ConditionalFact] + [Fact] public void Keys_and_indexes_are_nonclustered_for_memory_optimized_tables() { var modelBuilder = SqlServerTestHelpers.Instance.CreateConventionBuilder(); diff --git a/test/EFCore.SqlServer.Tests/Metadata/Conventions/SqlServerOnDeleteConventionTest.cs b/test/EFCore.SqlServer.Tests/Metadata/Conventions/SqlServerOnDeleteConventionTest.cs index d89e6071c06..ee909e8c9bc 100644 --- a/test/EFCore.SqlServer.Tests/Metadata/Conventions/SqlServerOnDeleteConventionTest.cs +++ b/test/EFCore.SqlServer.Tests/Metadata/Conventions/SqlServerOnDeleteConventionTest.cs @@ -1,11 +1,11 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class SqlServerOnDeleteConventionTest { - [ConditionalFact] // Issue #32732 + [Fact] // Issue #32732 public void Convention_does_not_assume_skip_navigations_have_non_null_FK() { using var context = new SkippyDbContext(); diff --git a/test/EFCore.SqlServer.Tests/Metadata/Conventions/SqlServerOutputClauseConventionTest.cs b/test/EFCore.SqlServer.Tests/Metadata/Conventions/SqlServerOutputClauseConventionTest.cs index 10ef8d3738b..4a2e136dd34 100644 --- a/test/EFCore.SqlServer.Tests/Metadata/Conventions/SqlServerOutputClauseConventionTest.cs +++ b/test/EFCore.SqlServer.Tests/Metadata/Conventions/SqlServerOutputClauseConventionTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class SqlServerOutputClauseConventionTest { - [ConditionalFact] + [Fact] public void Output_clause_is_enabled_by_default() { var modelBuilder = SqlServerTestHelpers.Instance.CreateConventionBuilder(); @@ -20,7 +20,7 @@ public void Output_clause_is_enabled_by_default() Assert.True(entityType.IsSqlOutputClauseUsed(tableIdentifier)); } - [ConditionalFact] + [Fact] public void Trigger_disables_output_clause() { var modelBuilder = SqlServerTestHelpers.Instance.CreateConventionBuilder(); diff --git a/test/EFCore.SqlServer.Tests/Metadata/Conventions/SqlServerValueGenerationStrategyConventionTest.cs b/test/EFCore.SqlServer.Tests/Metadata/Conventions/SqlServerValueGenerationStrategyConventionTest.cs index 4503944ac98..d9d1d8048a3 100644 --- a/test/EFCore.SqlServer.Tests/Metadata/Conventions/SqlServerValueGenerationStrategyConventionTest.cs +++ b/test/EFCore.SqlServer.Tests/Metadata/Conventions/SqlServerValueGenerationStrategyConventionTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class SqlServerValueGenerationStrategyConventionTest { - [ConditionalFact] + [Fact] public void Annotations_are_added_when_conventional_model_builder_is_used() { var model = SqlServerTestHelpers.Instance.CreateConventionBuilder().Model; @@ -22,7 +22,7 @@ public void Annotations_are_added_when_conventional_model_builder_is_used() Assert.Equal(SqlServerValueGenerationStrategy.IdentityColumn, annotations.Last().Value); } - [ConditionalFact] + [Fact] public void Annotations_are_added_when_conventional_model_builder_is_used_with_sequences() { var model = SqlServerTestHelpers.Instance.CreateConventionBuilder() @@ -48,7 +48,7 @@ public void Annotations_are_added_when_conventional_model_builder_is_used_with_s Assert.Equal(SqlServerValueGenerationStrategy.SequenceHiLo, annotations[3].Value); } - [ConditionalFact] + [Fact] public void Annotations_are_added_when_conventional_model_builder_is_used_with_key_sequences() { var model = SqlServerTestHelpers.Instance.CreateConventionBuilder() diff --git a/test/EFCore.SqlServer.Tests/Metadata/SqlServerBuilderExtensionsTest.cs b/test/EFCore.SqlServer.Tests/Metadata/SqlServerBuilderExtensionsTest.cs index 8a0ab91042c..85702153fa2 100644 --- a/test/EFCore.SqlServer.Tests/Metadata/SqlServerBuilderExtensionsTest.cs +++ b/test/EFCore.SqlServer.Tests/Metadata/SqlServerBuilderExtensionsTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata; public class SqlServerBuilderExtensionsTest { - [ConditionalFact] + [Fact] public void Setting_column_default_value_does_not_set_identity_column() { var modelBuilder = CreateConventionModelBuilder(); @@ -24,7 +24,7 @@ public void Setting_column_default_value_does_not_set_identity_column() Assert.Equal(ValueGenerated.OnAdd, property.ValueGenerated); } - [ConditionalFact] + [Fact] public void Setting_column_default_value_sql_does_not_set_identity_column() { var modelBuilder = CreateConventionModelBuilder(); @@ -41,7 +41,7 @@ public void Setting_column_default_value_sql_does_not_set_identity_column() Assert.Equal(ValueGenerated.OnAdd, property.ValueGenerated); } - [ConditionalFact] + [Fact] public void Can_set_index_filter() { var modelBuilder = CreateConventionModelBuilder(); @@ -57,7 +57,7 @@ public void Can_set_index_filter() Assert.Equal("SqlServer-specific expression", index.GetFilter()); } - [ConditionalFact] + [Fact] public void Can_set_MemoryOptimized() { var modelBuilder = CreateConventionModelBuilder(); @@ -77,7 +77,7 @@ public void Can_set_MemoryOptimized() Assert.False(entityType.IsMemoryOptimized()); } - [ConditionalFact] + [Fact] public void Can_set_MemoryOptimized_non_generic() { var modelBuilder = CreateConventionModelBuilder(); @@ -97,7 +97,7 @@ public void Can_set_MemoryOptimized_non_generic() Assert.False(entityType.IsMemoryOptimized()); } - [ConditionalFact] + [Fact] public void Can_set_index_clustering() { var modelBuilder = CreateConventionModelBuilder(); @@ -112,7 +112,7 @@ public void Can_set_index_clustering() Assert.True(index.IsClustered().Value); } - [ConditionalFact] + [Fact] public void Can_set_key_clustering() { var modelBuilder = CreateConventionModelBuilder(); @@ -127,7 +127,7 @@ public void Can_set_key_clustering() Assert.True(key.IsClustered().Value); } - [ConditionalFact] + [Fact] public void Can_set_key_with_fillfactor() { var modelBuilder = CreateConventionModelBuilder(); @@ -142,7 +142,7 @@ public void Can_set_key_with_fillfactor() Assert.Equal(90, key.GetFillFactor()); } - [ConditionalFact] + [Fact] public void Can_set_key_with_fillfactor_non_generic() { var modelBuilder = CreateConventionModelBuilder(); @@ -157,7 +157,7 @@ public void Can_set_key_with_fillfactor_non_generic() Assert.Equal(90, key.GetFillFactor()); } - [ConditionalFact] + [Fact] public void Can_set_index_include() { var modelBuilder = CreateConventionModelBuilder(); @@ -175,7 +175,7 @@ public void Can_set_index_include() c => Assert.Equal(nameof(Customer.Offset), c)); } - [ConditionalFact] + [Fact] public void Can_set_index_include_after_unique_using_generic_builder() { var modelBuilder = CreateConventionModelBuilder(); @@ -195,7 +195,7 @@ public void Can_set_index_include_after_unique_using_generic_builder() c => Assert.Equal(nameof(Customer.Offset), c)); } - [ConditionalFact] + [Fact] public void Can_set_index_include_after_annotation_using_generic_builder() { var modelBuilder = CreateConventionModelBuilder(); @@ -219,7 +219,7 @@ public void Can_set_index_include_after_annotation_using_generic_builder() c => Assert.Equal(nameof(Customer.Offset), c)); } - [ConditionalFact] + [Fact] public void Can_set_index_include_non_generic() { var modelBuilder = CreateConventionModelBuilder(); @@ -237,7 +237,7 @@ public void Can_set_index_include_non_generic() c => Assert.Equal(nameof(Customer.Offset), c)); } - [ConditionalFact] + [Fact] public void Can_set_index_online() { var modelBuilder = CreateConventionModelBuilder(); @@ -252,7 +252,7 @@ public void Can_set_index_online() Assert.True(index.IsCreatedOnline()); } - [ConditionalFact] + [Fact] public void Can_set_index_online_non_generic() { var modelBuilder = CreateConventionModelBuilder(); @@ -267,7 +267,7 @@ public void Can_set_index_online_non_generic() Assert.True(index.IsCreatedOnline()); } - [ConditionalFact] + [Fact] public void Can_set_sequences_for_model() { var modelBuilder = CreateConventionModelBuilder(); @@ -285,7 +285,7 @@ public void Can_set_sequences_for_model() Assert.NotNull(sqlServerExtensions.FindSequence(SqlServerModelExtensions.DefaultHiLoSequenceName)); } - [ConditionalFact] + [Fact] public void Can_set_sequences_with_name_for_model() { var modelBuilder = CreateConventionModelBuilder(); @@ -312,7 +312,7 @@ public void Can_set_sequences_with_name_for_model() Assert.Same(typeof(long), sequence.Type); } - [ConditionalFact] + [Fact] public void Can_set_sequences_with_schema_and_name_for_model() { var modelBuilder = CreateConventionModelBuilder(); @@ -338,7 +338,7 @@ public void Can_set_sequences_with_schema_and_name_for_model() Assert.Same(typeof(long), sequence.Type); } - [ConditionalFact] + [Fact] public void Can_set_use_of_existing_relational_sequence_for_model() { var modelBuilder = CreateConventionModelBuilder(); @@ -363,7 +363,7 @@ public void Can_set_use_of_existing_relational_sequence_for_model() ValidateSchemaNamedSpecificSequence(sqlServerExtensions.FindSequence("Snook", "Tasty")); } - [ConditionalFact] + [Fact] public void Can_set_use_of_existing_SQL_sequence_for_model() { var modelBuilder = CreateConventionModelBuilder(); @@ -388,7 +388,7 @@ public void Can_set_use_of_existing_SQL_sequence_for_model() ValidateSchemaNamedSpecificSequence(sqlServerExtensions.FindSequence("Snook", "Tasty")); } - [ConditionalFact] + [Fact] public void Can_set_key_sequences_for_model() { var modelBuilder = CreateConventionModelBuilder(); @@ -403,7 +403,7 @@ public void Can_set_key_sequences_for_model() Assert.Null(sqlServerExtensions.GetSequenceSchema()); } - [ConditionalFact] + [Fact] public void Can_set_key_sequences_with_name_for_model() { var modelBuilder = CreateConventionModelBuilder(); @@ -418,7 +418,7 @@ public void Can_set_key_sequences_with_name_for_model() Assert.Null(sqlServerExtensions.GetSequenceSchema()); } - [ConditionalFact] + [Fact] public void Can_set_key_sequences_with_schema_and_name_for_model() { var modelBuilder = CreateConventionModelBuilder(); @@ -450,7 +450,7 @@ public void Can_set_key_sequences_with_schema_and_name_for_model() Assert.Same(typeof(long), sequence.Type); } - [ConditionalFact] + [Fact] public void Can_set_use_of_existing_relational_key_sequence_for_model() { var modelBuilder = CreateConventionModelBuilder(); @@ -475,7 +475,7 @@ public void Can_set_use_of_existing_relational_key_sequence_for_model() ValidateSchemaNamedSpecificSequence(sqlServerExtensions.FindSequence("Snook", "Tasty")); } - [ConditionalFact] + [Fact] public void Can_set_use_of_existing_SQL_key_sequence_for_model() { var modelBuilder = CreateConventionModelBuilder(); @@ -511,7 +511,7 @@ private static void ValidateSchemaNamedSpecificSequence(IReadOnlySequence sequen Assert.Same(typeof(int), sequence.Type); } - [ConditionalFact] + [Fact] public void Can_set_identities_for_model() { var modelBuilder = CreateConventionModelBuilder(); @@ -527,7 +527,7 @@ public void Can_set_identities_for_model() Assert.Null(model.FindSequence(SqlServerModelExtensions.DefaultHiLoSequenceName)); } - [ConditionalFact] + [Fact] public void Setting_SqlServer_identities_for_model_is_lower_priority_than_relational_default_values() { var modelBuilder = CreateConventionModelBuilder(); @@ -562,7 +562,7 @@ public void Setting_SqlServer_identities_for_model_is_lower_priority_than_relati Assert.Equal("Now", offsetProperty.GetDefaultValueSql()); } - [ConditionalFact] + [Fact] public void Can_set_sequence_for_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -583,7 +583,7 @@ public void Can_set_sequence_for_property() Assert.NotNull(model.FindSequence(SqlServerModelExtensions.DefaultHiLoSequenceName)); } - [ConditionalFact] + [Fact] public void Can_set_sequences_with_name_for_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -614,7 +614,7 @@ public void Can_set_sequences_with_name_for_property() Assert.Same(typeof(long), sequence.Type); } - [ConditionalFact] + [Fact] public void Can_set_sequences_with_schema_and_name_for_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -644,7 +644,7 @@ public void Can_set_sequences_with_schema_and_name_for_property() Assert.Same(typeof(long), sequence.Type); } - [ConditionalFact] + [Fact] public void Can_set_use_of_existing_relational_sequence_for_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -673,7 +673,7 @@ public void Can_set_use_of_existing_relational_sequence_for_property() ValidateSchemaNamedSpecificSequence(model.FindSequence("Snook", "Tasty")); } - [ConditionalFact] + [Fact] public void Can_set_use_of_existing_relational_sequence_for_property_using_nested_closure() { var modelBuilder = CreateConventionModelBuilder(); @@ -696,7 +696,7 @@ public void Can_set_use_of_existing_relational_sequence_for_property_using_neste ValidateSchemaNamedSpecificSequence(model.FindSequence("Snook", "Tasty")); } - [ConditionalFact] + [Fact] public void Can_set_use_of_existing_SQL_sequence_for_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -724,7 +724,7 @@ public void Can_set_use_of_existing_SQL_sequence_for_property() ValidateSchemaNamedSpecificSequence(model.FindSequence("Snook", "Tasty")); } - [ConditionalFact] + [Fact] public void Can_set_use_of_existing_SQL_sequence_for_property_using_nested_closure() { var modelBuilder = CreateConventionModelBuilder(); @@ -755,7 +755,7 @@ public void Can_set_use_of_existing_SQL_sequence_for_property_using_nested_closu ValidateSchemaNamedSpecificSequence(model.FindSequence("Snook", "Tasty")); } - [ConditionalFact] + [Fact] public void Can_set_key_sequence_for_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -776,7 +776,7 @@ public void Can_set_key_sequence_for_property() Assert.NotNull(model.FindSequence(nameof(Customer) + SqlServerModelExtensions.DefaultSequenceNameSuffix)); } - [ConditionalFact] + [Fact] public void Can_set_key_sequences_with_name_for_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -809,7 +809,7 @@ public void Can_set_key_sequences_with_name_for_property() Assert.Same(typeof(long), sequence.Type); } - [ConditionalFact] + [Fact] public void Can_set_key_sequences_with_schema_and_name_for_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -841,7 +841,7 @@ public void Can_set_key_sequences_with_schema_and_name_for_property() Assert.Same(typeof(long), sequence.Type); } - [ConditionalFact] + [Fact] public void Can_set_use_of_existing_relational_key_sequence_for_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -870,7 +870,7 @@ public void Can_set_use_of_existing_relational_key_sequence_for_property() ValidateSchemaNamedSpecificSequence(model.FindSequence("Snook", "Tasty")); } - [ConditionalFact] + [Fact] public void Can_set_use_of_existing_relational_key_sequence_for_property_using_nested_closure() { var modelBuilder = CreateConventionModelBuilder(); @@ -893,7 +893,7 @@ public void Can_set_use_of_existing_relational_key_sequence_for_property_using_n ValidateSchemaNamedSpecificSequence(model.FindSequence("Snook", "Tasty")); } - [ConditionalFact] + [Fact] public void Can_set_use_of_existing_SQL_key_sequence_for_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -921,7 +921,7 @@ public void Can_set_use_of_existing_SQL_key_sequence_for_property() ValidateSchemaNamedSpecificSequence(model.FindSequence("Snook", "Tasty")); } - [ConditionalFact] + [Fact] public void Can_set_use_of_existing_SQL_key_sequence_for_property_using_nested_closure() { var modelBuilder = CreateConventionModelBuilder(); @@ -952,7 +952,7 @@ public void Can_set_use_of_existing_SQL_key_sequence_for_property_using_nested_c ValidateSchemaNamedSpecificSequence(model.FindSequence("Snook", "Tasty")); } - [ConditionalFact] + [Fact] public void Can_set_identities_for_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -975,7 +975,7 @@ public void Can_set_identities_for_property() Assert.Null(model.FindSequence(SqlServerModelExtensions.DefaultHiLoSequenceName)); } - [ConditionalFact] + [Fact] public void Can_set_identities_with_seed_and_identity_for_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -998,7 +998,7 @@ public void Can_set_identities_with_seed_and_identity_for_property() Assert.Null(model.FindSequence(SqlServerModelExtensions.DefaultHiLoSequenceName)); } - [ConditionalFact] + [Fact] public void SqlServer_property_methods_dont_break_out_of_the_generics() { var modelBuilder = CreateConventionModelBuilder(); @@ -1022,7 +1022,7 @@ public void SqlServer_property_methods_dont_break_out_of_the_generics() .UseSequence()); } - [ConditionalFact] + [Fact] public void SqlServer_property_methods_have_non_generic_overloads() { var modelBuilder = CreateConventionModelBuilder(); @@ -1043,7 +1043,7 @@ public void SqlServer_property_methods_have_non_generic_overloads() .UseSequence(); } - [ConditionalFact] + [Fact] public void Can_write_index_filter_with_where_clauses_generic() { var modelBuilder = CreateConventionModelBuilder(); @@ -1060,7 +1060,7 @@ public void Can_write_index_filter_with_where_clauses_generic() Assert.Equal("[Id] % 2 = 0", index.GetFilter()); } - [ConditionalFact] + [Fact] public void Can_set_index_with_fillfactor() { var modelBuilder = CreateConventionModelBuilder(); @@ -1075,7 +1075,7 @@ public void Can_set_index_with_fillfactor() Assert.Equal(90, index.GetFillFactor()); } - [ConditionalFact] + [Fact] public void Can_set_index_with_fillfactor_non_generic() { var modelBuilder = CreateConventionModelBuilder(); @@ -1090,7 +1090,7 @@ public void Can_set_index_with_fillfactor_non_generic() Assert.Equal(90, index.GetFillFactor()); } - [ConditionalTheory, InlineData(0), InlineData(101)] + [Theory, InlineData(0), InlineData(101)] public void Throws_if_attempt_to_set_key_fillfactor_with_argument_out_of_range(int fillFactor) { var modelBuilder = CreateConventionModelBuilder(); @@ -1104,7 +1104,7 @@ public void Throws_if_attempt_to_set_key_fillfactor_with_argument_out_of_range(i }); } - [ConditionalTheory, InlineData(0), InlineData(101)] + [Theory, InlineData(0), InlineData(101)] public void Throws_if_attempt_to_set_fillfactor_with_argument_out_of_range(int fillFactor) { var modelBuilder = CreateConventionModelBuilder(); @@ -1118,7 +1118,7 @@ public void Throws_if_attempt_to_set_fillfactor_with_argument_out_of_range(int f }); } - [ConditionalFact] + [Fact] public void Can_set_index_with_sortintempdb() { var modelBuilder = CreateConventionModelBuilder(); @@ -1133,7 +1133,7 @@ public void Can_set_index_with_sortintempdb() Assert.True(index.GetSortInTempDb()); } - [ConditionalFact] + [Fact] public void Can_set_index_with_sortintempdb_non_generic() { var modelBuilder = CreateConventionModelBuilder(); @@ -1148,7 +1148,7 @@ public void Can_set_index_with_sortintempdb_non_generic() Assert.True(index.GetSortInTempDb()); } - [ConditionalTheory, InlineData(DataCompressionType.None), InlineData(DataCompressionType.Row), InlineData(DataCompressionType.Page)] + [Theory, InlineData(DataCompressionType.None), InlineData(DataCompressionType.Row), InlineData(DataCompressionType.Page)] public void Can_set_index_with_datacompression(DataCompressionType dataCompression) { var modelBuilder = CreateConventionModelBuilder(); @@ -1163,7 +1163,7 @@ public void Can_set_index_with_datacompression(DataCompressionType dataCompressi Assert.Equal(dataCompression, index.GetDataCompression()); } - [ConditionalTheory, InlineData(DataCompressionType.None), InlineData(DataCompressionType.Row), InlineData(DataCompressionType.Page)] + [Theory, InlineData(DataCompressionType.None), InlineData(DataCompressionType.Row), InlineData(DataCompressionType.Page)] public void Can_set_index_with_datacompression_non_generic(DataCompressionType dataCompression) { var modelBuilder = CreateConventionModelBuilder(); @@ -1180,7 +1180,7 @@ public void Can_set_index_with_datacompression_non_generic(DataCompressionType d #region UseSqlOutputClause - [ConditionalFact] + [Fact] public void Can_set_UseSqlOutputClause() { var modelBuilder = CreateConventionModelBuilder(); @@ -1203,7 +1203,7 @@ public void Can_set_UseSqlOutputClause() Assert.True(entityType.IsSqlOutputClauseUsed()); } - [ConditionalFact] + [Fact] public void Can_set_UseSqlOutputClause_with_table_name_and_one_table() { var modelBuilder = CreateConventionModelBuilder(); @@ -1232,7 +1232,7 @@ public void Can_set_UseSqlOutputClause_with_table_name_and_one_table() Assert.True(entityType.IsSqlOutputClauseUsed()); } - [ConditionalFact] + [Fact] public void Can_set_UseSqlOutputClause_with_table_name_and_two_tables() { var modelBuilder = CreateConventionModelBuilder(); @@ -1267,7 +1267,7 @@ public void Can_set_UseSqlOutputClause_with_table_name_and_two_tables() Assert.True(entityType.IsSqlOutputClauseUsed()); } - [ConditionalFact] + [Fact] public void Can_set_UseSqlOutputClause_non_generic() { var modelBuilder = CreateConventionModelBuilder(); diff --git a/test/EFCore.SqlServer.Tests/Metadata/SqlServerMetadataBuilderExtensionsTest.cs b/test/EFCore.SqlServer.Tests/Metadata/SqlServerMetadataBuilderExtensionsTest.cs index 8e64d7c1818..a95a84036e1 100644 --- a/test/EFCore.SqlServer.Tests/Metadata/SqlServerMetadataBuilderExtensionsTest.cs +++ b/test/EFCore.SqlServer.Tests/Metadata/SqlServerMetadataBuilderExtensionsTest.cs @@ -11,7 +11,7 @@ public class SqlServerMetadataBuilderExtensionsTest private IConventionModelBuilder CreateBuilder() => new InternalModelBuilder(new Model()); - [ConditionalFact] + [Fact] public void Can_access_model_value_generation_strategy() { var builder = CreateBuilder(); @@ -39,7 +39,7 @@ public void Can_access_model_value_generation_strategy() Assert.Null(builder.Metadata.GetValueGenerationStrategyConfigurationSource()); } - [ConditionalTheory, InlineData(SqlServerValueGenerationStrategy.Sequence, SqlServerValueGenerationStrategy.IdentityColumn), + [Theory, InlineData(SqlServerValueGenerationStrategy.Sequence, SqlServerValueGenerationStrategy.IdentityColumn), InlineData(SqlServerValueGenerationStrategy.Sequence, SqlServerValueGenerationStrategy.SequenceHiLo), InlineData(SqlServerValueGenerationStrategy.IdentityColumn, SqlServerValueGenerationStrategy.Sequence), InlineData(SqlServerValueGenerationStrategy.IdentityColumn, SqlServerValueGenerationStrategy.SequenceHiLo), @@ -72,7 +72,7 @@ void AssertFacets() } } - [ConditionalTheory, InlineData(SqlServerValueGenerationStrategy.Sequence), InlineData(SqlServerValueGenerationStrategy.SequenceHiLo)] + [Theory, InlineData(SqlServerValueGenerationStrategy.Sequence), InlineData(SqlServerValueGenerationStrategy.SequenceHiLo)] public void Seed_and_increment_are_reset_when_changing_strategy(SqlServerValueGenerationStrategy to) { var builder = CreateBuilder(); @@ -106,7 +106,7 @@ void AssertFacets(long seed, int increment) } } - [ConditionalTheory, InlineData(SqlServerValueGenerationStrategy.IdentityColumn), + [Theory, InlineData(SqlServerValueGenerationStrategy.IdentityColumn), InlineData(SqlServerValueGenerationStrategy.SequenceHiLo)] public void Sequence_and_schema_are_reset_when_changing_strategy(SqlServerValueGenerationStrategy to) { @@ -141,7 +141,7 @@ void AssertFacets(string sequenceSuffix, string schema) } } - [ConditionalTheory, InlineData(SqlServerValueGenerationStrategy.IdentityColumn), InlineData(SqlServerValueGenerationStrategy.Sequence)] + [Theory, InlineData(SqlServerValueGenerationStrategy.IdentityColumn), InlineData(SqlServerValueGenerationStrategy.Sequence)] public void HiLo_sequence_and_schema_are_reset_when_changing_strategy(SqlServerValueGenerationStrategy to) { var builder = CreateBuilder(); @@ -174,7 +174,7 @@ void AssertFacets(string sequence, string schema) } } - [ConditionalFact] + [Fact] public void Can_access_model_max_size() { var builder = CreateBuilder(); @@ -199,7 +199,7 @@ public void Can_access_model_max_size() Assert.Null(builder.Metadata.GetDatabaseMaxSizeConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_access_model_service_tier() { var builder = CreateBuilder(); @@ -224,7 +224,7 @@ public void Can_access_model_service_tier() Assert.Null(builder.Metadata.GetServiceTierSqlConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_access_model_performance_level() { var builder = CreateBuilder(); @@ -249,7 +249,7 @@ public void Can_access_model_performance_level() Assert.Null(builder.Metadata.GetPerformanceLevelSqlConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_change_entity_type_IsMemoryOptimized() { var typeBuilder = CreateBuilder().Entity(typeof(Splot)); @@ -273,7 +273,7 @@ public void Can_change_entity_type_IsMemoryOptimized() Assert.Null(typeBuilder.Metadata.GetIsMemoryOptimizedConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_change_entity_type_UseSqlOutputClause() { var typeBuilder = CreateBuilder().Entity(typeof(Splot)); @@ -317,7 +317,7 @@ public void Can_change_entity_type_UseSqlOutputClause() Assert.Null(typeBuilder.Metadata.GetUseSqlOutputClauseConfigurationSource(fragmentId)); } - [ConditionalFact] + [Fact] public void Can_access_property() { var propertyBuilder = CreateBuilder() @@ -342,7 +342,7 @@ public void Can_access_property() Assert.Null(propertyBuilder.Metadata.GetHiLoSequenceNameConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_access_key() { var modelBuilder = CreateBuilder(); @@ -368,7 +368,7 @@ public void Can_access_key() Assert.Null(keyBuilder.Metadata.GetIsClusteredConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_access_index() { var modelBuilder = CreateBuilder(); @@ -394,7 +394,7 @@ public void Can_access_index() Assert.Equal(ConfigurationSource.DataAnnotation, indexBuilder.Metadata.GetIsClusteredConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_access_relationship() { var modelBuilder = CreateBuilder(); diff --git a/test/EFCore.SqlServer.Tests/Metadata/SqlServerMetadataExtensionsTest.cs b/test/EFCore.SqlServer.Tests/Metadata/SqlServerMetadataExtensionsTest.cs index 9c8b921cbfb..f2f01c28184 100644 --- a/test/EFCore.SqlServer.Tests/Metadata/SqlServerMetadataExtensionsTest.cs +++ b/test/EFCore.SqlServer.Tests/Metadata/SqlServerMetadataExtensionsTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata; public class SqlServerMetadataExtensionsTest { - [ConditionalFact] + [Fact] public void Can_get_and_set_MaxSize() { var modelBuilder = GetModelBuilder(); @@ -34,7 +34,7 @@ public void Can_get_and_set_MaxSize() Assert.Null(((IConventionModel)model).GetDatabaseMaxSizeConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_ServiceTier() { var modelBuilder = GetModelBuilder(); @@ -61,7 +61,7 @@ public void Can_get_and_set_ServiceTier() Assert.Null(((IConventionModel)model).GetServiceTierSqlConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_PerformanceLevel() { var modelBuilder = GetModelBuilder(); @@ -88,7 +88,7 @@ public void Can_get_and_set_PerformanceLevel() Assert.Null(((IConventionModel)model).GetPerformanceLevelSqlConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_column_name() { var modelBuilder = GetModelBuilder(); @@ -118,7 +118,7 @@ public void Can_get_and_set_column_name() Assert.Null(((IConventionProperty)property).GetColumnNameConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_key_name() { var modelBuilder = GetModelBuilder(); @@ -143,7 +143,7 @@ public void Can_get_and_set_key_name() Assert.Equal("PK_Customer", key.GetName()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_index_clustering() { var modelBuilder = GetModelBuilder(); @@ -164,7 +164,7 @@ public void Can_get_and_set_index_clustering() Assert.Null(index.IsClustered()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_key_clustering() { var modelBuilder = GetModelBuilder(); @@ -185,7 +185,7 @@ public void Can_get_and_set_key_clustering() Assert.Null(key.IsClustered()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_value_generation_on_model() { var modelBuilder = GetModelBuilder(); @@ -202,7 +202,7 @@ public void Can_get_and_set_value_generation_on_model() Assert.Null(model.GetValueGenerationStrategy()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_default_sequence_name_on_model() { var modelBuilder = GetModelBuilder(); @@ -217,7 +217,7 @@ public void Can_get_and_set_default_sequence_name_on_model() Assert.Equal(SqlServerModelExtensions.DefaultHiLoSequenceName, model.GetHiLoSequenceName()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_default_sequence_schema_on_model() { var modelBuilder = GetModelBuilder(); @@ -234,7 +234,7 @@ public void Can_get_and_set_default_sequence_schema_on_model() Assert.Null(model.GetHiLoSequenceSchema()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_value_generation_on_property() { var modelBuilder = GetModelBuilder(); @@ -259,7 +259,7 @@ public void Can_get_and_set_value_generation_on_property() Assert.Equal(ValueGenerated.OnAdd, property.ValueGenerated); } - [ConditionalFact] + [Fact] public void Can_get_and_set_value_generation_on_nullable_property() { var modelBuilder = GetModelBuilder(); @@ -280,7 +280,7 @@ public void Can_get_and_set_value_generation_on_nullable_property() Assert.Equal(SqlServerValueGenerationStrategy.IdentityColumn, property.GetValueGenerationStrategy()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_sequence_name_on_property() { var modelBuilder = GetModelBuilder(); @@ -302,7 +302,7 @@ public void Can_get_and_set_sequence_name_on_property() Assert.Null(property.GetHiLoSequenceName()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_sequence_schema_on_property() { var modelBuilder = GetModelBuilder(); @@ -323,7 +323,7 @@ public void Can_get_and_set_sequence_schema_on_property() Assert.Null(property.GetHiLoSequenceSchema()); } - [ConditionalFact] + [Fact] public void TryGetSequence_returns_sequence_property_is_marked_for_sequence_generation() { var modelBuilder = GetModelBuilder(); @@ -341,7 +341,7 @@ public void TryGetSequence_returns_sequence_property_is_marked_for_sequence_gene Assert.Equal("DaneelOlivaw", property.FindHiLoSequence().Name); } - [ConditionalFact] + [Fact] public void TryGetSequence_returns_sequence_property_is_marked_for_default_generation_and_model_is_marked_for_sequence_generation() { var modelBuilder = GetModelBuilder(); @@ -359,7 +359,7 @@ public void TryGetSequence_returns_sequence_property_is_marked_for_default_gener Assert.Equal("DaneelOlivaw", property.FindHiLoSequence().Name); } - [ConditionalFact] + [Fact] public void TryGetSequence_returns_sequence_property_is_marked_for_sequence_generation_and_model_has_name() { var modelBuilder = GetModelBuilder(); @@ -377,7 +377,7 @@ public void TryGetSequence_returns_sequence_property_is_marked_for_sequence_gene Assert.Equal("DaneelOlivaw", property.FindHiLoSequence().Name); } - [ConditionalFact] + [Fact] public void TryGetSequence_returns_sequence_property_is_marked_for_default_generation_and_model_is_marked_for_sequence_generation_and_model_has_name() { @@ -396,7 +396,7 @@ public void Assert.Equal("DaneelOlivaw", property.FindHiLoSequence().Name); } - [ConditionalFact] + [Fact] public void TryGetSequence_with_schema_returns_sequence_property_is_marked_for_sequence_generation() { var modelBuilder = GetModelBuilder(); @@ -416,7 +416,7 @@ public void TryGetSequence_with_schema_returns_sequence_property_is_marked_for_s Assert.Equal("R", property.FindHiLoSequence().Schema); } - [ConditionalFact] + [Fact] public void TryGetSequence_with_schema_returns_sequence_model_is_marked_for_sequence_generation() { var modelBuilder = GetModelBuilder(); @@ -436,7 +436,7 @@ public void TryGetSequence_with_schema_returns_sequence_model_is_marked_for_sequ Assert.Equal("R", property.FindHiLoSequence().Schema); } - [ConditionalFact] + [Fact] public void TryGetSequence_with_schema_returns_sequence_property_is_marked_for_sequence_generation_and_model_has_name() { var modelBuilder = GetModelBuilder(); @@ -456,7 +456,7 @@ public void TryGetSequence_with_schema_returns_sequence_property_is_marked_for_s Assert.Equal("R", property.FindHiLoSequence().Schema); } - [ConditionalFact] + [Fact] public void TryGetSequence_with_schema_returns_sequence_model_is_marked_for_sequence_generation_and_model_has_name() { var modelBuilder = GetModelBuilder(); diff --git a/test/EFCore.SqlServer.Tests/Migrations/SqlServerHistoryRepositoryTest.cs b/test/EFCore.SqlServer.Tests/Migrations/SqlServerHistoryRepositoryTest.cs index 273953819b5..3ff20c96594 100644 --- a/test/EFCore.SqlServer.Tests/Migrations/SqlServerHistoryRepositoryTest.cs +++ b/test/EFCore.SqlServer.Tests/Migrations/SqlServerHistoryRepositoryTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Migrations; public class SqlServerHistoryRepositoryTest { - [ConditionalFact] + [Fact] public void GetCreateScript_works() { var sql = CreateHistoryRepository().GetCreateScript(); @@ -25,7 +25,7 @@ CONSTRAINT [PK___EFMigrationsHistory] PRIMARY KEY ([MigrationId]) """, sql, ignoreLineEndingDifferences: true); } - [ConditionalFact] + [Fact] public void GetCreateScript_works_with_full_text_catalog() { // Inject a model finalizing convention that adds a full-text catalog to the model, simulating a scenario where @@ -44,7 +44,7 @@ CONSTRAINT [PK___EFMigrationsHistory] PRIMARY KEY ([MigrationId]) """, sql, ignoreLineEndingDifferences: true); } - [ConditionalFact] + [Fact] public void GetCreateScript_works_with_schema() { var sql = CreateHistoryRepository("my").GetCreateScript(); @@ -61,7 +61,7 @@ CONSTRAINT [PK___EFMigrationsHistory] PRIMARY KEY ([MigrationId]) """, sql, ignoreLineEndingDifferences: true); } - [ConditionalFact] + [Fact] public void GetCreateIfNotExistsScript_works() { var sql = CreateHistoryRepository().GetCreateIfNotExistsScript(); @@ -80,7 +80,7 @@ CONSTRAINT [PK___EFMigrationsHistory] PRIMARY KEY ([MigrationId]) """, sql, ignoreLineEndingDifferences: true); } - [ConditionalFact] + [Fact] public void GetCreateIfNotExistsScript_works_with_schema() { var sql = CreateHistoryRepository("my").GetCreateIfNotExistsScript(); @@ -100,7 +100,7 @@ CONSTRAINT [PK___EFMigrationsHistory] PRIMARY KEY ([MigrationId]) """, sql, ignoreLineEndingDifferences: true); } - [ConditionalFact] + [Fact] public void GetDeleteScript_works() { var sql = CreateHistoryRepository().GetDeleteScript("Migration1"); @@ -113,7 +113,7 @@ DELETE FROM [__EFMigrationsHistory] """, sql, ignoreLineEndingDifferences: true); } - [ConditionalFact] + [Fact] public void GetInsertScript_works() { var sql = CreateHistoryRepository().GetInsertScript( @@ -127,7 +127,7 @@ INSERT INTO [__EFMigrationsHistory] ([MigrationId], [ProductVersion]) """, sql, ignoreLineEndingDifferences: true); } - [ConditionalFact] + [Fact] public void GetBeginIfNotExistsScript_works() { var sql = CreateHistoryRepository().GetBeginIfNotExistsScript("Migration1"); @@ -142,7 +142,7 @@ IF NOT EXISTS ( """, sql, ignoreLineEndingDifferences: true); } - [ConditionalFact] + [Fact] public void GetBeginIfExistsScript_works() { var sql = CreateHistoryRepository().GetBeginIfExistsScript("Migration1"); @@ -157,7 +157,7 @@ IF EXISTS ( """, sql, ignoreLineEndingDifferences: true); } - [ConditionalFact] + [Fact] public void GetEndIfScript_works() { var sql = CreateHistoryRepository().GetEndIfScript(); diff --git a/test/EFCore.SqlServer.Tests/Migrations/SqlServerMigrationBuilderTest.cs b/test/EFCore.SqlServer.Tests/Migrations/SqlServerMigrationBuilderTest.cs index 92a48ab46a1..b256c22bd81 100644 --- a/test/EFCore.SqlServer.Tests/Migrations/SqlServerMigrationBuilderTest.cs +++ b/test/EFCore.SqlServer.Tests/Migrations/SqlServerMigrationBuilderTest.cs @@ -5,14 +5,14 @@ namespace Microsoft.EntityFrameworkCore.Migrations; public class SqlServerMigrationBuilderTest { - [ConditionalFact] + [Fact] public void IsSqlServer_when_using_SqlServer() { var migrationBuilder = new MigrationBuilder("Microsoft.EntityFrameworkCore.SqlServer"); Assert.True(migrationBuilder.IsSqlServer()); } - [ConditionalFact] + [Fact] public void Not_IsSqlServer_when_using_different_provider() { var migrationBuilder = new MigrationBuilder("Microsoft.EntityFrameworkCore.InMemory"); diff --git a/test/EFCore.SqlServer.Tests/Migrations/SqlServerMigrationsAnnotationProviderTest.cs b/test/EFCore.SqlServer.Tests/Migrations/SqlServerMigrationsAnnotationProviderTest.cs index dd084a8e76e..b9ee329b2bc 100644 --- a/test/EFCore.SqlServer.Tests/Migrations/SqlServerMigrationsAnnotationProviderTest.cs +++ b/test/EFCore.SqlServer.Tests/Migrations/SqlServerMigrationsAnnotationProviderTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.SqlServer.Metadata.Internal; @@ -9,7 +9,7 @@ public class SqlServerMigrationsAnnotationProviderTest { private readonly SqlServerAnnotationProvider _annotations = new(new RelationalAnnotationProviderDependencies()); - [ConditionalFact] + [Fact] public void For_property_handles_identity_annotations() { var modelBuilder = SqlServerTestHelpers.Instance.CreateConventionBuilder(); @@ -24,7 +24,7 @@ public void For_property_handles_identity_annotations() Assert.Equal("2, 3", identity.Value); } - [ConditionalFact] + [Fact] public void Resolves_column_names_for_Index_with_included_properties() { var modelBuilder = SqlServerTestHelpers.Instance.CreateConventionBuilder(); diff --git a/test/EFCore.SqlServer.Tests/Migrations/SqlServerModelDifferTest.cs b/test/EFCore.SqlServer.Tests/Migrations/SqlServerModelDifferTest.cs index 5a4de0ec48a..2ace09a083d 100644 --- a/test/EFCore.SqlServer.Tests/Migrations/SqlServerModelDifferTest.cs +++ b/test/EFCore.SqlServer.Tests/Migrations/SqlServerModelDifferTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Migrations; public class SqlServerModelDifferTest : MigrationsModelDifferTestBase { - [ConditionalFact] + [Fact] public void Alter_database_edition_options() => Execute( _ => { }, @@ -42,7 +42,7 @@ public void Alter_database_edition_options() alterDatabaseOperation.OldDatabase[SqlServerAnnotationNames.EditionOptions]); }); - [ConditionalFact] + [Fact] public void Alter_table_MemoryOptimized() => Execute( common => common.Entity( @@ -98,7 +98,7 @@ public void Alter_table_MemoryOptimized() Assert.Single(alterTableOperation.OldTable.GetAnnotations()); }); - [ConditionalFact] + [Fact] public void Add_table_MemoryOptimized() => Execute( _ => { }, @@ -144,7 +144,7 @@ public void Add_table_MemoryOptimized() Assert.Single(alterDatabaseOperation.OldDatabase.GetAnnotations()); }); - [ConditionalFact] + [Fact] public void Add_column_with_dependencies() => Execute( source => source.Entity( @@ -174,7 +174,7 @@ public void Add_column_with_dependencies() Assert.Equal("[FirstName] + [LastName]", columnOperation.ComputedColumnSql); }); - [ConditionalFact] + [Fact] public void Alter_column_identity() => Execute( source => source.Entity("Lamb").ToTable("Lamb", "bah").Property("Id").ValueGeneratedNever(), @@ -190,7 +190,7 @@ public void Alter_column_identity() Assert.Equal("1, 1", operation["SqlServer:Identity"]); }); - [ConditionalFact] + [Fact] public void Alter_column_non_key_identity() => Execute( source => source.Entity( @@ -220,7 +220,7 @@ public void Alter_column_non_key_identity() Assert.Equal("1, 1", operation["SqlServer:Identity"]); }); - [ConditionalFact] + [Fact] public void Alter_column_computation() => Execute( source => source.Entity( @@ -250,7 +250,7 @@ public void Alter_column_computation() Assert.Equal("CAST(CURRENT_TIMESTAMP AS int)", operation.ComputedColumnSql); }); - [ConditionalFact] // Issue #30321 + [Fact] // Issue #30321 public void Rename_column_TPC() => Execute( source => @@ -295,7 +295,7 @@ public void Rename_column_TPC() Assert.Equal("status_new", operation.NewName); }); - [ConditionalFact] + [Fact] public void Rename_column_TPT() => Execute( source => @@ -339,7 +339,7 @@ public void Rename_column_TPT() Assert.Equal("status_new", operation.NewName); }); - [ConditionalFact] + [Fact] public void Rename_column_TPC_non_abstract() => Execute( source => @@ -389,7 +389,7 @@ public void Rename_column_TPC_non_abstract() Assert.Equal("status_new", operation.NewName); }); - [ConditionalFact] + [Fact] public void Alter_primary_key_clustering() => Execute( source => source.Entity( @@ -424,7 +424,7 @@ public void Alter_primary_key_clustering() Assert.True((bool)addOperation[SqlServerAnnotationNames.Clustered]); }); - [ConditionalFact] + [Fact] public void Add_non_clustered_primary_key_with_owned() => Execute( _ => { }, @@ -446,7 +446,7 @@ public void Add_non_clustered_primary_key_with_owned() Assert.False((bool)addKey[SqlServerAnnotationNames.Clustered]); }); - [ConditionalFact] + [Fact] public void Alter_unique_constraint_clustering() => Execute( source => source.Entity( @@ -483,7 +483,7 @@ public void Alter_unique_constraint_clustering() Assert.True((bool)addOperation[SqlServerAnnotationNames.Clustered]); }); - [ConditionalFact] + [Fact] public void Create_shared_table_with_two_entity_types() => Execute( _ => { }, @@ -518,7 +518,7 @@ public void Create_shared_table_with_two_entity_types() Assert.True(timeColumn.IsNullable); }); - [ConditionalFact] + [Fact] public void Add_SequenceHiLo_with_seed_data() => Execute( common => common.Entity( @@ -572,7 +572,7 @@ public void Add_SequenceHiLo_with_seed_data() Assert.Equal("EntityFrameworkHiLoSequence", operation.Name); })); - [ConditionalFact] + [Fact] public void Add_KeySequence_with_seed_data() => Execute( common => common.Entity( @@ -636,7 +636,7 @@ public void Add_KeySequence_with_seed_data() Assert.Null(operation.DefaultValueSql); })); - [ConditionalFact] + [Fact] public void Alter_index_clustering() => Execute( source => source.Entity( @@ -678,7 +678,7 @@ public void Alter_index_clustering() public static int Function() => default; - [ConditionalFact] + [Fact] public void Add_dbfunction_ignore() { var mi = typeof(SqlServerModelDifferTest).GetRuntimeMethod(nameof(Function), []); @@ -689,7 +689,7 @@ public void Add_dbfunction_ignore() operations => Assert.Equal(0, operations.Count)); } - [ConditionalFact] + [Fact] public void Alter_column_rowversion() => Execute( source => source.Entity( @@ -719,7 +719,7 @@ public void Alter_column_rowversion() Assert.True(operation.IsDestructiveChange); }); - [ConditionalFact] + [Fact] public void SeedData_all_operations() => Execute( _ => { }, @@ -891,7 +891,7 @@ public void SeedData_all_operations() v => Assert.Equal("", v)); })); - [ConditionalFact] + [Fact] public void Dont_reseed_value_with_value_generated_on_add_property() => Execute( common => @@ -911,7 +911,7 @@ public void Dont_reseed_value_with_value_generated_on_add_property() target => { }, operations => Assert.Equal(0, operations.Count)); - [ConditionalFact] + [Fact] public void Dont_rebuild_index_with_equal_include() => Execute( source => source @@ -938,7 +938,7 @@ public void Dont_rebuild_index_with_equal_include() }), operations => Assert.Equal(0, operations.Count)); - [ConditionalFact] + [Fact] public void Rebuild_index_with_different_include() => Execute( source => source @@ -987,7 +987,7 @@ public void Rebuild_index_with_different_include() Assert.Equal("Street", annotationValue[0]); }); - [ConditionalFact] + [Fact] public void Dont_rebuild_index_with_unchanged_online_option() => Execute( source => source @@ -1014,7 +1014,7 @@ public void Dont_rebuild_index_with_unchanged_online_option() }), operations => Assert.Equal(0, operations.Count)); - [ConditionalFact] + [Fact] public void Rebuild_index_when_changing_online_option() => Execute( _ => { }, @@ -1078,7 +1078,7 @@ public void Rebuild_index_when_changing_online_option() Assert.Empty(operation2.GetAnnotations()); }); - [ConditionalFact] + [Fact] public void Noop_TPT_with_FKs_and_seed_data() => Execute( modelBuilder => @@ -1250,7 +1250,7 @@ protected override MigrationsModelDiffer CreateModelDiffer(DbContextOptions opti private bool? IsMemoryOptimized(Annotatable annotatable) => annotatable[SqlServerAnnotationNames.MemoryOptimized] as bool?; - [ConditionalFact] + [Fact] public void Dont_rebuild_key_index_with_unchanged_fillfactor_option() => Execute( source => source @@ -1275,7 +1275,7 @@ public void Dont_rebuild_key_index_with_unchanged_fillfactor_option() }), operations => Assert.Equal(0, operations.Count)); - [ConditionalFact] + [Fact] public void Dont_rebuild_composite_key_index_with_unchanged_fillfactor_option() => Execute( source => source @@ -1300,7 +1300,7 @@ public void Dont_rebuild_composite_key_index_with_unchanged_fillfactor_option() }), operations => Assert.Equal(0, operations.Count)); - [ConditionalFact] + [Fact] public void Dont_rebuild_index_with_unchanged_fillfactor_option() => Execute( source => source @@ -1327,7 +1327,7 @@ public void Dont_rebuild_index_with_unchanged_fillfactor_option() }), operations => Assert.Equal(0, operations.Count)); - [ConditionalFact] + [Fact] public void Rebuild_key_index_when_adding_fillfactor_option() => Execute( _ => { }, @@ -1392,7 +1392,7 @@ public void Rebuild_key_index_when_adding_fillfactor_option() Assert.Empty(operation2.GetAnnotations()); }); - [ConditionalFact] + [Fact] public void Rebuild_key_index_with_different_fillfactor_value() => Execute( source => source @@ -1439,7 +1439,7 @@ public void Rebuild_key_index_with_different_fillfactor_value() Assert.Equal(90, annotationValue); }); - [ConditionalFact] + [Fact] public void Rebuild_composite_key_index_when_adding_fillfactor_option() => Execute( _ => { }, @@ -1502,7 +1502,7 @@ public void Rebuild_composite_key_index_when_adding_fillfactor_option() Assert.Empty(operation2.GetAnnotations()); }); - [ConditionalFact] + [Fact] public void Rebuild_composite_key_index_with_different_fillfactor_value() => Execute( source => source @@ -1551,7 +1551,7 @@ public void Rebuild_composite_key_index_with_different_fillfactor_value() Assert.Equal(90, annotationValue); }); - [ConditionalFact] + [Fact] public void Rebuild_index_when_adding_fillfactor_option() => Execute( _ => { }, @@ -1615,7 +1615,7 @@ public void Rebuild_index_when_adding_fillfactor_option() Assert.Empty(operation2.GetAnnotations()); }); - [ConditionalFact] + [Fact] public void Rebuild_index_with_different_fillfactor_value() => Execute( source => source @@ -1664,7 +1664,7 @@ public void Rebuild_index_with_different_fillfactor_value() Assert.Equal(90, annotationValue); }); - [ConditionalFact] + [Fact] public void Dont_rebuild_index_with_unchanged_sortintempdb_option() => Execute( source => source @@ -1691,7 +1691,7 @@ public void Dont_rebuild_index_with_unchanged_sortintempdb_option() }), operations => Assert.Equal(0, operations.Count)); - [ConditionalFact] + [Fact] public void Rebuild_index_when_changing_sortintempdb_option() => Execute( _ => { }, @@ -1755,7 +1755,7 @@ public void Rebuild_index_when_changing_sortintempdb_option() Assert.Empty(operation2.GetAnnotations()); }); - [ConditionalTheory, InlineData(DataCompressionType.None), InlineData(DataCompressionType.Row), InlineData(DataCompressionType.Page)] + [Theory, InlineData(DataCompressionType.None), InlineData(DataCompressionType.Row), InlineData(DataCompressionType.Page)] public void Dont_rebuild_index_with_unchanged_datacompression_option(DataCompressionType dataCompression) => Execute( source => source @@ -1782,7 +1782,7 @@ public void Dont_rebuild_index_with_unchanged_datacompression_option(DataCompres }), operations => Assert.Equal(0, operations.Count)); - [ConditionalTheory, InlineData(DataCompressionType.None), InlineData(DataCompressionType.Row), InlineData(DataCompressionType.Page)] + [Theory, InlineData(DataCompressionType.None), InlineData(DataCompressionType.Row), InlineData(DataCompressionType.Page)] public void Rebuild_index_when_adding_datacompression_option(DataCompressionType dataCompression) => Execute( _ => { }, @@ -1846,7 +1846,7 @@ public void Rebuild_index_when_adding_datacompression_option(DataCompressionType Assert.Empty(operation2.GetAnnotations()); }); - [ConditionalFact] + [Fact] public void Rebuild_index_with_different_datacompression_value() => Execute( source => source @@ -1896,7 +1896,7 @@ public void Rebuild_index_with_different_datacompression_value() }); #pragma warning disable EF8001 // Owned JSON entities are obsolete - [ConditionalFact] + [Fact] public void Alter_column_from_nvarchar_max_to_json_for_owned_type() => Execute( _ => { }, @@ -1949,7 +1949,7 @@ public void Alter_column_from_nvarchar_max_to_json_for_owned_type() Assert.Equal("json", operation.OldColumn.ColumnType); }); - [ConditionalFact] + [Fact] public void Alter_column_from_nvarchar_max_to_json_for_complex_type() => Execute( _ => { }, diff --git a/test/EFCore.SqlServer.Tests/Scaffolding/SqlServerCodeGeneratorTest.cs b/test/EFCore.SqlServer.Tests/Scaffolding/SqlServerCodeGeneratorTest.cs index c486969a6de..c72ecbb3530 100644 --- a/test/EFCore.SqlServer.Tests/Scaffolding/SqlServerCodeGeneratorTest.cs +++ b/test/EFCore.SqlServer.Tests/Scaffolding/SqlServerCodeGeneratorTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.SqlServer.Scaffolding.Internal; @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding; public class SqlServerCodeGeneratorTest { - [ConditionalFact] + [Fact] public virtual void Use_provider_method_is_generated_correctly() { var codeGenerator = new SqlServerCodeGenerator( @@ -24,7 +24,7 @@ public virtual void Use_provider_method_is_generated_correctly() Assert.Null(result.ChainedCall); } - [ConditionalFact] + [Fact] public virtual void Use_provider_method_is_generated_correctly_with_options() { var codeGenerator = new SqlServerCodeGenerator( @@ -49,7 +49,7 @@ public virtual void Use_provider_method_is_generated_correctly_with_options() Assert.Null(result.ChainedCall); } - [ConditionalFact] + [Fact] public virtual void Use_provider_method_is_generated_correctly_with_NetTopologySuite() { var codeGenerator = new SqlServerCodeGenerator( diff --git a/test/EFCore.SqlServer.Tests/SqlServerOptionsExtensionTest.cs b/test/EFCore.SqlServer.Tests/SqlServerOptionsExtensionTest.cs index 448c9c29d42..3ce1c28905f 100644 --- a/test/EFCore.SqlServer.Tests/SqlServerOptionsExtensionTest.cs +++ b/test/EFCore.SqlServer.Tests/SqlServerOptionsExtensionTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore; public class SqlServerOptionsExtensionTest { - [ConditionalFact] + [Fact] public void Compiled_model_is_thread_safe() { var tasks = new Task[Environment.ProcessorCount]; @@ -51,7 +51,7 @@ public static IModel Instance => _instance; } - [ConditionalFact] + [Fact] public void ApplyServices_adds_correct_services() { var services = new ServiceCollection(); diff --git a/test/EFCore.SqlServer.Tests/Storage/Internal/SqlServerConnectionTest.cs b/test/EFCore.SqlServer.Tests/Storage/Internal/SqlServerConnectionTest.cs index 0d736d1e01b..a83c88b635b 100644 --- a/test/EFCore.SqlServer.Tests/Storage/Internal/SqlServerConnectionTest.cs +++ b/test/EFCore.SqlServer.Tests/Storage/Internal/SqlServerConnectionTest.cs @@ -12,7 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.Internal; public class SqlServerConnectionTest { - [ConditionalFact] + [Fact] public void Creates_SQL_Server_connection_string() { using var connection = new SqlServerConnection(CreateDependencies()); @@ -21,7 +21,7 @@ public void Creates_SQL_Server_connection_string() #region Master connection - [ConditionalFact] + [Fact] public void Can_create_master_connection() { using var connection = new SqlServerConnection(CreateDependencies()); @@ -30,7 +30,7 @@ public void Can_create_master_connection() Assert.Equal(60, master.CommandTimeout); } - [ConditionalFact] + [Fact] public void Master_connection_string_contains_filename() { var options = new DbContextOptionsBuilder() @@ -44,7 +44,7 @@ public void Master_connection_string_contains_filename() Assert.Equal(@"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=master", StripApplicationName(master.ConnectionString)); } - [ConditionalFact] + [Fact] public void Master_connection_string_none_default_command_timeout() { var options = new DbContextOptionsBuilder() @@ -62,7 +62,7 @@ public void Master_connection_string_none_default_command_timeout() #region Application Name - [ConditionalFact] + [Fact] public void ApplicationName_is_injected_when_not_defined_with_connection_string() { var options = new DbContextOptionsBuilder() @@ -80,7 +80,7 @@ public void ApplicationName_is_injected_when_not_defined_with_connection_string( connection.ConnectionString); } - [ConditionalFact] + [Fact] public void ApplicationName_is_not_injected_when_user_defined_with_connection_string() { var options = new DbContextOptionsBuilder() @@ -97,7 +97,7 @@ public void ApplicationName_is_not_injected_when_user_defined_with_connection_st """Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=SomeOtherDatabase;Application Name=foo""", connection.ConnectionString); } - [ConditionalFact] + [Fact] public void ApplicationName_is_not_injected_with_connection() { var dbConnection1 = new SqlConnection("""Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=SqlServerConnectionTest"""); diff --git a/test/EFCore.SqlServer.Tests/Storage/Internal/SqlServerDatabaseCreatorTest.cs b/test/EFCore.SqlServer.Tests/Storage/Internal/SqlServerDatabaseCreatorTest.cs index ad80ce8d707..1c8d76b45b8 100644 --- a/test/EFCore.SqlServer.Tests/Storage/Internal/SqlServerDatabaseCreatorTest.cs +++ b/test/EFCore.SqlServer.Tests/Storage/Internal/SqlServerDatabaseCreatorTest.cs @@ -12,43 +12,43 @@ namespace Microsoft.EntityFrameworkCore.Storage.Internal; public class SqlServerDatabaseCreatorTest { - [ConditionalFact] + [Fact] public Task Create_checks_for_existence_and_retries_if_no_proccess_until_it_passes() => Create_checks_for_existence_and_retries_until_it_passes(233, async: false); - [ConditionalFact] + [Fact] public Task Create_checks_for_existence_and_retries_if_timeout_until_it_passes() => Create_checks_for_existence_and_retries_until_it_passes(-2, async: false); - [ConditionalFact] + [Fact] public Task Create_checks_for_existence_and_retries_if_cannot_open_until_it_passes() => Create_checks_for_existence_and_retries_until_it_passes(4060, async: false); - [ConditionalFact] + [Fact] public Task Create_checks_for_existence_and_retries_if_cannot_attach_file_until_it_passes() => Create_checks_for_existence_and_retries_until_it_passes(1832, async: false); - [ConditionalFact] + [Fact] public Task Create_checks_for_existence_and_retries_if_cannot_open_file_until_it_passes() => Create_checks_for_existence_and_retries_until_it_passes(5120, async: false); - [ConditionalFact] + [Fact] public Task CreateAsync_checks_for_existence_and_retries_if_no_proccess_until_it_passes() => Create_checks_for_existence_and_retries_until_it_passes(233, async: true); - [ConditionalFact] + [Fact] public Task CreateAsync_checks_for_existence_and_retries_if_timeout_until_it_passes() => Create_checks_for_existence_and_retries_until_it_passes(-2, async: true); - [ConditionalFact] + [Fact] public Task CreateAsync_checks_for_existence_and_retries_if_cannot_open_until_it_passes() => Create_checks_for_existence_and_retries_until_it_passes(4060, async: true); - [ConditionalFact] + [Fact] public Task CreateAsync_checks_for_existence_and_retries_if_cannot_attach_file_until_it_passes() => Create_checks_for_existence_and_retries_until_it_passes(1832, async: true); - [ConditionalFact] + [Fact] public Task CreateAsync_checks_for_existence_and_retries_if_cannot_open_file_until_it_passes() => Create_checks_for_existence_and_retries_until_it_passes(5120, async: true); @@ -83,11 +83,11 @@ private async Task Create_checks_for_existence_and_retries_until_it_passes(int e Assert.Equal(2, connection.OpenCount); } - [ConditionalFact] + [Fact] public Task Create_checks_for_existence_and_ultimately_gives_up_waiting() => Create_checks_for_existence_and_ultimately_gives_up_waiting_test(async: false); - [ConditionalFact] + [Fact] public Task CreateAsync_checks_for_existence_and_ultimately_gives_up_waiting() => Create_checks_for_existence_and_ultimately_gives_up_waiting_test(async: true); diff --git a/test/EFCore.SqlServer.Tests/Storage/Internal/SqlServerGeometryTypeMappingTests.cs b/test/EFCore.SqlServer.Tests/Storage/Internal/SqlServerGeometryTypeMappingTests.cs index d478099b788..37651bcb40d 100644 --- a/test/EFCore.SqlServer.Tests/Storage/Internal/SqlServerGeometryTypeMappingTests.cs +++ b/test/EFCore.SqlServer.Tests/Storage/Internal/SqlServerGeometryTypeMappingTests.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using NetTopologySuite; @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; public class SqlServerGeometryTypeMappingTests { - [ConditionalFact] + [Fact] public void GenerateSqlLiteral_works() { Assert.Equal("geometry::Parse('POINT (1 2)')", Literal(new Point(1, 2), "geometry")); diff --git a/test/EFCore.SqlServer.Tests/Storage/SqlServerRetryingExecutionStrategyTests.cs b/test/EFCore.SqlServer.Tests/Storage/SqlServerRetryingExecutionStrategyTests.cs index 2f5180bc78f..fe65ef624bb 100644 --- a/test/EFCore.SqlServer.Tests/Storage/SqlServerRetryingExecutionStrategyTests.cs +++ b/test/EFCore.SqlServer.Tests/Storage/SqlServerRetryingExecutionStrategyTests.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Storage; public class SqlServerRetryingExecutionStrategyTests { - [ConditionalFact] + [Fact] public void GetNextDelay_returns_shorter_delay_for_InMemory_transient_errors() { var strategy = new TestSqlServerRetryingExecutionStrategy(CreateContext()); diff --git a/test/EFCore.SqlServer.Tests/Storage/SqlServerSqlGenerationHelperTest.cs b/test/EFCore.SqlServer.Tests/Storage/SqlServerSqlGenerationHelperTest.cs index c48c50e9c95..fbfbcd5c51e 100644 --- a/test/EFCore.SqlServer.Tests/Storage/SqlServerSqlGenerationHelperTest.cs +++ b/test/EFCore.SqlServer.Tests/Storage/SqlServerSqlGenerationHelperTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Storage; public class SqlServerSqlGenerationHelperTest { - [ConditionalFact] + [Fact] public void BatchSeparator_returns_separator() => Assert.Equal("GO" + Environment.NewLine + Environment.NewLine, CreateSqlGenerationHelper().BatchTerminator); diff --git a/test/EFCore.SqlServer.Tests/Storage/SqlServerStringTypeMappingTest.cs b/test/EFCore.SqlServer.Tests/Storage/SqlServerStringTypeMappingTest.cs index 95fd24ae522..41db30f7291 100644 --- a/test/EFCore.SqlServer.Tests/Storage/SqlServerStringTypeMappingTest.cs +++ b/test/EFCore.SqlServer.Tests/Storage/SqlServerStringTypeMappingTest.cs @@ -1,11 +1,11 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; public class SqlServerStringTypeMappingTest { - [ConditionalTheory, InlineData("", "''"), InlineData("'Sup", "'''Sup'"), InlineData("I'm", "'I''m'"), InlineData("lovin'", "'lovin'''"), + [Theory, InlineData("", "''"), InlineData("'Sup", "'''Sup'"), InlineData("I'm", "'I''m'"), InlineData("lovin'", "'lovin'''"), InlineData("it", "'it'"), InlineData("'", "''''"), InlineData("''", "''''''"), InlineData("I'm lovin'", "'I''m lovin'''"), InlineData("I'm lovin' it", "'I''m lovin'' it'"), InlineData("\r", "char(13)"), InlineData("\n", "char(10)"), InlineData("\r\n", "CONCAT(CAST(char(13) AS varchar(max)), char(10))"), @@ -21,7 +21,7 @@ public void GenerateProviderValueSqlLiteral_works(string value, string expected) Assert.Equal(expected, mapping.GenerateProviderValueSqlLiteral(value)); } - [ConditionalTheory, InlineData("", "N''"), InlineData("'Sup", "N'''Sup'"), InlineData("I'm", "N'I''m'"), + [Theory, InlineData("", "N''"), InlineData("'Sup", "N'''Sup'"), InlineData("I'm", "N'I''m'"), InlineData("lovin'", "N'lovin'''"), InlineData("it", "N'it'"), InlineData("'", "N''''"), InlineData("''", "N''''''"), InlineData("I'm lovin'", "N'I''m lovin'''"), InlineData("I'm lovin' it", "N'I''m lovin'' it'"), InlineData("\r", "nchar(13)"), InlineData("\n", "nchar(10)"), InlineData("\r\n", "CONCAT(CAST(nchar(13) AS nvarchar(max)), nchar(10))"), diff --git a/test/EFCore.SqlServer.Tests/Storage/SqlServerTypeMappingSourceTest.cs b/test/EFCore.SqlServer.Tests/Storage/SqlServerTypeMappingSourceTest.cs index fd4883b8e15..aa1bd562dbf 100644 --- a/test/EFCore.SqlServer.Tests/Storage/SqlServerTypeMappingSourceTest.cs +++ b/test/EFCore.SqlServer.Tests/Storage/SqlServerTypeMappingSourceTest.cs @@ -13,7 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Storage; public class SqlServerTypeMappingSourceTest : RelationalTypeMappingSourceTestBase { - [ConditionalTheory, InlineData(typeof(int), "int", DbType.Int32), InlineData(typeof(byte), "tinyint", DbType.Byte), + [Theory, InlineData(typeof(int), "int", DbType.Int32), InlineData(typeof(byte), "tinyint", DbType.Byte), InlineData(typeof(double), "float", DbType.Double), InlineData(typeof(bool), "bit", DbType.Boolean), InlineData(typeof(short), "smallint", DbType.Int16), InlineData(typeof(long), "bigint", DbType.Int64), InlineData(typeof(float), "real", DbType.Single), InlineData(typeof(string), "nvarchar(max)", DbType.String), @@ -38,7 +38,7 @@ public void Can_map_by_clr_type(Type clrType, string expectedStoreType, DbType e } } - [ConditionalFact] + [Fact] public void Does_decimal_mapping() { var typeMapping = GetTypeMapping(typeof(decimal)); @@ -47,7 +47,7 @@ public void Does_decimal_mapping() Assert.Equal("decimal(18,2)", typeMapping.StoreType); } - [ConditionalFact] + [Fact] public void Does_decimal_mapping_for_nullable_CLR_types() { var typeMapping = GetTypeMapping(typeof(decimal?)); @@ -56,7 +56,7 @@ public void Does_decimal_mapping_for_nullable_CLR_types() Assert.Equal("decimal(18,2)", typeMapping.StoreType); } - [ConditionalTheory, InlineData(typeof(string), true, false), InlineData(typeof(string), null, false), + [Theory, InlineData(typeof(string), true, false), InlineData(typeof(string), null, false), InlineData(typeof(string), true, null), InlineData(typeof(string), null, null), InlineData(typeof(IEnumerable), true, false), InlineData(typeof(IEnumerable), null, false), InlineData(typeof(IEnumerable), true, null), InlineData(typeof(IEnumerable), null, null)] @@ -81,7 +81,7 @@ public void Does_non_key_SQL_Server_string_mapping(Type type, bool? unicode, boo Assert.Equal(type == typeof(string) ? null : typeof(int), typeMapping.ElementTypeMapping?.ClrType); } - [ConditionalTheory, InlineData(typeof(string), true, false), InlineData(typeof(string), null, false), + [Theory, InlineData(typeof(string), true, false), InlineData(typeof(string), null, false), InlineData(typeof(string), true, null), InlineData(typeof(string), null, null), InlineData(typeof(IEnumerable), true, false), InlineData(typeof(IEnumerable), null, false), InlineData(typeof(IEnumerable), true, null), InlineData(typeof(IEnumerable), null, null)] @@ -99,7 +99,7 @@ public void Does_non_key_SQL_Server_string_mapping_with_value_that_fits_max_leng Assert.Equal(type == typeof(string) ? null : typeof(int), typeMapping.ElementTypeMapping?.ClrType); } - [ConditionalTheory, InlineData(typeof(string), true, false), InlineData(typeof(string), null, false), + [Theory, InlineData(typeof(string), true, false), InlineData(typeof(string), null, false), InlineData(typeof(string), true, null), InlineData(typeof(string), null, null), InlineData(typeof(IEnumerable), true, false), InlineData(typeof(IEnumerable), null, false), InlineData(typeof(IEnumerable), true, null), InlineData(typeof(IEnumerable), null, null)] @@ -124,7 +124,7 @@ public void Does_non_key_SQL_Server_string_mapping_with_max_length(Type type, bo Assert.Equal(type == typeof(string) ? null : typeof(int), typeMapping.ElementTypeMapping?.ClrType); } - [ConditionalTheory, InlineData(typeof(string), true), InlineData(typeof(string), null), InlineData(typeof(IEnumerable), true), + [Theory, InlineData(typeof(string), true), InlineData(typeof(string), null), InlineData(typeof(IEnumerable), true), InlineData(typeof(IEnumerable), null)] public void Does_non_key_SQL_Server_fixed_string_mapping_with_max_length_large_value(Type type, bool? unicode) { @@ -150,7 +150,7 @@ public void Does_non_key_SQL_Server_fixed_string_mapping_with_max_length_large_v Assert.Equal(type == typeof(string) ? null : typeof(int), typeMapping.ElementTypeMapping?.ClrType); } - [ConditionalTheory, InlineData(typeof(string), true), InlineData(typeof(string), null), InlineData(typeof(IEnumerable), true), + [Theory, InlineData(typeof(string), true), InlineData(typeof(string), null), InlineData(typeof(IEnumerable), true), InlineData(typeof(IEnumerable), null)] public void Does_non_key_SQL_Server_fixed_string_mapping_with_max_length_small_value(Type type, bool? unicode) { @@ -169,7 +169,7 @@ public void Does_non_key_SQL_Server_fixed_string_mapping_with_max_length_small_v Assert.Equal(type == typeof(string) ? null : typeof(int), typeMapping.ElementTypeMapping?.ClrType); } - [ConditionalTheory, InlineData(typeof(string), true), InlineData(typeof(string), null), InlineData(typeof(IEnumerable), true), + [Theory, InlineData(typeof(string), true), InlineData(typeof(string), null), InlineData(typeof(IEnumerable), true), InlineData(typeof(IEnumerable), null)] public void Does_non_key_SQL_Server_fixed_string_mapping_with_max_length_exact_value(Type type, bool? unicode) { @@ -188,7 +188,7 @@ public void Does_non_key_SQL_Server_fixed_string_mapping_with_max_length_exact_v Assert.Equal(type == typeof(string) ? null : typeof(int), typeMapping.ElementTypeMapping?.ClrType); } - [ConditionalTheory, InlineData(typeof(string), true, false), InlineData(typeof(string), null, false), + [Theory, InlineData(typeof(string), true, false), InlineData(typeof(string), null, false), InlineData(typeof(string), true, null), InlineData(typeof(string), null, null), InlineData(typeof(IEnumerable), true, false), InlineData(typeof(IEnumerable), null, false), InlineData(typeof(IEnumerable), true, null), InlineData(typeof(IEnumerable), null, null)] @@ -206,7 +206,7 @@ public void Does_non_key_SQL_Server_string_mapping_with_long_string(Type type, b Assert.Equal(type == typeof(string) ? null : typeof(int), typeMapping.ElementTypeMapping?.ClrType); } - [ConditionalTheory, InlineData(typeof(string), true, false), InlineData(typeof(string), null, false), + [Theory, InlineData(typeof(string), true, false), InlineData(typeof(string), null, false), InlineData(typeof(string), true, null), InlineData(typeof(string), null, null), InlineData(typeof(IEnumerable), true, false), InlineData(typeof(IEnumerable), null, false), InlineData(typeof(IEnumerable), true, null), InlineData(typeof(IEnumerable), null, null)] @@ -224,7 +224,7 @@ public void Does_non_key_SQL_Server_string_mapping_with_max_length_with_long_str Assert.Equal(type == typeof(string) ? null : typeof(int), typeMapping.ElementTypeMapping?.ClrType); } - [ConditionalTheory, InlineData(typeof(string), true, false), InlineData(typeof(string), null, false), + [Theory, InlineData(typeof(string), true, false), InlineData(typeof(string), null, false), InlineData(typeof(string), true, null), InlineData(typeof(string), null, null), InlineData(typeof(IEnumerable), true, false), InlineData(typeof(IEnumerable), null, false), InlineData(typeof(IEnumerable), true, null), InlineData(typeof(IEnumerable), null, null)] @@ -249,7 +249,7 @@ public void Does_non_key_SQL_Server_required_string_mapping(Type type, bool? uni Assert.Equal(type == typeof(string) ? null : typeof(int), typeMapping.ElementTypeMapping?.ClrType); } - [ConditionalTheory, InlineData(typeof(string), true, false), InlineData(typeof(string), null, false), + [Theory, InlineData(typeof(string), true, false), InlineData(typeof(string), null, false), InlineData(typeof(string), true, null), InlineData(typeof(string), null, null), InlineData(typeof(IEnumerable), true, false), InlineData(typeof(IEnumerable), null, false), InlineData(typeof(IEnumerable), true, null), InlineData(typeof(IEnumerable), null, null)] @@ -283,7 +283,7 @@ public void Does_key_SQL_Server_string_mapping(Type type, bool? unicode, bool? f Assert.Equal(type == typeof(string) ? null : typeof(int), typeMapping.ElementTypeMapping?.ClrType); } - [ConditionalTheory, InlineData(typeof(string), true, false), InlineData(typeof(string), null, false), + [Theory, InlineData(typeof(string), true, false), InlineData(typeof(string), null, false), InlineData(typeof(string), true, null), InlineData(typeof(string), null, null), InlineData(typeof(IEnumerable), true, false), InlineData(typeof(IEnumerable), null, false), InlineData(typeof(IEnumerable), true, null), InlineData(typeof(IEnumerable), null, null)] @@ -319,7 +319,7 @@ public void Does_foreign_key_SQL_Server_string_mapping(Type type, bool? unicode, Assert.Equal(type == typeof(string) ? null : typeof(int), typeMapping.ElementTypeMapping?.ClrType); } - [ConditionalTheory, InlineData(typeof(string), true, false), InlineData(typeof(string), null, false), + [Theory, InlineData(typeof(string), true, false), InlineData(typeof(string), null, false), InlineData(typeof(string), true, null), InlineData(typeof(string), null, null), InlineData(typeof(IEnumerable), true, false), InlineData(typeof(IEnumerable), null, false), InlineData(typeof(IEnumerable), true, null), InlineData(typeof(IEnumerable), null, null)] @@ -356,7 +356,7 @@ public void Does_required_foreign_key_SQL_Server_string_mapping(Type type, bool? Assert.Equal(type == typeof(string) ? null : typeof(int), typeMapping.ElementTypeMapping?.ClrType); } - [ConditionalTheory, InlineData(typeof(string), true, false), InlineData(typeof(string), null, false), + [Theory, InlineData(typeof(string), true, false), InlineData(typeof(string), null, false), InlineData(typeof(string), true, null), InlineData(typeof(string), null, null), InlineData(typeof(IEnumerable), true, false), InlineData(typeof(IEnumerable), null, false), InlineData(typeof(IEnumerable), true, null), InlineData(typeof(IEnumerable), null, null)] @@ -390,7 +390,7 @@ public void Does_indexed_column_SQL_Server_string_mapping(Type type, bool? unico Assert.Equal(type == typeof(string) ? null : typeof(int), typeMapping.ElementTypeMapping?.ClrType); } - [ConditionalTheory, InlineData(true, false), InlineData(null, false), InlineData(true, null), InlineData(null, null)] + [Theory, InlineData(true, false), InlineData(null, false), InlineData(true, null), InlineData(null, null)] public void Does_IndexAttribute_column_SQL_Server_string_mapping(bool? unicode, bool? fixedLength) { var entityType = CreateEntityType(); @@ -411,7 +411,7 @@ public void Does_IndexAttribute_column_SQL_Server_string_mapping(bool? unicode, Assert.Equal(450, typeMapping.CreateParameter(new TestCommand(), "Name", "Value").Size); } - [ConditionalTheory, InlineData(true, false), InlineData(null, false), InlineData(true, null), InlineData(null, null)] + [Theory, InlineData(true, false), InlineData(null, false), InlineData(true, null), InlineData(null, null)] public void Does_IndexAttribute_column_SQL_Server_primitive_collection_mapping(bool? unicode, bool? fixedLength) { var entityType = CreateEntityType(); @@ -440,7 +440,7 @@ public void Does_IndexAttribute_column_SQL_Server_primitive_collection_mapping(b Assert.Equal(typeof(int), typeMapping.ElementTypeMapping?.ClrType); } - [ConditionalTheory, InlineData(typeof(string), false), InlineData(typeof(string), null), InlineData(typeof(IEnumerable), false), + [Theory, InlineData(typeof(string), false), InlineData(typeof(string), null), InlineData(typeof(IEnumerable), false), InlineData(typeof(IEnumerable), null)] public void Does_non_key_SQL_Server_string_mapping_ansi(Type type, bool? fixedLength) { @@ -463,7 +463,7 @@ public void Does_non_key_SQL_Server_string_mapping_ansi(Type type, bool? fixedLe Assert.Equal(type == typeof(string) ? null : typeof(int), typeMapping.ElementTypeMapping?.ClrType); } - [ConditionalTheory, InlineData(typeof(string), false), InlineData(typeof(string), null), InlineData(typeof(IEnumerable), false), + [Theory, InlineData(typeof(string), false), InlineData(typeof(string), null), InlineData(typeof(IEnumerable), false), InlineData(typeof(IEnumerable), null)] public void Does_non_key_SQL_Server_string_mapping_for_value_that_fits_with_max_length_ansi(Type type, bool? fixedLength) { @@ -479,7 +479,7 @@ public void Does_non_key_SQL_Server_string_mapping_for_value_that_fits_with_max_ Assert.Equal(type == typeof(string) ? null : typeof(int), typeMapping.ElementTypeMapping?.ClrType); } - [ConditionalTheory, InlineData(typeof(string), false), InlineData(typeof(string), null), InlineData(typeof(IEnumerable), false), + [Theory, InlineData(typeof(string), false), InlineData(typeof(string), null), InlineData(typeof(IEnumerable), false), InlineData(typeof(IEnumerable), null)] public void Does_non_key_SQL_Server_string_mapping_with_max_length_ansi(Type type, bool? fixedLength) { @@ -502,7 +502,7 @@ public void Does_non_key_SQL_Server_string_mapping_with_max_length_ansi(Type typ Assert.Equal(type == typeof(string) ? null : typeof(int), typeMapping.ElementTypeMapping?.ClrType); } - [ConditionalTheory, InlineData(typeof(string)), InlineData(typeof(IEnumerable))] + [Theory, InlineData(typeof(string)), InlineData(typeof(IEnumerable))] public void Does_non_key_SQL_Server_fixed_string_mapping_with_max_length_ansi_large_value(Type type) { var typeMapping = GetTypeMapping(type, null, 3, unicode: false, fixedLength: true); @@ -527,7 +527,7 @@ public void Does_non_key_SQL_Server_fixed_string_mapping_with_max_length_ansi_la Assert.Equal(type == typeof(string) ? null : typeof(int), typeMapping.ElementTypeMapping?.ClrType); } - [ConditionalTheory, InlineData(typeof(string)), InlineData(typeof(IEnumerable))] + [Theory, InlineData(typeof(string)), InlineData(typeof(IEnumerable))] public void Does_non_key_SQL_Server_fixed_string_mapping_with_max_length_ansi_small_value(Type type) { var typeMapping = GetTypeMapping(type, null, 3, unicode: false, fixedLength: true); @@ -545,7 +545,7 @@ public void Does_non_key_SQL_Server_fixed_string_mapping_with_max_length_ansi_sm Assert.Equal(type == typeof(string) ? null : typeof(int), typeMapping.ElementTypeMapping?.ClrType); } - [ConditionalTheory, InlineData(typeof(string)), InlineData(typeof(IEnumerable))] + [Theory, InlineData(typeof(string)), InlineData(typeof(IEnumerable))] public void Does_non_key_SQL_Server_fixed_string_mapping_with_max_length_ansi_exact_value(Type type) { var typeMapping = GetTypeMapping(type, null, 3, unicode: false, fixedLength: true); @@ -563,7 +563,7 @@ public void Does_non_key_SQL_Server_fixed_string_mapping_with_max_length_ansi_ex Assert.Equal(type == typeof(string) ? null : typeof(int), typeMapping.ElementTypeMapping?.ClrType); } - [ConditionalTheory, InlineData(typeof(string), false), InlineData(typeof(string), null), InlineData(typeof(IEnumerable), false), + [Theory, InlineData(typeof(string), false), InlineData(typeof(string), null), InlineData(typeof(IEnumerable), false), InlineData(typeof(IEnumerable), null)] public void Does_non_key_SQL_Server_string_mapping_with_long_string_ansi(Type type, bool? fixedLength) { @@ -579,7 +579,7 @@ public void Does_non_key_SQL_Server_string_mapping_with_long_string_ansi(Type ty Assert.Equal(type == typeof(string) ? null : typeof(int), typeMapping.ElementTypeMapping?.ClrType); } - [ConditionalTheory, InlineData(typeof(string), false), InlineData(typeof(string), null), InlineData(typeof(IEnumerable), false), + [Theory, InlineData(typeof(string), false), InlineData(typeof(string), null), InlineData(typeof(IEnumerable), false), InlineData(typeof(IEnumerable), null)] public void Does_non_key_SQL_Server_string_mapping_with_max_length_with_long_string_ansi(Type type, bool? fixedLength) { @@ -595,7 +595,7 @@ public void Does_non_key_SQL_Server_string_mapping_with_max_length_with_long_str Assert.Equal(type == typeof(string) ? null : typeof(int), typeMapping.ElementTypeMapping?.ClrType); } - [ConditionalTheory, InlineData(typeof(string), false), InlineData(typeof(string), null), InlineData(typeof(IEnumerable), false), + [Theory, InlineData(typeof(string), false), InlineData(typeof(string), null), InlineData(typeof(IEnumerable), false), InlineData(typeof(IEnumerable), null)] public void Does_non_key_SQL_Server_required_string_mapping_ansi(Type type, bool? fixedLength) { @@ -618,7 +618,7 @@ public void Does_non_key_SQL_Server_required_string_mapping_ansi(Type type, bool Assert.Equal(type == typeof(string) ? null : typeof(int), typeMapping.ElementTypeMapping?.ClrType); } - [ConditionalTheory, InlineData(typeof(string), false), InlineData(typeof(string), null), InlineData(typeof(IEnumerable), false), + [Theory, InlineData(typeof(string), false), InlineData(typeof(string), null), InlineData(typeof(IEnumerable), false), InlineData(typeof(IEnumerable), null)] public void Does_key_SQL_Server_string_mapping_ansi(Type type, bool? fixedLength) { @@ -650,7 +650,7 @@ public void Does_key_SQL_Server_string_mapping_ansi(Type type, bool? fixedLength Assert.Equal(type == typeof(string) ? null : typeof(int), typeMapping.ElementTypeMapping?.ClrType); } - [ConditionalTheory, InlineData(typeof(string), false), InlineData(typeof(string), null), InlineData(typeof(IEnumerable), false), + [Theory, InlineData(typeof(string), false), InlineData(typeof(string), null), InlineData(typeof(IEnumerable), false), InlineData(typeof(IEnumerable), null)] public void Does_foreign_key_SQL_Server_string_mapping_ansi(Type type, bool? fixedLength) { @@ -684,7 +684,7 @@ public void Does_foreign_key_SQL_Server_string_mapping_ansi(Type type, bool? fix Assert.Equal(type == typeof(string) ? null : typeof(int), typeMapping.ElementTypeMapping?.ClrType); } - [ConditionalTheory, InlineData(typeof(string), false), InlineData(typeof(string), null), InlineData(typeof(IEnumerable), false), + [Theory, InlineData(typeof(string), false), InlineData(typeof(string), null), InlineData(typeof(IEnumerable), false), InlineData(typeof(IEnumerable), null)] public void Does_required_foreign_key_SQL_Server_string_mapping_ansi(Type type, bool? fixedLength) { @@ -719,7 +719,7 @@ public void Does_required_foreign_key_SQL_Server_string_mapping_ansi(Type type, Assert.Equal(type == typeof(string) ? null : typeof(int), typeMapping.ElementTypeMapping?.ClrType); } - [ConditionalTheory, InlineData(typeof(string), false), InlineData(typeof(string), null), InlineData(typeof(IEnumerable), false), + [Theory, InlineData(typeof(string), false), InlineData(typeof(string), null), InlineData(typeof(IEnumerable), false), InlineData(typeof(IEnumerable), null)] public void Does_indexed_column_SQL_Server_string_mapping_ansi(Type type, bool? fixedLength) { @@ -751,7 +751,7 @@ public void Does_indexed_column_SQL_Server_string_mapping_ansi(Type type, bool? Assert.Equal(type == typeof(string) ? null : typeof(int), typeMapping.ElementTypeMapping?.ClrType); } - [ConditionalTheory, InlineData(false), InlineData(null)] + [Theory, InlineData(false), InlineData(null)] public void Does_IndexAttribute_column_SQL_Server_string_mapping_ansi(bool? fixedLength) { var entityType = CreateEntityType(); @@ -772,7 +772,7 @@ public void Does_IndexAttribute_column_SQL_Server_string_mapping_ansi(bool? fixe Assert.Equal(900, typeMapping.CreateParameter(new TestCommand(), "Name", "Value").Size); } - [ConditionalTheory, InlineData(false), InlineData(null)] + [Theory, InlineData(false), InlineData(null)] public void Does_IndexAttribute_column_SQL_Server_primitive_collection_mapping_ansi(bool? fixedLength) { var entityType = CreateEntityType(); @@ -801,7 +801,7 @@ public void Does_IndexAttribute_column_SQL_Server_primitive_collection_mapping_a Assert.Equal(typeof(int), typeMapping.ElementTypeMapping?.ClrType); } - [ConditionalTheory, InlineData(false), InlineData(null)] + [Theory, InlineData(false), InlineData(null)] public void Does_non_key_SQL_Server_binary_mapping(bool? fixedLength) { var typeMapping = GetTypeMapping(typeof(byte[]), fixedLength: fixedLength); @@ -813,7 +813,7 @@ public void Does_non_key_SQL_Server_binary_mapping(bool? fixedLength) Assert.Equal(8000, typeMapping.CreateParameter(new TestCommand(), "Name", new byte[3]).Size); } - [ConditionalTheory, InlineData(false), InlineData(null)] + [Theory, InlineData(false), InlineData(null)] public void Does_non_key_SQL_Server_binary_mapping_with_max_length(bool? fixedLength) { var typeMapping = GetTypeMapping(typeof(byte[]), null, 3, fixedLength: fixedLength); @@ -825,7 +825,7 @@ public void Does_non_key_SQL_Server_binary_mapping_with_max_length(bool? fixedLe Assert.Equal(3, typeMapping.CreateParameter(new TestCommand(), "Name", new byte[3]).Size); } - [ConditionalTheory, InlineData(false), InlineData(null)] + [Theory, InlineData(false), InlineData(null)] public void Does_non_key_SQL_Server_binary_mapping_with_long_array(bool? fixedLength) { var typeMapping = GetTypeMapping(typeof(byte[]), fixedLength: fixedLength); @@ -837,7 +837,7 @@ public void Does_non_key_SQL_Server_binary_mapping_with_long_array(bool? fixedLe Assert.Equal(-1, typeMapping.CreateParameter(new TestCommand(), "Name", new byte[8001]).Size); } - [ConditionalTheory, InlineData(false), InlineData(null)] + [Theory, InlineData(false), InlineData(null)] public void Does_non_key_SQL_Server_binary_mapping_with_max_length_with_long_array(bool? fixedLength) { var typeMapping = GetTypeMapping(typeof(byte[]), null, 3, fixedLength: fixedLength); @@ -849,7 +849,7 @@ public void Does_non_key_SQL_Server_binary_mapping_with_max_length_with_long_arr Assert.Equal(-1, typeMapping.CreateParameter(new TestCommand(), "Name", new byte[8001]).Size); } - [ConditionalTheory, InlineData(false), InlineData(null)] + [Theory, InlineData(false), InlineData(null)] public void Does_non_key_SQL_Server_required_binary_mapping(bool? fixedLength) { var typeMapping = GetTypeMapping(typeof(byte[]), nullable: false, fixedLength: fixedLength); @@ -861,7 +861,7 @@ public void Does_non_key_SQL_Server_required_binary_mapping(bool? fixedLength) Assert.Equal(8000, typeMapping.CreateParameter(new TestCommand(), "Name", new byte[3]).Size); } - [ConditionalTheory, InlineData("binary(100)", null), InlineData("binary(100)", 100), InlineData("binary", 100), InlineData(null, 100)] + [Theory, InlineData("binary(100)", null), InlineData("binary(100)", 100), InlineData("binary", 100), InlineData(null, 100)] public void Does_non_key_SQL_Server_fixed_length_binary_mapping_with_small_value(string typeName, int? maxLength) { var typeMapping = CreateBinaryMapping(typeName, maxLength); @@ -875,7 +875,7 @@ public void Does_non_key_SQL_Server_fixed_length_binary_mapping_with_small_value Assert.Equal(10, parameter.Size); } - [ConditionalTheory, InlineData("binary(100)", null), InlineData("binary(100)", 100), InlineData("binary", 100), InlineData(null, 100)] + [Theory, InlineData("binary(100)", null), InlineData("binary(100)", 100), InlineData("binary", 100), InlineData(null, 100)] public void Does_non_key_SQL_Server_fixed_length_binary_mapping_with_exact_value(string typeName, int? maxLength) { var typeMapping = CreateBinaryMapping(typeName, maxLength); @@ -889,7 +889,7 @@ public void Does_non_key_SQL_Server_fixed_length_binary_mapping_with_exact_value Assert.Equal(100, parameter.Size); } - [ConditionalTheory, InlineData("binary(100)", null), InlineData("binary(100)", 100), InlineData("binary", 100), InlineData(null, 100)] + [Theory, InlineData("binary(100)", null), InlineData("binary(100)", 100), InlineData("binary", 100), InlineData(null, 100)] public void Does_non_key_SQL_Server_fixed_length_binary_mapping_with_large_value(string typeName, int? maxLength) { var typeMapping = CreateBinaryMapping(typeName, maxLength); @@ -903,7 +903,7 @@ public void Does_non_key_SQL_Server_fixed_length_binary_mapping_with_large_value Assert.Equal(101, parameter.Size); } - [ConditionalTheory, InlineData("binary(100)", null), InlineData("binary(100)", 100), InlineData("binary", 100), InlineData(null, 100)] + [Theory, InlineData("binary(100)", null), InlineData("binary(100)", 100), InlineData("binary", 100), InlineData(null, 100)] public void Does_non_key_SQL_Server_fixed_length_binary_mapping_with_extreme_value(string typeName, int? maxLength) { var typeMapping = CreateBinaryMapping(typeName, maxLength); @@ -941,7 +941,7 @@ private RelationalTypeMapping CreateBinaryMapping(string typeName, int? maxLengt return typeMappingSource.GetMapping(runtimeProperty); } - [ConditionalTheory, InlineData(false), InlineData(null)] + [Theory, InlineData(false), InlineData(null)] public void Does_key_SQL_Server_binary_mapping(bool? fixedLength) { var property = CreateEntityType().AddProperty("MyProp", typeof(byte[])); @@ -960,7 +960,7 @@ public void Does_key_SQL_Server_binary_mapping(bool? fixedLength) Assert.Equal(900, typeMapping.CreateParameter(new TestCommand(), "Name", new byte[3]).Size); } - [ConditionalTheory, InlineData(false), InlineData(null)] + [Theory, InlineData(false), InlineData(null)] public void Does_foreign_key_SQL_Server_binary_mapping(bool? fixedLength) { var property = CreateEntityType().AddProperty("MyProp", typeof(byte[])); @@ -981,7 +981,7 @@ public void Does_foreign_key_SQL_Server_binary_mapping(bool? fixedLength) Assert.Equal(900, typeMapping.CreateParameter(new TestCommand(), "Name", new byte[3]).Size); } - [ConditionalTheory, InlineData(false), InlineData(null)] + [Theory, InlineData(false), InlineData(null)] public void Does_required_foreign_key_SQL_Server_binary_mapping(bool? fixedLength) { var property = CreateEntityType().AddProperty("MyProp", typeof(byte[])); @@ -1003,7 +1003,7 @@ public void Does_required_foreign_key_SQL_Server_binary_mapping(bool? fixedLengt Assert.Equal(900, typeMapping.CreateParameter(new TestCommand(), "Name", new byte[3]).Size); } - [ConditionalTheory, InlineData(false), InlineData(null)] + [Theory, InlineData(false), InlineData(null)] public void Does_indexed_column_SQL_Server_binary_mapping(bool? fixedLength) { var entityType = CreateEntityType(); @@ -1022,7 +1022,7 @@ public void Does_indexed_column_SQL_Server_binary_mapping(bool? fixedLength) Assert.Equal(900, typeMapping.CreateParameter(new TestCommand(), "Name", new byte[] { 0, 1, 2, 3 }).Size); } - [ConditionalFact] + [Fact] public void Does_non_key_SQL_Server_rowversion_mapping() { var property = CreateEntityType().AddProperty("MyProp", typeof(byte[])); @@ -1041,7 +1041,7 @@ public void Does_non_key_SQL_Server_rowversion_mapping() Assert.Equal(8, typeMapping.CreateParameter(new TestCommand(), "Name", new byte[8]).Size); } - [ConditionalFact] + [Fact] public void Does_non_key_SQL_Server_required_rowversion_mapping() { var property = CreateEntityType().AddProperty("MyProp", typeof(byte[])); @@ -1061,7 +1061,7 @@ public void Does_non_key_SQL_Server_required_rowversion_mapping() Assert.Equal(8, typeMapping.CreateParameter(new TestCommand(), "Name", new byte[8]).Size); } - [ConditionalFact] + [Fact] public void Does_not_do_rowversion_mapping_for_non_computed_concurrency_tokens() { var property = CreateEntityType().AddProperty("MyProp", typeof(byte[])); @@ -1077,7 +1077,7 @@ public void Does_not_do_rowversion_mapping_for_non_computed_concurrency_tokens() Assert.Equal("varbinary(max)", typeMapping.StoreType); } - [ConditionalFact] + [Fact] public void Does_default_mappings_for_sequence_types() { var model = CreateModel(); @@ -1087,7 +1087,7 @@ public void Does_default_mappings_for_sequence_types() Assert.Equal("tinyint", CreateRelationalTypeMappingSource(model).GetMapping(typeof(byte)).StoreType); } - [ConditionalFact] + [Fact] public void Does_default_mappings_for_strings_and_byte_arrays() { var model = CreateModel(); @@ -1095,7 +1095,7 @@ public void Does_default_mappings_for_strings_and_byte_arrays() Assert.Equal("varbinary(max)", CreateRelationalTypeMappingSource(model).GetMapping(typeof(byte[])).StoreType); } - [ConditionalFact] + [Fact] public void Does_default_mappings_for_values() { var model = CreateModel(); @@ -1104,7 +1104,7 @@ public void Does_default_mappings_for_values() Assert.Equal("datetime2", CreateRelationalTypeMappingSource(model).GetMappingForValue(new DateTime()).StoreType); } - [ConditionalFact] + [Fact] public void Does_default_mappings_for_null_values() { var model = CreateModel(); @@ -1112,7 +1112,7 @@ public void Does_default_mappings_for_null_values() Assert.Equal("NULL", CreateRelationalTypeMappingSource(model).GetMappingForValue(DBNull.Value).StoreType); } - [ConditionalFact] + [Fact] public void Throws_for_unrecognized_property_types() { var property = ((IMutableModel)new Model()).AddEntityType("Entity1") @@ -1132,7 +1132,7 @@ public void Throws_for_unrecognized_property_types() Assert.Throws(() => CreateRelationalTypeMappingSource(model).GetMapping("object")).Message); } - [ConditionalTheory, InlineData("bigint", typeof(long), null, false, false), + [Theory, InlineData("bigint", typeof(long), null, false, false), InlineData("binary varying(333)", typeof(byte[]), 333, false, false), InlineData("binary varying(max)", typeof(byte[]), -1, false, false), InlineData("binary(333)", typeof(byte[]), 333, false, true), InlineData("bit", typeof(bool), null, false, false), InlineData("char varying(333)", typeof(string), 333, false, false), @@ -1177,7 +1177,7 @@ public void Can_map_by_store_type(string storeType, Type type, int? size, bool u Assert.Equal(expectedType ?? storeType, mapping.StoreType); } - [ConditionalTheory, InlineData(typeof(int), "int"), InlineData(typeof(DateOnly), "date"), InlineData(typeof(DateTime), "date"), + [Theory, InlineData(typeof(int), "int"), InlineData(typeof(DateOnly), "date"), InlineData(typeof(DateTime), "date"), InlineData(typeof(TimeOnly), "time"), InlineData(typeof(TimeSpan), "time"), InlineData(typeof(SqlVector), "vector(3)")] public void Can_map_by_clr_and_store_types(Type clrType, string storeType) { @@ -1187,7 +1187,7 @@ public void Can_map_by_clr_and_store_types(Type clrType, string storeType) Assert.Same(clrType, mapping.ClrType); } - [ConditionalTheory, InlineData("char varying"), InlineData("char"), InlineData("character varying"), InlineData("character"), + [Theory, InlineData("char varying"), InlineData("char"), InlineData("character varying"), InlineData("character"), InlineData("national char varying"), InlineData("national character varying"), InlineData("national character"), InlineData("nchar"), InlineData("nvarchar"), InlineData("varchar"), InlineData("VarCHaR"), InlineData("VARCHAR")] public void Can_map_string_base_type_name_and_size(string typeName) @@ -1212,7 +1212,7 @@ public void Can_map_string_base_type_name_and_size(string typeName) Assert.Equal(typeName + "(2018)", mapping.StoreType); } - [ConditionalTheory, InlineData("char varying"), InlineData("char"), InlineData("character varying"), InlineData("character"), + [Theory, InlineData("char varying"), InlineData("char"), InlineData("character varying"), InlineData("character"), InlineData("national char varying"), InlineData("national character varying"), InlineData("national character"), InlineData("nchar"), InlineData("nvarchar"), InlineData("varchar"), InlineData("VarCHaR"), InlineData("VARCHAR")] public void Can_map_collection_base_type_name_and_size(string typeName) @@ -1237,7 +1237,7 @@ public void Can_map_collection_base_type_name_and_size(string typeName) Assert.Equal(typeName + "(2018)", mapping.StoreType); } - [ConditionalTheory, InlineData("datetime2(0)", 0), InlineData("datetime2(1)", 1), InlineData("datetime2(2)", 2), + [Theory, InlineData("datetime2(0)", 0), InlineData("datetime2(1)", 1), InlineData("datetime2(2)", 2), InlineData("datetime2(3)", 3), InlineData("datetime2(4)", 4), InlineData("datetime2(5)", 5), InlineData("datetime2(6)", 6), InlineData("datetime2(7)", 7), InlineData("datetime2", null)] public void Can_map_datetime_base_type_columnType_with_precision(string typeName, int? precision) @@ -1260,7 +1260,7 @@ public void Can_map_datetime_base_type_columnType_with_precision(string typeName Assert.Equal(typeName, mapping.StoreType, true); } - [ConditionalTheory, InlineData("datetime2(0)", 0), InlineData("datetime2(1)", 1), InlineData("datetime2(2)", 2), + [Theory, InlineData("datetime2(0)", 0), InlineData("datetime2(1)", 1), InlineData("datetime2(2)", 2), InlineData("datetime2(3)", 3), InlineData("datetime2(4)", 4), InlineData("datetime2(5)", 5), InlineData("datetime2(6)", 6), InlineData("datetime2(7)", 7)] public void Can_map_datetime_base_type_precision(string typeName, int precision) @@ -1283,7 +1283,7 @@ public void Can_map_datetime_base_type_precision(string typeName, int precision) Assert.Equal(typeName, mapping.StoreType, true); } - [ConditionalTheory, InlineData("datetimeoffset(0)", 0), InlineData("datetimeoffset(1)", 1), InlineData("datetimeoffset(2)", 2), + [Theory, InlineData("datetimeoffset(0)", 0), InlineData("datetimeoffset(1)", 1), InlineData("datetimeoffset(2)", 2), InlineData("datetimeoffset(3)", 3), InlineData("datetimeoffset(4)", 4), InlineData("datetimeoffset(5)", 5), InlineData("datetimeoffset(6)", 6), InlineData("datetimeoffset(7)", 7), InlineData("datetimeoffset", null)] public void Can_map_datetimeoffset_base_type_columnType_with_precision(string typeName, int? precision) @@ -1306,7 +1306,7 @@ public void Can_map_datetimeoffset_base_type_columnType_with_precision(string ty Assert.Equal(typeName, mapping.StoreType, true); } - [ConditionalTheory, InlineData("datetimeoffset(0)", 0), InlineData("datetimeoffset(1)", 1), InlineData("datetimeoffset(2)", 2), + [Theory, InlineData("datetimeoffset(0)", 0), InlineData("datetimeoffset(1)", 1), InlineData("datetimeoffset(2)", 2), InlineData("datetimeoffset(3)", 3), InlineData("datetimeoffset(4)", 4), InlineData("datetimeoffset(5)", 5), InlineData("datetimeoffset(6)", 6), InlineData("datetimeoffset(7)", 7)] public void Can_map_datetimeoffset_base_type_precision(string typeName, int precision) @@ -1329,7 +1329,7 @@ public void Can_map_datetimeoffset_base_type_precision(string typeName, int prec Assert.Equal(typeName, mapping.StoreType, true); } - [ConditionalTheory, InlineData("time(0)", 0), InlineData("time(1)", 1), InlineData("time(2)", 2), InlineData("time(3)", 3), + [Theory, InlineData("time(0)", 0), InlineData("time(1)", 1), InlineData("time(2)", 2), InlineData("time(3)", 3), InlineData("time(4)", 4), InlineData("time(5)", 5), InlineData("time(6)", 6), InlineData("time(7)", 7), InlineData("time", null)] public void Can_map_time_base_type_columnType_with_precision(string typeName, int? precision) { @@ -1351,7 +1351,7 @@ public void Can_map_time_base_type_columnType_with_precision(string typeName, in Assert.Equal(typeName, mapping.StoreType, true); } - [ConditionalTheory, InlineData("time(0)", 0), InlineData("time(1)", 1), InlineData("time(2)", 2), InlineData("time(3)", 3), + [Theory, InlineData("time(0)", 0), InlineData("time(1)", 1), InlineData("time(2)", 2), InlineData("time(3)", 3), InlineData("time(4)", 4), InlineData("time(5)", 5), InlineData("time(6)", 6), InlineData("time(7)", 7)] public void Can_map_time_base_type_precision(string typeName, int precision) { @@ -1381,7 +1381,7 @@ private class VarTimeEntity public TimeSpan TimeSpanWithPrecision { get; set; } } - [ConditionalTheory, InlineData("binary varying"), InlineData("binary"), InlineData("varbinary")] + [Theory, InlineData("binary varying"), InlineData("binary"), InlineData("varbinary")] public void Can_map_binary_base_type_name_and_size(string typeName) { var builder = CreateModelBuilder(); @@ -1411,7 +1411,7 @@ private class StringCheese public byte[] BinaryWithSize { get; set; } } - [ConditionalFact] + [Fact] public void Key_with_store_type_is_picked_up_by_FK() { var model = CreateModel(); @@ -1426,7 +1426,7 @@ public void Key_with_store_type_is_picked_up_by_FK() mapper.GetMapping(model.FindEntityType(typeof(MyRelatedType1)).FindProperty("Relationship1Id")).StoreType); } - [ConditionalFact] + [Fact] public void String_key_with_max_fixed_length_is_picked_up_by_FK() { var model = CreateModel(); @@ -1441,7 +1441,7 @@ public void String_key_with_max_fixed_length_is_picked_up_by_FK() mapper.GetMapping(model.FindEntityType(typeof(MyRelatedType2)).FindProperty("Relationship1Id")).StoreType); } - [ConditionalFact] + [Fact] public void Binary_key_with_max_fixed_length_is_picked_up_by_FK() { var model = CreateModel(); @@ -1456,7 +1456,7 @@ public void Binary_key_with_max_fixed_length_is_picked_up_by_FK() mapper.GetMapping(model.FindEntityType(typeof(MyRelatedType3)).FindProperty("Relationship1Id")).StoreType); } - [ConditionalFact] + [Fact] public void String_key_with_unicode_is_picked_up_by_FK() { var model = CreateModel(); @@ -1471,7 +1471,7 @@ public void String_key_with_unicode_is_picked_up_by_FK() mapper.GetMapping(model.FindEntityType(typeof(MyRelatedType4)).FindProperty("Relationship1Id")).StoreType); } - [ConditionalFact] + [Fact] public void Key_store_type_if_preferred_if_specified() { var model = CreateModel(); @@ -1486,7 +1486,7 @@ public void Key_store_type_if_preferred_if_specified() mapper.GetMapping(model.FindEntityType(typeof(MyRelatedType1)).FindProperty("Relationship2Id")).StoreType); } - [ConditionalFact] + [Fact] public void String_FK_max_length_is_preferred_if_specified() { var model = CreateModel(); @@ -1501,7 +1501,7 @@ public void String_FK_max_length_is_preferred_if_specified() mapper.GetMapping(model.FindEntityType(typeof(MyRelatedType2)).FindProperty("Relationship2Id")).StoreType); } - [ConditionalFact] + [Fact] public void Binary_FK_max_length_is_preferred_if_specified() { var model = CreateModel(); @@ -1516,7 +1516,7 @@ public void Binary_FK_max_length_is_preferred_if_specified() mapper.GetMapping(model.FindEntityType(typeof(MyRelatedType3)).FindProperty("Relationship2Id")).StoreType); } - [ConditionalFact] + [Fact] public void String_FK_unicode_is_preferred_if_specified() { var model = CreateModel(); @@ -1533,7 +1533,7 @@ public void String_FK_unicode_is_preferred_if_specified() #region Vector - [ConditionalFact] + [Fact] public void Vector_is_properly_mapped() { var typeMapping = GetTypeMapping(typeof(SqlVector), maxLength: 3); @@ -1545,7 +1545,7 @@ public void Vector_is_properly_mapped() Assert.Null(typeMapping.Scale); } - [ConditionalFact] + [Fact] public void Vector_requires_positive_dimensions() { var exception = Assert.Throws(() => GetTypeMapping(typeof(SqlVector), maxLength: 0)); @@ -1564,7 +1564,7 @@ public void Vector_requires_positive_dimensions() #region Json - [ConditionalFact] + [Fact] public void Json_is_mapped_to_nvarchar_with_UseSqlServer_by_default() { var typeMappingSource = CreateTypeMappingSource(o => o.UseSqlServer()); @@ -1573,7 +1573,7 @@ public void Json_is_mapped_to_nvarchar_with_UseSqlServer_by_default() Assert.Equal("nvarchar(max)", typeMappingSource.GetMapping(typeof(int[])).StoreType); } - [ConditionalFact] + [Fact] public void Json_is_mapped_to_nvarchar_with_UseSqlServer_with_compatibility_level_170() { var typeMappingSource = CreateTypeMappingSource(o => @@ -1583,7 +1583,7 @@ public void Json_is_mapped_to_nvarchar_with_UseSqlServer_with_compatibility_leve Assert.Equal("json", typeMappingSource.GetMapping(typeof(int[])).StoreType); } - [ConditionalFact] + [Fact] public void Json_is_mapped_to_json_type_with_UseAzureSql_by_default() { var typeMappingSource = CreateTypeMappingSource(o => o.UseAzureSql()); @@ -1592,7 +1592,7 @@ public void Json_is_mapped_to_json_type_with_UseAzureSql_by_default() Assert.Equal("json", typeMappingSource.GetMapping(typeof(int[])).StoreType); } - [ConditionalFact] + [Fact] public void Json_is_mapped_to_nvarchar_with_compatibility_level_170_when_explicitly_specified() { var typeMappingSource = CreateTypeMappingSource(o => @@ -1602,7 +1602,7 @@ public void Json_is_mapped_to_nvarchar_with_compatibility_level_170_when_explici Assert.Equal("nvarchar(max)", typeMappingSource.FindMapping(typeof(int[]), "nvarchar(max)").StoreType); } - [ConditionalFact] + [Fact] public void Json_can_be_mapped_to_nvarchar_non_max() { var typeMappingSource = CreateTypeMappingSource(o => o.UseSqlServer()); @@ -1631,7 +1631,7 @@ private SqlServerTypeMappingSource CreateTypeMappingSource(Action new SqlCommand(); - [ConditionalTheory, InlineData(typeof(SqlServerDateTimeOffsetTypeMapping), typeof(DateTimeOffset)), + [Theory, InlineData(typeof(SqlServerDateTimeOffsetTypeMapping), typeof(DateTimeOffset)), InlineData(typeof(SqlServerDoubleTypeMapping), typeof(double)), InlineData(typeof(SqlServerFloatTypeMapping), typeof(float)), InlineData(typeof(SqlServerTimeSpanTypeMapping), typeof(TimeSpan))] public override void Create_and_clone_with_converter(Type mappingType, Type type) => base.Create_and_clone_with_converter(mappingType, type); - [ConditionalFact] + [Fact] public void Create_and_clone_SQL_Server_DateTime_mappings_with_converter() { var mapping = (RelationalTypeMapping)Activator.CreateInstance( @@ -96,21 +96,21 @@ public void Create_and_clone_SQL_Server_DateTime_mappings_with_converter() Assert.Equal(SqlDbType.SmallDateTime, ((SqlServerDateTimeTypeMapping)clone).SqlType); } - [ConditionalFact] + [Fact] public virtual void Create_and_clone_SQL_Server_sized_mappings_with_converter() => ConversionCloneTest( typeof(SqlServerByteArrayTypeMapping), typeof(byte[]), SqlDbType.Image); - [ConditionalFact] + [Fact] public virtual void Create_and_clone_SQL_Server_unicode_sized_mappings_with_converter() => UnicodeConversionCloneTest( typeof(SqlServerStringTypeMapping), typeof(string), SqlDbType.Text); - [ConditionalFact] + [Fact] public virtual void Create_and_clone_UDT_mapping_with_converter() { Func literalGenerator = Expression.Constant; @@ -205,7 +205,7 @@ public override void DateTimeOffset_literal_generated_correctly() "'2015-03-12T13:36:37.1230000-07:00'"); //should this really output trailing zeros? } - [ConditionalFact] + [Fact] public override void TimeOnly_literal_generated_correctly() { var typeMapping = GetMapping(typeof(TimeOnly)); @@ -215,14 +215,14 @@ public override void TimeOnly_literal_generated_correctly() Test_GenerateSqlLiteral_helper(typeMapping, new TimeOnly(13, 10, 15, 120, 20), "'13:10:15.12002'"); } - [ConditionalFact] + [Fact] public override void DateOnly_literal_generated_correctly() => Test_GenerateSqlLiteral_helper( GetMapping(typeof(DateOnly)), new DateOnly(2015, 3, 12), "'2015-03-12'"); - [ConditionalFact] + [Fact] public override void Timespan_literal_generated_correctly() { Test_GenerateSqlLiteral_helper( @@ -332,7 +332,7 @@ public override void Short_literal_generated_correctly() Test_GenerateSqlLiteral_helper(typeMapping, short.MaxValue, "CAST(32767 AS smallint)"); } - [ConditionalFact] + [Fact] public virtual void SqlVariant_literal_generated_correctly() { var typeMapping = GetMapping("sql_variant"); @@ -346,7 +346,7 @@ public override void String_literal_generated_correctly() Test_GenerateSqlLiteral_helper(GetMapping("varchar(max)"), "Text", "'Text'"); } - [ConditionalFact] + [Fact] public virtual void String_Utf8() { var typeMappingSource = GetTypeMappingSource(); @@ -362,7 +362,7 @@ public virtual void String_Utf8() Assert.Equal(DbType.String, parameter.DbType); } - [ConditionalFact] + [Fact] public virtual void Char_Utf8() { var typeMappingSource = GetTypeMappingSource(); @@ -378,7 +378,7 @@ public virtual void Char_Utf8() Assert.Equal(DbType.String, parameter.DbType); } - [ConditionalFact] + [Fact] public virtual void DateOnly_code_literal_generated_correctly() { var typeMapping = new DateOnlyTypeMapping("date"); @@ -386,7 +386,7 @@ public virtual void DateOnly_code_literal_generated_correctly() Test_GenerateCodeLiteral_helper(typeMapping, new DateOnly(2020, 3, 5), "new DateOnly(2020, 3, 5)"); } - [ConditionalFact] + [Fact] public virtual void TimeOnly_code_literal_generated_correctly() { var typeMapping = new TimeOnlyTypeMapping("time"); @@ -406,7 +406,7 @@ public virtual void TimeOnly_code_literal_generated_correctly() #region Vector - [ConditionalFact] + [Fact] public virtual void Vector_comparer_compares_Memory() { var typeMapping = new SqlServerVectorTypeMapping(3); diff --git a/test/EFCore.SqlServer.Tests/Update/SqlServerModificationCommandBatchFactoryTest.cs b/test/EFCore.SqlServer.Tests/Update/SqlServerModificationCommandBatchFactoryTest.cs index 72b817343a4..ba8a648ae6c 100644 --- a/test/EFCore.SqlServer.Tests/Update/SqlServerModificationCommandBatchFactoryTest.cs +++ b/test/EFCore.SqlServer.Tests/Update/SqlServerModificationCommandBatchFactoryTest.cs @@ -13,7 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Update; public class SqlServerModificationCommandBatchFactoryTest { - [ConditionalFact] + [Fact] public void Uses_MaxBatchSize_specified_in_SqlServerOptionsExtension() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -51,7 +51,7 @@ public void Uses_MaxBatchSize_specified_in_SqlServerOptionsExtension() Assert.False(batch.TryAddCommand(CreateModificationCommand("T1", null, false))); } - [ConditionalFact] + [Fact] public void MaxBatchSize_is_optional() { var optionsBuilder = new DbContextOptionsBuilder(); diff --git a/test/EFCore.SqlServer.Tests/Update/SqlServerModificationCommandBatchTest.cs b/test/EFCore.SqlServer.Tests/Update/SqlServerModificationCommandBatchTest.cs index 29bb40a28dd..6a7e7637ff2 100644 --- a/test/EFCore.SqlServer.Tests/Update/SqlServerModificationCommandBatchTest.cs +++ b/test/EFCore.SqlServer.Tests/Update/SqlServerModificationCommandBatchTest.cs @@ -13,7 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Update; public class SqlServerModificationCommandBatchTest { - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Deleted), InlineData(EntityState.Modified)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Deleted), InlineData(EntityState.Modified)] public void AddCommand_returns_false_when_max_batch_size_is_reached(EntityState entityState) { var batch = CreateBatch(maxBatchSize: 1); @@ -29,7 +29,7 @@ public void AddCommand_returns_false_when_max_batch_size_is_reached(EntityState Assert.Same(firstCommand, Assert.Single(batch.ModificationCommands)); } - [ConditionalTheory, InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Deleted, true), + [Theory, InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Deleted, true), InlineData(EntityState.Deleted, false), InlineData(EntityState.Modified, true), InlineData(EntityState.Modified, false)] public void AddCommand_returns_false_when_max_parameters_are_reached(EntityState entityState, bool withSameTable) { @@ -67,7 +67,7 @@ ColumnModificationParameters CreateModificationParameters(string columnName) }; } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void AddCommand_when_max_parameters_are_reached_with_pending_commands(bool lastCommandPending) { var typeMapper = CreateTypeMappingSource(); diff --git a/test/EFCore.SqlServer.Tests/ValueGeneration/SqlServerSequenceValueGeneratorTest.cs b/test/EFCore.SqlServer.Tests/ValueGeneration/SqlServerSequenceValueGeneratorTest.cs index 8eabfcda1dc..02f7bf96190 100644 --- a/test/EFCore.SqlServer.Tests/ValueGeneration/SqlServerSequenceValueGeneratorTest.cs +++ b/test/EFCore.SqlServer.Tests/ValueGeneration/SqlServerSequenceValueGeneratorTest.cs @@ -13,35 +13,35 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration; public class SqlServerSequenceValueGeneratorTest { - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Generates_sequential_int_values(bool async) => await Generates_sequential_values(async); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Generates_sequential_long_values(bool async) => await Generates_sequential_values(async); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Generates_sequential_short_values(bool async) => await Generates_sequential_values(async); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Generates_sequential_byte_values(bool async) => await Generates_sequential_values(async); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Generates_sequential_uint_values(bool async) => await Generates_sequential_values(async); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Generates_sequential_ulong_values(bool async) => await Generates_sequential_values(async); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Generates_sequential_ushort_values(bool async) => await Generates_sequential_values(async); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Generates_sequential_sbyte_values(bool async) => await Generates_sequential_values(async); @@ -77,7 +77,7 @@ private async Task Generates_sequential_values(bool async) } } - [ConditionalFact] + [Fact] public async Task Multiple_threads_can_use_the_same_generator_state() { const int threadCount = 50; @@ -153,7 +153,7 @@ private async Task>> GenerateValuesInMultipleThreads(int return generatedValues; } - [ConditionalFact] + [Fact] public void Does_not_generate_temp_values() { var sequence = ((IMutableModel)new Model()).AddSequence("Foo"); diff --git a/test/EFCore.SqlServer.Tests/ValueGeneration/SqlServerValueGeneratorCacheTest.cs b/test/EFCore.SqlServer.Tests/ValueGeneration/SqlServerValueGeneratorCacheTest.cs index 47a1977c7e3..ddd635e0d2d 100644 --- a/test/EFCore.SqlServer.Tests/ValueGeneration/SqlServerValueGeneratorCacheTest.cs +++ b/test/EFCore.SqlServer.Tests/ValueGeneration/SqlServerValueGeneratorCacheTest.cs @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration; public class SqlServerValueGeneratorCacheTest { - [ConditionalFact] + [Fact] public void Uses_single_generator_per_property() { var model = CreateModel(); @@ -30,7 +30,7 @@ public void Uses_single_generator_per_property() Assert.NotSame(generator1, generator2); } - [ConditionalFact] + [Fact] public void Uses_single_sequence_generator_per_sequence() { var model = CreateModel(); @@ -55,7 +55,7 @@ public void Uses_single_sequence_generator_per_sequence() Assert.NotSame(generator1, generator3); } - [ConditionalFact] + [Fact] public void Uses_single_sequence_generator_per_database() { var model = CreateModel(); @@ -74,7 +74,7 @@ public void Uses_single_sequence_generator_per_database() Assert.NotSame(generator1, generator2); } - [ConditionalFact] + [Fact] public void Uses_single_sequence_generator_per_server() { var model = CreateModel(); @@ -105,7 +105,7 @@ private static FakeRelationalConnection CreateConnection( return connection; } - [ConditionalFact] + [Fact] public void Block_size_is_obtained_from_default_sequence() { var modelBuilder = CreateConventionModelBuilder(); @@ -123,7 +123,7 @@ public void Block_size_is_obtained_from_default_sequence() Assert.Equal(10, cache.GetOrAddSequenceState((IProperty)property, CreateConnection()).Sequence.IncrementBy); } - [ConditionalFact] + [Fact] public void Block_size_is_obtained_from_named_sequence() { var modelBuilder = CreateConventionModelBuilder(); @@ -141,7 +141,7 @@ public void Block_size_is_obtained_from_named_sequence() Assert.Equal(10, cache.GetOrAddSequenceState((IProperty)property, CreateConnection()).Sequence.IncrementBy); } - [ConditionalFact] + [Fact] public void Block_size_is_obtained_from_model_default_sequence() { var modelBuilder = CreateConventionModelBuilder(); @@ -159,7 +159,7 @@ public void Block_size_is_obtained_from_model_default_sequence() Assert.Equal(10, cache.GetOrAddSequenceState((IProperty)property, CreateConnection()).Sequence.IncrementBy); } - [ConditionalFact] + [Fact] public void Block_size_is_obtained_from_named_model_default_sequence() { var modelBuilder = CreateConventionModelBuilder(); @@ -177,7 +177,7 @@ public void Block_size_is_obtained_from_named_model_default_sequence() Assert.Equal(10, cache.GetOrAddSequenceState((IProperty)property, CreateConnection()).Sequence.IncrementBy); } - [ConditionalFact] + [Fact] public void Block_size_is_obtained_from_specified_sequence() { var modelBuilder = CreateConventionModelBuilder(); @@ -196,7 +196,7 @@ public void Block_size_is_obtained_from_specified_sequence() Assert.Equal(11, cache.GetOrAddSequenceState((IProperty)property, CreateConnection()).Sequence.IncrementBy); } - [ConditionalFact] + [Fact] public void Non_positive_block_sizes_are_not_allowed() { var modelBuilder = CreateConventionModelBuilder(); @@ -218,7 +218,7 @@ public void Non_positive_block_sizes_are_not_allowed() => cache.GetOrAddSequenceState((IProperty)property, CreateConnection()).Sequence.IncrementBy).Message); } - [ConditionalFact] + [Fact] public void Block_size_is_obtained_from_specified_model_default_sequence() { var modelBuilder = CreateConventionModelBuilder(); @@ -237,7 +237,7 @@ public void Block_size_is_obtained_from_specified_model_default_sequence() Assert.Equal(11, cache.GetOrAddSequenceState((IProperty)property, CreateConnection()).Sequence.IncrementBy); } - [ConditionalFact] + [Fact] public void Sequence_name_is_obtained_from_default_sequence() { var modelBuilder = CreateConventionModelBuilder(); @@ -255,7 +255,7 @@ public void Sequence_name_is_obtained_from_default_sequence() Assert.Equal("EntityFrameworkHiLoSequence", cache.GetOrAddSequenceState((IProperty)property, CreateConnection()).Sequence.Name); } - [ConditionalFact] + [Fact] public void Sequence_name_is_obtained_from_named_sequence() { var modelBuilder = CreateConventionModelBuilder(); @@ -273,7 +273,7 @@ public void Sequence_name_is_obtained_from_named_sequence() Assert.Equal("DaneelOlivaw", cache.GetOrAddSequenceState((IProperty)property, CreateConnection()).Sequence.Name); } - [ConditionalFact] + [Fact] public void Sequence_name_is_obtained_from_model_default_sequence() { var modelBuilder = CreateConventionModelBuilder(); @@ -291,7 +291,7 @@ public void Sequence_name_is_obtained_from_model_default_sequence() Assert.Equal("EntityFrameworkHiLoSequence", cache.GetOrAddSequenceState((IProperty)property, CreateConnection()).Sequence.Name); } - [ConditionalFact] + [Fact] public void Sequence_name_is_obtained_from_named_model_default_sequence() { var modelBuilder = CreateConventionModelBuilder(); @@ -309,7 +309,7 @@ public void Sequence_name_is_obtained_from_named_model_default_sequence() Assert.Equal("DaneelOlivaw", cache.GetOrAddSequenceState((IProperty)property, CreateConnection()).Sequence.Name); } - [ConditionalFact] + [Fact] public void Sequence_name_is_obtained_from_specified_sequence() { var modelBuilder = CreateConventionModelBuilder(); @@ -328,7 +328,7 @@ public void Sequence_name_is_obtained_from_specified_sequence() Assert.Equal("DaneelOlivaw", cache.GetOrAddSequenceState((IProperty)property, CreateConnection()).Sequence.Name); } - [ConditionalFact] + [Fact] public void Sequence_name_is_obtained_from_specified_model_default_sequence() { var modelBuilder = CreateConventionModelBuilder(); @@ -347,7 +347,7 @@ public void Sequence_name_is_obtained_from_specified_model_default_sequence() Assert.Equal("DaneelOlivaw", cache.GetOrAddSequenceState((IProperty)property, CreateConnection()).Sequence.Name); } - [ConditionalFact] + [Fact] public void Schema_qualified_sequence_name_is_obtained_from_named_sequence() { var modelBuilder = CreateConventionModelBuilder(); @@ -366,7 +366,7 @@ public void Schema_qualified_sequence_name_is_obtained_from_named_sequence() Assert.Equal("R", cache.GetOrAddSequenceState((IProperty)property, CreateConnection()).Sequence.Schema); } - [ConditionalFact] + [Fact] public void Schema_qualified_sequence_name_is_obtained_from_named_model_default_sequence() { var modelBuilder = CreateConventionModelBuilder(); @@ -385,7 +385,7 @@ public void Schema_qualified_sequence_name_is_obtained_from_named_model_default_ Assert.Equal("R", cache.GetOrAddSequenceState((IProperty)property, CreateConnection()).Sequence.Schema); } - [ConditionalFact] + [Fact] public void Schema_qualified_sequence_name_is_obtained_from_specified_sequence() { var modelBuilder = CreateConventionModelBuilder(); @@ -405,7 +405,7 @@ public void Schema_qualified_sequence_name_is_obtained_from_specified_sequence() Assert.Equal("R", cache.GetOrAddSequenceState((IProperty)property, CreateConnection()).Sequence.Schema); } - [ConditionalFact] + [Fact] public void Schema_qualified_sequence_name_is_obtained_from_specified_model_default_sequence() { var modelBuilder = CreateConventionModelBuilder(); diff --git a/test/EFCore.SqlServer.Tests/ValueGeneration/SqlServerValueGeneratorSelectorTest.cs b/test/EFCore.SqlServer.Tests/ValueGeneration/SqlServerValueGeneratorSelectorTest.cs index f7a6c42fe02..c4b9fdcb2c8 100644 --- a/test/EFCore.SqlServer.Tests/ValueGeneration/SqlServerValueGeneratorSelectorTest.cs +++ b/test/EFCore.SqlServer.Tests/ValueGeneration/SqlServerValueGeneratorSelectorTest.cs @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration; public class SqlServerValueGeneratorSelectorTest { - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void Returns_built_in_generators_for_types_setup_for_value_generation(bool useTry) { AssertGenerator("Id", useTry: useTry); @@ -66,7 +66,7 @@ private static ValueGenerator CreateValueGenerator(IValueGeneratorSelector selec return generator; } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void Returns_temp_guid_generator_when_default_sql_set(bool useTry) { var builder = SqlServerTestHelpers.Instance.CreateConventionBuilder(); @@ -85,7 +85,7 @@ public void Returns_temp_guid_generator_when_default_sql_set(bool useTry) Assert.IsType(generator); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void Returns_temp_string_generator_when_default_sql_set(bool useTry) { var builder = SqlServerTestHelpers.Instance.CreateConventionBuilder(); @@ -106,7 +106,7 @@ public void Returns_temp_string_generator_when_default_sql_set(bool useTry) Assert.True(generator.GeneratesTemporaryValues); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void Returns_temp_binary_generator_when_default_sql_set(bool useTry) { var builder = SqlServerTestHelpers.Instance.CreateConventionBuilder(); @@ -127,7 +127,7 @@ public void Returns_temp_binary_generator_when_default_sql_set(bool useTry) Assert.True(generator.GeneratesTemporaryValues); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void Returns_sequence_value_generators_when_configured_for_model(bool useTry) { AssertGenerator>("Id", useHiLo: true, useTry: useTry); @@ -145,7 +145,7 @@ public void Returns_sequence_value_generators_when_configured_for_model(bool use AssertGenerator("Binary", useHiLo: true, useTry: useTry); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void Returns_built_in_generators_for_types_setup_for_value_generation_even_with_key_sequences(bool useTry) { AssertGenerator("Id", useKeySequence: true, useTry: useTry); @@ -163,7 +163,7 @@ public void Returns_built_in_generators_for_types_setup_for_value_generation_eve AssertGenerator("Binary", useKeySequence: true, useTry: useTry); } - [ConditionalFact] + [Fact] public void Returns_null_for_unsupported_combinations() { var builder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -181,7 +181,7 @@ public void Returns_null_for_unsupported_combinations() Assert.Null(valueGenerator); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void Returns_generator_configured_on_model_when_property_is_identity(bool useTry) { var builder = SqlServerTestHelpers.Instance.CreateConventionBuilder(); diff --git a/test/EFCore.Sqlite.FunctionalTests/AutoincrementTest.cs b/test/EFCore.Sqlite.FunctionalTests/AutoincrementTest.cs index 573c768e750..d9102a2ee1b 100644 --- a/test/EFCore.Sqlite.FunctionalTests/AutoincrementTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/AutoincrementTest.cs @@ -11,7 +11,7 @@ public class AutoincrementTest(AutoincrementTest.AutoincrementFixture fixture) : { protected AutoincrementFixture Fixture { get; } = fixture; - [ConditionalFact] + [Fact] public void Autoincrement_prevents_reusing_rowid() { using var context = CreateContext(); diff --git a/test/EFCore.Sqlite.FunctionalTests/BuiltInDataTypesSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/BuiltInDataTypesSqliteTest.cs index 5a4194ce066..c4e88a3e205 100644 --- a/test/EFCore.Sqlite.FunctionalTests/BuiltInDataTypesSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/BuiltInDataTypesSqliteTest.cs @@ -20,7 +20,7 @@ public BuiltInDataTypesSqliteTest(BuiltInDataTypesSqliteFixture fixture, ITestOu fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types() { using (var context = CreateContext()) @@ -58,7 +58,7 @@ private static MappedDataTypes CreateMappedDataTypes(int id) Blob = [86] }; - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_nullable_data_types() { using (var context = CreateContext()) @@ -96,7 +96,7 @@ private static MappedNullableDataTypes CreateMappedNullableDataTypes(int id) Blob = [86] }; - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_set_to_null() { using (var context = CreateContext()) @@ -124,7 +124,7 @@ private static void AssertNullMappedNullableDataTypes(MappedNullableDataTypes en Assert.Null(entity.Int); } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_sized_data_types() { // Size expected to be ignored, but everything should still work @@ -157,7 +157,7 @@ private static MappedSizedDataTypes CreateMappedSizedDataTypes(int id) Binary = [10, 11, 12, 13] }; - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_nulls_for_all_mapped_sized_data_types() { using (var context = CreateContext()) @@ -181,7 +181,7 @@ private static void AssertNullMappedSizedDataTypes(MappedSizedDataTypes entity, Assert.Null(entity.Binary); } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_with_scale() { // Scale expected to be ignored, but everything should still work @@ -218,7 +218,7 @@ private static MappedScaledDataTypes CreateMappedScaledDataTypes(int id) Decimal = 101.1m }; - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_with_precision_and_scale() { // Precision and scale expected to be ignored, but everything should still work @@ -239,7 +239,7 @@ public virtual void Can_insert_and_read_back_all_mapped_data_types_with_precisio } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_with_Identity() { using (var context = CreateContext()) @@ -277,7 +277,7 @@ private static MappedDataTypesWithIdentity CreateMappedDataTypesWithIdentity(int Blob = [86] }; - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_nullable_data_types_with_Identity() { using (var context = CreateContext()) @@ -316,7 +316,7 @@ private static MappedNullableDataTypesWithIdentity CreateMappedNullableDataTypes Blob = [86] }; - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_set_to_null_with_Identity() { using (var context = CreateContext()) @@ -345,7 +345,7 @@ private static void AssertNullMappedNullableDataTypesWithIdentity(MappedNullable Assert.Null(entity.Int); } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_sized_data_types_with_Identity() { // Size expected to be ignored, but everything should still work @@ -378,7 +378,7 @@ private static MappedSizedDataTypesWithIdentity CreateMappedSizedDataTypesWithId Binary = [10, 11, 12, 13] }; - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_nulls_for_all_mapped_sized_data_types_with_Identity() { using (var context = CreateContext()) @@ -402,7 +402,7 @@ private static void AssertNullMappedSizedDataTypesWithIdentity(MappedSizedDataTy Assert.Null(entity.Binary); } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_with_scale_with_Identity() { // Scale expected to be ignored, but everything should still work @@ -439,7 +439,7 @@ private static MappedScaledDataTypesWithIdentity CreateMappedScaledDataTypesWith Decimal = 101.1m }; - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_with_precision_and_scale_with_Identity() { // Precision and scale expected to be ignored, but everything should still work @@ -460,7 +460,7 @@ public virtual void Can_insert_and_read_back_all_mapped_data_types_with_precisio } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_in_batch() { using (var context = CreateContext()) @@ -480,7 +480,7 @@ public virtual void Can_insert_and_read_back_all_mapped_data_types_in_batch() } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_nullable_data_types_in_batch() { using (var context = CreateContext()) @@ -500,7 +500,7 @@ public virtual void Can_insert_and_read_back_all_mapped_nullable_data_types_in_b } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_set_to_null_in_batch() { using (var context = CreateContext()) @@ -523,7 +523,7 @@ public virtual void Can_insert_and_read_back_all_mapped_data_types_set_to_null_i } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_sized_data_types_in_batch() { // Size expected to be ignored, but everything should still work @@ -545,7 +545,7 @@ public virtual void Can_insert_and_read_back_all_mapped_sized_data_types_in_batc } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_nulls_for_all_mapped_sized_data_types_in_batch() { using (var context = CreateContext()) @@ -568,7 +568,7 @@ public virtual void Can_insert_and_read_back_nulls_for_all_mapped_sized_data_typ } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_with_scale_in_batch() { // Scale expected to be ignored, but everything should still work @@ -590,7 +590,7 @@ public virtual void Can_insert_and_read_back_all_mapped_data_types_with_scale_in } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_with_precision_and_scale_in_batch() { // Precision and scale expected to be ignored, but everything should still work @@ -623,7 +623,7 @@ public virtual void Can_insert_and_read_back_all_mapped_data_types_with_precisio } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_with_Identity_in_batch() { using (var context = CreateContext()) @@ -643,7 +643,7 @@ public virtual void Can_insert_and_read_back_all_mapped_data_types_with_Identity } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_nullable_data_types_with_Identity_in_batch() { using (var context = CreateContext()) @@ -666,7 +666,7 @@ public virtual void Can_insert_and_read_back_all_mapped_nullable_data_types_with } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_set_to_null_with_Identity_in_batch() { using (var context = CreateContext()) @@ -692,7 +692,7 @@ public virtual void Can_insert_and_read_back_all_mapped_data_types_set_to_null_w } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_sized_data_types_with_Identity_in_batch() { // Size expected to be ignored, but everything should still work @@ -714,7 +714,7 @@ public virtual void Can_insert_and_read_back_all_mapped_sized_data_types_with_Id } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_nulls_for_all_mapped_sized_data_types_with_Identity_in_batch() { using (var context = CreateContext()) @@ -740,7 +740,7 @@ public virtual void Can_insert_and_read_back_nulls_for_all_mapped_sized_data_typ } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_with_scale_with_Identity_in_batch() { // Scale expected to be ignored, but everything should still work @@ -762,7 +762,7 @@ public virtual void Can_insert_and_read_back_all_mapped_data_types_with_scale_wi } } - [ConditionalFact] + [Fact] public virtual void Can_insert_and_read_back_all_mapped_data_types_with_precision_and_scale_with_Identity_in_batch() { // Precision and scale expected to be ignored, but everything should still work @@ -792,7 +792,7 @@ public virtual void Can_insert_and_read_back_all_mapped_data_types_with_precisio } } - [ConditionalFact] + [Fact] public void Can_get_column_types_from_built_model() { using var context = CreateContext(); @@ -812,7 +812,7 @@ public void Can_get_column_types_from_built_model() } } - [ConditionalFact] + [Fact] public virtual void Cant_query_Min_of_converted_types() { using var context = CreateContext(); @@ -861,7 +861,7 @@ public virtual void Cant_query_Min_of_converted_types() .Message); } - [ConditionalFact] + [Fact] public virtual void Cant_query_Max_of_converted_types() { using var context = CreateContext(); @@ -910,7 +910,7 @@ public virtual void Cant_query_Max_of_converted_types() .Message); } - [ConditionalFact] + [Fact] public virtual void Can_query_Average_of_converted_types() { using var context = CreateContext(); @@ -939,7 +939,7 @@ public virtual void Can_query_Average_of_converted_types() .Average(e => e.TestDecimal)); } - [ConditionalFact] + [Fact] public virtual void Can_query_Sum_of_converted_types() { using var context = CreateContext(); @@ -968,7 +968,7 @@ public virtual void Can_query_Sum_of_converted_types() .Sum(e => e.TestDecimal)); } - [ConditionalFact] + [Fact] public virtual void Can_query_negation_of_converted_types() { using var context = CreateContext(); @@ -996,7 +996,7 @@ public virtual void Can_query_negation_of_converted_types() Assert.Equal(TimeSpan.FromMinutes(-1), result.TestTimeSpan); } - [ConditionalFact] + [Fact] public virtual void Can_query_add_of_converted_types() { using var context = CreateContext(); @@ -1033,7 +1033,7 @@ public virtual void Can_query_add_of_converted_types() Assert.Equal(ulong.MaxValue, result.TestUnsignedInt64); } - [ConditionalFact] + [Fact] public virtual void Can_query_subtract_of_converted_types() { using var context = CreateContext(); @@ -1074,7 +1074,7 @@ public virtual void Can_query_subtract_of_converted_types() Assert.Equal(ulong.MaxValue - 1ul, result.TestUnsignedInt64); } - [ConditionalFact] + [Fact] public virtual void Can_query_less_than_of_converted_types() { using var context = CreateContext(); @@ -1115,7 +1115,7 @@ public virtual void Can_query_less_than_of_converted_types() Assert.True(result.TestCharacter); } - [ConditionalFact] + [Fact] public virtual void Can_query_less_than_or_equal_of_converted_types() { using var context = CreateContext(); @@ -1156,7 +1156,7 @@ public virtual void Can_query_less_than_or_equal_of_converted_types() Assert.True(result.TestCharacter); } - [ConditionalFact] + [Fact] public virtual void Can_query_greater_than_of_converted_types() { using var context = CreateContext(); @@ -1197,7 +1197,7 @@ public virtual void Can_query_greater_than_of_converted_types() Assert.False(result.TestCharacter); } - [ConditionalFact] + [Fact] public virtual void Can_query_greater_than_or_equal_of_converted_types() { using var context = CreateContext(); @@ -1238,7 +1238,7 @@ public virtual void Can_query_greater_than_or_equal_of_converted_types() Assert.False(result.TestCharacter); } - [ConditionalFact] + [Fact] public virtual void Can_query_divide_of_converted_types() { using var context = CreateContext(); @@ -1271,7 +1271,7 @@ public virtual void Can_query_divide_of_converted_types() Assert.Equal(ulong.MaxValue / 5, result.TestUnsignedInt64); } - [ConditionalFact] + [Fact] public virtual void Can_query_multiply_of_converted_types() { using var context = CreateContext(); @@ -1304,7 +1304,7 @@ public virtual void Can_query_multiply_of_converted_types() Assert.Equal(ulong.MaxValue, result.TestUnsignedInt64); } - [ConditionalFact] + [Fact] public virtual void Can_query_modulo_of_converted_types() { using var context = CreateContext(); @@ -1338,7 +1338,7 @@ public virtual void Can_query_modulo_of_converted_types() Assert.Equal(1ul, result.TestUnsignedInt64); } - [ConditionalFact] + [Fact] public virtual void Cant_query_OrderBy_of_converted_types() { using var context = CreateContext(); @@ -1385,7 +1385,7 @@ public virtual void Cant_query_OrderBy_of_converted_types() Assert.Equal(SqliteStrings.OrderByNotSupported("ulong"), ex.Message); } - [ConditionalFact] + [Fact] public virtual void Cant_query_ThenBy_of_converted_types() { using var context = CreateContext(); @@ -1433,7 +1433,7 @@ public virtual void Cant_query_ThenBy_of_converted_types() Assert.Equal(SqliteStrings.OrderByNotSupported("ulong"), ex.Message); } - [ConditionalFact] + [Fact] public virtual void Can_query_OrderBy_of_converted_types() { using var context = CreateContext(); @@ -1488,7 +1488,7 @@ LIMIT 1 Assert.Equal(expectedResults, results); } - [ConditionalFact] + [Fact] public virtual void Can_query_ThenBy_of_converted_types() { using var context = CreateContext(); @@ -1545,7 +1545,7 @@ LIMIT 1 Assert.Equal(expectedResults, results); } - [ConditionalFact, UseCulture("tr-TR")] // #37432 + [Fact, UseCulture("tr-TR")] // #37432 public virtual void Can_query_OrderBy_decimal_with_Turkish_culture() { using var context = CreateContext(); @@ -1600,7 +1600,7 @@ ORDER BY "b"."TestDecimal" COLLATE "EF_DECIMAL" """); } - [ConditionalFact] + [Fact] public virtual void Can_query_using_char_ToLower() { using var context = CreateContext(); @@ -1620,7 +1620,7 @@ SELECT lower("o"."Character") Assert.Equal(expectedResults, results); } - [ConditionalFact] + [Fact] public virtual void Can_query_using_char_ToUpper() { using var context = CreateContext(); @@ -1640,7 +1640,7 @@ SELECT upper("o"."Character") Assert.Equal(expectedResults, results); } - [ConditionalFact] + [Fact] public virtual void Can_query_using_hex_function() { using var context = CreateContext(); @@ -1660,7 +1660,7 @@ SELECT hex("o"."Bytes") Assert.Equal(expectedResults, results); } - [ConditionalFact] + [Fact] public virtual void Can_query_using_unhex_function() { using var context = CreateContext(); @@ -1680,7 +1680,7 @@ SELECT unhex(hex("o"."Bytes")) Assert.Equal(expectedResults, results); } - [ConditionalFact] + [Fact] public virtual void Can_query_using_unhex_function_with_ignore_chars() { using var context = CreateContext(); @@ -1700,7 +1700,7 @@ SELECT unhex(COALESCE(hex("o"."Bytes"), '') || '!?', '!?') Assert.Equal(expectedResults, results); } - [ConditionalFact] + [Fact] public virtual void Can_filter_using_unhex_function() { using var context = CreateContext(); @@ -1724,7 +1724,7 @@ WHERE unhex("o"."String") IS NULL Assert.Equal(expectedResults, results); } - [ConditionalFact] + [Fact] public virtual void Can_query_using_substr_function() { using var context = CreateContext(); @@ -1744,7 +1744,7 @@ SELECT substr("o"."Bytes", 2) Assert.Equal(expectedResults, results); } - [ConditionalFact] + [Fact] public virtual void Can_query_using_substr_function_with_length() { using var context = CreateContext(); @@ -1776,7 +1776,7 @@ SELECT CAST("b"."TestSignedByte" AS TEXT), CAST("b"."TestByte" AS TEXT), CAST("b """); } - [ConditionalFact] + [Fact] public virtual void Character_to_integer_conversion() { using var context = CreateContext(); @@ -1837,7 +1837,7 @@ SELECT unicode("b"."TestCharacter") AS "Sbyte", unicode("b"."TestCharacter") AS """); } - [ConditionalFact] + [Fact] public virtual void Integer_to_character_conversion() { using var context = CreateContext(); @@ -1909,7 +1909,7 @@ SELECT char("b"."TestSignedByte") AS "Sbyte", char("b"."TestByte") AS "Byte", ch """); } - [ConditionalFact] + [Fact] public virtual void Projecting_arithmetic_operations_on_decimals() { using var context = CreateContext(); diff --git a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/Inheritance/TPCFiltersInheritanceBulkUpdatesSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/Inheritance/TPCFiltersInheritanceBulkUpdatesSqliteTest.cs index 5772e578681..55cf7b4a2b5 100644 --- a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/Inheritance/TPCFiltersInheritanceBulkUpdatesSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/Inheritance/TPCFiltersInheritanceBulkUpdatesSqliteTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.BulkUpdates.Inheritance; @@ -10,7 +10,7 @@ public class TPCFiltersInheritanceBulkUpdatesSqliteTest( ITestOutputHelper testOutputHelper) : TPCFiltersInheritanceBulkUpdatesTestBase(fixture, testOutputHelper) { - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/Inheritance/TPCInheritanceBulkUpdatesSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/Inheritance/TPCInheritanceBulkUpdatesSqliteTest.cs index e5ef601c7e7..fc7a9b588fc 100644 --- a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/Inheritance/TPCInheritanceBulkUpdatesSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/Inheritance/TPCInheritanceBulkUpdatesSqliteTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.BulkUpdates.Inheritance; @@ -10,7 +10,7 @@ public class TPCInheritanceBulkUpdatesSqliteTest( ITestOutputHelper testOutputHelper) : TPCInheritanceBulkUpdatesTestBase(fixture, testOutputHelper) { - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/Inheritance/TPHFiltersInheritanceBulkUpdatesSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/Inheritance/TPHFiltersInheritanceBulkUpdatesSqliteTest.cs index 02c8348099e..bbad201d45e 100644 --- a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/Inheritance/TPHFiltersInheritanceBulkUpdatesSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/Inheritance/TPHFiltersInheritanceBulkUpdatesSqliteTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.BulkUpdates.Inheritance; @@ -11,7 +11,7 @@ public class TPHFiltersInheritanceBulkUpdatesSqliteTest( : FiltersInheritanceBulkUpdatesRelationalTestBase< TPHFiltersInheritanceBulkUpdatesSqliteFixture>(fixture, testOutputHelper) { - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/Inheritance/TPHInheritanceBulkUpdatesSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/Inheritance/TPHInheritanceBulkUpdatesSqliteTest.cs index 1e667ad1ba7..9aae699255e 100644 --- a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/Inheritance/TPHInheritanceBulkUpdatesSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/Inheritance/TPHInheritanceBulkUpdatesSqliteTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.BulkUpdates.Inheritance; @@ -10,7 +10,7 @@ public class TPHInheritanceBulkUpdatesSqliteTest( ITestOutputHelper testOutputHelper) : TPHInheritanceBulkUpdatesTestBase(fixture, testOutputHelper) { - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/Inheritance/TPTFiltersInheritanceBulkUpdatesSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/Inheritance/TPTFiltersInheritanceBulkUpdatesSqliteTest.cs index 8f2d29fff67..c2ea40b77d1 100644 --- a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/Inheritance/TPTFiltersInheritanceBulkUpdatesSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/Inheritance/TPTFiltersInheritanceBulkUpdatesSqliteTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.BulkUpdates.Inheritance; @@ -10,7 +10,7 @@ public class TPTFiltersInheritanceBulkUpdatesSqliteTest( ITestOutputHelper testOutputHelper) : TPTFiltersInheritanceBulkUpdatesTestBase(fixture, testOutputHelper) { - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/Inheritance/TPTInheritanceBulkUpdatesSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/Inheritance/TPTInheritanceBulkUpdatesSqliteTest.cs index cf7e06d722b..166b6f25ed8 100644 --- a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/Inheritance/TPTInheritanceBulkUpdatesSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/Inheritance/TPTInheritanceBulkUpdatesSqliteTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.BulkUpdates.Inheritance; @@ -10,7 +10,7 @@ public class TPTInheritanceBulkUpdatesSqliteTest( ITestOutputHelper testOutputHelper) : TPTInheritanceBulkUpdatesTestBase(fixture, testOutputHelper) { - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/NonSharedModelBulkUpdatesSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/NonSharedModelBulkUpdatesSqliteTest.cs index b1f054a59c0..7db63b4ea52 100644 --- a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/NonSharedModelBulkUpdatesSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/NonSharedModelBulkUpdatesSqliteTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.BulkUpdates; @@ -10,7 +10,7 @@ public class NonSharedModelBulkUpdatesSqliteTest(NonSharedFixture fixture) : Non protected override ITestStoreFactory NonSharedTestStoreFactory => SqliteTestStoreFactory.Instance; - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/NorthwindBulkUpdatesSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/NorthwindBulkUpdatesSqliteTest.cs index 0b970cabfc4..76a2b4c9c1d 100644 --- a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/NorthwindBulkUpdatesSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/NorthwindBulkUpdatesSqliteTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Sqlite.Internal; @@ -12,7 +12,7 @@ public class NorthwindBulkUpdatesSqliteTest( ITestOutputHelper testOutputHelper) : NorthwindBulkUpdatesRelationalTestBase>(fixture, testOutputHelper) { - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); @@ -1409,7 +1409,7 @@ public override async Task Update_with_outer_apply_set_constant(bool async) SqliteStrings.ApplyNotSupported, (await Assert.ThrowsAsync(() => base.Update_with_outer_apply_set_constant(async))).Message); - [ConditionalTheory(Skip = "Issue#28886")] + [Theory(Skip = "Issue#28886")] public override async Task Update_with_cross_join_left_join_set_constant(bool async) { await base.Update_with_cross_join_left_join_set_constant(async); @@ -1524,7 +1524,7 @@ ORDER BY "o"."OrderDate" DESC """); } - [ConditionalTheory(Skip = "Issue#28886")] + [Theory(Skip = "Issue#28886")] public override async Task Update_with_two_inner_joins(bool async) { await base.Update_with_two_inner_joins(async); @@ -1535,7 +1535,7 @@ public override async Task Update_with_two_inner_joins(bool async) """); } - [ConditionalTheory] + [Theory] public override async Task Update_with_PK_pushdown_and_join_and_multiple_setters(bool async) { await base.Update_with_PK_pushdown_and_join_and_multiple_setters(async); diff --git a/test/EFCore.Sqlite.FunctionalTests/CommandConfigurationTest.cs b/test/EFCore.Sqlite.FunctionalTests/CommandConfigurationTest.cs index 227d1c99021..c5c8d00a6ac 100644 --- a/test/EFCore.Sqlite.FunctionalTests/CommandConfigurationTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/CommandConfigurationTest.cs @@ -12,7 +12,7 @@ public class CommandConfigurationTest(CommandConfigurationTest.CommandConfigurat { protected CommandConfigurationTestFixture Fixture { get; } = fixture; - [ConditionalFact] + [Fact] public void Constructed_select_query_CommandBuilder_throws_when_negative_CommandTimeout_is_used() { using var context = CreateContext(); diff --git a/test/EFCore.Sqlite.FunctionalTests/CustomConvertersSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/CustomConvertersSqliteTest.cs index fc64367a6c3..bce2dccf3ee 100644 --- a/test/EFCore.Sqlite.FunctionalTests/CustomConvertersSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/CustomConvertersSqliteTest.cs @@ -15,7 +15,7 @@ public CustomConvertersSqliteTest(CustomConvertersSqliteFixture fixture) public override Task Can_insert_and_read_back_with_case_insensitive_string_key() => Task.CompletedTask; - [ConditionalFact] + [Fact] public override async Task Value_conversion_is_appropriately_used_for_join_condition() { await base.Value_conversion_is_appropriately_used_for_join_condition(); @@ -31,7 +31,7 @@ public override async Task Value_conversion_is_appropriately_used_for_join_condi """); } - [ConditionalFact] + [Fact] public override async Task Value_conversion_is_appropriately_used_for_left_join_condition() { await base.Value_conversion_is_appropriately_used_for_left_join_condition(); @@ -47,7 +47,7 @@ public override async Task Value_conversion_is_appropriately_used_for_left_join_ """); } - [ConditionalFact] + [Fact] public override async Task Where_bool_gets_converted_to_equality_when_value_conversion_is_used() { await base.Where_bool_gets_converted_to_equality_when_value_conversion_is_used(); @@ -60,7 +60,7 @@ public override async Task Where_bool_gets_converted_to_equality_when_value_conv """); } - [ConditionalFact] + [Fact] public override async Task Where_negated_bool_gets_converted_to_equality_when_value_conversion_is_used() { await base.Where_negated_bool_gets_converted_to_equality_when_value_conversion_is_used(); @@ -102,7 +102,7 @@ public override async Task Select_bool_with_value_conversion_is_used() """); } - [ConditionalFact] + [Fact] public override async Task Where_bool_gets_converted_to_equality_when_value_conversion_is_used_using_EFProperty() { await base.Where_bool_gets_converted_to_equality_when_value_conversion_is_used_using_EFProperty(); @@ -115,7 +115,7 @@ public override async Task Where_bool_gets_converted_to_equality_when_value_conv """); } - [ConditionalFact] + [Fact] public override async Task Where_bool_gets_converted_to_equality_when_value_conversion_is_used_using_indexer() { await base.Where_bool_gets_converted_to_equality_when_value_conversion_is_used_using_indexer(); diff --git a/test/EFCore.Sqlite.FunctionalTests/DefaultValuesTest.cs b/test/EFCore.Sqlite.FunctionalTests/DefaultValuesTest.cs index 71aaf7eed22..fa1f6af90de 100644 --- a/test/EFCore.Sqlite.FunctionalTests/DefaultValuesTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/DefaultValuesTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore; public class DefaultValuesTest : SharedStoreFixtureBase { - [ConditionalFact] + [Fact] public void Can_use_SQLite_default_values() { using (var context = CreateChipsContext()) diff --git a/test/EFCore.Sqlite.FunctionalTests/EFCore.Sqlite.FunctionalTests.csproj b/test/EFCore.Sqlite.FunctionalTests/EFCore.Sqlite.FunctionalTests.csproj index 1279a7b59b3..a58e210f585 100644 --- a/test/EFCore.Sqlite.FunctionalTests/EFCore.Sqlite.FunctionalTests.csproj +++ b/test/EFCore.Sqlite.FunctionalTests/EFCore.Sqlite.FunctionalTests.csproj @@ -50,7 +50,6 @@ - diff --git a/test/EFCore.Sqlite.FunctionalTests/GraphUpdates/GraphUpdatesSqliteTestBase.cs b/test/EFCore.Sqlite.FunctionalTests/GraphUpdates/GraphUpdatesSqliteTestBase.cs index 2e7f498ff38..1ae2d6d17e2 100644 --- a/test/EFCore.Sqlite.FunctionalTests/GraphUpdates/GraphUpdatesSqliteTestBase.cs +++ b/test/EFCore.Sqlite.FunctionalTests/GraphUpdates/GraphUpdatesSqliteTestBase.cs @@ -8,27 +8,27 @@ namespace Microsoft.EntityFrameworkCore; public abstract class GraphUpdatesSqliteTestBase(TFixture fixture) : GraphUpdatesTestBase(fixture) where TFixture : GraphUpdatesSqliteTestBase.GraphUpdatesSqliteFixtureBase, new() { - [ConditionalTheory(Skip = "Default owned collection pattern does not work with SQLite due to composite key.")] + [Theory(Skip = "Default owned collection pattern does not work with SQLite due to composite key.")] public override Task Update_principal_with_shadow_key_owned_collection_throws(bool async) => Task.CompletedTask; - [ConditionalTheory(Skip = "Default owned collection pattern does not work with SQLite due to composite key.")] + [Theory(Skip = "Default owned collection pattern does not work with SQLite due to composite key.")] public override Task Delete_principal_with_shadow_key_owned_collection_throws(bool async) => Task.CompletedTask; - [ConditionalTheory(Skip = "Default owned collection pattern does not work with SQLite due to composite key.")] + [Theory(Skip = "Default owned collection pattern does not work with SQLite due to composite key.")] public override Task Clearing_shadow_key_owned_collection_throws(bool async, bool useUpdate, bool addNew) => Task.CompletedTask; - [ConditionalTheory(Skip = "Default owned collection pattern does not work with SQLite due to composite key.")] + [Theory(Skip = "Default owned collection pattern does not work with SQLite due to composite key.")] public override Task Update_principal_with_CLR_key_owned_collection(bool async) => Task.CompletedTask; - [ConditionalTheory(Skip = "Default owned collection pattern does not work with SQLite due to composite key.")] + [Theory(Skip = "Default owned collection pattern does not work with SQLite due to composite key.")] public override Task Delete_principal_with_CLR_key_owned_collection(bool async) => Task.CompletedTask; - [ConditionalTheory(Skip = "Default owned collection pattern does not work with SQLite due to composite key.")] + [Theory(Skip = "Default owned collection pattern does not work with SQLite due to composite key.")] public override Task Clearing_CLR_key_owned_collection(bool async, bool useUpdate, bool addNew) => Task.CompletedTask; diff --git a/test/EFCore.Sqlite.FunctionalTests/LazyLoadProxySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/LazyLoadProxySqliteTest.cs index 06e5aa7f54d..271e95f2f66 100644 --- a/test/EFCore.Sqlite.FunctionalTests/LazyLoadProxySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/LazyLoadProxySqliteTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore; public class LazyLoadProxySqliteTest(LazyLoadProxySqliteTest.LoadSqliteFixture fixture) : LazyLoadProxyRelationalTestBase(fixture) { - [ConditionalFact] + [Fact] public void IsLoaded_is_not_set_if_loading_principal_collection_fails() { using var context = Fixture.CreateContext(); @@ -27,7 +27,7 @@ public void IsLoaded_is_not_set_if_loading_principal_collection_fails() Assert.True(context.Entry(principal).Collection(e => e.Children).IsLoaded); } - [ConditionalFact] + [Fact] public void IsLoaded_is_not_set_if_loading_principal_single_reference_fails() { using var context = Fixture.CreateContext(); @@ -46,7 +46,7 @@ public void IsLoaded_is_not_set_if_loading_principal_single_reference_fails() Assert.True(context.Entry(principal).Reference(e => e.Single).IsLoaded); } - [ConditionalFact] + [Fact] public void IsLoaded_is_not_set_if_loading_many_to_many_collection_fails() { using var context = Fixture.CreateContext(); @@ -65,7 +65,7 @@ public void IsLoaded_is_not_set_if_loading_many_to_many_collection_fails() Assert.True(context.Entry(principal).Collection(e => e.ManyChildren).IsLoaded); } - [ConditionalFact] + [Fact] public void IsLoaded_is_not_set_if_loading_dependent_single_reference_fails() { using var context = Fixture.CreateContext(); @@ -84,7 +84,7 @@ public void IsLoaded_is_not_set_if_loading_dependent_single_reference_fails() Assert.True(context.Entry(dependent).Reference(e => e.Parent).IsLoaded); } - [ConditionalFact] + [Fact] public void IsLoaded_is_not_set_if_loading_dependent_collection_reference_fails() { using var context = Fixture.CreateContext(); diff --git a/test/EFCore.Sqlite.FunctionalTests/LoggingSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/LoggingSqliteTest.cs index 8c7d5e79d93..1aaa266779b 100644 --- a/test/EFCore.Sqlite.FunctionalTests/LoggingSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/LoggingSqliteTest.cs @@ -13,7 +13,7 @@ namespace Microsoft.EntityFrameworkCore; public class LoggingSqliteTest : LoggingRelationalTestBase { - [ConditionalFact] + [Fact] public void AmbientTransactionWarning_throws_by_default() { using var context = new AmbientTransactionWarningContext(CreateOptionsBuilder(new ServiceCollection())); diff --git a/test/EFCore.Sqlite.FunctionalTests/Migrations/MigrationsSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Migrations/MigrationsSqliteTest.cs index e1787e353ee..4e4c1ff642b 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Migrations/MigrationsSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Migrations/MigrationsSqliteTest.cs @@ -2000,7 +2000,7 @@ public override async Task Drop_check_constraint() """); } - [ConditionalFact] + [Fact] public virtual async Task ValueGeneratedOnAdd_on_properties() { await Test( @@ -2107,7 +2107,7 @@ public override Task Multiop_rename_table_and_drop() base.Multiop_rename_table_and_drop, SqliteStrings.InvalidMigrationOperation(nameof(DropPrimaryKeyOperation))); - [ConditionalFact] + [Fact] public override async Task Add_required_primitve_collection_to_existing_table() { await base.Add_required_primitve_collection_to_existing_table(); @@ -2118,7 +2118,7 @@ public override async Task Add_required_primitve_collection_to_existing_table() """); } - [ConditionalFact] + [Fact] public override async Task Add_required_primitve_collection_with_custom_default_value_to_existing_table() { await base.Add_required_primitve_collection_with_custom_default_value_to_existing_table(); @@ -2129,7 +2129,7 @@ public override async Task Add_required_primitve_collection_with_custom_default_ """); } - [ConditionalFact] + [Fact] public override async Task Add_required_primitve_collection_with_custom_default_value_sql_to_existing_table() { await base.Add_required_primitve_collection_with_custom_default_value_sql_to_existing_table_core("'[3, 2, 1]'"); @@ -2140,7 +2140,7 @@ public override async Task Add_required_primitve_collection_with_custom_default_ """); } - [ConditionalFact(Skip = "issue #33038")] + [Fact(Skip = "issue #33038")] public override async Task Add_required_primitve_collection_with_custom_converter_to_existing_table() { await base.Add_required_primitve_collection_with_custom_converter_to_existing_table(); @@ -2151,7 +2151,7 @@ public override async Task Add_required_primitve_collection_with_custom_converte """); } - [ConditionalFact] + [Fact] public override async Task Add_required_primitve_collection_with_custom_converter_and_custom_default_value_to_existing_table() { await base.Add_required_primitve_collection_with_custom_converter_and_custom_default_value_to_existing_table(); @@ -2162,7 +2162,7 @@ public override async Task Add_required_primitve_collection_with_custom_converte """); } - [ConditionalFact] + [Fact] public override async Task Add_required_primitive_collection_to_existing_table() { await base.Add_required_primitive_collection_to_existing_table(); @@ -2173,7 +2173,7 @@ public override async Task Add_required_primitive_collection_to_existing_table() """); } - [ConditionalFact] + [Fact] public override async Task Add_required_primitive_collection_with_custom_default_value_to_existing_table() { await base.Add_required_primitive_collection_with_custom_default_value_to_existing_table(); @@ -2184,7 +2184,7 @@ public override async Task Add_required_primitive_collection_with_custom_default """); } - [ConditionalFact] + [Fact] public override async Task Add_required_primitive_collection_with_custom_default_value_sql_to_existing_table() { await base.Add_required_primitive_collection_with_custom_default_value_sql_to_existing_table_core("'[3, 2, 1]'"); @@ -2195,7 +2195,7 @@ public override async Task Add_required_primitive_collection_with_custom_default """); } - [ConditionalFact(Skip = "issue #33038")] + [Fact(Skip = "issue #33038")] public override async Task Add_required_primitive_collection_with_custom_converter_to_existing_table() { await base.Add_required_primitive_collection_with_custom_converter_to_existing_table(); @@ -2206,7 +2206,7 @@ public override async Task Add_required_primitive_collection_with_custom_convert """); } - [ConditionalFact] + [Fact] public override async Task Add_required_primitive_collection_with_custom_converter_and_custom_default_value_to_existing_table() { await base.Add_required_primitive_collection_with_custom_converter_and_custom_default_value_to_existing_table(); @@ -2217,7 +2217,7 @@ public override async Task Add_required_primitive_collection_with_custom_convert """); } - [ConditionalFact] + [Fact] public override async Task Add_optional_primitive_collection_to_existing_table() { await base.Add_optional_primitive_collection_to_existing_table(); @@ -2228,7 +2228,7 @@ public override async Task Add_optional_primitive_collection_to_existing_table() """); } - [ConditionalFact] + [Fact] public override async Task Create_table_with_required_primitive_collection() { await base.Create_table_with_required_primitive_collection(); @@ -2243,7 +2243,7 @@ public override async Task Create_table_with_required_primitive_collection() """); } - [ConditionalFact] + [Fact] public override async Task Create_table_with_optional_primitive_collection() { await base.Create_table_with_optional_primitive_collection(); @@ -2285,7 +2285,7 @@ protected override bool AssertConstraintNames protected override string NonDefaultCollation => "NOCASE"; - [ConditionalFact] + [Fact] public virtual async Task Replace_string_primary_key_with_autoincrement_identity() { await Test( @@ -2358,7 +2358,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Create_table_with_autoincrement_and_value_converter() { await Test( @@ -2391,7 +2391,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Create_table_with_autoincrement_and_value_converter_by_convention() { await Test( @@ -2424,7 +2424,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Create_table_with_composite_primary_key_ignores_autoincrement() { await Test( @@ -2459,7 +2459,7 @@ await Test( """); } - [ConditionalFact] + [Fact] public virtual async Task Alter_column_remove_autoincrement() { await Test( diff --git a/test/EFCore.Sqlite.FunctionalTests/Migrations/SqliteMigrationsSqlGeneratorTest.cs b/test/EFCore.Sqlite.FunctionalTests/Migrations/SqliteMigrationsSqlGeneratorTest.cs index 20e05b90a82..20ccf9efbd1 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Migrations/SqliteMigrationsSqlGeneratorTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Migrations/SqliteMigrationsSqlGeneratorTest.cs @@ -17,7 +17,7 @@ public class SqliteMigrationsSqlGeneratorTest() : MigrationsSqlGeneratorTestBase new SqliteDbContextOptionsBuilder(new DbContextOptionsBuilder()).UseNetTopologySuite()) .OptionsBuilder).Options) { - [ConditionalFact] + [Fact] public virtual void It_lifts_foreign_key_additions() { Generate( @@ -52,7 +52,7 @@ FOREIGN KEY ("FlavorId") REFERENCES "Flavor" ("Id") """); } - [ConditionalFact] + [Fact] public virtual void DefaultValue_formats_literal_correctly() { Generate( @@ -104,7 +104,7 @@ public override void DefaultValue_with_line_breaks_2(bool isUnicode) """); } - [ConditionalTheory, InlineData(true, null), InlineData(false, "PK_Id")] + [Theory, InlineData(true, null), InlineData(false, "PK_Id")] public void CreateTableOperation_with_annotations(bool autoincrement, string pkName) { var addIdColumn = new AddColumnOperation @@ -169,7 +169,7 @@ FOREIGN KEY ("EmployerId") REFERENCES "Companies" ("Id") """); } - [ConditionalFact] + [Fact] public void CreateSchemaOperation_is_ignored() { Generate(new EnsureSchemaOperation()); @@ -258,7 +258,7 @@ public override void AddColumnOperation_with_unicode_overridden() """); } - [ConditionalFact] + [Fact] public virtual void AddColumnOperation_with_spatial_type() { Generate( @@ -277,7 +277,7 @@ public virtual void AddColumnOperation_with_spatial_type() """); } - [ConditionalFact] + [Fact] public void DropSchemaOperation_is_ignored() { Generate(new DropSchemaOperation()); @@ -285,7 +285,7 @@ public void DropSchemaOperation_is_ignored() Assert.Empty(Sql); } - [ConditionalFact] + [Fact] public void RestartSequenceOperation_not_supported() { var ex = Assert.Throws(() => Generate(new RestartSequenceOperation())); @@ -304,7 +304,7 @@ public override void AlterColumnOperation_without_column_type() Assert.Equal(SqliteStrings.InvalidMigrationOperation(nameof(AlterColumnOperation)), ex.Message); } - [ConditionalFact] + [Fact] public void AlterColumnOperation_computed() { var ex = Assert.Throws(() => Generate( @@ -318,7 +318,7 @@ public void AlterColumnOperation_computed() Assert.Equal(SqliteStrings.InvalidMigrationOperation(nameof(AlterColumnOperation)), ex.Message); } - [ConditionalFact] + [Fact] public virtual void RenameIndexOperations_throws_when_no_model() { var migrationBuilder = new MigrationBuilder("Sqlite"); @@ -353,7 +353,7 @@ public override void RenameTableOperation_legacy() """); } - [ConditionalFact] + [Fact] public virtual void CreateTableOperation_old_autoincrement_annotation() { Generate( @@ -690,7 +690,7 @@ public override void Sequence_restart_operation(long? startsAt) Assert.Equal(SqliteStrings.SequencesNotSupported, ex.Message); } - [ConditionalFact] + [Fact] public virtual void AddPrimaryKey_throws_when_no_model() { var ex = Assert.Throws(() => Generate( @@ -704,7 +704,7 @@ public virtual void AddPrimaryKey_throws_when_no_model() Assert.Equal(SqliteStrings.InvalidMigrationOperation("AddPrimaryKeyOperation"), ex.Message); } - [ConditionalFact] + [Fact] public virtual void AddUniqueConstraint_throws_when_no_model() { var ex = Assert.Throws(() => Generate( @@ -718,7 +718,7 @@ public virtual void AddUniqueConstraint_throws_when_no_model() Assert.Equal(SqliteStrings.InvalidMigrationOperation("AddUniqueConstraintOperation"), ex.Message); } - [ConditionalFact] + [Fact] public virtual void AddCheckConstraint_throws_when_no_model() { var ex = Assert.Throws(() => Generate( @@ -732,7 +732,7 @@ public virtual void AddCheckConstraint_throws_when_no_model() Assert.Equal(SqliteStrings.InvalidMigrationOperation("AddCheckConstraintOperation"), ex.Message); } - [ConditionalFact] + [Fact] public virtual void AlterTable_mostly_works_when_no_model() { Generate( @@ -741,7 +741,7 @@ public virtual void AlterTable_mostly_works_when_no_model() Assert.Empty(Sql); } - [ConditionalFact] + [Fact] public virtual void DropForeignKey_throws_when_no_model() { var ex = Assert.Throws(() => Generate( @@ -750,7 +750,7 @@ public virtual void DropForeignKey_throws_when_no_model() Assert.Equal(SqliteStrings.InvalidMigrationOperation("DropForeignKeyOperation"), ex.Message); } - [ConditionalFact] + [Fact] public virtual void DropPrimaryKey_throws_when_no_model() { var ex = Assert.Throws(() => Generate( @@ -759,7 +759,7 @@ public virtual void DropPrimaryKey_throws_when_no_model() Assert.Equal(SqliteStrings.InvalidMigrationOperation("DropPrimaryKeyOperation"), ex.Message); } - [ConditionalFact] + [Fact] public virtual void DropUniqueConstraint_throws_when_no_model() { var ex = Assert.Throws(() => Generate( @@ -768,7 +768,7 @@ public virtual void DropUniqueConstraint_throws_when_no_model() Assert.Equal(SqliteStrings.InvalidMigrationOperation("DropUniqueConstraintOperation"), ex.Message); } - [ConditionalFact] + [Fact] public virtual void DropColumn_throws_when_no_model() { var ex = Assert.Throws(() => Generate( @@ -777,7 +777,7 @@ public virtual void DropColumn_throws_when_no_model() Assert.Equal(SqliteStrings.InvalidMigrationOperation("DropColumnOperation"), ex.Message); } - [ConditionalFact] + [Fact] public virtual void AddColumnOperation_with_comment_mostly_works_when_no_model() { Generate( @@ -795,7 +795,7 @@ public virtual void AddColumnOperation_with_comment_mostly_works_when_no_model() """); } - [ConditionalFact] + [Fact] public virtual void DropColumn_defers_subsequent_RenameColumn() { Generate( @@ -836,7 +836,7 @@ public virtual void DropColumn_defers_subsequent_RenameColumn() """); } - [ConditionalFact] + [Fact] public virtual void Deferred_RenameColumn_defers_subsequent_AddColumn() { Generate( @@ -887,7 +887,7 @@ public virtual void Deferred_RenameColumn_defers_subsequent_AddColumn() """); } - [ConditionalFact] + [Fact] public virtual void Deferred_RenameColumn_defers_subsequent_CreateIndex_unique() { Generate( @@ -941,7 +941,7 @@ public virtual void Deferred_RenameColumn_defers_subsequent_CreateIndex_unique() """); } - [ConditionalFact] + [Fact] public virtual void DropColumn_defers_subsequent_AddColumn_required() { Generate( @@ -990,7 +990,7 @@ public virtual void DropColumn_defers_subsequent_AddColumn_required() """); } - [ConditionalFact] + [Fact] public virtual void Deferred_AddColumn_defers_subsequent_CreateIndex() { Generate( @@ -1045,7 +1045,7 @@ public virtual void Deferred_AddColumn_defers_subsequent_CreateIndex() """); } - [ConditionalFact] + [Fact] public virtual void DropColumn_in_table_which_has_another_spatial_column() { Generate( @@ -1091,7 +1091,7 @@ public virtual void DropColumn_in_table_which_has_another_spatial_column() """); } - [ConditionalFact] + [Fact] public virtual void RenameTable_preserves_pending_rebuilds() { Generate( @@ -1134,7 +1134,7 @@ public virtual void RenameTable_preserves_pending_rebuilds() """); } - [ConditionalFact] + [Fact] public virtual void Rebuild_preserves_column_order() { Generate( diff --git a/test/EFCore.Sqlite.FunctionalTests/ModelBuilding/SqliteModelBuilderTestBase.cs b/test/EFCore.Sqlite.FunctionalTests/ModelBuilding/SqliteModelBuilderTestBase.cs index 86503a4e80f..50c763fbfb1 100644 --- a/test/EFCore.Sqlite.FunctionalTests/ModelBuilding/SqliteModelBuilderTestBase.cs +++ b/test/EFCore.Sqlite.FunctionalTests/ModelBuilding/SqliteModelBuilderTestBase.cs @@ -10,7 +10,7 @@ public class SqliteModelBuilderTestBase : RelationalModelBuilderTest public abstract class SqliteNonRelationship(SqliteModelBuilderFixture fixture) : RelationalNonRelationshipTestBase(fixture), IClassFixture { - [ConditionalFact] + [Fact] public void UseAutoincrement_sets_value_generation_strategy() { var modelBuilder = CreateModelBuilder(); @@ -24,7 +24,7 @@ public void UseAutoincrement_sets_value_generation_strategy() Assert.Equal(SqliteValueGenerationStrategy.Autoincrement, propertyBuilder.Metadata.GetValueGenerationStrategy()); } - [ConditionalFact] + [Fact] public void Generic_UseAutoincrement_sets_value_generation_strategy() { var modelBuilder = CreateModelBuilder(); @@ -38,7 +38,7 @@ public void Generic_UseAutoincrement_sets_value_generation_strategy() Assert.Equal(SqliteValueGenerationStrategy.Autoincrement, propertyBuilder.Metadata.GetValueGenerationStrategy()); } - [ConditionalFact] + [Fact] public void Default_value_generation_strategy_for_integer_primary_key() { var modelBuilder = CreateModelBuilder(); @@ -54,7 +54,7 @@ public void Default_value_generation_strategy_for_integer_primary_key() Assert.Equal(SqliteValueGenerationStrategy.Autoincrement, property.GetValueGenerationStrategy()); } - [ConditionalFact] + [Fact] public void No_autoincrement_for_non_primary_key() { var modelBuilder = CreateModelBuilder(); @@ -69,7 +69,7 @@ public void No_autoincrement_for_non_primary_key() Assert.Equal(SqliteValueGenerationStrategy.None, property.GetValueGenerationStrategy()); } - [ConditionalFact] + [Fact] public void No_autoincrement_for_non_integer_primary_key() { var modelBuilder = CreateModelBuilder(); @@ -84,7 +84,7 @@ public void No_autoincrement_for_non_integer_primary_key() Assert.Equal(SqliteValueGenerationStrategy.None, property.GetValueGenerationStrategy()); } - [ConditionalFact] + [Fact] public void No_autoincrement_for_composite_primary_key() { var modelBuilder = CreateModelBuilder(); @@ -104,7 +104,7 @@ public void No_autoincrement_for_composite_primary_key() Assert.Equal(SqliteValueGenerationStrategy.None, property2.GetValueGenerationStrategy()); } - [ConditionalFact] + [Fact] public void No_autoincrement_when_default_value_set() { var modelBuilder = CreateModelBuilder(); @@ -120,7 +120,7 @@ public void No_autoincrement_when_default_value_set() Assert.Equal(SqliteValueGenerationStrategy.None, property.GetValueGenerationStrategy()); } - [ConditionalFact] + [Fact] public void No_autoincrement_when_default_value_sql_set() { var modelBuilder = CreateModelBuilder(); @@ -136,7 +136,7 @@ public void No_autoincrement_when_default_value_sql_set() Assert.Equal(SqliteValueGenerationStrategy.None, property.GetValueGenerationStrategy()); } - [ConditionalFact] + [Fact] public void No_autoincrement_when_computed_column_sql_set() { var modelBuilder = CreateModelBuilder(); @@ -152,7 +152,7 @@ public void No_autoincrement_when_computed_column_sql_set() Assert.Equal(SqliteValueGenerationStrategy.None, property.GetValueGenerationStrategy()); } - [ConditionalFact] + [Fact] public void No_autoincrement_when_property_is_foreign_key() { var modelBuilder = CreateModelBuilder(); diff --git a/test/EFCore.Sqlite.FunctionalTests/OptimisticConcurrencySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/OptimisticConcurrencySqliteTest.cs index 2631e9d0440..049125c7a66 100644 --- a/test/EFCore.Sqlite.FunctionalTests/OptimisticConcurrencySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/OptimisticConcurrencySqliteTest.cs @@ -41,49 +41,49 @@ LIMIT 1 """); } - [ConditionalFact(Skip = "Optimistic Offline Lock #2195")] + [Fact(Skip = "Optimistic Offline Lock #2195")] public override Task Simple_concurrency_exception_can_be_resolved_with_store_values() => Task.FromResult(true); - [ConditionalFact(Skip = "Optimistic Offline Lock #2195")] + [Fact(Skip = "Optimistic Offline Lock #2195")] public override Task Simple_concurrency_exception_can_be_resolved_with_client_values() => Task.FromResult(true); - [ConditionalFact(Skip = "Optimistic Offline Lock #2195")] + [Fact(Skip = "Optimistic Offline Lock #2195")] public override Task Simple_concurrency_exception_can_be_resolved_with_new_values() => Task.FromResult(true); - [ConditionalFact(Skip = "Optimistic Offline Lock #2195")] + [Fact(Skip = "Optimistic Offline Lock #2195")] public override Task Simple_concurrency_exception_can_be_resolved_with_store_values_using_equivalent_of_accept_changes() => Task.FromResult(true); - [ConditionalFact(Skip = "Optimistic Offline Lock #2195")] + [Fact(Skip = "Optimistic Offline Lock #2195")] public override Task Simple_concurrency_exception_can_be_resolved_with_store_values_using_Reload() => Task.FromResult(true); - [ConditionalFact(Skip = "Optimistic Offline Lock #2195")] + [Fact(Skip = "Optimistic Offline Lock #2195")] public override Task Updating_then_deleting_the_same_entity_results_in_DbUpdateConcurrencyException() => Task.FromResult(true); - [ConditionalFact(Skip = "Optimistic Offline Lock #2195")] + [Fact(Skip = "Optimistic Offline Lock #2195")] public override Task Updating_then_deleting_the_same_entity_results_in_DbUpdateConcurrencyException_which_can_be_resolved_with_store_values() => Task.FromResult(true); - [ConditionalFact(Skip = "Optimistic Offline Lock #2195")] + [Fact(Skip = "Optimistic Offline Lock #2195")] public override Task Change_in_independent_association_after_change_in_different_concurrency_token_results_in_independent_association_exception() => Task.FromResult(true); - [ConditionalFact(Skip = "Optimistic Offline Lock #2195")] + [Fact(Skip = "Optimistic Offline Lock #2195")] public override Task Change_in_independent_association_results_in_independent_association_exception() => Task.FromResult(true); - [ConditionalFact(Skip = "Optimistic Offline Lock #2195")] + [Fact(Skip = "Optimistic Offline Lock #2195")] public override Task Two_concurrency_issues_in_one_to_many_related_entities_can_be_handled_by_dealing_with_dependent_first() => Task.FromResult(true); - [ConditionalFact(Skip = "Optimistic Offline Lock #2195")] + [Fact(Skip = "Optimistic Offline Lock #2195")] public override Task Two_concurrency_issues_in_one_to_one_related_entities_can_be_handled_by_dealing_with_dependent_first() => Task.FromResult(true); diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/Associations/Navigations/NavigationsBulkUpdateSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/Associations/Navigations/NavigationsBulkUpdateSqliteTest.cs index 174ad63ed29..6c2349092c5 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/Associations/Navigations/NavigationsBulkUpdateSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/Associations/Navigations/NavigationsBulkUpdateSqliteTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Associations.Navigations; public class NavigationsBulkUpdateSqliteTest(NavigationsSqliteFixture fixture, ITestOutputHelper testOutputHelper) : NavigationsBulkUpdateRelationalTestBase(fixture, testOutputHelper) { - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/Associations/OwnedJson/OwnedJsonStructuralEqualitySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/Associations/OwnedJson/OwnedJsonStructuralEqualitySqliteTest.cs index b15b2431313..93da77261eb 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/Associations/OwnedJson/OwnedJsonStructuralEqualitySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/Associations/OwnedJson/OwnedJsonStructuralEqualitySqliteTest.cs @@ -154,7 +154,7 @@ public override async Task Contains_with_nested_and_composed_operators() #endregion Contains - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsStructuralEqualitySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsStructuralEqualitySqliteTest.cs index 049a49801d2..a639d129404 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsStructuralEqualitySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsStructuralEqualitySqliteTest.cs @@ -266,7 +266,7 @@ public override async Task Contains_with_nested_and_composed_operators() #endregion Contains - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/Associations/OwnedTableSplitting/OwnedTableSplittingStructuralEqualitySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/Associations/OwnedTableSplitting/OwnedTableSplittingStructuralEqualitySqliteTest.cs index b82ebbd2fde..7f7e0b81bb0 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/Associations/OwnedTableSplitting/OwnedTableSplittingStructuralEqualitySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/Associations/OwnedTableSplitting/OwnedTableSplittingStructuralEqualitySqliteTest.cs @@ -226,7 +226,7 @@ public override async Task Contains_with_nested_and_composed_operators() #endregion Contains - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); } diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/BadDataSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/BadDataSqliteTest.cs index f38e8bea9ba..411c7aa2639 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/BadDataSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/BadDataSqliteTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Collections; @@ -15,7 +15,7 @@ public class BadDataSqliteTest(BadDataSqliteTest.BadDataSqliteFixture fixture) : { public BadDataSqliteFixture Fixture { get; } = fixture; - [ConditionalFact] + [Fact] public void Bad_data_error_handling_invalid_cast_key() { using var context = CreateContext("bad int"); @@ -25,7 +25,7 @@ public void Bad_data_error_handling_invalid_cast_key() context.Set().Where(p => p.ProductID != 1).ToList()).Message); } - [ConditionalFact] + [Fact] public void Bad_data_error_handling_null_key() { using var context = CreateContext(null, true); @@ -35,7 +35,7 @@ public void Bad_data_error_handling_null_key() context.Set().Where(p => p.ProductID != 2).ToList()).Message); } - [ConditionalFact] + [Fact] public void Bad_data_error_handling_invalid_cast() { using var context = CreateContext(1, true, 1); @@ -45,7 +45,7 @@ public void Bad_data_error_handling_invalid_cast() context.Set().Where(p => p.ProductID != 3).ToList()).Message); } - [ConditionalFact] + [Fact] public void Bad_data_error_handling_invalid_cast_projection() { using var context = CreateContext(1); @@ -57,7 +57,7 @@ public void Bad_data_error_handling_invalid_cast_projection() .ToList()).Message); } - [ConditionalFact] + [Fact] public void Bad_data_error_handling_invalid_cast_no_tracking() { using var context = CreateContext("bad int"); @@ -70,7 +70,7 @@ public void Bad_data_error_handling_invalid_cast_no_tracking() .ToList()).Message); } - [ConditionalFact] + [Fact] public void Bad_data_error_handling_null() { using var context = CreateContext(1, null); @@ -80,7 +80,7 @@ public void Bad_data_error_handling_null() context.Set().Where(p => p.ProductID != 6).ToList()).Message); } - [ConditionalFact] + [Fact] public void Bad_data_error_handling_null_projection() { using var context = CreateContext([null]); @@ -93,7 +93,7 @@ public void Bad_data_error_handling_null_projection() .ToList()).Message); } - [ConditionalFact] + [Fact] public void Bad_data_error_handling_null_no_tracking() { using var context = CreateContext(null, true); diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/ComplexTypeQuerySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/ComplexTypeQuerySqliteTest.cs index b9ed270549c..053931718dd 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/ComplexTypeQuerySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/ComplexTypeQuerySqliteTest.cs @@ -1155,7 +1155,7 @@ LIMIT @p1 """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/GearsOfWarQuerySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/GearsOfWarQuerySqliteTest.cs index 420ca3e1c4f..3fce0b0721e 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/GearsOfWarQuerySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/GearsOfWarQuerySqliteTest.cs @@ -17,7 +17,7 @@ public GearsOfWarQuerySqliteTest(GearsOfWarQuerySqliteFixture fixture, ITestOutp Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/JsonQuerySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/JsonQuerySqliteTest.cs index 22f382e74fb..e4bdf4b278a 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/JsonQuerySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/JsonQuerySqliteTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.Data.Sqlite; @@ -186,7 +186,7 @@ public override async Task Json_collection_Select_entity_with_initializer_Elemen => base.Json_collection_Select_entity_with_initializer_ElementAt(async))) .Message); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task FromSqlInterpolated_on_entity_with_json_with_predicate(bool async) { var parameter = new SqliteParameter { ParameterName = "prm", Value = 1 }; diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindDbFunctionsQuerySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindDbFunctionsQuerySqliteTest.cs index 313b126a8cc..19354fb2d84 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindDbFunctionsQuerySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindDbFunctionsQuerySqliteTest.cs @@ -16,7 +16,7 @@ public NorthwindDbFunctionsQuerySqliteTest( : base(fixture) => Fixture.TestSqlLoggerFactory.Clear(); - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Glob(bool async) { await AssertCount( @@ -34,7 +34,7 @@ SELECT COUNT(*) """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Glob_negated(bool async) { await AssertCount( diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindMiscellaneousQuerySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindMiscellaneousQuerySqliteTest.cs index 542ace8f45a..02b3c152c0d 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindMiscellaneousQuerySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindMiscellaneousQuerySqliteTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Sqlite.Internal; @@ -53,7 +53,7 @@ ORDER BY "c0"."ContactName" """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Select_datetime_millisecond_component_composed(bool async) { await AssertQueryScalar( @@ -67,7 +67,7 @@ await AssertQueryScalar( """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Select_datetime_TimeOfDay_component_composed(bool async) { await AssertQueryScalar( @@ -441,7 +441,7 @@ public override Task Max_on_empty_sequence_throws(bool async) public override Task Where_nanosecond_and_microsecond_component(bool async) => AssertTranslationFailed(() => base.Where_nanosecond_and_microsecond_component(async)); - [ConditionalFact] + [Fact] public async Task Single_Predicate_Cancellation() => await Assert.ThrowsAnyAsync(async () => await Single_Predicate_Cancellation_test(Fixture.TestSqlLoggerFactory.CancelQuery())); diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindSelectQuerySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindSelectQuerySqliteTest.cs index 48a197e21fd..b506a298955 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindSelectQuerySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindSelectQuerySqliteTest.cs @@ -28,7 +28,7 @@ SELECT CAST(strftime('%Y', "o"."OrderDate") AS INTEGER) """); } - [ConditionalTheory, MemberData(nameof(IsAsyncData))] + [Theory, MemberData(nameof(IsAsyncData))] public virtual async Task Select_datetime_year_component_composed(bool async) { await AssertQueryScalar( diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/PrecompiledQuerySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/PrecompiledQuerySqliteTest.cs index 6accbe38fd6..42878a42f49 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/PrecompiledQuerySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/PrecompiledQuerySqliteTest.cs @@ -14,11 +14,11 @@ public class PrecompiledQuerySqliteTest( protected override bool AlwaysPrintGeneratedSources => false; - [ConditionalFact] + [Fact] public virtual Task Glob() => Test("""_ = context.Blogs.Where(b => EF.Functions.Glob(b.Name, "*foo*")).ToList();"""); - [ConditionalFact] + [Fact] public virtual Task Regexp() => Test("""_ = context.Blogs.Where(b => Regex.IsMatch(b.Name, "^foo")).ToList();"""); diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/PrimitiveCollectionsQuerySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/PrimitiveCollectionsQuerySqliteTest.cs index 3b657bfab60..08be00ed0bf 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/PrimitiveCollectionsQuerySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/PrimitiveCollectionsQuerySqliteTest.cs @@ -1522,7 +1522,7 @@ LIMIT 2 """); } - [ConditionalFact] + [Fact] public override Task Multidimensional_array_is_not_supported() => base.Multidimensional_array_is_not_supported(); @@ -2109,7 +2109,7 @@ INNER JOIN json_each("p"."Ints") AS "i" ON "v"."Value" = "i"."value") = 2 """); } - [ConditionalFact] + [Fact] public override async Task Parameter_collection_Concat_column_collection() { // Issue #32561 @@ -2619,7 +2619,7 @@ WHERE json_array_length("b"."Ints") > 0 """); } - [ConditionalFact] + [Fact] public async Task Empty_string_used_for_primitive_collection_throws() { await using var connection = new SqliteConnection("DataSource=:memory:"); @@ -2814,7 +2814,7 @@ protected override DbContextOptionsBuilder SetParameterizedCollectionMode( return optionsBuilder; } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/SpatialQuerySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/SpatialQuerySqliteTest.cs index ab7aaf62568..f80f3c0532b 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/SpatialQuerySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/SpatialQuerySqliteTest.cs @@ -1,11 +1,11 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; #nullable disable -[SpatialiteRequired] +[ConditionalClass(typeof(SqliteTestEnvironment), nameof(SqliteTestEnvironment.SpatialiteAvailable))] public class SpatialQuerySqliteTest : SpatialQueryRelationalTestBase { public SpatialQuerySqliteTest(SpatialQuerySqliteFixture fixture, ITestOutputHelper testOutputHelper) diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/ToSqlQuerySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/ToSqlQuerySqliteTest.cs index b8b09e85e5b..9584063488a 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/ToSqlQuerySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/ToSqlQuerySqliteTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -10,7 +10,7 @@ public class ToSqlQuerySqliteTest(NonSharedFixture fixture) : ToSqlQueryTestBase protected override ITestStoreFactory NonSharedTestStoreFactory => SqliteTestStoreFactory.Instance; - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/ByteArrayTranslationsSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/ByteArrayTranslationsSqliteTest.cs index ed391100337..f27b2a90989 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/ByteArrayTranslationsSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/ByteArrayTranslationsSqliteTest.cs @@ -96,7 +96,7 @@ public override async Task SequenceEqual() """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/EnumTranslationsSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/EnumTranslationsSqliteTest.cs index 8118a3e271f..917f6d1f133 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/EnumTranslationsSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/EnumTranslationsSqliteTest.cs @@ -302,7 +302,7 @@ public override async Task HasFlag_with_nullable_parameter() """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/GuidTranslationsSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/GuidTranslationsSqliteTest.cs index 0ef654195ee..940003ffb62 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/GuidTranslationsSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/GuidTranslationsSqliteTest.cs @@ -52,7 +52,7 @@ public override async Task ToString_projection() public override Task NewGuid() => AssertTranslationFailed(() => base.NewGuid()); - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/JsonTranslationsSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/JsonTranslationsSqliteTest.cs index 4ef55b7717c..974670e394f 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/JsonTranslationsSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/JsonTranslationsSqliteTest.cs @@ -12,7 +12,7 @@ public JsonTranslationsSqliteTest(JsonTranslationsQuerySqliteFixture fixture, IT Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper); } - [ConditionalFact] + [Fact] public override async Task JsonPathExists_on_scalar_string_column() { await base.JsonPathExists_on_scalar_string_column(); @@ -25,7 +25,7 @@ WHERE json_type("j"."JsonString", '$.OptionalInt') IS NOT NULL """); } - [ConditionalFact] + [Fact] public override async Task JsonPathExists_on_complex_property() { await base.JsonPathExists_on_complex_property(); @@ -38,7 +38,7 @@ WHERE json_type("j"."JsonComplexType", '$.OptionalInt') IS NOT NULL """); } - [ConditionalFact] + [Fact] public override async Task JsonPathExists_on_owned_entity() { await base.JsonPathExists_on_owned_entity(); @@ -60,7 +60,7 @@ protected override string RemoveJsonProperty(string column, string property) => $"json_remove({column}, '$.{property}')"; } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/MathTranslationsSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/MathTranslationsSqliteTest.cs index 1c96938b8de..737b85f3847 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/MathTranslationsSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/MathTranslationsSqliteTest.cs @@ -795,7 +795,7 @@ WHERE tanh("b"."Double") > 0.0 #endregion Trigonometry - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/MiscellaneousTranslationsSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/MiscellaneousTranslationsSqliteTest.cs index 5de9524de39..049f71e4c61 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/MiscellaneousTranslationsSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/MiscellaneousTranslationsSqliteTest.cs @@ -264,7 +264,7 @@ public override async Task TimeSpan_Compare_to_simple_zero(bool compareTo) #endregion Compare - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Operators/ArithmeticOperatorTranslationsSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Operators/ArithmeticOperatorTranslationsSqliteTest.cs index 0fc2cc25716..82a86e0e6bc 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Operators/ArithmeticOperatorTranslationsSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Operators/ArithmeticOperatorTranslationsSqliteTest.cs @@ -72,7 +72,7 @@ public override async Task Minus() """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Operators/BitwiseOperatorTranslationsSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Operators/BitwiseOperatorTranslationsSqliteTest.cs index 8b0426cd3af..9d1852a2817 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Operators/BitwiseOperatorTranslationsSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Operators/BitwiseOperatorTranslationsSqliteTest.cs @@ -92,11 +92,11 @@ public override async Task And_over_boolean() """); } - [ConditionalFact(Skip = "Issue #16645 bitwise xor support")] + [Fact(Skip = "Issue #16645 bitwise xor support")] public override Task Xor() => AssertTranslationFailed(() => base.Xor()); - [ConditionalFact(Skip = "Issue #16645 bitwise xor support")] + [Fact(Skip = "Issue #16645 bitwise xor support")] public override Task Xor_over_boolean() => AssertTranslationFailed(() => base.Xor_over_boolean()); @@ -178,7 +178,7 @@ public override Task Left_shift() public override Task Right_shift() => AssertTranslationFailed(() => base.Right_shift()); - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Operators/ComparisonOperatorTranslationsSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Operators/ComparisonOperatorTranslationsSqliteTest.cs index b6d2f31a5f6..684392eaf9a 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Operators/ComparisonOperatorTranslationsSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Operators/ComparisonOperatorTranslationsSqliteTest.cs @@ -84,7 +84,7 @@ public override async Task LessThanOrEqual() """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Operators/LogicalOperatorTranslationsTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Operators/LogicalOperatorTranslationsTest.cs index 402908c4de0..c975e768a19 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Operators/LogicalOperatorTranslationsTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Operators/LogicalOperatorTranslationsTest.cs @@ -84,7 +84,7 @@ WHERE NOT ("b"."Bool") """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Operators/MiscellaneousOperatorTranslationsSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Operators/MiscellaneousOperatorTranslationsSqliteTest.cs index cfbc3131f3d..0cdfeea4a44 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Operators/MiscellaneousOperatorTranslationsSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Operators/MiscellaneousOperatorTranslationsSqliteTest.cs @@ -39,7 +39,7 @@ WHERE COALESCE("n"."String", 'Unknown') = 'Seattle' """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/StringTranslationsSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/StringTranslationsSqliteTest.cs index 139cb93b4ae..9fb628170f0 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/StringTranslationsSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/StringTranslationsSqliteTest.cs @@ -1635,7 +1635,7 @@ public override async Task Regex_IsMatch_constant_input() """); } - [ConditionalFact] + [Fact] public virtual async Task Regex_IsMatch_negated() { await AssertQuery(ss => ss.Set().Where(o => !Regex.IsMatch(o.String, "^[^S]"))); @@ -1702,7 +1702,7 @@ WHERE CAST("b"."Int" AS TEXT) LIKE '%5%' #endregion Like - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Temporal/DateOnlyTranslationsSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Temporal/DateOnlyTranslationsSqliteTest.cs index dd88fd75363..a07a5d46d3e 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Temporal/DateOnlyTranslationsSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Temporal/DateOnlyTranslationsSqliteTest.cs @@ -174,7 +174,7 @@ WHERE date("b"."DateTime") IN (@dateOnly, '1998-05-04') """); } - [ConditionalFact] + [Fact] public virtual async Task Where_AddYears_Year() { await AssertQuery(ss => ss.Set().Where(m => m.DateOnly.AddYears(3).Year == 1993)); @@ -187,7 +187,7 @@ WHERE CAST(strftime('%Y', "b"."DateOnly", CAST(3 AS TEXT) || ' years') AS INTEGE """); } - [ConditionalFact] + [Fact] public virtual async Task Where_AddYears_AddMonths() { await AssertQuery(ss => ss.Set().Where(m => m.DateOnly.AddYears(3).AddMonths(3) == new DateOnly(1994, 2, 10))); @@ -235,7 +235,7 @@ public override async Task ToDateTime_with_complex_TimeOnly() AssertSql(); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Temporal/DateTimeOffsetTranslationsSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Temporal/DateTimeOffsetTranslationsSqliteTest.cs index 34e58d45d3d..bab9ed19d07 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Temporal/DateTimeOffsetTranslationsSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Temporal/DateTimeOffsetTranslationsSqliteTest.cs @@ -239,7 +239,7 @@ SELECT COUNT(*) """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Temporal/DateTimeTranslationsSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Temporal/DateTimeTranslationsSqliteTest.cs index a7970c2d4f2..3345b344059 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Temporal/DateTimeTranslationsSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Temporal/DateTimeTranslationsSqliteTest.cs @@ -241,7 +241,7 @@ public override async Task New_with_parameters() """); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Temporal/TimeOnlyTranslationsSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Temporal/TimeOnlyTranslationsSqliteTest.cs index f8ca34671cb..e784c3e03b2 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Temporal/TimeOnlyTranslationsSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Temporal/TimeOnlyTranslationsSqliteTest.cs @@ -148,7 +148,7 @@ public override async Task Order_by_FromTimeSpan() AssertSql(); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Temporal/TimeSpanTranslationsSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Temporal/TimeSpanTranslationsSqliteTest.cs index 919280880c3..588b5909014 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Temporal/TimeSpanTranslationsSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/Translations/Temporal/TimeSpanTranslationsSqliteTest.cs @@ -59,7 +59,7 @@ public override async Task Nanoseconds() AssertSql(); } - [ConditionalFact] + [Fact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/CompiledModelSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/CompiledModelSqliteTest.cs index 7064032baab..bd649d47c63 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/CompiledModelSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/CompiledModelSqliteTest.cs @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding; -[SpatialiteRequired] +[ConditionalClass(typeof(SqliteTestEnvironment), nameof(SqliteTestEnvironment.SpatialiteAvailable))] public class CompiledModelSqliteTest(NonSharedFixture fixture) : CompiledModelRelationalTestBase(fixture) { protected override void BuildBigModel(ModelBuilder modelBuilder, bool jsonColumns) diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/SqliteDatabaseModelFactoryTest.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/SqliteDatabaseModelFactoryTest.cs index 9a554e22d22..19115000464 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/SqliteDatabaseModelFactoryTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/SqliteDatabaseModelFactoryTest.cs @@ -72,7 +72,7 @@ private void Test( #region FilteringSchemaTable - [ConditionalFact] + [Fact] public void Filter_tables() => Test( @" @@ -91,7 +91,7 @@ public void Filter_tables() DROP TABLE Everest; DROP TABLE Denali;"); - [ConditionalFact] + [Fact] public void Filter_tables_is_case_insensitive() => Test( @" @@ -114,7 +114,7 @@ public void Filter_tables_is_case_insensitive() #region Table - [ConditionalFact] + [Fact] public void Create_tables() => Test( @" @@ -133,7 +133,7 @@ public void Create_tables() DROP TABLE Everest; DROP TABLE Denali;"); - [ConditionalFact] + [Fact] public void Create_columns() => Test( @" @@ -156,7 +156,7 @@ Name text NOT NULL }, "DROP TABLE MountainsColumns;"); - [ConditionalFact] + [Fact] public void Create_view_columns() => Test( @" @@ -181,7 +181,7 @@ CREATE VIEW MountainsColumnsView }, "DROP VIEW MountainsColumnsView;"); - [ConditionalFact] + [Fact] public void Create_primary_key() => Test( "CREATE TABLE Place ( Id int PRIMARY KEY );", @@ -197,7 +197,7 @@ public void Create_primary_key() }, "DROP TABLE Place;"); - [ConditionalFact] + [Fact] public void Create_unique_constraints() => Test( @" @@ -221,7 +221,7 @@ Location int }, "DROP TABLE Place;"); - [ConditionalFact] + [Fact] public void Create_indexes() => Test( @" @@ -248,7 +248,7 @@ IndexProperty int }, "DROP TABLE IndexTable;"); - [ConditionalFact] + [Fact] public void Create_foreign_keys() => Test( @" @@ -297,7 +297,7 @@ FOREIGN KEY (Id) REFERENCES PrincipalTable(Id) ON DELETE NO ACTION DROP TABLE FirstDependent; DROP TABLE PrincipalTable;"); - [ConditionalFact] + [Fact] public void Create_composite_foreign_key_with_default_columns() => Test( @" @@ -333,7 +333,7 @@ FOREIGN KEY (Id3, Id1, Id2) REFERENCES MinimalFKTest1 DROP TABLE MinimalFKTest1; "); - [ConditionalFact] + [Fact] public void EF_internal_tables_are_not_scaffolded() => Test( @" @@ -356,7 +356,7 @@ public void EF_internal_tables_are_not_scaffolded() #region ColumnFacets - [ConditionalFact] + [Fact] public void Column_storetype_is_set() => Test( @" @@ -381,7 +381,7 @@ RandomProperty randomType }, "DROP TABLE StoreType;"); - [ConditionalTheory, InlineData("BIT", typeof(bool)), InlineData("BIT(1)", typeof(bool)), InlineData("BOOL", typeof(bool)), + [Theory, InlineData("BIT", typeof(bool)), InlineData("BIT(1)", typeof(bool)), InlineData("BOOL", typeof(bool)), InlineData("BOOLEAN", typeof(bool)), InlineData("LOGICAL", typeof(bool)), InlineData("YESNO", typeof(bool)), InlineData("TINYINT", typeof(byte)), InlineData("UINT8", typeof(byte)), InlineData("UNSIGNEDINTEGER8", typeof(byte)), InlineData("BYTE", typeof(byte)), InlineData("SMALLINT", typeof(short)), InlineData("INT16", typeof(short)), @@ -432,7 +432,7 @@ CREATE TABLE ClrType ( }, "DROP TABLE ClrType"); - [ConditionalTheory, InlineData("INTEGER", "1", typeof(int)), InlineData("INTEGER", "2147483648", null), + [Theory, InlineData("INTEGER", "1", typeof(int)), InlineData("INTEGER", "2147483648", null), InlineData("BIT", "1", typeof(bool)), InlineData("TINYINT", "1", typeof(byte)), InlineData("SMALLINT", "1", typeof(short)), InlineData("BIGINT", "1", null), InlineData("INT8", "1", typeof(sbyte)), InlineData("UINT16", "1", typeof(ushort)), InlineData("UINT", "1", typeof(uint)), InlineData("UINT64", "1", typeof(ulong)), InlineData("UINT64", "-1", typeof(ulong)), @@ -466,7 +466,7 @@ CREATE TABLE IF NOT EXISTS ClrTypeWithData ( }, "DROP TABLE ClrTypeWithData"); - [ConditionalTheory, InlineData("INTEGER", "0.1", typeof(double)), InlineData("BIT", "2", typeof(int)), + [Theory, InlineData("INTEGER", "0.1", typeof(double)), InlineData("BIT", "2", typeof(int)), InlineData("TINYINT", "-1", typeof(int)), InlineData("TINYINT", "256", typeof(int)), InlineData("SMALLINT", "32768", typeof(int)), InlineData("MEDIUMINT", "2147483648", null), InlineData("INT8", "128", typeof(int)), InlineData("UINT16", "-1", typeof(int)), InlineData("UINT16", "65536", typeof(int)), InlineData("UINT", "4294967296", null), InlineData("REAL", "'A'", null), @@ -495,7 +495,7 @@ CREATE TABLE IF NOT EXISTS ClrTypeWithData ( }, "DROP TABLE ClrTypeWithData"); - [ConditionalFact] + [Fact] public void Column_nullability_is_set() => Test( @" @@ -515,7 +515,7 @@ NonNullString text NOT NULL }, "DROP TABLE Nullable;"); - [ConditionalFact] + [Fact] public void Column_default_value_is_set() => Test( @" @@ -537,7 +537,7 @@ Created datetime DEFAULT('October 20, 2015 11am') }, "DROP TABLE DefaultValue;"); - [ConditionalFact] + [Fact] public void Column_computed_column_sql_is_set() => Test( @" @@ -562,7 +562,7 @@ GeneratedColumnStored AS (1 + 2) STORED }, "DROP TABLE ComputedColumnSql;"); - [ConditionalFact] + [Fact] public void Simple_int_literals_are_parsed_for_HasDefaultValue() => Test( @" @@ -613,7 +613,7 @@ F int DEFAULT (3 ), }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Simple_short_literals_are_parsed_for_HasDefaultValue() => Test( @" @@ -639,7 +639,7 @@ CREATE TABLE MyTable ( }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Simple_long_literals_are_parsed_for_HasDefaultValue() => Test( @$" @@ -665,7 +665,7 @@ CREATE TABLE MyTable ( }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Simple_byte_literals_are_parsed_for_HasDefaultValue() => Test( @" @@ -691,7 +691,7 @@ CREATE TABLE MyTable ( }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Simple_double_literals_are_parsed_for_HasDefaultValue() => Test( @" @@ -722,7 +722,7 @@ B float DEFAULT (0.0), }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Simple_float_literals_are_parsed_for_HasDefaultValue() => Test( @" @@ -753,7 +753,7 @@ B single DEFAULT (0.0), }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Simple_decimal_literals_are_parsed_for_HasDefaultValue() => Test( @" @@ -789,7 +789,7 @@ C decimal DEFAULT ('0'), }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Simple_decimal_literals_are_parsed_for_HasDefaultValue_with_Danish_locale() { var culture = CultureInfo.CurrentCulture; @@ -838,7 +838,7 @@ C decimal DEFAULT ('0'), } } - [ConditionalFact] + [Fact] public void Simple_bool_literals_are_parsed_for_HasDefaultValue() => Test( @" @@ -874,7 +874,7 @@ C bit DEFAULT (0), }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Simple_DateTime_literals_are_parsed_for_HasDefaultValue() => Test( @" @@ -900,7 +900,7 @@ CREATE TABLE MyTable ( }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Non_literal_or_non_parsable_DateTime_default_values_are_passed_through() => Test( @" @@ -926,7 +926,7 @@ CREATE TABLE MyTable ( }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Simple_DateOnly_literals_are_parsed_for_HasDefaultValue() => Test( @" @@ -952,7 +952,7 @@ A date DEFAULT ('1968-10-23'), }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Simple_TimeOnly_literals_are_parsed_for_HasDefaultValue() => Test( @" @@ -973,7 +973,7 @@ CREATE TABLE MyTable ( }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Simple_DateTimeOffset_literals_are_parsed_for_HasDefaultValue() => Test( @" @@ -996,7 +996,7 @@ CREATE TABLE MyTable ( }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Simple_Guid_literals_are_parsed_for_HasDefaultValue() => Test( @" @@ -1017,7 +1017,7 @@ CREATE TABLE MyTable ( }, "DROP TABLE MyTable;"); - [ConditionalFact] + [Fact] public void Simple_string_literals_are_parsed_for_HasDefaultValue() => Test( @" @@ -1058,7 +1058,7 @@ D text DEFAULT (''), }, "DROP TABLE MyTable;"); - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Column_ValueGenerated_is_set(bool autoIncrement) => Test( $@" @@ -1083,7 +1083,7 @@ CREATE TABLE AutoIncTest ( }, "DROP TABLE AutoIncTest"); - [ConditionalFact] + [Fact] public void Column_collation_is_set() => Test( @" @@ -1107,7 +1107,7 @@ NonDefaultCollation text COLLATE NOCASE #region PrimaryKeyFacets - [ConditionalFact] + [Fact] public void Create_composite_primary_key() => Test( @" @@ -1128,7 +1128,7 @@ PRIMARY KEY ( Id2, Id1 ) }, "DROP TABLE CompositePrimaryKey;"); - [ConditionalFact] + [Fact] public void Create_primary_key_when_integer_primary_key_aliased_to_rowid() => Test( @" @@ -1147,7 +1147,7 @@ Id integer PRIMARY KEY }, "DROP TABLE RowidPrimaryKey;"); - [ConditionalFact(Skip = "See issue#8802")] + [Fact(Skip = "See issue#8802")] public void Set_name_for_primary_key() => Test( @" @@ -1172,7 +1172,7 @@ CONSTRAINT PK PRIMARY KEY (Id) #region UniqueConstraintFacets - [ConditionalFact] + [Fact] public void Create_composite_unique_constraint() => Test( @" @@ -1194,7 +1194,7 @@ CREATE TABLE CompositeUniqueConstraint ( }, "DROP TABLE CompositeUniqueConstraint;"); - [ConditionalFact(Skip = "See issue#8802")] + [Fact(Skip = "See issue#8802")] public void Set_name_for_unique_constraint() => Test( @" @@ -1220,7 +1220,7 @@ CONSTRAINT UK UNIQUE (Id) #region IndexFacets - [ConditionalFact] + [Fact] public void Create_composite_index() => Test( @" @@ -1244,7 +1244,7 @@ Id2 text }, "DROP TABLE CompositeIndex;"); - [ConditionalFact] + [Fact] public void Set_unique_for_unique_index() => Test( @" @@ -1273,7 +1273,7 @@ Id2 text #region ForeignKeyFacets - [ConditionalFact] + [Fact] public void Create_composite_foreign_key() => Test( @" @@ -1308,7 +1308,7 @@ FOREIGN KEY (ForeignKeyId1, ForeignKeyId2) REFERENCES PrincipalTable(Id1, Id2) O DROP TABLE DependentTable; DROP TABLE PrincipalTable;"); - [ConditionalFact] + [Fact] public void Create_multiple_foreign_key_in_same_table() => Test( @" @@ -1362,7 +1362,7 @@ FOREIGN KEY (ForeignKeyId2) REFERENCES AnotherPrincipalTable(Id) ON DELETE CASCA DROP TABLE AnotherPrincipalTable; DROP TABLE PrincipalTable;"); - [ConditionalFact] + [Fact] public void Create_foreign_key_referencing_unique_constraint() => Test( @" @@ -1395,7 +1395,7 @@ FOREIGN KEY (ForeignKeyId) REFERENCES PrincipalTable(Id2) ON DELETE CASCADE DROP TABLE DependentTable; DROP TABLE PrincipalTable;"); - [ConditionalFact(Skip = "See issue#8802")] + [Fact(Skip = "See issue#8802")] public void Set_name_for_foreign_key() => Test( @" @@ -1428,7 +1428,7 @@ CONSTRAINT MYFK FOREIGN KEY (ForeignKeyId) REFERENCES PrincipalTable(Id) ON DELE DROP TABLE DependentTable; DROP TABLE PrincipalTable;"); - [ConditionalFact] + [Fact] public void Set_referential_action_for_foreign_key() => Test( @" @@ -1464,7 +1464,7 @@ FOREIGN KEY (ForeignKeyId) REFERENCES PrincipalTable(Id) ON DELETE SET NULL #region Warnings - [ConditionalFact] + [Fact] public void Warn_for_schema_filtering() => Test( "CREATE TABLE Everest ( id int );", @@ -1481,7 +1481,7 @@ public void Warn_for_schema_filtering() }, "DROP TABLE Everest;"); - [ConditionalFact] + [Fact] public void Warn_missing_table() => Test( "CREATE TABLE Blank ( Id int );", @@ -1499,7 +1499,7 @@ public void Warn_missing_table() }, "DROP TABLE Blank;"); - [ConditionalFact] + [Fact] public void Warn_missing_principal_table_for_foreign_key() => Test( @" @@ -1529,7 +1529,7 @@ CONSTRAINT MYFK FOREIGN KEY (ForeignKeyId) REFERENCES PrincipalTable(Id) ON DELE DROP TABLE DependentTable; DROP TABLE PrincipalTable;"); - [ConditionalFact] + [Fact] public void Warn_missing_principal_column_for_foreign_key() => Test( @" diff --git a/test/EFCore.Sqlite.FunctionalTests/SpatialSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/SpatialSqliteTest.cs index 122c5c0821c..acdc855df68 100644 --- a/test/EFCore.Sqlite.FunctionalTests/SpatialSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/SpatialSqliteTest.cs @@ -1,11 +1,11 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore; #nullable disable -[SpatialiteRequired] +[ConditionalClass(typeof(SqliteTestEnvironment), nameof(SqliteTestEnvironment.SpatialiteAvailable))] public class SpatialSqliteTest(SpatialSqliteFixture fixture) : SpatialTestBase(fixture) { protected override void UseTransaction(DatabaseFacade facade, IDbContextTransaction transaction) diff --git a/test/EFCore.Sqlite.FunctionalTests/SqliteDatabaseCreatorTest.cs b/test/EFCore.Sqlite.FunctionalTests/SqliteDatabaseCreatorTest.cs index 97927c25ea7..f3c351a9c6b 100644 --- a/test/EFCore.Sqlite.FunctionalTests/SqliteDatabaseCreatorTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/SqliteDatabaseCreatorTest.cs @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore; public class SqliteDatabaseCreatorTest { - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public async Task Exists_returns_false_when_database_doesnt_exist(bool async, bool useCanConnect) { var context = CreateContext("Data Source=doesnt-exist.db"); @@ -27,7 +27,7 @@ public async Task Exists_returns_false_when_database_doesnt_exist(bool async, bo } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task HasTables_returns_false_when_database_is_empty(bool async) { await using var testStore = await SqliteTestStore.GetOrCreateInitializedAsync("Empty"); @@ -37,7 +37,7 @@ public async Task HasTables_returns_false_when_database_is_empty(bool async) Assert.False(async ? await creator.HasTablesAsync() : creator.HasTables()); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task HasTables_returns_true_when_database_is_not_empty(bool async) { await using var testStore = await SqliteTestStore.GetOrCreateInitializedAsync($"HasATable{(async ? 'A' : 'S')}"); @@ -48,7 +48,7 @@ public async Task HasTables_returns_true_when_database_is_not_empty(bool async) Assert.True(async ? await creator.HasTablesAsync() : creator.HasTables()); } - [ConditionalTheory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true)] public async Task Exists_returns_true_when_database_exists(bool async, bool useCanConnect) { await using var testStore = await SqliteTestStore.GetOrCreateInitializedAsync("Empty"); @@ -65,7 +65,7 @@ public async Task Exists_returns_true_when_database_exists(bool async, bool useC } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Create_sets_journal_mode_to_wal(bool async) { await using var testStore = SqliteTestStore.GetOrCreate("Create"); @@ -86,7 +86,7 @@ public async Task Create_sets_journal_mode_to_wal(bool async) Assert.Equal("wal", journalMode); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Delete_works_even_when_different_connection_exists_to_same_file(bool async) { using (var context = new BathtubContext("DataSource=bathtub.db")) @@ -128,7 +128,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) => optionsBuilder.UseSqlite(_connectionString); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Delete_works_for_in_memory_database(bool async) { using var connection = new SqliteConnection("Data Source=:memory:"); @@ -202,7 +202,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) => optionsBuilder.UseSqlite(_connection); } - [ConditionalTheory, InlineData("Data Source=:memory:"), InlineData("Data Source=exists-memory;Mode=Memory;Cache=Shared")] + [Theory, InlineData("Data Source=:memory:"), InlineData("Data Source=exists-memory;Mode=Memory;Cache=Shared")] public void Exists_returns_true_when_memory(string connectionString) { var context = CreateContext(connectionString); diff --git a/test/EFCore.Sqlite.FunctionalTests/SqliteValueGenerationScenariosTest.cs b/test/EFCore.Sqlite.FunctionalTests/SqliteValueGenerationScenariosTest.cs index 68996d6a601..a4242927cba 100644 --- a/test/EFCore.Sqlite.FunctionalTests/SqliteValueGenerationScenariosTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/SqliteValueGenerationScenariosTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.ValueGeneration.Internal; @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore; public class SqliteValueGenerationScenariosTest { - [ConditionalFact] + [Fact] public void Insert_with_Identity_column() { using (var context = new BlogContextIdentity(nameof(Insert_with_Identity_column))) @@ -34,7 +34,7 @@ public void Insert_with_Identity_column() public class BlogContextIdentity(string databaseName) : ContextBase(databaseName); - [ConditionalFact] + [Fact] public void Insert_uint_to_Identity_column_using_value_converter() { using (var context = new BlogContextUIntToIdentityUsingValueConverter( @@ -80,7 +80,7 @@ public class BlogWithUIntKey public string Name { get; set; } } - [ConditionalFact] + [Fact] public void Insert_int_enum_to_Identity_column() { using (var context = new BlogContextIntEnumToIdentity(nameof(Insert_int_enum_to_Identity_column))) @@ -126,7 +126,7 @@ public class BlogWithIntEnumKey public enum IntKey; - [ConditionalFact] + [Fact] public void Insert_ushort_enum_to_Identity_column() { using (var context = new BlogContextUShortEnumToIdentity(nameof(Insert_ushort_enum_to_Identity_column))) @@ -172,7 +172,7 @@ public class BlogWithUShortEnumKey public enum UShortKey : ushort; - [ConditionalFact] + [Fact] public void Insert_string_to_Identity_column_using_value_converter() { using (var context = new BlogContextStringToIdentityUsingValueConverter( @@ -225,7 +225,7 @@ public class BlogWithStringKey public string Name { get; set; } } - [ConditionalFact] + [Fact] public void Insert_with_explicit_non_default_keys() { using (var context = new BlogContextNoKeyGeneration(nameof(Insert_with_explicit_non_default_keys))) @@ -261,7 +261,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public void Insert_with_explicit_with_default_keys() { using (var context = new BlogContextNoKeyGenerationNullableKey(nameof(Insert_with_explicit_with_default_keys))) @@ -298,7 +298,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public void Insert_with_non_key_default_value() { using (var context = new BlogContextNonKeyDefaultValue(nameof(Insert_with_non_key_default_value))) @@ -381,7 +381,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public void Insert_with_non_key_default_value_readonly() { using (var context = new BlogContextNonKeyReadOnlyDefaultValue(nameof(Insert_with_non_key_default_value_readonly))) @@ -437,7 +437,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public void Insert_with_client_generated_GUID_key() { Guid afterSave; @@ -494,7 +494,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public void Insert_with_explicit_default_keys() { using var context = new BlogContext(nameof(Insert_with_explicit_default_keys)); @@ -514,7 +514,7 @@ public void Insert_with_explicit_default_keys() public class BlogContext(string databaseName) : ContextBase(databaseName); - [ConditionalFact] + [Fact] public void Insert_with_implicit_default_keys() { using (var context = new BlogContextSpecifyKeysUsingDefault(nameof(Insert_with_implicit_default_keys))) @@ -550,7 +550,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public void Insert_explicit_value_throws_when_readonly_before_save() { using var context = new BlogContextNonKeyReadOnlyDefaultValue(nameof(Insert_explicit_value_throws_when_readonly_before_save)); diff --git a/test/EFCore.Sqlite.FunctionalTests/StoreGeneratedFixupSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/StoreGeneratedFixupSqliteTest.cs index e40f6e4b3a9..92fc29a0983 100644 --- a/test/EFCore.Sqlite.FunctionalTests/StoreGeneratedFixupSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/StoreGeneratedFixupSqliteTest.cs @@ -11,7 +11,7 @@ public class StoreGeneratedFixupSqliteTest(StoreGeneratedFixupSqliteTest.StoreGe : StoreGeneratedFixupRelationalTestBase< StoreGeneratedFixupSqliteTest.StoreGeneratedFixupSqliteFixture>(fixture) { - [ConditionalFact] + [Fact] public void Temp_values_can_be_made_permanent() { using var context = CreateContext(); diff --git a/test/EFCore.Sqlite.FunctionalTests/StoreGeneratedSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/StoreGeneratedSqliteTest.cs index 8b9b436453b..ad5bc897d1c 100644 --- a/test/EFCore.Sqlite.FunctionalTests/StoreGeneratedSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/StoreGeneratedSqliteTest.cs @@ -12,7 +12,7 @@ public override Task Fields_used_correctly_for_store_generated_values() // Computed columns not supported => Task.CompletedTask; - [ConditionalFact] + [Fact] public Task Identity_key_works_when_not_aliasing_rowid() => ExecuteWithStrategyInTransactionAsync(async context => { diff --git a/test/EFCore.Sqlite.FunctionalTests/TestUtilities/SpatialiteRequiredAttribute.cs b/test/EFCore.Sqlite.FunctionalTests/TestUtilities/SpatialiteRequiredAttribute.cs deleted file mode 100644 index 4c3193239fa..00000000000 --- a/test/EFCore.Sqlite.FunctionalTests/TestUtilities/SpatialiteRequiredAttribute.cs +++ /dev/null @@ -1,24 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using Microsoft.Data.Sqlite; -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - -namespace Microsoft.EntityFrameworkCore.TestUtilities; - -[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class)] -public sealed class SpatialiteRequiredAttribute : Attribute, ITestCondition -{ - private static readonly Lazy _loaded - = new(() => - { - using var connection = new SqliteConnection("Data Source=:memory:"); - return SpatialiteLoader.TryLoad(connection); - }); - - public ValueTask IsMetAsync() - => new(_loaded.Value); - - public string SkipReason - => "mod_spatialite not found. Install it to run this test."; -} diff --git a/test/EFCore.Sqlite.FunctionalTests/TestUtilities/SqliteTestEnvironment.cs b/test/EFCore.Sqlite.FunctionalTests/TestUtilities/SqliteTestEnvironment.cs new file mode 100644 index 00000000000..175a1467091 --- /dev/null +++ b/test/EFCore.Sqlite.FunctionalTests/TestUtilities/SqliteTestEnvironment.cs @@ -0,0 +1,33 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using Microsoft.Data.Sqlite; + +namespace Microsoft.EntityFrameworkCore.TestUtilities; + +public static class SqliteTestEnvironment +{ + private static readonly Lazy SpatialiteAvailableLazy + = new(() => + { + using var connection = new SqliteConnection("Data Source=:memory:"); + return SpatialiteLoader.TryLoad(connection); + }); + + private static readonly Lazy CurrentVersionLazy + = new(() => + { + var connection = new SqliteConnection("Data Source=:memory:;"); + return connection.ServerVersion is null ? null : new Version(connection.ServerVersion); + }); + + // ---- Conditional* helpers consumed by [ConditionalFact(typeof(TestEnvironment), nameof(...))] ---- + + public static bool SpatialiteAvailable => SpatialiteAvailableLazy.Value; + + /// + /// SQLite version >= 3.35.0 (required for STRICT tables / RETURNING). + /// + public static bool VersionAtLeast3_35 + => CurrentVersionLazy.Value is { } v && v >= new Version(3, 35, 0); +} diff --git a/test/EFCore.Sqlite.FunctionalTests/TestUtilities/SqliteVersionConditionAttribute.cs b/test/EFCore.Sqlite.FunctionalTests/TestUtilities/SqliteVersionConditionAttribute.cs deleted file mode 100644 index 002647426ef..00000000000 --- a/test/EFCore.Sqlite.FunctionalTests/TestUtilities/SqliteVersionConditionAttribute.cs +++ /dev/null @@ -1,73 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using Microsoft.Data.Sqlite; -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - -namespace Microsoft.EntityFrameworkCore.TestUtilities; - -[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class)] -public sealed class SqliteVersionConditionAttribute : Attribute, ITestCondition -{ - private Version? _min; - private Version? _max; - private Version? _skip; - - public string? Min - { - get => _min?.ToString(); - set => _min = value is null ? null : new Version(value); - } - - public string? Max - { - get => _max?.ToString(); - set => _max = value is null ? null : new Version(value); - } - - public string? Skip - { - get => _skip?.ToString(); - set => _skip = value is null ? null : new Version(value); - } - - private static Version? Current - { - get - { - var connection = new SqliteConnection("Data Source=:memory:;"); - return connection.ServerVersion != null ? new Version(connection.ServerVersion) : null; - } - } - - public ValueTask IsMetAsync() - { - if (Current == _skip) - { - return ValueTask.FromResult(false); - } - - if (_min == null - && _max == null) - { - return ValueTask.FromResult(true); - } - - if (_min == null) - { - return ValueTask.FromResult(Current <= _max); - } - - return ValueTask.FromResult(_max == null ? Current >= _min : Current <= _max && Current >= _min); - } - - private string? _skipReason; - - public string SkipReason - { - set => _skipReason = value; - get => _skipReason - ?? $"Test only runs for SQLite versions >= {Min ?? "Any"} and <= {Max ?? "Any"}" - + (Skip == null ? "" : "and skipping on " + Skip); - } -} diff --git a/test/EFCore.Sqlite.FunctionalTests/Update/StoreValueGenerationSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Update/StoreValueGenerationSqliteTest.cs index 721d4d0aed0..5efb7a5be67 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Update/StoreValueGenerationSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Update/StoreValueGenerationSqliteTest.cs @@ -4,7 +4,7 @@ namespace Microsoft.EntityFrameworkCore.Update; // Newer Sqlite versions support the RETURNING clause, so we use those (see StoreValueGenerationLegacySqliteTest for older Sqlite versions) -[SqliteVersionCondition(Min = "3.35.0")] +[ConditionalClass(typeof(SqliteTestEnvironment), nameof(SqliteTestEnvironment.VersionAtLeast3_35))] public class StoreValueGenerationSqliteTest : StoreValueGenerationTestBase { public StoreValueGenerationSqliteTest(StoreValueGenerationSqliteFixture fixture, ITestOutputHelper testOutputHelper) diff --git a/test/EFCore.Sqlite.FunctionalTests/ValueConvertersEndToEndSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/ValueConvertersEndToEndSqliteTest.cs index 6740f637492..fedc4d6b02e 100644 --- a/test/EFCore.Sqlite.FunctionalTests/ValueConvertersEndToEndSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/ValueConvertersEndToEndSqliteTest.cs @@ -6,7 +6,7 @@ namespace Microsoft.EntityFrameworkCore; public class ValueConvertersEndToEndSqliteTest(ValueConvertersEndToEndSqliteTest.ValueConvertersEndToEndSqliteFixture fixture) : ValueConvertersEndToEndTestBase(fixture) { - [ConditionalTheory, + [Theory, InlineData(nameof(ConvertingEntity.BoolAsChar), "TEXT", false), InlineData(nameof(ConvertingEntity.BoolAsNullableChar), "TEXT", false), InlineData(nameof(ConvertingEntity.BoolAsString), "TEXT", false), diff --git a/test/EFCore.Sqlite.Tests/Diagnostics/SqliteEventIdTest.cs b/test/EFCore.Sqlite.Tests/Diagnostics/SqliteEventIdTest.cs index bac970c7d90..4b4f405fc39 100644 --- a/test/EFCore.Sqlite.Tests/Diagnostics/SqliteEventIdTest.cs +++ b/test/EFCore.Sqlite.Tests/Diagnostics/SqliteEventIdTest.cs @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore.Diagnostics; public class SqliteEventIdTest : EventIdTestBase { - [ConditionalFact] + [Fact] public void Every_eventId_has_a_logger_method_and_logs_when_level_enabled() { var entityType = new EntityType(typeof(object), new Model(new ConventionSet()), owned: false, ConfigurationSource.Convention); diff --git a/test/EFCore.Sqlite.Tests/EFCore.Sqlite.Tests.csproj b/test/EFCore.Sqlite.Tests/EFCore.Sqlite.Tests.csproj index 749df3766b1..4ec80d9b6a4 100644 --- a/test/EFCore.Sqlite.Tests/EFCore.Sqlite.Tests.csproj +++ b/test/EFCore.Sqlite.Tests/EFCore.Sqlite.Tests.csproj @@ -1,4 +1,4 @@ - + $(DefaultNetCoreTargetFramework) @@ -37,7 +37,6 @@ - diff --git a/test/EFCore.Sqlite.Tests/Extensions/SqliteDatabaseFacadeExtensionsTest.cs b/test/EFCore.Sqlite.Tests/Extensions/SqliteDatabaseFacadeExtensionsTest.cs index 8cc048d2e8d..65f446da240 100644 --- a/test/EFCore.Sqlite.Tests/Extensions/SqliteDatabaseFacadeExtensionsTest.cs +++ b/test/EFCore.Sqlite.Tests/Extensions/SqliteDatabaseFacadeExtensionsTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore; public class SqliteDatabaseFacadeExtensionsTest { - [ConditionalFact] + [Fact] public void IsSqlite_when_using_SQLite() { using var context = new ProviderContext( @@ -18,7 +18,7 @@ public void IsSqlite_when_using_SQLite() Assert.True(context.Database.IsSqlite()); } - [ConditionalFact] + [Fact] public void Not_IsSqlite_when_using_different_provider() { using var context = new ProviderContext( diff --git a/test/EFCore.Sqlite.Tests/Extensions/SqliteDbContextOptionsBuilderExtensionsTest.cs b/test/EFCore.Sqlite.Tests/Extensions/SqliteDbContextOptionsBuilderExtensionsTest.cs index d2934afd109..780abfe93fb 100644 --- a/test/EFCore.Sqlite.Tests/Extensions/SqliteDbContextOptionsBuilderExtensionsTest.cs +++ b/test/EFCore.Sqlite.Tests/Extensions/SqliteDbContextOptionsBuilderExtensionsTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore; public class SqliteDbContextOptionsBuilderExtensionsTest { - [ConditionalFact] + [Fact] public void Can_add_extension_with_max_batch_size() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -19,7 +19,7 @@ public void Can_add_extension_with_max_batch_size() Assert.Equal(123, extension.MaxBatchSize); } - [ConditionalFact] + [Fact] public void Can_add_extension_with_command_timeout() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -30,7 +30,7 @@ public void Can_add_extension_with_command_timeout() Assert.Equal(30, extension.CommandTimeout); } - [ConditionalFact] + [Fact] public void Can_add_extension_with_connection_string() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -42,7 +42,7 @@ public void Can_add_extension_with_connection_string() Assert.Null(extension.Connection); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Can_add_extension_with_connection_string_using_generic_options(bool nullConnectionString) { var optionsBuilder = new DbContextOptionsBuilder(); @@ -54,7 +54,7 @@ public void Can_add_extension_with_connection_string_using_generic_options(bool Assert.Null(extension.Connection); } - [ConditionalFact] + [Fact] public void Can_add_extension_with_connection() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -69,7 +69,7 @@ public void Can_add_extension_with_connection() Assert.Null(extension.ConnectionString); } - [ConditionalFact] + [Fact] public void Can_add_extension_with_owned_connection() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -84,7 +84,7 @@ public void Can_add_extension_with_owned_connection() Assert.Null(extension.ConnectionString); } - [ConditionalFact] + [Fact] public void Can_add_extension_with_no_connection() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -97,7 +97,7 @@ public void Can_add_extension_with_no_connection() Assert.Null(extension.ConnectionString); } - [ConditionalFact] + [Fact] public void Connection_overrides_connection_string() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -113,7 +113,7 @@ public void Connection_overrides_connection_string() Assert.Null(extension.ConnectionString); } - [ConditionalFact] + [Fact] public void Connection_string_overrides_connection() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -129,7 +129,7 @@ public void Connection_string_overrides_connection() Assert.Equal("Database=Whisper", extension.ConnectionString); } - [ConditionalFact] + [Fact] public void Can_add_extension_with_connection_using_generic_options() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -144,7 +144,7 @@ public void Can_add_extension_with_connection_using_generic_options() Assert.Null(extension.ConnectionString); } - [ConditionalFact] + [Fact] public void Can_add_owned_extension_with_connection_using_generic_options() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -159,7 +159,7 @@ public void Can_add_owned_extension_with_connection_using_generic_options() Assert.Null(extension.ConnectionString); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Service_collection_extension_method_can_configure_sqlite_options(bool nullConnectionString) { var serviceCollection = new ServiceCollection(); diff --git a/test/EFCore.Sqlite.Tests/Extensions/SqliteMetadataExtensionsTest.cs b/test/EFCore.Sqlite.Tests/Extensions/SqliteMetadataExtensionsTest.cs index 94bfa945f2c..573fc3d9366 100644 --- a/test/EFCore.Sqlite.Tests/Extensions/SqliteMetadataExtensionsTest.cs +++ b/test/EFCore.Sqlite.Tests/Extensions/SqliteMetadataExtensionsTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore; public class SqliteMetadataExtensionsTest { - [ConditionalFact] + [Fact] public void Can_get_and_set_srid() { var modelBuilder = new ModelBuilder(); @@ -26,7 +26,7 @@ public void Can_get_and_set_srid() Assert.Null(property.GetSrid()); } - [ConditionalFact] + [Fact] public void Can_get_and_set_value_generation_strategy() { var modelBuilder = new ModelBuilder(); @@ -47,7 +47,7 @@ public void Can_get_and_set_value_generation_strategy() Assert.Equal(SqliteValueGenerationStrategy.None, property.GetValueGenerationStrategy()); } - [ConditionalFact] + [Fact] public void Can_set_value_generation_strategy_on_mutable_property() { var modelBuilder = new ModelBuilder(); @@ -64,7 +64,7 @@ public void Can_set_value_generation_strategy_on_mutable_property() Assert.Equal(SqliteValueGenerationStrategy.Autoincrement, property.GetValueGenerationStrategy()); } - [ConditionalFact] + [Fact] public void Default_value_generation_strategy_for_integer_primary_key() { var modelBuilder = new ModelBuilder(); @@ -78,7 +78,7 @@ public void Default_value_generation_strategy_for_integer_primary_key() Assert.Equal(SqliteValueGenerationStrategy.None, property.GetValueGenerationStrategy()); } - [ConditionalFact] + [Fact] public void No_autoincrement_for_non_primary_key() { var modelBuilder = new ModelBuilder(); @@ -91,7 +91,7 @@ public void No_autoincrement_for_non_primary_key() Assert.Equal(SqliteValueGenerationStrategy.None, property.GetValueGenerationStrategy()); } - [ConditionalFact] + [Fact] public void No_autoincrement_for_non_integer_primary_key() { var modelBuilder = new ModelBuilder(); @@ -104,7 +104,7 @@ public void No_autoincrement_for_non_integer_primary_key() Assert.Equal(SqliteValueGenerationStrategy.None, property.GetValueGenerationStrategy()); } - [ConditionalFact] + [Fact] public void No_autoincrement_for_composite_primary_key() { var modelBuilder = new ModelBuilder(); @@ -122,7 +122,7 @@ public void No_autoincrement_for_composite_primary_key() Assert.Equal(SqliteValueGenerationStrategy.None, property2.GetValueGenerationStrategy()); } - [ConditionalFact] + [Fact] public void No_autoincrement_when_default_value_set() { var modelBuilder = new ModelBuilder(); @@ -136,7 +136,7 @@ public void No_autoincrement_when_default_value_set() Assert.Equal(SqliteValueGenerationStrategy.None, property.GetValueGenerationStrategy()); } - [ConditionalFact] + [Fact] public void No_autoincrement_when_default_value_sql_set() { var modelBuilder = new ModelBuilder(); @@ -150,7 +150,7 @@ public void No_autoincrement_when_default_value_sql_set() Assert.Equal(SqliteValueGenerationStrategy.None, property.GetValueGenerationStrategy()); } - [ConditionalFact] + [Fact] public void No_autoincrement_when_computed_column_sql_set() { var modelBuilder = new ModelBuilder(); @@ -164,7 +164,7 @@ public void No_autoincrement_when_computed_column_sql_set() Assert.Equal(SqliteValueGenerationStrategy.None, property.GetValueGenerationStrategy()); } - [ConditionalFact] + [Fact] public void No_autoincrement_when_property_is_foreign_key() { var modelBuilder = new ModelBuilder(); diff --git a/test/EFCore.Sqlite.Tests/Infrastructure/SqliteModelValidatorTest.cs b/test/EFCore.Sqlite.Tests/Infrastructure/SqliteModelValidatorTest.cs index 8397788fde1..62e739a4c36 100644 --- a/test/EFCore.Sqlite.Tests/Infrastructure/SqliteModelValidatorTest.cs +++ b/test/EFCore.Sqlite.Tests/Infrastructure/SqliteModelValidatorTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure; public class SqliteModelValidatorTest : RelationalModelValidatorTest { - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_column_names_within_hierarchy_with_different_srid() { var modelBuilder = CreateConventionModelBuilder(); @@ -23,7 +23,7 @@ public virtual void Detects_duplicate_column_names_within_hierarchy_with_differe nameof(Cat), nameof(Cat.Breed), nameof(Dog), nameof(Dog.Breed), nameof(Cat.Breed), nameof(Animal)), modelBuilder); } - [ConditionalFact] + [Fact] public void Detects_schemas() { var modelBuilder = CreateConventionModelBuilder(); @@ -34,7 +34,7 @@ public void Detects_schemas() modelBuilder); } - [ConditionalFact] + [Fact] public void Detects_sequences() { var modelBuilder = CreateConventionModelBuilder(); @@ -45,7 +45,7 @@ public void Detects_sequences() modelBuilder); } - [ConditionalFact] + [Fact] public void Detects_insert_stored_procedures() { var modelBuilder = CreateConventionModelBuilder(); @@ -60,7 +60,7 @@ public void Detects_insert_stored_procedures() VerifyError(SqliteStrings.StoredProceduresNotSupported(nameof(Person)), modelBuilder); } - [ConditionalFact] + [Fact] public void Detects_update_stored_procedures() { var modelBuilder = CreateConventionModelBuilder(); @@ -75,7 +75,7 @@ public void Detects_update_stored_procedures() VerifyError(SqliteStrings.StoredProceduresNotSupported(nameof(Person)), modelBuilder); } - [ConditionalFact] + [Fact] public void Detects_delete_stored_procedures() { var modelBuilder = CreateConventionModelBuilder(); @@ -85,7 +85,7 @@ public void Detects_delete_stored_procedures() VerifyError(SqliteStrings.StoredProceduresNotSupported(nameof(Person)), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_incompatible_sql_returning_clause_shared_table() { var modelBuilder = CreateConventionModelBuilder(); @@ -252,7 +252,7 @@ private void VerifyStoredProceduresNotSupported() VerifyError(SqliteStrings.StoredProceduresNotSupported(nameof(Animal)), modelBuilder); } - [ConditionalFact] + [Fact] public void Detects_conflicting_autoincrement_and_default_value_sql() { var modelBuilder = CreateConventionModelBuilder(); @@ -267,7 +267,7 @@ public void Detects_conflicting_autoincrement_and_default_value_sql() modelBuilder); } - [ConditionalFact] + [Fact] public void Detects_conflicting_autoincrement_and_computed_column() { var modelBuilder = CreateConventionModelBuilder(); diff --git a/test/EFCore.Sqlite.Tests/Metadata/Builders/SqliteBuilderExtensionsTest.cs b/test/EFCore.Sqlite.Tests/Metadata/Builders/SqliteBuilderExtensionsTest.cs index 873c13aa39a..cc017f2c2a7 100644 --- a/test/EFCore.Sqlite.Tests/Metadata/Builders/SqliteBuilderExtensionsTest.cs +++ b/test/EFCore.Sqlite.Tests/Metadata/Builders/SqliteBuilderExtensionsTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders; public class SqliteBuilderExtensionsTest { - [ConditionalFact] + [Fact] public void Can_set_srid() { var modelBuilder = CreateConventionModelBuilder(); @@ -23,7 +23,7 @@ public void Can_set_srid() Assert.Equal(1, property.GetSrid()); } - [ConditionalFact] + [Fact] public void Can_set_srid_non_generic() { var modelBuilder = CreateConventionModelBuilder(); @@ -41,7 +41,7 @@ public void Can_set_srid_non_generic() Assert.Equal(1, property.GetSrid()); } - [ConditionalFact] + [Fact] public void Can_set_srid_convention() { var modelBuilder = ((IConventionModel)CreateConventionModelBuilder().Model).Builder; @@ -61,7 +61,7 @@ public void Can_set_srid_convention() #region UseSqlReturningClause - [ConditionalFact] + [Fact] public void Can_set_UseSqlReturningClause() { var modelBuilder = CreateConventionModelBuilder(); @@ -84,7 +84,7 @@ public void Can_set_UseSqlReturningClause() Assert.True(entityType.IsSqlReturningClauseUsed()); } - [ConditionalFact] + [Fact] public void Can_set_UseSqlReturningClause_with_table_name_and_one_table() { var modelBuilder = CreateConventionModelBuilder(); @@ -113,7 +113,7 @@ public void Can_set_UseSqlReturningClause_with_table_name_and_one_table() Assert.True(entityType.IsSqlReturningClauseUsed()); } - [ConditionalFact] + [Fact] public void Can_set_UseSqlReturningClause_with_table_name_and_two_tables() { var modelBuilder = CreateConventionModelBuilder(); @@ -148,7 +148,7 @@ public void Can_set_UseSqlReturningClause_with_table_name_and_two_tables() Assert.True(entityType.IsSqlReturningClauseUsed()); } - [ConditionalFact] + [Fact] public void Can_set_UseSqlReturningClause_non_generic() { var modelBuilder = CreateConventionModelBuilder(); diff --git a/test/EFCore.Sqlite.Tests/Metadata/Builders/SqliteMetadataBuilderExtensionsTest.cs b/test/EFCore.Sqlite.Tests/Metadata/Builders/SqliteMetadataBuilderExtensionsTest.cs index 48cb541c748..54351423048 100644 --- a/test/EFCore.Sqlite.Tests/Metadata/Builders/SqliteMetadataBuilderExtensionsTest.cs +++ b/test/EFCore.Sqlite.Tests/Metadata/Builders/SqliteMetadataBuilderExtensionsTest.cs @@ -10,7 +10,7 @@ public class SqliteMetadataBuilderExtensionsTest private IConventionModelBuilder CreateBuilder() => new InternalModelBuilder(new Model()); - [ConditionalFact] + [Fact] public void Can_change_entity_type_UseSqlReturningClause() { var typeBuilder = CreateBuilder().Entity(typeof(Splot))!; diff --git a/test/EFCore.Sqlite.Tests/Metadata/Conventions/SqliteConventionSetBuilderTests.cs b/test/EFCore.Sqlite.Tests/Metadata/Conventions/SqliteConventionSetBuilderTests.cs index 86314176fd1..f1af2b755b8 100644 --- a/test/EFCore.Sqlite.Tests/Metadata/Conventions/SqliteConventionSetBuilderTests.cs +++ b/test/EFCore.Sqlite.Tests/Metadata/Conventions/SqliteConventionSetBuilderTests.cs @@ -5,7 +5,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class SqliteConventionSetBuilderTests : ConventionSetBuilderTests { - public override IReadOnlyModel Can_build_a_model_with_default_conventions_without_DI() +#pragma warning disable xUnit1028 + public override IMutableModel Can_build_a_model_with_default_conventions_without_DI() +#pragma warning restore xUnit1028 { var model = base.Can_build_a_model_with_default_conventions_without_DI(); diff --git a/test/EFCore.Sqlite.Tests/Migrations/SqliteHistoryRepositoryTest.cs b/test/EFCore.Sqlite.Tests/Migrations/SqliteHistoryRepositoryTest.cs index e805f18bbaf..43d60ac1606 100644 --- a/test/EFCore.Sqlite.Tests/Migrations/SqliteHistoryRepositoryTest.cs +++ b/test/EFCore.Sqlite.Tests/Migrations/SqliteHistoryRepositoryTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Migrations; public class SqliteHistoryRepositoryTest { - [ConditionalFact] + [Fact] public void GetCreateScript_works() { var sql = CreateHistoryRepository().GetCreateScript(); @@ -23,7 +23,7 @@ public void GetCreateScript_works() """, sql, ignoreLineEndingDifferences: true); } - [ConditionalFact] + [Fact] public void GetCreateIfNotExistsScript_works() { var sql = CreateHistoryRepository().GetCreateIfNotExistsScript(); @@ -38,7 +38,7 @@ public void GetCreateIfNotExistsScript_works() """, sql, ignoreLineEndingDifferences: true); } - [ConditionalFact] + [Fact] public void GetDeleteScript_works() { var sql = CreateHistoryRepository().GetDeleteScript("Migration1"); @@ -51,7 +51,7 @@ DELETE FROM "__EFMigrationsHistory" """, sql, ignoreLineEndingDifferences: true); } - [ConditionalFact] + [Fact] public void GetInsertScript_works() { var sql = CreateHistoryRepository().GetInsertScript( @@ -65,7 +65,7 @@ public void GetInsertScript_works() """, sql, ignoreLineEndingDifferences: true); } - [ConditionalFact] + [Fact] public void GetBeginIfNotExistsScript_works() { var repository = CreateHistoryRepository(); @@ -74,7 +74,7 @@ public void GetBeginIfNotExistsScript_works() Assert.Equal(SqliteStrings.MigrationScriptGenerationNotSupported, ex.Message); } - [ConditionalFact] + [Fact] public void GetBeginIfExistsScript_works() { var repository = CreateHistoryRepository(); @@ -83,7 +83,7 @@ public void GetBeginIfExistsScript_works() Assert.Equal(SqliteStrings.MigrationScriptGenerationNotSupported, ex.Message); } - [ConditionalFact] + [Fact] public void GetEndIfScript_works() { var repository = CreateHistoryRepository(); diff --git a/test/EFCore.Sqlite.Tests/Migrations/SqliteMigrationAnnotationProviderTest.cs b/test/EFCore.Sqlite.Tests/Migrations/SqliteMigrationAnnotationProviderTest.cs index 1be75f7c323..246843d25dc 100644 --- a/test/EFCore.Sqlite.Tests/Migrations/SqliteMigrationAnnotationProviderTest.cs +++ b/test/EFCore.Sqlite.Tests/Migrations/SqliteMigrationAnnotationProviderTest.cs @@ -11,7 +11,7 @@ public class SqliteMigrationAnnotationProviderTest private readonly SqliteAnnotationProvider _provider = new(new RelationalAnnotationProviderDependencies()); private readonly Annotation _autoincrement = new(SqliteAnnotationNames.Autoincrement, true); - [ConditionalFact] + [Fact] public void Does_not_add_Autoincrement_for_OnAdd_integer_property_non_key() { var property = (IProperty)_modelBuilder.Entity().Property(e => e.IntProp).ValueGeneratedOnAdd().Metadata; @@ -22,7 +22,7 @@ public void Does_not_add_Autoincrement_for_OnAdd_integer_property_non_key() a => a.Name == _autoincrement.Name && (bool)a.Value!); } - [ConditionalFact] + [Fact] public void Adds_Autoincrement_for_OnAdd_integer_property_primary_key() { var property = (IProperty)_modelBuilder.Entity().Property(e => e.IntProp).ValueGeneratedOnAdd().Metadata; @@ -34,7 +34,7 @@ public void Adds_Autoincrement_for_OnAdd_integer_property_primary_key() a => a.Name == _autoincrement.Name && (bool)a.Value!); } - [ConditionalFact] + [Fact] public void Does_not_add_Autoincrement_for_OnAddOrUpdate_integer_property() { var property = (IProperty)_modelBuilder.Entity().Property(e => e.IntProp).ValueGeneratedOnAddOrUpdate().Metadata; @@ -45,7 +45,7 @@ public void Does_not_add_Autoincrement_for_OnAddOrUpdate_integer_property() a => a.Name == _autoincrement.Name); } - [ConditionalFact] + [Fact] public void Does_not_add_Autoincrement_for_OnUpdate_integer_property() { var property = (IProperty)_modelBuilder.Entity().Property(e => e.IntProp).ValueGeneratedOnUpdate().Metadata; @@ -56,7 +56,7 @@ public void Does_not_add_Autoincrement_for_OnUpdate_integer_property() a => a.Name == _autoincrement.Name); } - [ConditionalFact] + [Fact] public void Does_not_add_Autoincrement_for_Never_value_generated_integer_property() { var property = (IProperty)_modelBuilder.Entity().Property(e => e.IntProp).ValueGeneratedNever().Metadata; @@ -67,7 +67,7 @@ public void Does_not_add_Autoincrement_for_Never_value_generated_integer_propert a => a.Name == _autoincrement.Name); } - [ConditionalFact] + [Fact] public void Does_not_add_Autoincrement_for_default_integer_property() { var property = (IProperty)_modelBuilder.Entity().Property(e => e.IntProp).Metadata; @@ -78,7 +78,7 @@ public void Does_not_add_Autoincrement_for_default_integer_property() a => a.Name == _autoincrement.Name); } - [ConditionalFact] + [Fact] public void Does_not_add_Autoincrement_for_non_integer_OnAdd_property() { var property = (IProperty)_modelBuilder.Entity().Property(e => e.StringProp).ValueGeneratedOnAdd().Metadata; diff --git a/test/EFCore.Sqlite.Tests/Migrations/SqliteMigrationBuilderTest.cs b/test/EFCore.Sqlite.Tests/Migrations/SqliteMigrationBuilderTest.cs index be15dfbe848..84305972b12 100644 --- a/test/EFCore.Sqlite.Tests/Migrations/SqliteMigrationBuilderTest.cs +++ b/test/EFCore.Sqlite.Tests/Migrations/SqliteMigrationBuilderTest.cs @@ -5,14 +5,14 @@ namespace Microsoft.EntityFrameworkCore.Migrations; public class SqliteMigrationBuilderTest { - [ConditionalFact] + [Fact] public void IsSqlite_when_using_Sqlite() { var migrationBuilder = new MigrationBuilder("Microsoft.EntityFrameworkCore.Sqlite"); Assert.True(migrationBuilder.IsSqlite()); } - [ConditionalFact] + [Fact] public void Not_IsSqlite_when_using_different_provider() { var migrationBuilder = new MigrationBuilder("Microsoft.EntityFrameworkCore.InMemory"); diff --git a/test/EFCore.Sqlite.Tests/Migrations/SqliteModelDifferTest.cs b/test/EFCore.Sqlite.Tests/Migrations/SqliteModelDifferTest.cs index f49c2b916f5..08e11bf9dde 100644 --- a/test/EFCore.Sqlite.Tests/Migrations/SqliteModelDifferTest.cs +++ b/test/EFCore.Sqlite.Tests/Migrations/SqliteModelDifferTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Migrations; public class SqliteModelDifferTest : MigrationsModelDifferTestBase { - [ConditionalFact] + [Fact] public void Add_property_with_autoincrement_strategy() => Execute( _ => { }, @@ -30,7 +30,7 @@ public void Add_property_with_autoincrement_strategy() Assert.Equal(true, idColumn[SqliteAnnotationNames.Autoincrement]); }); - [ConditionalFact] + [Fact] public void Alter_property_add_autoincrement_strategy() => Execute( common => common.Entity( @@ -51,7 +51,7 @@ public void Alter_property_add_autoincrement_strategy() Assert.Null(alterColumnOperation.OldColumn[SqliteAnnotationNames.Autoincrement]); }); - [ConditionalFact] + [Fact] public void Alter_property_remove_autoincrement_strategy() => Execute( common => common.Entity( @@ -72,7 +72,7 @@ public void Alter_property_remove_autoincrement_strategy() Assert.Equal(true, alterColumnOperation.OldColumn[SqliteAnnotationNames.Autoincrement]); }); - [ConditionalFact] + [Fact] public void Autoincrement_with_value_converter_generates_consistent_migrations() => Execute( common => common.Entity( @@ -94,7 +94,7 @@ public void Autoincrement_with_value_converter_generates_consistent_migrations() Assert.Null(alterColumnOperation.OldColumn[SqliteAnnotationNames.Autoincrement]); }); - [ConditionalFact] + [Fact] public void No_repeated_alter_column_for_autoincrement_with_converter() => Execute( common => common.Entity( @@ -110,7 +110,7 @@ public void No_repeated_alter_column_for_autoincrement_with_converter() target => { }, Assert.Empty); - [ConditionalFact] + [Fact] public void Noop_when_changing_to_autoincrement_property_with_converter() => Execute( source => source.Entity( diff --git a/test/EFCore.Sqlite.Tests/Scaffolding/SqliteCodeGeneratorTest.cs b/test/EFCore.Sqlite.Tests/Scaffolding/SqliteCodeGeneratorTest.cs index b0d84ce4dc9..a2cb21c79ee 100644 --- a/test/EFCore.Sqlite.Tests/Scaffolding/SqliteCodeGeneratorTest.cs +++ b/test/EFCore.Sqlite.Tests/Scaffolding/SqliteCodeGeneratorTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Sqlite.Scaffolding.Internal; @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding; public class SqliteCodeGeneratorTest { - [ConditionalFact] + [Fact] public virtual void Use_provider_method_is_generated_correctly() { var codeGenerator = new SqliteCodeGenerator( @@ -23,7 +23,7 @@ public virtual void Use_provider_method_is_generated_correctly() Assert.Null(result.ChainedCall); } - [ConditionalFact] + [Fact] public virtual void Use_provider_method_is_generated_correctly_with_options() { var codeGenerator = new SqliteCodeGenerator( @@ -48,7 +48,7 @@ public virtual void Use_provider_method_is_generated_correctly_with_options() Assert.Null(result.ChainedCall); } - [ConditionalFact] + [Fact] public virtual void Use_provider_method_is_generated_correctly_with_NetTopologySuite() { var codeGenerator = new SqliteCodeGenerator( diff --git a/test/EFCore.Sqlite.Tests/Storage/SqliteRelationalConnectionTest.cs b/test/EFCore.Sqlite.Tests/Storage/SqliteRelationalConnectionTest.cs index 061f914ef25..7f3546359b4 100644 --- a/test/EFCore.Sqlite.Tests/Storage/SqliteRelationalConnectionTest.cs +++ b/test/EFCore.Sqlite.Tests/Storage/SqliteRelationalConnectionTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.Data.Sqlite; @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Storage; public class SqliteRelationalConnectionTest { - [ConditionalFact] + [Fact] public void Sets_DefaultTimeout_when_connectionString() { var services = SqliteTestHelpers.Instance.CreateContextServices( @@ -20,7 +20,7 @@ public void Sets_DefaultTimeout_when_connectionString() Assert.Equal(42, connection.DefaultTimeout); } - [ConditionalFact] + [Fact] public void Sets_DefaultTimeout_when_connection() { var originalConnection = new SqliteConnection("Data Source=:memory:") { DefaultTimeout = 21 }; diff --git a/test/EFCore.Sqlite.Tests/Storage/SqliteStringTypeMappingTest.cs b/test/EFCore.Sqlite.Tests/Storage/SqliteStringTypeMappingTest.cs index 7368e73726e..c90fd1f8108 100644 --- a/test/EFCore.Sqlite.Tests/Storage/SqliteStringTypeMappingTest.cs +++ b/test/EFCore.Sqlite.Tests/Storage/SqliteStringTypeMappingTest.cs @@ -1,11 +1,11 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; public class SqliteStringTypeMappingTest { - [ConditionalTheory, InlineData("", "''"), InlineData("'Sup", "'''Sup'"), InlineData("I'm", "'I''m'"), InlineData("lovin'", "'lovin'''"), + [Theory, InlineData("", "''"), InlineData("'Sup", "'''Sup'"), InlineData("I'm", "'I''m'"), InlineData("lovin'", "'lovin'''"), InlineData("it", "'it'"), InlineData("'", "''''"), InlineData("''", "''''''"), InlineData("'m lovin'", "'''m lovin'''"), InlineData("I'm lovin' it", "'I''m lovin'' it'"), InlineData("\r", "CHAR(13)"), InlineData("\n", "CHAR(10)"), InlineData("\r\n", "(CHAR(13) || CHAR(10))"), InlineData("\n'sup", "(CHAR(10) || '''sup')"), diff --git a/test/EFCore.Sqlite.Tests/Storage/SqliteTypeMappingSourceTest.cs b/test/EFCore.Sqlite.Tests/Storage/SqliteTypeMappingSourceTest.cs index 8298b65f460..8157f19018b 100644 --- a/test/EFCore.Sqlite.Tests/Storage/SqliteTypeMappingSourceTest.cs +++ b/test/EFCore.Sqlite.Tests/Storage/SqliteTypeMappingSourceTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Data; @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore; public class SqliteTypeMappingSourceTest : RelationalTypeMappingSourceTestBase { - [ConditionalTheory, + [Theory, InlineData("INTEGER", typeof(byte), DbType.Byte), InlineData("INTEGER", typeof(short), DbType.Int16), InlineData("INTEGER", typeof(int), DbType.Int32), @@ -70,7 +70,7 @@ public void Does_mappings_for_CLR_type(string storeType, Type clrType, DbType? d Assert.False(mapping.IsFixedLength); } - [ConditionalTheory, + [Theory, InlineData("INTEGER", typeof(long), DbType.Int64), InlineData("INT", typeof(long), DbType.Int64), InlineData("LINT", typeof(long), DbType.Int64), @@ -127,7 +127,7 @@ public void Does_mappings_for_store_type(string storeType, Type clrType, DbType? } } - [ConditionalTheory, + [Theory, InlineData("INTEGER", typeof(byte), DbType.Byte), InlineData("MINTED", typeof(byte), DbType.Byte), InlineData("RUBBISH", typeof(byte), DbType.Byte), @@ -286,7 +286,7 @@ public void Does_mappings_for_both_store_and_CLR_type(string storeType, Type clr } } - [ConditionalFact] + [Fact] public void Does_default_mappings_for_values() { var model = CreateModel(); @@ -306,7 +306,7 @@ public void Does_default_mappings_for_values() Assert.Equal("REAL", CreateRelationalTypeMappingSource(model).GetMappingForValue(1.0f).StoreType); } - [ConditionalFact] + [Fact] public void Does_default_mappings_for_null_values() { var model = CreateModel(); @@ -314,7 +314,7 @@ public void Does_default_mappings_for_null_values() Assert.Equal("NULL", CreateRelationalTypeMappingSource(model).GetMappingForValue(DBNull.Value).StoreType); } - [ConditionalFact] + [Fact] public void Throws_for_unrecognized_property_types() { var property = ((IMutableModel)new Model()).AddEntityType("Entity1") @@ -330,7 +330,7 @@ public void Throws_for_unrecognized_property_types() .Message); } - [ConditionalFact] + [Fact] public void Plugins_can_override_builtin_mappings() { var typeMappingSource = new SqliteTypeMappingSource( diff --git a/test/EFCore.Sqlite.Tests/Storage/SqliteTypeMappingTest.cs b/test/EFCore.Sqlite.Tests/Storage/SqliteTypeMappingTest.cs index 429505aa4d1..61710a0cc22 100644 --- a/test/EFCore.Sqlite.Tests/Storage/SqliteTypeMappingTest.cs +++ b/test/EFCore.Sqlite.Tests/Storage/SqliteTypeMappingTest.cs @@ -38,7 +38,7 @@ private class NoTiny public TinyState TinyState { get; set; } } - [ConditionalFact] + [Fact] public void SQLite_type_mapping_works_even_when_using_non_SQLite_store_type() { using var connection = new SqliteConnection("DataSource=:memory:"); @@ -65,13 +65,13 @@ public void SQLite_type_mapping_works_even_when_using_non_SQLite_store_type() protected override DbCommand CreateTestCommand() => new SqliteCommand(); - [ConditionalTheory, InlineData(typeof(SqliteDateTimeOffsetTypeMapping), typeof(DateTimeOffset)), + [Theory, InlineData(typeof(SqliteDateTimeOffsetTypeMapping), typeof(DateTimeOffset)), InlineData(typeof(SqliteDateTimeTypeMapping), typeof(DateTime)), InlineData(typeof(SqliteDecimalTypeMapping), typeof(decimal)), InlineData(typeof(SqliteGuidTypeMapping), typeof(Guid)), InlineData(typeof(SqliteULongTypeMapping), typeof(ulong))] public override void Create_and_clone_with_converter(Type mappingType, Type type) => base.Create_and_clone_with_converter(mappingType, type); - [ConditionalTheory, InlineData("TEXT", typeof(string)), InlineData("Integer", typeof(long)), InlineData("Blob", typeof(byte[])), + [Theory, InlineData("TEXT", typeof(string)), InlineData("Integer", typeof(long)), InlineData("Blob", typeof(byte[])), InlineData("numeric", typeof(byte[])), InlineData("real", typeof(double)), InlineData("doub", typeof(double)), InlineData("int", typeof(long)), InlineData("SMALLINT", typeof(long)), InlineData("UNSIGNED BIG INT", typeof(long)), InlineData("VARCHAR(255)", typeof(string)), InlineData("nchar(55)", typeof(string)), InlineData("datetime", typeof(byte[])), @@ -98,14 +98,14 @@ public override void DateTime_literal_generated_correctly() new DateTime(2015, 3, 12, 13, 36, 37, 371, DateTimeKind.Utc), "'2015-03-12 13:36:37.371'"); - [ConditionalFact] + [Fact] public override void DateOnly_literal_generated_correctly() => Test_GenerateSqlLiteral_helper( GetMapping(typeof(DateOnly)), new DateOnly(2015, 3, 12), "'2015-03-12'"); - [ConditionalFact] + [Fact] public override void TimeOnly_literal_generated_correctly() { var typeMapping = GetMapping(typeof(TimeOnly)); diff --git a/test/EFCore.Tests/ChangeTracking/ChangeTrackerTest.cs b/test/EFCore.Tests/ChangeTracking/ChangeTrackerTest.cs index dccf5c60562..75de133e8cc 100644 --- a/test/EFCore.Tests/ChangeTracking/ChangeTrackerTest.cs +++ b/test/EFCore.Tests/ChangeTracking/ChangeTrackerTest.cs @@ -13,7 +13,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking; public class ChangeTrackerTest { - [ConditionalTheory, + [Theory, InlineData(0, 0), InlineData(1, 0), InlineData(0, 1), @@ -45,7 +45,7 @@ public void Can_Add_with_identifying_relationships_dependent_first(int principal Assert.Equal(8, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, + [Theory, InlineData(0, 0), InlineData(1, 0), InlineData(0, 1), @@ -77,7 +77,7 @@ public void Can_Add_with_identifying_relationships_principal_first(int principal Assert.Equal(8, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public void Can_Attach_with_identifying_relationships_dependent_first() { using var context = new EarlyLearningCenter(); @@ -101,7 +101,7 @@ public void Can_Attach_with_identifying_relationships_dependent_first() Assert.Equal(8, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public void Can_Attach_with_identifying_relationships_dependent_first_with_principal_keys_set() { using var context = new EarlyLearningCenter(); @@ -125,7 +125,7 @@ public void Can_Attach_with_identifying_relationships_dependent_first_with_princ Assert.Equal(8, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public void Can_Attach_with_identifying_relationships_dependent_first_with_dependent_keys_set() { using var context = new EarlyLearningCenter(); @@ -149,7 +149,7 @@ public void Can_Attach_with_identifying_relationships_dependent_first_with_depen Assert.Equal(8, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public void Can_Attach_with_identifying_relationships_dependent_first_with_all_keys_set() { using var context = new EarlyLearningCenter(); @@ -173,7 +173,7 @@ public void Can_Attach_with_identifying_relationships_dependent_first_with_all_k Assert.Equal(8, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public void Can_Attach_with_identifying_relationships_principal_first() { using var context = new EarlyLearningCenter(); @@ -197,7 +197,7 @@ public void Can_Attach_with_identifying_relationships_principal_first() Assert.Equal(8, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public void Can_Attach_with_identifying_relationships_principal_first_with_principal_keys_set() { using var context = new EarlyLearningCenter(); @@ -221,7 +221,7 @@ public void Can_Attach_with_identifying_relationships_principal_first_with_princ Assert.Equal(8, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public void Can_Attach_with_identifying_relationships_principal_first_with_dependent_keys_set() { using var context = new EarlyLearningCenter(); @@ -245,7 +245,7 @@ public void Can_Attach_with_identifying_relationships_principal_first_with_depen Assert.Equal(8, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public void Can_Attach_with_identifying_relationships_principal_first_with_all_keys_set() { using var context = new EarlyLearningCenter(); @@ -269,7 +269,7 @@ public void Can_Attach_with_identifying_relationships_principal_first_with_all_k Assert.Equal(8, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public void Change_tracker_can_be_cleared() { Seed(); @@ -304,7 +304,7 @@ public void Change_tracker_can_be_cleared() Assert.Equal(EntityState.Detached, context.Entry(hats[0]).State); } - [ConditionalTheory, + [Theory, InlineData(false), InlineData(true)] public async Task Keys_generated_on_behalf_of_a_principal_are_not_saved(bool async) @@ -331,7 +331,7 @@ public async Task Keys_generated_on_behalf_of_a_principal_are_not_saved(bool asy .Message); } - [ConditionalTheory, + [Theory, InlineData(false), InlineData(true)] public async Task Attached_owned_entity_without_owner_not_saved(bool async) @@ -356,7 +356,7 @@ public async Task Attached_owned_entity_without_owner_not_saved(bool async) .Message); } - [ConditionalTheory, + [Theory, InlineData(false), InlineData(true)] public async Task Attached_owned_collection_entity_without_owner_not_saved(bool async) @@ -427,7 +427,7 @@ protected internal override void OnConfiguring(DbContextOptionsBuilder optionsBu => optionsBuilder.UseInMemoryDatabase(nameof(WeakHerosContext)); } - [ConditionalFact] + [Fact] public void DetectChanges_is_logged() { Seed(); @@ -450,7 +450,7 @@ public void DetectChanges_is_logged() .GenerateMessage(nameof(LikeAZooContext)), message); } - [ConditionalTheory, + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), @@ -497,7 +497,7 @@ public void Detect_property_change_is_logged(bool sensitive, bool callDetectChan Assert.DoesNotContain(_loggerFactory.Log, e => e.Id.Id == CoreEventId.PropertyChangeDetected.Id); } - [ConditionalTheory, + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), @@ -551,7 +551,7 @@ public void Detect_nested_property_change_is_logged(bool sensitive, bool callDet Assert.DoesNotContain(_loggerFactory.Log, e => e.Id.Id == CoreEventId.PropertyChangeDetected.Id); } - [ConditionalTheory, + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), @@ -592,7 +592,7 @@ public void Property_changes_on_Deleted_entities_are_not_continually_detected(bo Assert.DoesNotContain(_loggerFactory.Log, e => e.Id.Id == CoreEventId.PropertyChangeDetected.Id); } - [ConditionalTheory, + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), @@ -648,7 +648,7 @@ public void Detect_foreign_key_property_change_is_logged(bool sensitive, bool ca message); } - [ConditionalTheory, + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), @@ -704,7 +704,7 @@ public void Detect_collection_change_is_logged(bool sensitive, bool callDetectCh message); } - [ConditionalTheory, + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), @@ -760,7 +760,7 @@ public void Detect_skip_collection_change_is_logged(bool sensitive, bool callDet message); } - [ConditionalTheory, + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), @@ -816,7 +816,7 @@ public void Detect_reference_change_is_logged(bool sensitive, bool callDetectCha message); } - [ConditionalTheory, + [Theory, InlineData(false), InlineData(true)] public void Start_tracking_is_logged_from_query(bool sensitive) @@ -838,7 +838,7 @@ public void Start_tracking_is_logged_from_query(bool sensitive) message); } - [ConditionalTheory, + [Theory, InlineData(false), InlineData(true)] public void Start_tracking_is_logged_from_attach(bool sensitive) @@ -858,7 +858,7 @@ public void Start_tracking_is_logged_from_attach(bool sensitive) message); } - [ConditionalTheory, + [Theory, InlineData(false), InlineData(true)] public void State_change_is_logged(bool sensitive) @@ -883,7 +883,7 @@ public void State_change_is_logged(bool sensitive) message); } - [ConditionalTheory, + [Theory, InlineData(false, false, false), InlineData(true, false, false), InlineData(false, true, false), @@ -966,7 +966,7 @@ public void Reset(bool generateTemporaryValues) } } - [ConditionalTheory, + [Theory, InlineData(false, CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(false, CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(false, CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -1085,7 +1085,7 @@ void ClearMessages() } } - [ConditionalTheory, + [Theory, InlineData(false, CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges), InlineData(false, CascadeTiming.OnSaveChanges, CascadeTiming.Immediate), InlineData(false, CascadeTiming.OnSaveChanges, CascadeTiming.Never), @@ -1206,7 +1206,7 @@ void ClearMessages() } } - [ConditionalTheory, + [Theory, InlineData(false), InlineData(true)] public async Task SaveChanges_is_logged(bool async) @@ -1242,7 +1242,7 @@ public async Task SaveChanges_is_logged(bool async) .GenerateMessage(nameof(LikeAZooContext), 1), message); } - [ConditionalFact] + [Fact] public void Context_Dispose_is_logged() { using (var context = new LikeAZooContext()) @@ -1259,7 +1259,7 @@ public void Context_Dispose_is_logged() message); } - [ConditionalFact] + [Fact] public void State_change_events_fire_from_query() { var tracking = new List(); @@ -1297,7 +1297,7 @@ public void State_change_events_fire_from_query() } } - [ConditionalFact] + [Fact] public void State_change_events_fire_from_Attach() { var tracking = new List(); @@ -1329,7 +1329,7 @@ public void State_change_events_fire_from_Attach() AssertTrackedEvent(context, 2, EntityState.Unchanged, tracking[1], tracked[1], fromQuery: false); } - [ConditionalFact] + [Fact] public void State_change_events_fire_from_Add() { var tracking = new List(); @@ -1361,7 +1361,7 @@ public void State_change_events_fire_from_Add() AssertTrackedEvent(context, 2, EntityState.Added, tracking[1], tracked[1], fromQuery: false); } - [ConditionalFact] + [Fact] public void State_change_events_fire_from_Update() { var tracking = new List(); @@ -1393,7 +1393,7 @@ public void State_change_events_fire_from_Update() AssertTrackedEvent(context, 2, EntityState.Modified, tracking[1], tracked[1], fromQuery: false); } - [ConditionalFact] + [Fact] public void State_change_events_fire_for_tracked_state_changes() { var tracking = new List(); @@ -1469,7 +1469,7 @@ public void State_change_events_fire_for_tracked_state_changes() } } - [ConditionalTheory, + [Theory, InlineData(false), InlineData(true)] public void State_change_events_fire_when_saving_changes(bool callDetectChangesTwice) @@ -1524,7 +1524,7 @@ public void State_change_events_fire_when_saving_changes(bool callDetectChangesT context.Database.EnsureDeleted(); } - [ConditionalFact] + [Fact] public void State_change_events_fire_when_property_modified_flags_cause_state_change() { var tracking = new List(); @@ -1566,7 +1566,7 @@ public void State_change_events_fire_when_property_modified_flags_cause_state_ch AssertChangedEvent(context, 3, EntityState.Modified, EntityState.Unchanged, changing[1], changed[1]); } - [ConditionalFact] + [Fact] public void State_change_events_are_limited_to_the_current_context() { var tracking1 = new List(); @@ -1621,7 +1621,7 @@ public void State_change_events_are_limited_to_the_current_context() context.Database.EnsureDeleted(); } - [ConditionalFact] + [Fact] public void DetectChanges_events_fire_for_no_change() { var detectingAll = new List(); @@ -1653,7 +1653,7 @@ public void DetectChanges_events_fire_for_no_change() Assert.False(detectedEntity[1].ChangesFound); } - [ConditionalFact] + [Fact] public void DetectChanges_events_fire_for_property_change() { var detectingAll = new List(); @@ -1687,7 +1687,7 @@ public void DetectChanges_events_fire_for_property_change() Assert.False(detectedEntity[1].ChangesFound); } - [ConditionalFact] + [Fact] public void DetectChanges_events_fire_for_fk_change() { var detectingAll = new List(); @@ -1721,7 +1721,7 @@ public void DetectChanges_events_fire_for_fk_change() Assert.False(detectedEntity[1].ChangesFound); } - [ConditionalFact] + [Fact] public void DetectChanges_events_fire_for_reference_navigation_change() { var detectingAll = new List(); @@ -1755,7 +1755,7 @@ public void DetectChanges_events_fire_for_reference_navigation_change() Assert.False(detectedEntity[1].ChangesFound); } - [ConditionalFact] + [Fact] public void DetectChanges_events_fire_for_collection_navigation_change() { var detectingAll = new List(); @@ -1789,7 +1789,7 @@ public void DetectChanges_events_fire_for_collection_navigation_change() Assert.True(detectedEntity[1].ChangesFound); } - [ConditionalFact] + [Fact] public void DetectChanges_events_fire_for_skip_navigation_change() { var detectingAll = new List(); @@ -1823,7 +1823,7 @@ public void DetectChanges_events_fire_for_skip_navigation_change() Assert.False(detectedEntity[1].ChangesFound); } - [ConditionalFact] + [Fact] public void Local_DetectChanges_events_fire_for_no_change() { var detectingAll = new List(); @@ -1854,7 +1854,7 @@ public void Local_DetectChanges_events_fire_for_no_change() AssertLocalDetectChangesEvent(changesFound: false, detectingEntity[0], detectedEntity[0]); } - [ConditionalFact] + [Fact] public void Local_DetectChanges_events_fire_for_property_change() { var detectingAll = new List(); @@ -1886,7 +1886,7 @@ public void Local_DetectChanges_events_fire_for_property_change() AssertLocalDetectChangesEvent(changesFound: true, detectingEntity[0], detectedEntity[0]); } - [ConditionalFact] + [Fact] public void Local_DetectChanges_events_fire_for_fk_change() { var detectingAll = new List(); @@ -1918,7 +1918,7 @@ public void Local_DetectChanges_events_fire_for_fk_change() AssertLocalDetectChangesEvent(changesFound: true, detectingEntity[0], detectedEntity[0]); } - [ConditionalFact] + [Fact] public void Local_DetectChanges_events_fire_for_reference_navigation_change() { var detectingAll = new List(); @@ -1951,7 +1951,7 @@ public void Local_DetectChanges_events_fire_for_reference_navigation_change() AssertLocalDetectChangesEvent(changesFound: true, detectingEntity[1], detectedEntity[1]); } - [ConditionalFact] + [Fact] public void Local_DetectChanges_events_fire_for_collection_navigation_change() { var detectingAll = new List(); @@ -1983,7 +1983,7 @@ public void Local_DetectChanges_events_fire_for_collection_navigation_change() AssertLocalDetectChangesEvent(changesFound: true, detectingEntity[0], detectedEntity[0]); } - [ConditionalFact] + [Fact] public void Local_DetectChanges_events_fire_for_skip_navigation_change() { var detectingAll = new List(); @@ -2015,7 +2015,7 @@ public void Local_DetectChanges_events_fire_for_skip_navigation_change() AssertLocalDetectChangesEvent(changesFound: true, detectingEntity[0], detectedEntity[0]); } - [ConditionalFact] // Issue #26506 + [Fact] // Issue #26506 public void DetectChanges_event_can_be_used_to_know_when_all_properties_have_changed() { using var scope = _poolProvider.CreateScope(); @@ -2339,7 +2339,7 @@ void Seed(LikeAZooContext context) } } - [ConditionalTheory, + [Theory, InlineData(false), InlineData(true)] public void Can_remove_dependent_identifying_one_to_many(bool saveEntities) @@ -2383,7 +2383,7 @@ public void Can_remove_dependent_identifying_one_to_many(bool saveEntities) Assert.Empty(order.OrderDetails); } - [ConditionalFact] // Issue #26827 + [Fact] // Issue #26827 public void Setting_dependent_to_null_for_client_cascaded_optional_is_not_overwritten_by_DetectChanges() { using var context = new EarlyLearningCenter(); @@ -2405,7 +2405,7 @@ public void Setting_dependent_to_null_for_client_cascaded_optional_is_not_overwr Assert.Null(bobby.Buggy); } - [ConditionalFact] + [Fact] public void Keyless_type_negative_cases() { using var context = new EarlyLearningCenter(); @@ -2440,7 +2440,7 @@ public void Keyless_type_negative_cases() Assert.Throws(() => context.Entry(whoAmI)).Message); } - [ConditionalFact] + [Fact] public void Can_get_all_entries() { using var context = new EarlyLearningCenter(); @@ -2452,7 +2452,7 @@ public void Can_get_all_entries() context.ChangeTracker.Entries().Select(e => e.Entity).OrderBy(e => e.GetType().Name)); } - [ConditionalFact] + [Fact] public void Can_get_all_entities_for_an_entity_of_a_given_type() { using var context = new EarlyLearningCenter(); @@ -2472,14 +2472,14 @@ public void Can_get_all_entities_for_an_entity_of_a_given_type() context.ChangeTracker.Entries().Select(e => e.Entity).OrderBy(e => e.GetType().Name)); } - [ConditionalFact] + [Fact] public void Can_get_Context() { using var context = new EarlyLearningCenter(); Assert.Same(context, context.ChangeTracker.Context); } - [ConditionalTheory, + [Theory, InlineData(false, false), InlineData(true, false), InlineData(false, true), @@ -2523,7 +2523,7 @@ public void DetectChanges_reparents_even_when_immediate_cascade_enabled(bool del Assert.Equal(EntityState.Modified, context.Entry(child).State); } - [ConditionalTheory, + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), @@ -2608,7 +2608,7 @@ public void Dependent_FKs_are_not_nulled_when_principal_is_detached(bool delayCa Assert.Equal(newCategory.Id, product2Entry.Property("CategoryId").CurrentValue); } - [ConditionalTheory, + [Theory, InlineData(null, false, false, true, false, false), InlineData(null, true, false, true, false, false), InlineData(null, false, true, true, false, false), @@ -2771,7 +2771,7 @@ public void Optional_relationship_with_cascade_does_not_delete_orphans( } } - [ConditionalTheory, + [Theory, InlineData(null, false, false, true, false, false), InlineData(null, true, false, true, false, false), InlineData(null, false, true, true, false, false), @@ -3009,7 +3009,7 @@ protected internal override void OnConfiguring(DbContextOptionsBuilder optionsBu .UseInMemoryDatabase(nameof(KontainerContext)); } - [ConditionalTheory, + [Theory, InlineData(false), InlineData(true)] public void Adding_derived_owned_throws(bool useAdd) @@ -3040,7 +3040,7 @@ public void Adding_derived_owned_throws(bool useAdd) } } - [ConditionalFact] + [Fact] public void Moving_derived_owned_to_non_derived_reference_throws() { using var context = new EarlyLearningCenter(); @@ -3057,7 +3057,7 @@ public void Moving_derived_owned_to_non_derived_reference_throws() Assert.Throws(() => context.Entry(dreams)).Message); } - [ConditionalFact] // Issue #1207 + [Fact] // Issue #1207 public void Can_add_principal_and_then_identifying_dependents_with_key_generation() { using var context = new EarlyLearningCenter(); @@ -3082,7 +3082,7 @@ public void Can_add_principal_and_then_identifying_dependents_with_key_generatio AssertProductAndDetailsFixedUp(context, product1.Details.Tag.TagDetails, product2.Details.Tag.TagDetails); } - [ConditionalFact] // Issue #1207 + [Fact] // Issue #1207 public void Can_add_identifying_dependents_and_then_principal_with_key_generation() { using var context = new EarlyLearningCenter(); @@ -3108,7 +3108,7 @@ public void Can_add_identifying_dependents_and_then_principal_with_key_generatio AssertProductAndDetailsFixedUp(context, tagDetails1, tagDetails2); } - [ConditionalFact] // Issue #1207 + [Fact] // Issue #1207 public void Can_add_identifying_dependents_and_then_principal_interleaved_with_key_generation() { using var context = new EarlyLearningCenter(); @@ -3134,7 +3134,7 @@ public void Can_add_identifying_dependents_and_then_principal_interleaved_with_k AssertProductAndDetailsFixedUp(context, tagDetails1, tagDetails2); } - [ConditionalFact] // Issue #1207 + [Fact] // Issue #1207 public void Can_add_identifying_dependents_and_principal_starting_in_the_middle_with_key_generation() { using var context = new EarlyLearningCenter(); @@ -3160,7 +3160,7 @@ public void Can_add_identifying_dependents_and_principal_starting_in_the_middle_ AssertProductAndDetailsFixedUp(context, tagDetails1, tagDetails2); } - [ConditionalFact] // Issue #1207 + [Fact] // Issue #1207 public void Can_add_principal_and_identifying_dependents_starting_in_the_middle_with_key_generation() { using var context = new EarlyLearningCenter(); @@ -3185,7 +3185,7 @@ public void Can_add_principal_and_identifying_dependents_starting_in_the_middle_ AssertProductAndDetailsFixedUp(context, product1.Details.Tag.TagDetails, product2.Details.Tag.TagDetails); } - [ConditionalTheory, + [Theory, InlineData(false), InlineData(true)] // Issue #1207 public void Can_add_identifying_dependents_and_principal_with_post_nav_fixup_with_key_generation(bool callDetectChangesTwice) @@ -3228,7 +3228,7 @@ public void Can_add_identifying_dependents_and_principal_with_post_nav_fixup_wit AssertProductAndDetailsFixedUp(context, product1.Details.Tag.TagDetails, product2.Details.Tag.TagDetails); } - [ConditionalTheory, + [Theory, InlineData(false), InlineData(true)] // Issue #1207 public void Can_add_identifying_dependents_and_principal_with_reverse_post_nav_fixup_with_key_generation( @@ -3318,7 +3318,7 @@ private static void AssertProductAndDetailsFixedUp( Assert.Same(product2.Details.Tag, product2.Details.Tag.TagDetails.Tag); } - [ConditionalFact] // Issue #1207 + [Fact] // Issue #1207 public void Can_add_identifying_one_to_many_via_principal_with_key_generation() { using var context = new EarlyLearningCenter(); @@ -3345,7 +3345,7 @@ public void Can_add_identifying_one_to_many_via_principal_with_key_generation() AssertOrderAndDetailsFixedUp(context, orderDetails1a, orderDetails1b, orderDetails2a, orderDetails2b); } - [ConditionalFact] // Issue #1207 + [Fact] // Issue #1207 public void Can_add_identifying_one_to_many_via_dependents_with_key_generation() { using var context = new EarlyLearningCenter(); @@ -3432,7 +3432,7 @@ private static void AssertOrderAndDetailsFixedUp( Assert.Contains(orderDetails2b, orderDetails1b.Product.OrderDetails); } - [ConditionalTheory, + [Theory, InlineData(false), InlineData(true)] public void Entries_calls_DetectChanges_by_default(bool useGenericOverload) @@ -3457,7 +3457,7 @@ public void Entries_calls_DetectChanges_by_default(bool useGenericOverload) Assert.Equal(EntityState.Modified, entry.State); } - [ConditionalTheory, + [Theory, InlineData(false), InlineData(true)] public void Auto_DetectChanges_for_Entries_can_be_switched_off(bool useGenericOverload) @@ -3484,7 +3484,7 @@ public void Auto_DetectChanges_for_Entries_can_be_switched_off(bool useGenericOv Assert.Equal(EntityState.Unchanged, entry.State); } - [ConditionalTheory, + [Theory, InlineData(false), InlineData(true)] public void GetEntriesForState_does_not_call_DetectChanges(bool useGenericOverload) @@ -3509,7 +3509,7 @@ public void GetEntriesForState_does_not_call_DetectChanges(bool useGenericOverlo Assert.Equal(EntityState.Unchanged, entry.State); } - [ConditionalTheory, + [Theory, InlineData(false), InlineData(true)] public void GetEntriesForState_returns_only_entries_with_matching_state(bool useGenericOverload) @@ -3545,7 +3545,7 @@ public void GetEntriesForState_returns_only_entries_with_matching_state(bool use } } - [ConditionalFact] + [Fact] public void GetEntriesForState_generic_filters_by_type() { using var context = new EarlyLearningCenter(); @@ -3558,7 +3558,7 @@ public void GetEntriesForState_generic_filters_by_type() Assert.Equal(2, context.ChangeTracker.GetEntriesForState(added: true).Count()); } - [ConditionalTheory, + [Theory, InlineData(false), InlineData(true)] public void Explicitly_calling_DetectChanges_works_even_if_auto_DetectChanges_is_switched_off(bool callDetectChangesTwice) @@ -3583,7 +3583,7 @@ public void Explicitly_calling_DetectChanges_works_even_if_auto_DetectChanges_is Assert.Equal(EntityState.Modified, entry.State); } - [ConditionalFact] + [Fact] public void Does_not_throw_when_instance_of_unmapped_derived_type_is_used() { using var context = new EarlyLearningCenter(); @@ -3592,7 +3592,7 @@ public void Does_not_throw_when_instance_of_unmapped_derived_type_is_used() context.Add(new SpecialProduct()).Metadata); } - [ConditionalFact] + [Fact] public void Shadow_properties_are_not_included_in_update_unless_value_explicitly_set() { int id; @@ -3651,7 +3651,7 @@ public void Shadow_properties_are_not_included_in_update_unless_value_explicitly AssertValuesSaved(id, 0, null); } - [ConditionalFact] + [Fact] public void Clearing_change_tracker_resets_local_view_count() { using var context = new LikeAZooContext(); @@ -3664,7 +3664,7 @@ public void Clearing_change_tracker_resets_local_view_count() Assert.Equal(originalCount, context.Cats.Local.Count); } - [ConditionalFact] // Issue #26448 + [Fact] // Issue #26448 public void Stable_generated_values_do_not_force_Added_state() { using var context = new EarlyLearningCenter(); diff --git a/test/EFCore.Tests/ChangeTracking/CollectionEntryTest.cs b/test/EFCore.Tests/ChangeTracking/CollectionEntryTest.cs index 29df67e0568..a5f1a6cc66c 100644 --- a/test/EFCore.Tests/ChangeTracking/CollectionEntryTest.cs +++ b/test/EFCore.Tests/ChangeTracking/CollectionEntryTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking; public class CollectionEntryTest { - [ConditionalFact] + [Fact] public void Can_get_back_reference() { using var context = new FreezerContext(); @@ -18,7 +18,7 @@ public void Can_get_back_reference() Assert.Same(entityEntry.Entity, entityEntry.Collection("Monkeys").EntityEntry.Entity); } - [ConditionalFact] + [Fact] public void Can_get_back_reference_generic() { using var context = new FreezerContext(); @@ -29,7 +29,7 @@ public void Can_get_back_reference_generic() Assert.Same(entityEntry.Entity, entityEntry.Collection(e => e.Monkeys).EntityEntry.Entity); } - [ConditionalFact] + [Fact] public void Can_get_metadata() { using var context = new FreezerContext(); @@ -39,7 +39,7 @@ public void Can_get_metadata() Assert.Equal("Monkeys", context.Entry(entity).Collection("Monkeys").Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_metadata_generic() { using var context = new FreezerContext(); @@ -49,7 +49,7 @@ public void Can_get_metadata_generic() Assert.Equal("Monkeys", context.Entry(entity).Collection(e => e.Monkeys).Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_and_set_current_value() { using var context = new FreezerContext(); @@ -78,7 +78,7 @@ public void Can_get_and_set_current_value() Assert.Null(collection.FindEntry(chunky)); } - [ConditionalFact] + [Fact] public void Can_get_and_set_current_value_generic() { using var context = new FreezerContext(); @@ -107,7 +107,7 @@ public void Can_get_and_set_current_value_generic() Assert.Null(collection.FindEntry(chunky)); } - [ConditionalFact] + [Fact] public void Can_get_and_set_current_value_not_tracked() { using var context = new FreezerContext(); @@ -133,7 +133,7 @@ public void Can_get_and_set_current_value_not_tracked() Assert.Null(collection.CurrentValue); } - [ConditionalFact] + [Fact] public void Can_get_and_set_current_value_generic_not_tracked() { using var context = new FreezerContext(); @@ -159,7 +159,7 @@ public void Can_get_and_set_current_value_generic_not_tracked() Assert.Null(collection.CurrentValue); } - [ConditionalFact] + [Fact] public void Can_get_and_set_current_value_start_tracking() { using var context = new FreezerContext(); @@ -192,7 +192,7 @@ public void Can_get_and_set_current_value_start_tracking() Assert.Equal(EntityState.Added, context.Entry(chunky).State); } - [ConditionalFact] + [Fact] public void Can_get_and_set_current_value_start_tracking_generic() { using var context = new FreezerContext(); @@ -225,7 +225,7 @@ public void Can_get_and_set_current_value_start_tracking_generic() Assert.Equal(EntityState.Added, context.Entry(chunky).State); } - [ConditionalFact] + [Fact] public void Can_get_and_set_current_value_attached() { using var context = new FreezerContext(); @@ -260,7 +260,7 @@ public void Can_get_and_set_current_value_attached() Assert.True(context.Entry(chunky).Property(e => e.GarciaId).IsModified); } - [ConditionalFact] + [Fact] public void Can_get_and_set_current_value_generic_attached() { using var context = new FreezerContext(); @@ -295,7 +295,7 @@ public void Can_get_and_set_current_value_generic_attached() Assert.True(context.Entry(chunky).Property(e => e.GarciaId).IsModified); } - [ConditionalFact] + [Fact] public void IsModified_tracks_state_of_FK_property_principal() { using var context = new FreezerContext(); @@ -318,7 +318,7 @@ public void IsModified_tracks_state_of_FK_property_principal() Assert.False(collection.IsModified); } - [ConditionalTheory, InlineData(EntityState.Detached, EntityState.Added), InlineData(EntityState.Added, EntityState.Added), + [Theory, InlineData(EntityState.Detached, EntityState.Added), InlineData(EntityState.Added, EntityState.Added), InlineData(EntityState.Modified, EntityState.Added), InlineData(EntityState.Deleted, EntityState.Added), InlineData(EntityState.Unchanged, EntityState.Added), InlineData(EntityState.Detached, EntityState.Deleted), InlineData(EntityState.Added, EntityState.Deleted), InlineData(EntityState.Modified, EntityState.Deleted), @@ -372,7 +372,7 @@ public void IsModified_can_set_fk_to_modified_principal_with_Added_or_Deleted_de Assert.False(context.Entry(chunky2).Property(e => e.GarciaId).IsModified); } - [ConditionalTheory, InlineData(EntityState.Detached, EntityState.Unchanged), InlineData(EntityState.Added, EntityState.Unchanged), + [Theory, InlineData(EntityState.Detached, EntityState.Unchanged), InlineData(EntityState.Added, EntityState.Unchanged), InlineData(EntityState.Modified, EntityState.Unchanged), InlineData(EntityState.Deleted, EntityState.Unchanged), InlineData(EntityState.Unchanged, EntityState.Unchanged)] public void IsModified_can_set_fk_to_modified_principal_with_Unchanged_dependents( @@ -408,7 +408,7 @@ public void IsModified_can_set_fk_to_modified_principal_with_Unchanged_dependent Assert.Equal(dependentState, context.Entry(chunky2).State); } - [ConditionalTheory, InlineData(EntityState.Detached, EntityState.Modified), InlineData(EntityState.Added, EntityState.Modified), + [Theory, InlineData(EntityState.Detached, EntityState.Modified), InlineData(EntityState.Added, EntityState.Modified), InlineData(EntityState.Modified, EntityState.Modified), InlineData(EntityState.Deleted, EntityState.Modified), InlineData(EntityState.Unchanged, EntityState.Modified)] public void IsModified_can_set_fk_to_modified_principal_with_Modified_dependents( diff --git a/test/EFCore.Tests/ChangeTracking/ComplexPropertyEntryTest.cs b/test/EFCore.Tests/ChangeTracking/ComplexPropertyEntryTest.cs index d4e6231f48d..d814a749745 100644 --- a/test/EFCore.Tests/ChangeTracking/ComplexPropertyEntryTest.cs +++ b/test/EFCore.Tests/ChangeTracking/ComplexPropertyEntryTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. #nullable enable @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking; #pragma warning disable CS0649, CS0414 public class ComplexPropertyEntryTest { - [ConditionalFact] + [Fact] public void Can_obtain_underlying_state_entry() { using var context = new YogurtContext(); @@ -29,7 +29,7 @@ public void Can_obtain_underlying_state_entry() Assert.Same(entry, context.Entry((object)entity).ComplexProperty("Culture").ComplexProperty("License").GetInfrastructure()); } - [ConditionalFact] + [Fact] public void Can_get_metadata() { using var context = new YogurtContext(); @@ -48,7 +48,7 @@ public void Can_get_metadata() Assert.Equal("License", context.Entry((object)entity).ComplexProperty("Culture").ComplexProperty("License").Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_property_entry_by_name() { using var context = new YogurtContext(); @@ -75,7 +75,7 @@ public void Can_get_property_entry_by_name() "Charge", context.Entry((object)entity).ComplexProperty("Culture").ComplexProperty("License").Property("Charge").Metadata.Name); } - [ConditionalFact] + [Fact] public void Throws_when_wrong_generic_type_is_used_while_getting_property_entry_by_name() { using var context = new YogurtContext(); @@ -86,7 +86,7 @@ public void Throws_when_wrong_generic_type_is_used_while_getting_property_entry_ Assert.Throws(() => complexEntry.Property("Rating")).Message); } - [ConditionalFact] + [Fact] public void Throws_when_wrong_property_name_is_used_while_getting_property_entry_by_name() { using var context = new YogurtContext(); @@ -103,7 +103,7 @@ public void Throws_when_wrong_property_name_is_used_while_getting_property_entry Assert.Throws(() => complexEntry.Property("Chimp").Metadata.Name).Message); } - [ConditionalFact] + [Fact] public void Can_get_all_modified_properties() { using var context = new YogurtContext(); @@ -121,7 +121,7 @@ public void Can_get_all_modified_properties() Assert.Equal(["Species", "Subspecies"], modified); } - [ConditionalFact] + [Fact] public void Can_get_all_property_entries() { using var context = new YogurtContext(); @@ -137,7 +137,7 @@ public void Can_get_all_property_entries() complexEntry.Properties.Select(e => e.Metadata.Name).ToList()); } - [ConditionalFact] + [Fact] public void Throws_when_wrong_generic_type_is_used_while_getting_complex_property_entry_by_name() { using var context = new YogurtContext(); @@ -154,7 +154,7 @@ public void Throws_when_wrong_generic_type_is_used_while_getting_complex_propert Assert.Throws(() => nestedComplexEntry.ComplexProperty("Tag")).Message); } - [ConditionalFact] + [Fact] public void Throws_when_wrong_complex_property_name_is_used_while_getting_property_entry_by_name() { using var context = new YogurtContext(); @@ -171,7 +171,7 @@ public void Throws_when_wrong_complex_property_name_is_used_while_getting_proper Assert.Throws(() => complexEntry.ComplexProperty("Chimp").Metadata.Name).Message); } - [ConditionalFact] + [Fact] public void Can_get_all_complex_property_entries() { using var context = new YogurtContext(); @@ -188,7 +188,7 @@ public void Can_get_all_complex_property_entries() nestedComplexEntry.ComplexProperties.Select(e => e.Metadata.Name).ToList()); } - [ConditionalFact] + [Fact] public void Can_obtain_underlying_state_entry_with_fields() { using var context = new YogurtContext(); @@ -209,7 +209,7 @@ public void Can_obtain_underlying_state_entry_with_fields() Assert.Same(entry, context.Entry((object)entity).ComplexProperty("FieldCulture").ComplexProperty("License").GetInfrastructure()); } - [ConditionalFact] + [Fact] public void Can_get_metadata_with_fields() { using var context = new YogurtContext(); @@ -229,7 +229,7 @@ public void Can_get_metadata_with_fields() Assert.Equal("License", context.Entry((object)entity).ComplexProperty("FieldCulture").ComplexProperty("License").Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_property_entry_by_name_with_fields() { using var context = new YogurtContext(); @@ -259,7 +259,7 @@ public void Can_get_property_entry_by_name_with_fields() context.Entry((object)entity).ComplexProperty("FieldCulture").ComplexProperty("License").Property("Charge").Metadata.Name); } - [ConditionalFact] + [Fact] public void Throws_when_wrong_generic_type_is_used_while_getting_property_entry_by_name_with_fields() { using var context = new YogurtContext(); @@ -270,7 +270,7 @@ public void Throws_when_wrong_generic_type_is_used_while_getting_property_entry_ Assert.Throws(() => complexEntry.Property("Rating")).Message); } - [ConditionalFact] + [Fact] public void Throws_when_wrong_property_name_is_used_while_getting_property_entry_by_name_with_fields() { using var context = new YogurtContext(); @@ -287,7 +287,7 @@ public void Throws_when_wrong_property_name_is_used_while_getting_property_entry Assert.Throws(() => complexEntry.Property("Chimp").Metadata.Name).Message); } - [ConditionalFact] + [Fact] public void Can_get_all_modified_properties_with_fields() { using var context = new YogurtContext(); @@ -305,7 +305,7 @@ public void Can_get_all_modified_properties_with_fields() Assert.Equal(["Species", "Subspecies"], modified); } - [ConditionalFact] + [Fact] public void Can_get_all_property_entries_with_fields() { using var context = new YogurtContext(); @@ -321,7 +321,7 @@ public void Can_get_all_property_entries_with_fields() complexEntry.Properties.Select(e => e.Metadata.Name).ToList()); } - [ConditionalFact] + [Fact] public void Throws_when_wrong_generic_type_is_used_while_getting_complex_property_entry_by_name_with_fields() { using var context = new YogurtContext(); @@ -338,7 +338,7 @@ public void Throws_when_wrong_generic_type_is_used_while_getting_complex_propert Assert.Throws(() => nestedComplexEntry.ComplexProperty("Tag")).Message); } - [ConditionalFact] + [Fact] public void Throws_when_wrong_complex_property_name_is_used_while_getting_property_entry_by_name_with_fields() { using var context = new YogurtContext(); @@ -355,7 +355,7 @@ public void Throws_when_wrong_complex_property_name_is_used_while_getting_proper Assert.Throws(() => complexEntry.ComplexProperty("Chimp").Metadata.Name).Message); } - [ConditionalFact] + [Fact] public void Can_get_all_complex_property_entries_with_fields() { using var context = new YogurtContext(); diff --git a/test/EFCore.Tests/ChangeTracking/EntityEntryTest.cs b/test/EFCore.Tests/ChangeTracking/EntityEntryTest.cs index 3664c7899f8..4808ffa5b45 100644 --- a/test/EFCore.Tests/ChangeTracking/EntityEntryTest.cs +++ b/test/EFCore.Tests/ChangeTracking/EntityEntryTest.cs @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking; public class EntityEntryTest { - [ConditionalFact] + [Fact] public void Non_store_generated_key_is_always_set() { using var context = new KeySetContext(); @@ -19,7 +19,7 @@ public void Non_store_generated_key_is_always_set() Assert.True(context.Entry(new NotStoreGenerated { Id = 1 }).IsKeySet); } - [ConditionalFact] + [Fact] public void Non_store_generated_composite_key_is_always_set() { using var context = new KeySetContext(); @@ -29,7 +29,7 @@ public void Non_store_generated_composite_key_is_always_set() Assert.True(context.Entry(new CompositeNotStoreGenerated { Id1 = 1, Id2 = true }).IsKeySet); } - [ConditionalFact] + [Fact] public void Store_generated_key_is_set_only_if_non_default_value() { using var context = new KeySetContext(); @@ -37,7 +37,7 @@ public void Store_generated_key_is_set_only_if_non_default_value() Assert.True(context.Entry(new StoreGenerated { Id = 1 }).IsKeySet); } - [ConditionalFact] + [Fact] public void Store_generated_key_is_set_only_if_non_sentinel_value() { using var context = new KeySetContext(); @@ -46,7 +46,7 @@ public void Store_generated_key_is_set_only_if_non_sentinel_value() Assert.True(context.Entry(new StoreGeneratedWithSentinel()).IsKeySet); } - [ConditionalFact] + [Fact] public void Composite_store_generated_key_is_set_only_if_non_default_value_in_store_generated_part() { using var context = new KeySetContext(); @@ -56,7 +56,7 @@ public void Composite_store_generated_key_is_set_only_if_non_default_value_in_st Assert.True(context.Entry(new CompositeStoreGenerated { Id1 = 1, Id2 = true }).IsKeySet); } - [ConditionalFact] + [Fact] public void Composite_store_generated_key_is_set_only_if_non_sentinel_value_in_store_generated_part() { using var context = new KeySetContext(); @@ -68,7 +68,7 @@ public void Composite_store_generated_key_is_set_only_if_non_sentinel_value_in_s Assert.True(context.Entry(new CompositeStoreGeneratedWithSentinel { Id1 = 1 }).IsKeySet); } - [ConditionalFact] + [Fact] public void Primary_key_that_is_also_foreign_key_is_set_only_if_non_default_value() { using var context = new KeySetContext(); @@ -76,7 +76,7 @@ public void Primary_key_that_is_also_foreign_key_is_set_only_if_non_default_valu Assert.True(context.Entry(new Dependent { Id = 1 }).IsKeySet); } - [ConditionalFact] + [Fact] public void Primary_key_that_is_also_foreign_key_is_set_only_if_non_sentinel_value() { using var context = new KeySetContext(); @@ -199,7 +199,7 @@ protected internal override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public void Detached_entities_are_not_returned_from_the_change_tracker() { using var context = new FreezerContext(); @@ -221,7 +221,7 @@ public void Detached_entities_are_not_returned_from_the_change_tracker() Assert.Empty(context.ChangeTracker.Entries()); } - [ConditionalFact] + [Fact] public void Can_obtain_entity_instance() { using var context = new FreezerContext(); @@ -232,7 +232,7 @@ public void Can_obtain_entity_instance() Assert.Same(entity, context.Entry((object)entity).Entity); } - [ConditionalFact] + [Fact] public void Can_obtain_context() { using var context = new FreezerContext(); @@ -242,7 +242,7 @@ public void Can_obtain_context() Assert.Same(context, context.Entry((object)entity).Context); } - [ConditionalFact] + [Fact] public void Can_obtain_underlying_state_entry() { using var context = new FreezerContext(); @@ -253,7 +253,7 @@ public void Can_obtain_underlying_state_entry() Assert.Same(entry, context.Entry((object)entity).GetInfrastructure()); } - [ConditionalFact] + [Fact] public void Can_get_metadata() { using var context = new FreezerContext(); @@ -264,7 +264,7 @@ public void Can_get_metadata() Assert.Same(entityType, context.Entry((object)entity).Metadata); } - [ConditionalFact] + [Fact] public void Can_get_and_change_state() { using var context = new FreezerContext(); @@ -280,7 +280,7 @@ public void Can_get_and_change_state() Assert.Equal(EntityState.Unchanged, context.Entry((object)entity).State); } - [ConditionalFact] + [Fact] public void Cannot_set_invalid_state() { using var context = new FreezerContext(); @@ -295,7 +295,7 @@ public void Cannot_set_invalid_state() Assert.Throws(() => context.Entry(entity).State = (EntityState)(5)).Message); } - [ConditionalFact] + [Fact] public void Can_use_entry_to_change_state_to_Added() { ChangeStateOnEntry(EntityState.Detached, EntityState.Added); @@ -305,7 +305,7 @@ public void Can_use_entry_to_change_state_to_Added() ChangeStateOnEntry(EntityState.Added, EntityState.Added); } - [ConditionalFact] + [Fact] public void Can_use_entry_to_change_state_to_Unchanged() { ChangeStateOnEntry(EntityState.Detached, EntityState.Unchanged); @@ -315,7 +315,7 @@ public void Can_use_entry_to_change_state_to_Unchanged() ChangeStateOnEntry(EntityState.Added, EntityState.Unchanged); } - [ConditionalFact] + [Fact] public void Can_use_entry_to_change_state_to_Modified() { ChangeStateOnEntry(EntityState.Detached, EntityState.Modified); @@ -325,7 +325,7 @@ public void Can_use_entry_to_change_state_to_Modified() ChangeStateOnEntry(EntityState.Added, EntityState.Modified); } - [ConditionalFact] + [Fact] public void Can_use_entry_to_change_state_to_Deleted() { ChangeStateOnEntry(EntityState.Detached, EntityState.Deleted); @@ -335,7 +335,7 @@ public void Can_use_entry_to_change_state_to_Deleted() ChangeStateOnEntry(EntityState.Added, EntityState.Deleted); } - [ConditionalFact] + [Fact] public void Can_use_entry_to_change_state_to_Unknown() { ChangeStateOnEntry(EntityState.Detached, EntityState.Detached); @@ -356,7 +356,7 @@ private void ChangeStateOnEntry(EntityState initialState, EntityState expectedSt Assert.Equal(expectedState, entry.State); } - [ConditionalFact] + [Fact] public void Can_get_property_entry_by_name() { using var context = new FreezerContext(); @@ -366,7 +366,7 @@ public void Can_get_property_entry_by_name() Assert.Equal("Monkey", context.Entry((object)entity).Property("Monkey").Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_generic_property_entry_by_name() { using var context = new FreezerContext(); @@ -375,7 +375,7 @@ public void Can_get_generic_property_entry_by_name() Assert.Equal("Monkey", context.Entry(entity).Property("Monkey").Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_property_entry_by_IProperty() { using var context = new FreezerContext(); @@ -386,7 +386,7 @@ public void Can_get_property_entry_by_IProperty() Assert.Same(property, context.Entry((object)entity).Property(property).Metadata); } - [ConditionalFact] + [Fact] public void Can_get_generic_property_entry_by_IProperty() { using var context = new FreezerContext(); @@ -396,7 +396,7 @@ public void Can_get_generic_property_entry_by_IProperty() Assert.Same(property, context.Entry(entity).Property(property).Metadata); } - [ConditionalFact] + [Fact] public void Throws_when_wrong_generic_type_is_used_while_getting_property_entry_by_name() { using var context = new FreezerContext(); @@ -407,7 +407,7 @@ public void Throws_when_wrong_generic_type_is_used_while_getting_property_entry_ Assert.Throws(() => context.Entry(entity).Property("Monkey")).Message); } - [ConditionalFact] + [Fact] public void Can_get_generic_property_entry_by_lambda() { using var context = new FreezerContext(); @@ -416,7 +416,7 @@ public void Can_get_generic_property_entry_by_lambda() Assert.Equal("Monkey", context.Entry(entity).Property(e => e.Monkey).Metadata.Name); } - [ConditionalFact] + [Fact] public void Throws_when_wrong_property_name_is_used_while_getting_property_entry_by_name() { using var context = new FreezerContext(); @@ -433,7 +433,7 @@ public void Throws_when_wrong_property_name_is_used_while_getting_property_entry Assert.Throws(() => context.Entry(entity).Property("Chimp").Metadata.Name).Message); } - [ConditionalFact] + [Fact] public void Can_get_reference_entry_by_name() { using var context = new FreezerContext(); @@ -443,7 +443,7 @@ public void Can_get_reference_entry_by_name() Assert.Equal("Garcia", context.Entry((object)entity).Reference("Garcia").Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_generic_reference_entry_by_name() { using var context = new FreezerContext(); @@ -452,7 +452,7 @@ public void Can_get_generic_reference_entry_by_name() Assert.Equal("Garcia", context.Entry(entity).Reference("Garcia").Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_generic_reference_entry_by_lambda() { using var context = new FreezerContext(); @@ -461,7 +461,7 @@ public void Can_get_generic_reference_entry_by_lambda() Assert.Equal("Garcia", context.Entry(entity).Reference(e => e.Garcia).Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_reference_entry_by_INavigationBase() { using var context = new FreezerContext(); @@ -472,7 +472,7 @@ public void Can_get_reference_entry_by_INavigationBase() Assert.Same(navigationBase, context.Entry((object)entity).Reference(navigationBase).Metadata); } - [ConditionalFact] + [Fact] public void Can_get_generic_reference_entry_by_INavigationBase() { using var context = new FreezerContext(); @@ -482,7 +482,7 @@ public void Can_get_generic_reference_entry_by_INavigationBase() Assert.Same(navigationBase, context.Entry(entity).Reference(navigationBase).Metadata); } - [ConditionalFact] + [Fact] public void Throws_when_wrong_reference_name_is_used_while_getting_property_entry_by_name() { using var context = new FreezerContext(); @@ -499,7 +499,7 @@ public void Throws_when_wrong_reference_name_is_used_while_getting_property_entr Assert.Throws(() => context.Entry(entity).Reference("Chimp").Metadata.Name).Message); } - [ConditionalFact] + [Fact] public void Throws_when_accessing_property_as_reference() { using var context = new FreezerContext(); @@ -529,7 +529,7 @@ public void Throws_when_accessing_property_as_reference() Assert.Throws(() => context.Entry(entity).Reference(e => e.Nonkey).Metadata.Name).Message); } - [ConditionalFact] + [Fact] public void Throws_when_accessing_collection_as_reference() { using var context = new FreezerContext(); @@ -580,7 +580,7 @@ public void Throws_when_accessing_collection_as_reference() Assert.Throws(() => context.Entry(entity).Reference(navigationBase)).Message); } - [ConditionalFact] + [Fact] public void Can_get_collection_entry_by_name() { using var context = new FreezerContext(); @@ -590,7 +590,7 @@ public void Can_get_collection_entry_by_name() Assert.Equal("Monkeys", context.Entry((object)entity).Collection("Monkeys").Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_generic_collection_entry_by_name() { using var context = new FreezerContext(); @@ -599,7 +599,7 @@ public void Can_get_generic_collection_entry_by_name() Assert.Equal("Monkeys", context.Entry(entity).Collection("Monkeys").Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_generic_collection_entry_by_lambda() { using var context = new FreezerContext(); @@ -608,7 +608,7 @@ public void Can_get_generic_collection_entry_by_lambda() Assert.Equal("Monkeys", context.Entry(entity).Collection(e => e.Monkeys!).Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_collection_entry_by_INavigationBase() { using var context = new FreezerContext(); @@ -619,7 +619,7 @@ public void Can_get_collection_entry_by_INavigationBase() Assert.Same(navigationBase, context.Entry((object)entity).Collection(navigationBase).Metadata); } - [ConditionalFact] + [Fact] public void Can_get_generic_collection_entry_by_INavigationBase() { using var context = new FreezerContext(); @@ -629,7 +629,7 @@ public void Can_get_generic_collection_entry_by_INavigationBase() Assert.Same(navigationBase, context.Entry(entity).Collection(navigationBase).Metadata); } - [ConditionalFact] + [Fact] public void Throws_when_wrong_collection_name_is_used_while_getting_property_entry_by_name() { using var context = new FreezerContext(); @@ -648,7 +648,7 @@ public void Throws_when_wrong_collection_name_is_used_while_getting_property_ent .Message); } - [ConditionalFact] + [Fact] public void Throws_when_accessing_property_as_collection() { using var context = new FreezerContext(); @@ -673,7 +673,7 @@ public void Throws_when_accessing_property_as_collection() .Message); } - [ConditionalFact] + [Fact] public void Throws_when_accessing_reference_as_collection() { using var context = new FreezerContext(); @@ -718,7 +718,7 @@ public void Throws_when_accessing_reference_as_collection() Assert.Throws(() => context.Entry(entity).Collection(navigationBase)).Message); } - [ConditionalFact] + [Fact] public void Can_get_property_entry_by_name_using_Member() { using var context = new FreezerContext(); @@ -733,7 +733,7 @@ public void Can_get_property_entry_by_name_using_Member() Assert.IsType(entry); } - [ConditionalFact] + [Fact] public void Throws_when_wrong_property_name_is_used_while_getting_property_entry_by_name_using_Member() { using var context = new FreezerContext(); @@ -747,7 +747,7 @@ public void Throws_when_wrong_property_name_is_used_while_getting_property_entry Assert.Throws(() => context.Entry((object)entity).Member("Chimp").Metadata.Name).Message); } - [ConditionalFact] + [Fact] public void Can_get_reference_entry_by_name_using_Member() { using var context = new FreezerContext(); @@ -762,7 +762,7 @@ public void Can_get_reference_entry_by_name_using_Member() Assert.IsType(entry); } - [ConditionalFact] + [Fact] public void Can_get_collection_entry_by_name_using_Member() { using var context = new FreezerContext(); @@ -777,7 +777,7 @@ public void Can_get_collection_entry_by_name_using_Member() Assert.IsType(entry); } - [ConditionalFact] + [Fact] public void Can_get_property_entry_by_IPropertyBase_using_Member() { using var context = new FreezerContext(); @@ -793,7 +793,7 @@ public void Can_get_property_entry_by_IPropertyBase_using_Member() Assert.IsType(entry); } - [ConditionalFact] + [Fact] public void Can_get_reference_entry_by_IPropertyBase_using_Member() { using var context = new FreezerContext(); @@ -809,7 +809,7 @@ public void Can_get_reference_entry_by_IPropertyBase_using_Member() Assert.IsType(entry); } - [ConditionalFact] + [Fact] public void Can_get_collection_entry_by_IPropertyBase_using_Member() { using var context = new FreezerContext(); @@ -825,7 +825,7 @@ public void Can_get_collection_entry_by_IPropertyBase_using_Member() Assert.IsType(entry); } - [ConditionalFact] + [Fact] public void Throws_when_wrong_property_name_is_used_while_getting_property_entry_by_name_using_Navigation() { using var context = new FreezerContext(); @@ -840,7 +840,7 @@ public void Throws_when_wrong_property_name_is_used_while_getting_property_entry .Message); } - [ConditionalFact] + [Fact] public void Can_get_reference_entry_by_name_using_Navigation() { using var context = new FreezerContext(); @@ -855,7 +855,7 @@ public void Can_get_reference_entry_by_name_using_Navigation() Assert.IsType(entry); } - [ConditionalFact] + [Fact] public void Can_get_collection_entry_by_name_using_Navigation() { using var context = new FreezerContext(); @@ -870,7 +870,7 @@ public void Can_get_collection_entry_by_name_using_Navigation() Assert.IsType(entry); } - [ConditionalFact] + [Fact] public void Can_get_reference_entry_by_INavigationBase_using_Navigation() { using var context = new FreezerContext(); @@ -886,7 +886,7 @@ public void Can_get_reference_entry_by_INavigationBase_using_Navigation() Assert.IsType(entry); } - [ConditionalFact] + [Fact] public void Can_get_collection_entry_by_INavigationBase_using_Navigation() { using var context = new FreezerContext(); @@ -902,7 +902,7 @@ public void Can_get_collection_entry_by_INavigationBase_using_Navigation() Assert.IsType(entry); } - [ConditionalFact] + [Fact] public void Throws_when_accessing_property_as_navigation() { using var context = new FreezerContext(); @@ -921,7 +921,7 @@ public void Throws_when_accessing_property_as_navigation() .Message); } - [ConditionalFact] + [Fact] public void Can_get_all_modified_properties() { using var context = new FreezerContext(); @@ -944,7 +944,7 @@ public void Can_get_all_modified_properties() ["GarciaId", "Nonkey"], modified); } - [ConditionalFact] + [Fact] public void Can_get_all_member_entries() { using var context = new FreezerContext(); @@ -981,7 +981,7 @@ public void Can_get_all_member_entries() context.Attach(new Half()).Members.Select(e => e.Metadata.Name).ToList()); } - [ConditionalFact] + [Fact] public void Can_get_all_property_entries() { using var context = new FreezerContext(); @@ -1007,7 +1007,7 @@ public void Can_get_all_property_entries() context.Attach(new Half()).Properties.Select(e => e.Metadata.Name).ToList()); } - [ConditionalFact] + [Fact] public void Can_get_all_navigation_entries() { using var context = new FreezerContext(); @@ -1024,7 +1024,7 @@ public void Can_get_all_navigation_entries() context.Attach(new Half()).Navigations.Select(e => e.Metadata.Name).ToList()); } - [ConditionalFact] + [Fact] public void Can_get_all_reference_entries() { using var context = new FreezerContext(); @@ -1041,7 +1041,7 @@ public void Can_get_all_reference_entries() context.Attach(new Half()).References.Select(e => e.Metadata.Name).ToList()); } - [ConditionalFact] + [Fact] public void Can_get_all_collection_entries() { using var context = new FreezerContext(); @@ -1054,7 +1054,7 @@ public void Can_get_all_collection_entries() Assert.Empty(context.Attach(new Half()).Collections.Select(e => e.Metadata.Name).ToList()); } - [ConditionalFact] + [Fact] public void Can_get_complex_property_entry_by_name() { using var context = new FreezerContext(); @@ -1066,7 +1066,7 @@ public void Can_get_complex_property_entry_by_name() Assert.Equal("Milk", context.Entry((object)entity).ComplexProperty("Milk").Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_generic_complex_property_entry_by_name() { using var context = new FreezerContext(); @@ -1076,7 +1076,7 @@ public void Can_get_generic_complex_property_entry_by_name() Assert.Equal("Milk", context.Entry(entity).ComplexProperty("Milk").Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_property_complex_entry_by_IComplexProperty() { using var context = new FreezerContext(); @@ -1088,7 +1088,7 @@ public void Can_get_property_complex_entry_by_IComplexProperty() Assert.Same(milkProperty, context.Entry((object)entity).ComplexProperty(milkProperty).Metadata); } - [ConditionalFact] + [Fact] public void Can_get_generic_complex_property_entry_by_IComplexProperty() { using var context = new FreezerContext(); @@ -1100,7 +1100,7 @@ public void Can_get_generic_complex_property_entry_by_IComplexProperty() Assert.Same(milkProperty, context.Entry(entity).ComplexProperty(milkProperty).Metadata); } - [ConditionalFact] + [Fact] public void Throws_when_wrong_generic_type_is_used_while_getting_complex_property_entry_by_name() { using var context = new FreezerContext(); @@ -1115,7 +1115,7 @@ public void Throws_when_wrong_generic_type_is_used_while_getting_complex_propert Assert.Throws(() => context.Entry(entity).ComplexProperty("Milk")).Message); } - [ConditionalFact] + [Fact] public void Can_get_generic_complex_property_entry_by_lambda() { using var context = new FreezerContext(); @@ -1125,7 +1125,7 @@ public void Can_get_generic_complex_property_entry_by_lambda() Assert.Equal("Milk", context.Entry(entity).ComplexProperty(e => e.Milk).Metadata.Name); } - [ConditionalFact] + [Fact] public void Throws_when_wrong_complex_property_name_is_used_while_getting_property_entry_by_name() { using var context = new FreezerContext(); @@ -1142,7 +1142,7 @@ public void Throws_when_wrong_complex_property_name_is_used_while_getting_proper Assert.Throws(() => context.Entry(entity).ComplexProperty("Chimp").Metadata.Name).Message); } - [ConditionalFact] + [Fact] public void Throws_when_accessing_complex_property_as_reference() { using var context = new FreezerContext(); @@ -1190,7 +1190,7 @@ public void Throws_when_accessing_complex_property_as_reference() Assert.Throws(() => context.Entry(entity).Reference(e => e.Milk).Metadata.Name).Message); } - [ConditionalFact] + [Fact] public void Throws_when_accessing_complex_property_as_collection() { using var context = new FreezerContext(); @@ -1233,7 +1233,7 @@ public void Throws_when_accessing_complex_property_as_collection() .Message); } - [ConditionalFact] + [Fact] public void Can_get_complex_property_entry_by_name_using_Member() { using var context = new FreezerContext(); @@ -1256,7 +1256,7 @@ public void Can_get_complex_property_entry_by_name_using_Member() Assert.IsType(entry); } - [ConditionalFact] + [Fact] public void Can_get_complex_property_entry_by_IPropertyBase_using_Member() { using var context = new FreezerContext(); @@ -1281,7 +1281,7 @@ public void Can_get_complex_property_entry_by_IPropertyBase_using_Member() Assert.IsType(entry); } - [ConditionalFact] + [Fact] public void Throws_when_accessing_complex_property_as_navigation() { using var context = new FreezerContext(); @@ -1300,7 +1300,7 @@ public void Throws_when_accessing_complex_property_as_navigation() .Message); } - [ConditionalFact] + [Fact] public void Can_get_all_complex_property_entries() { using var context = new FreezerContext(); @@ -1315,7 +1315,7 @@ public void Can_get_all_complex_property_entries() Assert.Empty(context.Attach(new Half()).ComplexProperties); } - [ConditionalFact] + [Fact] public void Can_get_complex_property_entry_by_name_using_fields() { using var context = new FreezerContext(); @@ -1327,7 +1327,7 @@ public void Can_get_complex_property_entry_by_name_using_fields() Assert.Equal("Milk", context.Entry((object)entity).ComplexProperty("Milk").Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_generic_complex_property_entry_by_name_using_fields() { using var context = new FreezerContext(); @@ -1337,7 +1337,7 @@ public void Can_get_generic_complex_property_entry_by_name_using_fields() Assert.Equal("Milk", context.Entry(entity).ComplexProperty("Milk").Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_property_complex_entry_by_IComplexProperty_using_fields() { using var context = new FreezerContext(); @@ -1349,7 +1349,7 @@ public void Can_get_property_complex_entry_by_IComplexProperty_using_fields() Assert.Same(milkProperty, context.Entry((object)entity).ComplexProperty(milkProperty).Metadata); } - [ConditionalFact] + [Fact] public void Can_get_generic_complex_property_entry_by_IComplexProperty_using_fields() { using var context = new FreezerContext(); @@ -1361,7 +1361,7 @@ public void Can_get_generic_complex_property_entry_by_IComplexProperty_using_fie Assert.Same(milkProperty, context.Entry(entity).ComplexProperty(milkProperty).Metadata); } - [ConditionalFact] + [Fact] public void Throws_when_wrong_generic_type_is_used_while_getting_complex_property_entry_by_name_using_fields() { using var context = new FreezerContext(); @@ -1376,7 +1376,7 @@ public void Throws_when_wrong_generic_type_is_used_while_getting_complex_propert Assert.Throws(() => context.Entry(entity).ComplexProperty("Milk")).Message); } - [ConditionalFact] + [Fact] public void Can_get_generic_complex_property_entry_by_lambda_using_fields() { using var context = new FreezerContext(); @@ -1386,7 +1386,7 @@ public void Can_get_generic_complex_property_entry_by_lambda_using_fields() Assert.Equal("Milk", context.Entry(entity).ComplexProperty(e => e.Milk).Metadata.Name); } - [ConditionalFact] + [Fact] public void Throws_when_wrong_complex_property_name_is_used_while_getting_property_entry_by_name_using_fields() { using var context = new FreezerContext(); @@ -1403,7 +1403,7 @@ public void Throws_when_wrong_complex_property_name_is_used_while_getting_proper Assert.Throws(() => context.Entry(entity).ComplexProperty("Chimp").Metadata.Name).Message); } - [ConditionalFact] + [Fact] public void Throws_when_accessing_complex_property_as_reference_using_fields() { using var context = new FreezerContext(); @@ -1451,7 +1451,7 @@ public void Throws_when_accessing_complex_property_as_reference_using_fields() Assert.Throws(() => context.Entry(entity).Reference(e => e.Milk).Metadata.Name).Message); } - [ConditionalFact] + [Fact] public void Can_get_complex_property_entry_by_name_using_Member_using_fields() { using var context = new FreezerContext(); @@ -1474,7 +1474,7 @@ public void Can_get_complex_property_entry_by_name_using_Member_using_fields() Assert.IsType(entry); } - [ConditionalFact] + [Fact] public void Can_get_complex_property_entry_by_IPropertyBase_using_Member_using_fields() { using var context = new FreezerContext(); @@ -1499,7 +1499,7 @@ public void Can_get_complex_property_entry_by_IPropertyBase_using_Member_using_f Assert.IsType(entry); } - [ConditionalFact] + [Fact] public void Throws_when_accessing_complex_property_as_navigation_using_fields() { using var context = new FreezerContext(); @@ -1518,7 +1518,7 @@ public void Throws_when_accessing_complex_property_as_navigation_using_fields() .Message); } - [ConditionalFact] + [Fact] public void Can_get_all_complex_property_entries_using_fields() { using var context = new FreezerContext(); diff --git a/test/EFCore.Tests/ChangeTracking/FindEntryTest.cs b/test/EFCore.Tests/ChangeTracking/FindEntryTest.cs index 0021ae4223e..9eb093ef928 100644 --- a/test/EFCore.Tests/ChangeTracking/FindEntryTest.cs +++ b/test/EFCore.Tests/ChangeTracking/FindEntryTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking; public class FindEntryTest { - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -26,7 +26,7 @@ public virtual void Find_int_key(CompositeKeyType keyType) AssertSingle(context.Set(), nameof(IntKey.Id), entities, 88, 99, keyType, isPk: true); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -43,7 +43,7 @@ public virtual void Find_int_alternate_key(CompositeKeyType keyType) AssertSingle(context.Set(), nameof(AlternateIntKey.AlternateId), entities, 88, 99, keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array, true), InlineData(CompositeKeyType.List, true), InlineData(CompositeKeyType.Enumerable, true), @@ -70,7 +70,7 @@ public virtual void Find_int_foreign_key(CompositeKeyType keyType, bool trackPri AssertMultiple(context.Set(), nameof(ForeignIntKey.IntKeyId), entities, 88, 99, keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -88,7 +88,7 @@ public virtual void Find_int_non_key(CompositeKeyType keyType) AssertMultiple(context.Set(), nameof(IntNonKey.Int), entities, 88, 99, keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -105,7 +105,7 @@ public virtual void Find_shadow_int_key(CompositeKeyType keyType) AssertSingle(context.Set(), "Id", entities, 88, 99, keyType, isPk: true); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -122,7 +122,7 @@ public virtual void Find_shadow_alternate_int_key(CompositeKeyType keyType) AssertSingle(context.Set(), "AlternateId", entities, 88, 99, keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array, true), InlineData(CompositeKeyType.List, true), InlineData(CompositeKeyType.Enumerable, true), @@ -149,7 +149,7 @@ public virtual void Find_shadow_int_foreign_key(CompositeKeyType keyType, bool t AssertMultiple(context.Set(), "IntKeyId", entities, (int?)88, 99, keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -167,7 +167,7 @@ public virtual void Find_shadow_int_non_key(CompositeKeyType keyType) AssertMultiple(context.Set(), "Int", entities, 88, 99, keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -191,7 +191,7 @@ public virtual void Find_int_key_shared(CompositeKeyType keyType) AssertSingle(setB, nameof(IntKey.Id), entities, 88, 99, keyType, isPk: true, index: 4); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -215,7 +215,7 @@ public virtual void Find_int_alternate_key_shared(CompositeKeyType keyType) AssertSingle(setB, nameof(AlternateIntKey.AlternateId), entities, 88, 99, keyType, index: 4); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array, true), InlineData(CompositeKeyType.List, true), InlineData(CompositeKeyType.Enumerable, true), @@ -250,7 +250,7 @@ public virtual void Find_int_foreign_key_shared(CompositeKeyType keyType, bool t AssertMultiple(setB, nameof(ForeignIntKey.IntKeyId), entities, 88, 99, keyType, index: 5); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -276,7 +276,7 @@ public virtual void Find_int_non_key_shared(CompositeKeyType keyType) AssertMultiple(setB, nameof(IntNonKey.Int), entities, 88, 99, keyType, index: 5); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -297,7 +297,7 @@ public virtual void Find_shadow_int_key_shared(CompositeKeyType keyType) AssertSingle(context.Set("ShadowIntKeyB"), "Id", entities, 88, 99, keyType, isPk: true, index: 4); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -318,7 +318,7 @@ public virtual void Find_shadow_alternate_int_key_shared(CompositeKeyType keyTyp AssertSingle(context.Set("ShadowAlternateIntKeyB"), "AlternateId", entities, 88, 99, keyType, index: 4); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array, true), InlineData(CompositeKeyType.List, true), InlineData(CompositeKeyType.Enumerable, true), @@ -351,7 +351,7 @@ public virtual void Find_shadow_int_foreign_key_shared(CompositeKeyType keyType, AssertMultiple(context.Set("ShadowForeignIntKeyB"), "IntKeyId", entities, (int?)88, 99, keyType, index: 5); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -374,7 +374,7 @@ public virtual void Find_shadow_int_non_key_shared(CompositeKeyType keyType) AssertMultiple(context.Set("ShadowIntNonKeyB"), "Int", entities, 88, 99, keyType, index: 5); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -391,7 +391,7 @@ public virtual void Find_nullable_int_key(CompositeKeyType keyType) AssertSingle(context.Set(), nameof(IntKey.Id), entities, (int?)88, 99, keyType, isPk: true); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -408,7 +408,7 @@ public virtual void Find_nullable_int_alternate_key(CompositeKeyType keyType) AssertSingle(context.Set(), nameof(AlternateNullableIntKey.AlternateId), entities, (int?)88, 99, keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array, true), InlineData(CompositeKeyType.List, true), InlineData(CompositeKeyType.Enumerable, true), @@ -436,7 +436,7 @@ public virtual void Find_nullable_int_foreign_key(CompositeKeyType keyType, bool context.Set(), nameof(ForeignNullableIntKey.NullableIntKeyId), entities, (int?)88, 99, keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -454,7 +454,7 @@ public virtual void Find_nullable_int_non_key(CompositeKeyType keyType) AssertMultiple(context.Set(), nameof(NullableIntNonKey.NullableInt), entities, (int?)88, 99, keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -471,7 +471,7 @@ public virtual void Find_shadow_nullable_int_key(CompositeKeyType keyType) AssertSingle(context.Set(), "Id", entities, (int?)88, 99, keyType, isPk: true); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -488,7 +488,7 @@ public virtual void Find_shadow_alternate_nullable_int_key(CompositeKeyType keyT AssertSingle(context.Set(), "AlternateId", entities, (int?)88, 99, keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array, true), InlineData(CompositeKeyType.List, true), InlineData(CompositeKeyType.Enumerable, true), @@ -515,7 +515,7 @@ public virtual void Find_shadow_nullable_int_foreign_key(CompositeKeyType keyTyp AssertMultiple(context.Set(), "NullableIntKeyId", entities, (int?)88, 99, keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -533,7 +533,7 @@ public virtual void Find_shadow_nullable_int_non_key(CompositeKeyType keyType) AssertMultiple(context.Set(), "NullableInt", entities, (int?)88, 99, keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -553,7 +553,7 @@ public virtual void Find_nullable_int_foreign_key_with_nulls(CompositeKeyType ke context.Set(), nameof(ForeignNullableIntKey.NullableIntKeyId), entities, (int?)null, 99, keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -571,7 +571,7 @@ public virtual void Find_nullable_int_non_key_with_nulls(CompositeKeyType keyTyp AssertMultiple(context.Set(), nameof(NullableIntNonKey.NullableInt), entities, (int?)null, 99, keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -590,7 +590,7 @@ public virtual void Find_shadow_nullable_int_foreign_key_with_nulls(CompositeKey AssertMultiple(context.Set(), "NullableIntKeyId", entities, (int?)null, 99, keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -608,7 +608,7 @@ public virtual void Find_shadow_nullable_int_non_key_with_nulls(CompositeKeyType AssertMultiple(context.Set(), "NullableInt", entities, (int?)null, 99, keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -632,7 +632,7 @@ public virtual void Find_nullable_int_key_shared(CompositeKeyType keyType) AssertSingle(setB, nameof(NullableIntKey.Id), entities, (int?)88, 99, keyType, isPk: true, index: 4); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -656,7 +656,7 @@ public virtual void Find_nullable_int_alternate_key_shared(CompositeKeyType keyT AssertSingle(setB, nameof(AlternateNullableIntKey.AlternateId), entities, (int?)88, 99, keyType, index: 4); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array, true), InlineData(CompositeKeyType.List, true), InlineData(CompositeKeyType.Enumerable, true), @@ -691,7 +691,7 @@ public virtual void Find_nullable_int_foreign_key_shared(CompositeKeyType keyTyp AssertMultiple(setB, nameof(ForeignNullableIntKey.NullableIntKeyId), entities, (int?)88, 99, keyType, index: 5); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -717,7 +717,7 @@ public virtual void Find_nullable_int_non_key_shared(CompositeKeyType keyType) AssertMultiple(setB, nameof(NullableIntNonKey.NullableInt), entities, (int?)88, 99, keyType, index: 5); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -739,7 +739,7 @@ public virtual void Find_shadow_nullable_int_key_shared(CompositeKeyType keyType context.Set("ShadowNullableIntKeyB"), "Id", entities, (int?)88, 99, keyType, isPk: true, index: 4); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -764,7 +764,7 @@ public virtual void Find_shadow_alternate_nullable_int_key_shared(CompositeKeyTy index: 4); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array, true), InlineData(CompositeKeyType.List, true), InlineData(CompositeKeyType.Enumerable, true), @@ -801,7 +801,7 @@ public virtual void Find_shadow_nullable_int_foreign_key_shared(CompositeKeyType index: 5); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -827,7 +827,7 @@ public virtual void Find_shadow_nullable_int_non_key_shared(CompositeKeyType key context.Set("ShadowNullableIntNonKeyB"), "NullableInt", entities, (int?)88, 99, keyType, index: 5); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -844,7 +844,7 @@ public virtual void Find_string_key(CompositeKeyType keyType) AssertSingle(context.Set(), nameof(StringKey.Id), entities, "88", "99", keyType, isPk: true); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -861,7 +861,7 @@ public virtual void Find_string_alternate_key(CompositeKeyType keyType) AssertSingle(context.Set(), nameof(AlternateStringKey.AlternateId), entities, "88", "99", keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array, true), InlineData(CompositeKeyType.List, true), InlineData(CompositeKeyType.Enumerable, true), @@ -888,7 +888,7 @@ public virtual void Find_string_foreign_key(CompositeKeyType keyType, bool track AssertMultiple(context.Set(), nameof(ForeignStringKey.StringKeyId), entities, "88", "99", keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -906,7 +906,7 @@ public virtual void Find_string_non_key(CompositeKeyType keyType) AssertMultiple(context.Set(), nameof(StringNonKey.String), entities, "88", "99", keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -923,7 +923,7 @@ public virtual void Find_shadow_string_key(CompositeKeyType keyType) AssertSingle(context.Set(), "Id", entities, "88", "99", keyType, isPk: true); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -940,7 +940,7 @@ public virtual void Find_shadow_alternate_string_key(CompositeKeyType keyType) AssertSingle(context.Set(), "AlternateId", entities, "88", "99", keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array, true), InlineData(CompositeKeyType.List, true), InlineData(CompositeKeyType.Enumerable, true), @@ -967,7 +967,7 @@ public virtual void Find_shadow_string_foreign_key(CompositeKeyType keyType, boo AssertMultiple(context.Set(), "StringKeyId", entities, "88", "99", keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -985,7 +985,7 @@ public virtual void Find_shadow_string_non_key(CompositeKeyType keyType) AssertMultiple(context.Set(), "String", entities, "88", "99", keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -1004,7 +1004,7 @@ public virtual void Find_string_foreign_key_with_nulls(CompositeKeyType keyType) AssertMultiple(context.Set(), nameof(ForeignStringKey.StringKeyId), entities, null, "99", keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -1022,7 +1022,7 @@ public virtual void Find_string_non_key_with_nulls(CompositeKeyType keyType) AssertMultiple(context.Set(), nameof(StringNonKey.String), entities, null, "99", keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -1040,7 +1040,7 @@ public virtual void Find_shadow_string_foreign_key_with_nulls(CompositeKeyType k AssertMultiple(context.Set(), "StringKeyId", entities, null, "99", keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -1058,7 +1058,7 @@ public virtual void Find_shadow_string_non_key_with_nulls(CompositeKeyType keyTy AssertMultiple(context.Set(), "String", entities, null, "99", keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -1095,7 +1095,7 @@ public virtual void Find_composite_key(CompositeKeyType keyType) [nameof(CompositeKey.Id1), nameof(CompositeKey.Id2), nameof(CompositeKey.Foo)], entities, keyType, isPk: true); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -1140,7 +1140,7 @@ public virtual void Find_composite_alternate_key(CompositeKeyType keyType) entities, keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array, true), InlineData(CompositeKeyType.List, true), InlineData(CompositeKeyType.Enumerable, true), @@ -1208,7 +1208,7 @@ public virtual void Find_composite_foreign_key(CompositeKeyType keyType, bool tr entities, keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -1257,7 +1257,7 @@ public virtual void Find_composite_non_key(CompositeKeyType keyType) entities, keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -1285,7 +1285,7 @@ public virtual void Find_shadow_composite_key(CompositeKeyType keyType) ["Id1", "Id2", "Foo"], entities, keyType, isPk: true); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -1313,7 +1313,7 @@ public virtual void Find_shadow_alternate_composite_key(CompositeKeyType keyType ["AlternateId1", "AlternateId2", "AlternateFoo"], entities, keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array, true), InlineData(CompositeKeyType.List, true), InlineData(CompositeKeyType.Enumerable, true), @@ -1360,7 +1360,7 @@ public virtual void Find_shadow_composite_foreign_key(CompositeKeyType keyType, ["CompositeKeyId1", "CompositeKeyId2", "CompositeKeyFoo"], entities, keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -1392,7 +1392,7 @@ public virtual void Find_shadow_composite_non_key(CompositeKeyType keyType) ["Int", "String", "Foo"], entities, keyType); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -1446,7 +1446,7 @@ public virtual void Find_composite_foreign_key_with_nulls(CompositeKeyType keyTy entities, keyType, withNulls: true); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -1495,7 +1495,7 @@ public virtual void Find_composite_non_key_with_nulls(CompositeKeyType keyType) entities, keyType, withNulls: true); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -1528,7 +1528,7 @@ public virtual void Find_shadow_composite_foreign_key_with_nulls(CompositeKeyTyp ["CompositeKeyId1", "CompositeKeyId2", "CompositeKeyFoo"], entities, keyType, withNulls: true); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -1560,7 +1560,7 @@ public virtual void Find_shadow_composite_non_key_with_nulls(CompositeKeyType ke ["Int", "String", "Foo"], entities, keyType, withNulls: true); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -1577,7 +1577,7 @@ public virtual void Find_base_type_tracked(CompositeKeyType keyType) AssertSingle(context.Set(), nameof(BaseType.Id), entities, 88, 99, keyType, isPk: true); } - [ConditionalTheory, + [Theory, InlineData(CompositeKeyType.Array), InlineData(CompositeKeyType.List), InlineData(CompositeKeyType.Enumerable)] @@ -1594,7 +1594,7 @@ public virtual void Find_derived_type_tracked(CompositeKeyType keyType) AssertSingle(context.Set(), nameof(BaseType.Id), entities, 88, 99, keyType, isPk: true); } - [ConditionalFact] + [Fact] public virtual void Returns_null_for_null_key() { using var context = new FindContext(); @@ -1604,7 +1604,7 @@ public virtual void Returns_null_for_null_key() Assert.Null(local.FindEntry([nameof(IntKey.Id)], [null])); } - [ConditionalFact] + [Fact] public virtual void Returns_null_for_null_alternate_key() { using var context = new FindContext(); @@ -1613,7 +1613,7 @@ public virtual void Returns_null_for_null_alternate_key() Assert.Null(local.FindEntry([nameof(AlternateIntKey.AlternateId)], [null])); } - [ConditionalFact] + [Fact] public virtual void Returns_null_for_null_nullable_key() { using var context = new FindContext(); @@ -1625,7 +1625,7 @@ public virtual void Returns_null_for_null_nullable_key() Assert.Null(local.FindEntry([nameof(NullableIntKey.Id)], [null])); } - [ConditionalFact] + [Fact] public virtual void Returns_null_for_null_nullable_alternate_key() { using var context = new FindContext(); @@ -1635,7 +1635,7 @@ public virtual void Returns_null_for_null_nullable_alternate_key() Assert.Null(local.FindEntry([nameof(AlternateNullableIntKey.AlternateId)], [null])); } - [ConditionalFact] + [Fact] public virtual void Returns_empty_for_null_key() { using var context = new FindContext(); @@ -1644,7 +1644,7 @@ public virtual void Returns_empty_for_null_key() Assert.Empty(local.GetEntries([nameof(IntKey.Id)], [null])); } - [ConditionalFact] + [Fact] public virtual void Returns_empty_for_null_alternate_key() { using var context = new FindContext(); @@ -1653,7 +1653,7 @@ public virtual void Returns_empty_for_null_alternate_key() Assert.Empty(local.GetEntries([nameof(AlternateIntKey.AlternateId)], [null])); } - [ConditionalFact] + [Fact] public virtual void Returns_empty_for_null_nullable_key() { using var context = new FindContext(); @@ -1663,7 +1663,7 @@ public virtual void Returns_empty_for_null_nullable_key() Assert.Empty(local.GetEntries([nameof(NullableIntKey.Id)], [null])); } - [ConditionalFact] + [Fact] public virtual void Returns_empty_for_null_nullable_alternate_key() { using var context = new FindContext(); @@ -1673,7 +1673,7 @@ public virtual void Returns_empty_for_null_nullable_alternate_key() Assert.Empty(local.GetEntries([nameof(AlternateNullableIntKey.AlternateId)], [null])); } - [ConditionalFact] + [Fact] public virtual void Returns_null_for_composite_key_with_null() { using var context = new FindContext(); @@ -1688,7 +1688,7 @@ public virtual void Returns_null_for_composite_key_with_null() [1, null, "foo"])); } - [ConditionalFact] + [Fact] public virtual void Returns_null_for_composite_alternate_key_with_null() { using var context = new FindContext(); @@ -1705,7 +1705,7 @@ public virtual void Returns_null_for_composite_alternate_key_with_null() [null, "88", "foo"])); } - [ConditionalFact] + [Fact] public virtual void Throws_for_single_value_used_for_composite_key() { using var context = new FindContext(); @@ -1720,7 +1720,7 @@ public virtual void Throws_for_single_value_used_for_composite_key() Assert.Throws(() => local.FindEntryUntyped([1])).Message); } - [ConditionalFact] + [Fact] public virtual void Throws_for_multiple_values_passed_for_simple_key() { using var context = new FindContext(); @@ -1730,7 +1730,7 @@ public virtual void Throws_for_multiple_values_passed_for_simple_key() Assert.Throws(() => context.Set().Local.FindEntryUntyped([77, 88])).Message); } - [ConditionalFact] + [Fact] public virtual void Throws_for_wrong_number_of_values() { using var context = new FindContext(); @@ -1778,7 +1778,7 @@ public virtual void Throws_for_wrong_number_of_values() Assert.Throws(() => set.Local.GetEntries([property1], twoValues).ToList()).Message); } - [ConditionalFact] + [Fact] public virtual void Throws_for_bad_single_key_type() { using var context = new FindContext(); @@ -1793,7 +1793,7 @@ public virtual void Throws_for_bad_single_key_type() Assert.Throws(() => local.FindEntryUntyped(["77"])).Message); } - [ConditionalFact] + [Fact] public virtual void Throws_for_bad_single_type() { using var context = new FindContext(); @@ -1826,7 +1826,7 @@ public virtual void Throws_for_bad_single_type() Assert.Throws(() => set.Local.GetEntries([property1], ["1"]).ToList()).Message); } - [ConditionalFact] + [Fact] public virtual void Throws_for_bad_type_in_values_list() { using var context = new FindContext(); diff --git a/test/EFCore.Tests/ChangeTracking/GraphTrackingTest.cs b/test/EFCore.Tests/ChangeTracking/GraphTrackingTest.cs index 42d82cb22f1..a782ebf3e12 100644 --- a/test/EFCore.Tests/ChangeTracking/GraphTrackingTest.cs +++ b/test/EFCore.Tests/ChangeTracking/GraphTrackingTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking; public class GraphTrackingTest { - [ConditionalFact] + [Fact] public void Can_add_aggregate() { using var context = new AggregateContext(); @@ -25,7 +25,7 @@ public void Can_add_aggregate() Assert.Equal(EntityState.Added, context.Entry(comments1[1]).State); } - [ConditionalFact] + [Fact] public void Can_add_one_to_one_aggregate() { using var context = new AggregateContext(); @@ -38,7 +38,7 @@ public void Can_add_one_to_one_aggregate() Assert.Equal(EntityState.Added, context.Entry(category.Statistics).State); } - [ConditionalFact] + [Fact] public void Can_attach_aggregate() { using var context = new AggregateContext(); @@ -72,7 +72,7 @@ public void Can_attach_aggregate() Assert.Equal(EntityState.Unchanged, context.Entry(comments1[1]).State); } - [ConditionalFact] + [Fact] public void Can_attach_one_to_one_aggregate() { using var context = new AggregateContext(); @@ -85,7 +85,7 @@ public void Can_attach_one_to_one_aggregate() Assert.Equal(EntityState.Unchanged, context.Entry(category.Statistics).State); } - [ConditionalFact] + [Fact] public void Attaching_aggregate_with_no_key_set_adds_it_instead() { using var context = new AggregateContext(); @@ -105,7 +105,7 @@ public void Attaching_aggregate_with_no_key_set_adds_it_instead() Assert.Equal(EntityState.Added, context.Entry(comments1[1]).State); } - [ConditionalFact] + [Fact] public void Attaching_one_to_one_aggregate_with_no_key_set_adds_it_instead() { using var context = new AggregateContext(); @@ -118,7 +118,7 @@ public void Attaching_one_to_one_aggregate_with_no_key_set_adds_it_instead() Assert.Equal(EntityState.Added, context.Entry(category.Statistics).State); } - [ConditionalFact] + [Fact] public void Dependents_with_no_key_set_are_added() { using var context = new AggregateContext(); @@ -147,7 +147,7 @@ public void Dependents_with_no_key_set_are_added() Assert.Equal(EntityState.Added, context.Entry(comments1[1]).State); } - [ConditionalFact] + [Fact] public void One_to_one_dependents_with_no_key_set_are_added() { using var context = new AggregateContext(); @@ -160,7 +160,7 @@ public void One_to_one_dependents_with_no_key_set_are_added() Assert.Equal(EntityState.Added, context.Entry(category.Statistics).State); } - [ConditionalFact] + [Fact] public void Can_add_aggregate_with_linked_aggregate_also_added() { using var context = new AggregateContext(); @@ -205,7 +205,7 @@ public void Can_add_aggregate_with_linked_aggregate_also_added() Assert.Equal(EntityState.Added, context.Entry(reminders[1]).State); } - [ConditionalFact] + [Fact] public void Can_add_aggregate_with_other_linked_aggregate_also_attached() { using var context = new AggregateContext(); @@ -254,7 +254,7 @@ public void Can_add_aggregate_with_other_linked_aggregate_also_attached() Assert.Equal(EntityState.Added, context.Entry(reminders[1]).State); } - [ConditionalFact] + [Fact] public void Can_attach_aggregate_with_linked_aggregate_also_attached() { using var context = new AggregateContext(); @@ -339,7 +339,7 @@ public void Can_attach_aggregate_with_linked_aggregate_also_attached() Assert.Equal(EntityState.Unchanged, context.Entry(reminders[1]).State); } - [ConditionalFact] + [Fact] public void Can_add_two_aggregates_linked_down_the_tree() { using var context = new AggregateContext(); diff --git a/test/EFCore.Tests/ChangeTracking/Internal/ChangeDetectorTest.cs b/test/EFCore.Tests/ChangeTracking/Internal/ChangeDetectorTest.cs index faf3213ed22..40428a7e8d7 100644 --- a/test/EFCore.Tests/ChangeTracking/Internal/ChangeDetectorTest.cs +++ b/test/EFCore.Tests/ChangeTracking/Internal/ChangeDetectorTest.cs @@ -16,7 +16,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; public class ChangeDetectorTest { - [ConditionalFact] + [Fact] public void PropertyChanging_does_not_snapshot_if_eager_snapshots_are_in_use() { var contextServices = InMemoryTestHelpers.Instance.CreateContextServices(BuildModel()); @@ -32,7 +32,7 @@ public void PropertyChanging_does_not_snapshot_if_eager_snapshots_are_in_use() Assert.False(entry.HasRelationshipSnapshot); } - [ConditionalFact] + [Fact] public void PropertyChanging_snapshots_original_and_FK_value_if_lazy_snapshots_are_in_use() { var contextServices = InMemoryTestHelpers.Instance.CreateContextServices(BuildNotifyingModel()); @@ -62,7 +62,7 @@ public void PropertyChanging_snapshots_original_and_FK_value_if_lazy_snapshots_a Assert.Equal(777, entry.GetCurrentValue(property)); } - [ConditionalFact] + [Fact] public void PropertyChanging_does_not_snapshot_original_values_for_properties_with_no_original_value_tracking() { var contextServices = InMemoryTestHelpers.Instance.CreateContextServices(BuildNotifyingModel()); @@ -86,7 +86,7 @@ public void PropertyChanging_does_not_snapshot_original_values_for_properties_wi Assert.Equal("Pickle", entry.GetCurrentValue(property)); } - [ConditionalFact] + [Fact] public void PropertyChanging_snapshots_reference_navigations_if_lazy_snapshots_are_in_use() { var contextServices = InMemoryTestHelpers.Instance.CreateContextServices(BuildNotifyingModel()); @@ -116,7 +116,7 @@ public void PropertyChanging_snapshots_reference_navigations_if_lazy_snapshots_a Assert.NotSame(category, entry.GetCurrentValue(navigation)); } - [ConditionalFact] + [Fact] public void PropertyChanging_snapshots_PK_for_relationships_if_lazy_snapshots_are_in_use() { var contextServices = InMemoryTestHelpers.Instance.CreateContextServices(BuildNotifyingModel()); @@ -146,7 +146,7 @@ public void PropertyChanging_snapshots_PK_for_relationships_if_lazy_snapshots_ar Assert.Equal(newId, entry.GetCurrentValue(property)); } - [ConditionalFact] + [Fact] public void Detects_scalar_property_change() { var contextServices = InMemoryTestHelpers.Instance.CreateContextServices(BuildModel()); @@ -165,7 +165,7 @@ public void Detects_scalar_property_change() Assert.True(entry.IsModified(entry.EntityType.FindProperty("Name"))); } - [ConditionalTheory, InlineData(true, true, true), InlineData(false, true, true), InlineData(true, false, true), + [Theory, InlineData(true, true, true), InlineData(false, true, true), InlineData(true, false, true), InlineData(false, false, true), InlineData(true, true, false), InlineData(false, true, false), InlineData(true, false, false), InlineData(false, false, false)] public void Can_insert_with_array_comparer(bool useTypeMapping, bool useStateChange, bool nullValue) @@ -208,7 +208,7 @@ public void Can_insert_with_array_comparer(bool useTypeMapping, bool useStateCha Assert.Equal(new[] { 1, 767, 3, 4 }, entityEntry.Property(e => e.Demands).CurrentValue); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void Detects_scalar_property_change_with_custom_comparer(bool useTypeMapping) { using var context = useTypeMapping ? new BaxterWithMappingContext() : new BaxterContext(); @@ -232,7 +232,7 @@ public void Detects_scalar_property_change_with_custom_comparer(bool useTypeMapp Assert.Equal(new[] { 1, 767, 3, 4 }, entityEntry.Property(e => e.Demands).CurrentValue); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void Detects_scalar_shadow_property_change_with_custom_comparer(bool useTypeMapping) { using var context = useTypeMapping ? new BaxterWithMappingContext() : new BaxterContext(); @@ -363,7 +363,7 @@ protected internal override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public void Skips_detection_of_scalar_property_change_for_notification_entities() { var contextServices = InMemoryTestHelpers.Instance.CreateContextServices(BuildModelWithChanged()); @@ -383,7 +383,7 @@ public void Skips_detection_of_scalar_property_change_for_notification_entities( Assert.False(entry.IsModified(entry.EntityType.FindProperty("Name"))); } - [ConditionalFact] + [Fact] public void Skips_local_detection_of_scalar_property_change_for_notification_entities() { var contextServices = InMemoryTestHelpers.Instance.CreateContextServices(BuildModelWithChanged()); @@ -402,7 +402,7 @@ public void Skips_local_detection_of_scalar_property_change_for_notification_ent Assert.False(entry.IsModified(entry.EntityType.FindProperty("Name"))); } - [ConditionalFact] + [Fact] public void Detects_principal_key_change() { var contextServices = CreateContextServices(); @@ -433,7 +433,7 @@ public void Detects_principal_key_change() Assert.Null(testListener.CollectionChange); } - [ConditionalFact] + [Fact] public void Detects_principal_key_changing_back_to_original_value() { var contextServices = CreateContextServices(); @@ -466,7 +466,7 @@ public void Detects_principal_key_changing_back_to_original_value() Assert.Null(testListener.CollectionChange); } - [ConditionalFact] + [Fact] public void Reacts_to_principal_key_change_in_sidecar() { var contextServices = CreateContextServices(); @@ -498,7 +498,7 @@ public void Reacts_to_principal_key_change_in_sidecar() Assert.Null(testListener.CollectionChange); } - [ConditionalFact] + [Fact] public void Detects_primary_key_change() { var contextServices = CreateContextServices(); @@ -532,7 +532,7 @@ public void Detects_primary_key_change() Assert.Null(testListener.CollectionChange); } - [ConditionalFact] + [Fact] public void Reacts_to_primary_key_change_in_sidecar() { var contextServices = CreateContextServices(); @@ -569,7 +569,7 @@ public void Reacts_to_primary_key_change_in_sidecar() Assert.Null(testListener.CollectionChange); } - [ConditionalFact] + [Fact] public void Ignores_no_change_to_principal_key() { var contextServices = CreateContextServices(); @@ -592,7 +592,7 @@ public void Ignores_no_change_to_principal_key() Assert.Null(testListener.CollectionChange); } - [ConditionalFact] + [Fact] public void Ignores_no_change_to_principal_key_in_sidecar() { var contextServices = CreateContextServices(); @@ -618,7 +618,7 @@ public void Ignores_no_change_to_principal_key_in_sidecar() Assert.Null(testListener.CollectionChange); } - [ConditionalFact] + [Fact] public void Detects_foreign_key_change() { var contextServices = CreateContextServices(); @@ -647,7 +647,7 @@ public void Detects_foreign_key_change() Assert.Null(testListener.CollectionChange); } - [ConditionalFact] + [Fact] public void Detects_foreign_key_changing_back_to_original_value() { var contextServices = CreateContextServices(); @@ -680,7 +680,7 @@ public void Detects_foreign_key_changing_back_to_original_value() Assert.Null(testListener.CollectionChange); } - [ConditionalFact] + [Fact] public void Reacts_to_foreign_key_change_in_sidecar() { var contextServices = CreateContextServices(); @@ -711,7 +711,7 @@ public void Reacts_to_foreign_key_change_in_sidecar() Assert.Null(testListener.CollectionChange); } - [ConditionalFact] + [Fact] public void Ignores_no_change_to_foreign_key() { var contextServices = CreateContextServices(); @@ -734,7 +734,7 @@ public void Ignores_no_change_to_foreign_key() Assert.Null(testListener.CollectionChange); } - [ConditionalFact] + [Fact] public void Ignores_no_change_to_foreign_key_in_sidecar() { var contextServices = CreateContextServices(); @@ -759,7 +759,7 @@ public void Ignores_no_change_to_foreign_key_in_sidecar() Assert.Null(testListener.CollectionChange); } - [ConditionalFact] + [Fact] public void Detects_reference_navigation_change() { var contextServices = CreateContextServices(); @@ -796,7 +796,7 @@ public void Detects_reference_navigation_change() Assert.Equal(2, testListener.KeyChange.Item6); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Detects_reference_navigation_changing_back_to_original_value(bool useNull) { var contextServices = CreateContextServices(); @@ -847,7 +847,7 @@ public void Detects_reference_navigation_changing_back_to_original_value(bool us Assert.Equal(1, testListener.KeyChange.Item6); } - [ConditionalFact] + [Fact] public void Ignores_no_change_to_reference_navigation() { var contextServices = CreateContextServices(); @@ -876,7 +876,7 @@ public void Ignores_no_change_to_reference_navigation() Assert.Null(testListener.KeyChange); } - [ConditionalFact] + [Fact] public void Detects_adding_to_collection_navigation() { var contextServices = CreateContextServices(); @@ -918,7 +918,7 @@ public void Detects_adding_to_collection_navigation() Assert.Null(testListener.KeyChange); } - [ConditionalFact] + [Fact] public void Detects_removing_from_collection_navigation() { var contextServices = CreateContextServices(); @@ -952,7 +952,7 @@ public void Detects_removing_from_collection_navigation() Assert.Null(testListener.ReferenceChange); } - [ConditionalFact] + [Fact] public void Ignores_no_change_to_collection_navigation() { var contextServices = CreateContextServices(); @@ -983,7 +983,7 @@ public void Ignores_no_change_to_collection_navigation() Assert.Null(testListener.ReferenceChange); } - [ConditionalFact] + [Fact] public void Skips_detecting_changes_to_primary_principal_key_for_notification_entities() { var contextServices = CreateContextServices(BuildModelWithChanged()); @@ -1006,7 +1006,7 @@ public void Skips_detecting_changes_to_primary_principal_key_for_notification_en Assert.Null(testListener.CollectionChange); } - [ConditionalFact] + [Fact] public void Skips_detecting_changes_to_foreign_key_for_notification_entities() { var contextServices = CreateContextServices(BuildModelWithChanged()); @@ -1029,7 +1029,7 @@ public void Skips_detecting_changes_to_foreign_key_for_notification_entities() Assert.Null(testListener.CollectionChange); } - [ConditionalFact] + [Fact] public void Skips_detecting_changes_to_reference_navigation_for_notification_entities() { var contextServices = CreateContextServices(BuildModelWithChanged()); @@ -1058,7 +1058,7 @@ public void Skips_detecting_changes_to_reference_navigation_for_notification_ent Assert.Null(testListener.KeyChange); } - [ConditionalFact] + [Fact] public void Skips_detecting_changes_to_notifying_collections() { var contextServices = CreateContextServices(BuildModelWithChanged()); @@ -1090,7 +1090,7 @@ public void Skips_detecting_changes_to_notifying_collections() Assert.Null(testListener.KeyChange); } - [ConditionalFact] + [Fact] public void Brings_in_single_new_entity_set_on_reference_navigation() { var contextServices = CreateContextServices(); @@ -1119,7 +1119,7 @@ public void Brings_in_single_new_entity_set_on_reference_navigation() Assert.Equal(EntityState.Added, testAttacher.Attached.Item2); } - [ConditionalFact] + [Fact] public void Brings_in_new_entity_set_on_principal_of_one_to_one_navigation() { var contextServices = CreateContextServices(); @@ -1147,7 +1147,7 @@ public void Brings_in_new_entity_set_on_principal_of_one_to_one_navigation() Assert.Equal(EntityState.Added, testAttacher.Attached.Item2); } - [ConditionalFact] + [Fact] public void Brings_in_new_entity_set_on_dependent_of_one_to_one_navigation() { var contextServices = CreateContextServices(); @@ -1170,7 +1170,7 @@ public void Brings_in_new_entity_set_on_dependent_of_one_to_one_navigation() Assert.Equal(EntityState.Added, testAttacher.Attached.Item2); } - [ConditionalFact] + [Fact] public void Brings_in_single_new_entity_set_on_collection_navigation() { var contextServices = CreateContextServices(); @@ -1200,7 +1200,7 @@ public void Brings_in_single_new_entity_set_on_collection_navigation() Assert.Equal(EntityState.Added, testAttacher.Attached.Item2); } - [ConditionalFact] + [Fact] public void Brings_in_new_entity_set_on_principal_of_one_to_one_self_ref() { var contextServices = CreateContextServices(); @@ -1223,7 +1223,7 @@ public void Brings_in_new_entity_set_on_principal_of_one_to_one_self_ref() Assert.Equal(EntityState.Added, testAttacher.Attached.Item2); } - [ConditionalFact] + [Fact] public void Brings_in_new_entity_set_on_dependent_of_one_to_one_self_ref() { var contextServices = CreateContextServices(); @@ -1246,7 +1246,7 @@ public void Brings_in_new_entity_set_on_dependent_of_one_to_one_self_ref() Assert.Equal(EntityState.Added, testAttacher.Attached.Item2); } - [ConditionalFact] + [Fact] public void Handles_notification_of_principal_key_change() { var contextServices = CreateContextServices(BuildNotifyingModel()); @@ -1272,7 +1272,7 @@ public void Handles_notification_of_principal_key_change() Assert.Null(testListener.CollectionChange); } - [ConditionalFact] + [Fact] public void Handles_notification_of_principal_key_changing_back_to_original_value() { var contextServices = CreateContextServices(BuildNotifyingModel()); @@ -1299,7 +1299,7 @@ public void Handles_notification_of_principal_key_changing_back_to_original_valu Assert.Null(testListener.CollectionChange); } - [ConditionalFact] + [Fact] public void Handles_notification_of_primary_key_change() { var contextServices = CreateContextServices(BuildNotifyingModel()); @@ -1330,7 +1330,7 @@ public void Handles_notification_of_primary_key_change() Assert.Null(testListener.CollectionChange); } - [ConditionalFact] + [Fact] public void Handles_notification_of_no_change_to_principal_key() { var contextServices = CreateContextServices(BuildNotifyingModel()); @@ -1350,7 +1350,7 @@ public void Handles_notification_of_no_change_to_principal_key() Assert.Null(testListener.CollectionChange); } - [ConditionalFact] + [Fact] public void Handles_notification_of_foreign_key_change() { var contextServices = CreateContextServices(BuildNotifyingModel()); @@ -1376,7 +1376,7 @@ public void Handles_notification_of_foreign_key_change() Assert.Null(testListener.CollectionChange); } - [ConditionalFact] + [Fact] public void Handles_notification_of_foreign_key_changing_back_to_original_value() { var contextServices = CreateContextServices(BuildNotifyingModel()); @@ -1403,7 +1403,7 @@ public void Handles_notification_of_foreign_key_changing_back_to_original_value( Assert.Null(testListener.CollectionChange); } - [ConditionalFact] + [Fact] public void Handles_notification_of_no_change_to_foreign_key() { var contextServices = CreateContextServices(BuildNotifyingModel()); @@ -1423,7 +1423,7 @@ public void Handles_notification_of_no_change_to_foreign_key() Assert.Null(testListener.CollectionChange); } - [ConditionalFact] + [Fact] public void Handles_notification_of_reference_navigation_change() { var contextServices = CreateContextServices(BuildNotifyingModel()); @@ -1455,7 +1455,7 @@ public void Handles_notification_of_reference_navigation_change() Assert.Equal(2, testListener.KeyChange.Item6); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Handles_notification_of_reference_navigation_changing_back_to_original_value(bool useNull) { var contextServices = CreateContextServices(BuildNotifyingModel()); @@ -1501,7 +1501,7 @@ public void Handles_notification_of_reference_navigation_changing_back_to_origin Assert.Equal(1, testListener.KeyChange.Item6); } - [ConditionalFact] + [Fact] public void Handles_notification_of_no_change_to_reference_navigation() { var contextServices = CreateContextServices(BuildNotifyingModel()); @@ -1527,7 +1527,7 @@ public void Handles_notification_of_no_change_to_reference_navigation() Assert.Null(testListener.KeyChange); } - [ConditionalFact] + [Fact] public void Handles_notification_of_adding_to_collection_navigation() { var contextServices = CreateContextServices(BuildNotifyingModel()); @@ -1564,7 +1564,7 @@ public void Handles_notification_of_adding_to_collection_navigation() Assert.Null(testListener.KeyChange); } - [ConditionalFact] + [Fact] public void Handles_notification_of_removing_from_collection_navigation() { var contextServices = CreateContextServices(BuildNotifyingModel()); @@ -1598,7 +1598,7 @@ public void Handles_notification_of_removing_from_collection_navigation() Assert.Null(testListener.KeyChange); } - [ConditionalFact] + [Fact] public void Brings_in_single_new_entity_on_notification_of_set_on_reference_navigation() { var contextServices = CreateContextServices(BuildNotifyingModel()); @@ -1624,7 +1624,7 @@ public void Brings_in_single_new_entity_on_notification_of_set_on_reference_navi Assert.Equal(EntityState.Added, testAttacher.Attached.Item2); } - [ConditionalFact] + [Fact] public void Brings_in_new_entity_on_notification_of_set_on_principal_of_one_to_one_navigation() { var contextServices = CreateContextServices(BuildNotifyingModel()); @@ -1649,7 +1649,7 @@ public void Brings_in_new_entity_on_notification_of_set_on_principal_of_one_to_o Assert.Equal(EntityState.Added, testAttacher.Attached.Item2); } - [ConditionalFact] + [Fact] public void Brings_in_new_entity_on_notification_of_set_on_dependent_of_one_to_one_navigation() { var contextServices = CreateContextServices(BuildNotifyingModel()); @@ -1669,7 +1669,7 @@ public void Brings_in_new_entity_on_notification_of_set_on_dependent_of_one_to_o Assert.Equal(EntityState.Added, testAttacher.Attached.Item2); } - [ConditionalFact] + [Fact] public void Brings_in_single_new_entity_on_notification_of_set_on_collection_navigation() { var contextServices = CreateContextServices(BuildNotifyingModel()); @@ -1696,7 +1696,7 @@ public void Brings_in_single_new_entity_on_notification_of_set_on_collection_nav Assert.Equal(EntityState.Added, testAttacher.Attached.Item2); } - [ConditionalFact] + [Fact] public void Brings_in_new_entity_on_notification_of_set_on_principal_of_one_to_one_self_ref() { var contextServices = CreateContextServices(BuildNotifyingModel()); @@ -1716,7 +1716,7 @@ public void Brings_in_new_entity_on_notification_of_set_on_principal_of_one_to_o Assert.Equal(EntityState.Added, testAttacher.Attached.Item2); } - [ConditionalFact] + [Fact] public void Brings_in_new_entity_on_notification_of_set_on_dependent_of_one_to_one_self_ref() { var contextServices = CreateContextServices(BuildNotifyingModel()); diff --git a/test/EFCore.Tests/ChangeTracking/Internal/CurrentValueComparerTest.cs b/test/EFCore.Tests/ChangeTracking/Internal/CurrentValueComparerTest.cs index 2dfb03d2c85..e42ef929d09 100644 --- a/test/EFCore.Tests/ChangeTracking/Internal/CurrentValueComparerTest.cs +++ b/test/EFCore.Tests/ChangeTracking/Internal/CurrentValueComparerTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; public class CurrentValueComparerTest { - [ConditionalTheory, InlineData(typeof(EntryCurrentValueComparer), nameof(Godzilla.Id)), + [Theory, InlineData(typeof(EntryCurrentValueComparer), nameof(Godzilla.Id)), InlineData(typeof(EntryCurrentValueComparer), nameof(Godzilla.Int)), InlineData(typeof(EntryCurrentValueComparer), nameof(Godzilla.ULong)), InlineData(typeof(CurrentProviderValueComparer), nameof(Godzilla.IntStruct)), @@ -41,7 +41,7 @@ public void Factory_creates_expected_comparer(Type expectedComparer, string prop Assert.IsType(expectedComparer, factory.Create(context.Model.FindEntityType(typeof(Godzilla)).FindProperty(property))); } - [ConditionalFact] + [Fact] public void Factory_throws_if_provider_type_is_not_comparable() { using var context = new GodzillaContext(); @@ -55,7 +55,7 @@ public void Factory_throws_if_provider_type_is_not_comparable() context.Model.FindEntityType(typeof(Godzilla)).FindProperty(nameof(Godzilla.NotComparable)))).Message); } - [ConditionalFact] + [Fact] public void Factory_throws_if_model_and_provider_type_are_not_comparable() { using var context = new GodzillaContext(); @@ -69,29 +69,29 @@ public void Factory_throws_if_model_and_provider_type_are_not_comparable() context.Model.FindEntityType(typeof(Godzilla)).FindProperty(nameof(Godzilla.NotComparableConverted)))).Message); } - [ConditionalFact] + [Fact] public void Can_sort_ints() => CanSort(nameof(Godzilla.Int), i => new Godzilla { Int = i }, g => g.Int); - [ConditionalFact] + [Fact] public void Can_sort_ulongs() => CanSort(nameof(Godzilla.ULong), i => new Godzilla { ULong = (ulong)i }, g => (int)g.ULong); - [ConditionalFact] + [Fact] public void Can_sort_IntStructs() => CanSort( nameof(Godzilla.IntStruct), i => new Godzilla { IntStruct = new IntStruct { Value = i } }, g => g.IntStruct.Value); - [ConditionalFact] + [Fact] public void Can_sort_ComparableIntStructs() => CanSort( nameof(Godzilla.ComparableIntStruct), i => new Godzilla { ComparableIntStruct = new ComparableIntStruct { Value = i } }, g => g.ComparableIntStruct.Value); - [ConditionalFact] + [Fact] public void Can_sort_GenericComparableIntStructs() => CanSort( nameof(Godzilla.GenericComparableIntStruct), @@ -123,28 +123,28 @@ private void CanSort( Assert.Equal(new[] { 0, 0, 1, 3, 3, 7, 9, 9 }, entries); } - [ConditionalFact] + [Fact] public void Can_sort_BytesStructs() => CanSort( nameof(Godzilla.BytesStruct), i => new Godzilla { BytesStruct = new BytesStruct { Value = i } }, g => g.BytesStruct.Value); - [ConditionalFact] + [Fact] public void Can_sort_ComparableBytesStructs() => CanSort( nameof(Godzilla.ComparableBytesStruct), i => new Godzilla { ComparableBytesStruct = new ComparableBytesStruct { Value = i } }, g => g.ComparableBytesStruct.Value); - [ConditionalFact] + [Fact] public void Can_sort_GenericComparableBytesStruct() => CanSort( nameof(Godzilla.GenericComparableBytesStruct), i => new Godzilla { GenericComparableBytesStruct = new GenericComparableBytesStruct { Value = i } }, g => g.GenericComparableBytesStruct.Value); - [ConditionalFact] + [Fact] public void Can_sort_StructuralComparableBytesStruct() => CanSort( nameof(Godzilla.StructuralComparableBytesStruct), @@ -178,21 +178,21 @@ private void CanSort( entries); } - [ConditionalFact] + [Fact] public void Can_sort_NullableIntStructs() => CanSortNullable( nameof(Godzilla.NullableIntStruct), i => new Godzilla { NullableIntStruct = i.HasValue ? new IntStruct { Value = i.Value } : null }, g => g.NullableIntStruct?.Value); - [ConditionalFact] + [Fact] public void Can_sort_NullableComparableIntStructs() => CanSortNullable( nameof(Godzilla.NullableComparableIntStruct), i => new Godzilla { NullableComparableIntStruct = i.HasValue ? new ComparableIntStruct { Value = i.Value } : null }, g => g.NullableComparableIntStruct?.Value); - [ConditionalFact] + [Fact] public void Can_sort_NullableGenericComparableIntStructs() => CanSortNullable( nameof(Godzilla.NullableGenericComparableIntStruct), @@ -203,42 +203,42 @@ public void Can_sort_NullableGenericComparableIntStructs() }, g => g.NullableGenericComparableIntStruct?.Value); - [ConditionalFact] + [Fact] public void Can_sort_NullableInts() => CanSortNullable( nameof(Godzilla.NullableInt), i => new Godzilla { NullableInt = i }, g => g.NullableInt); - [ConditionalFact] + [Fact] public void Can_sort_NullableULongs() => CanSortNullable( nameof(Godzilla.NullableULong), i => new Godzilla { NullableULong = (ulong?)i }, g => (int?)g.NullableULong); - [ConditionalFact] + [Fact] public void Can_sort_Strings() => CanSortNullable( nameof(Godzilla.String), i => new Godzilla { String = i?.ToString() }, g => g.String == null ? null : int.Parse(g.String)); - [ConditionalFact] + [Fact] public void Can_sort_IntClasses() => CanSortNullable( nameof(Godzilla.IntClass), i => new Godzilla { IntClass = i.HasValue ? new IntClass { Value = i.Value } : null }, g => g.IntClass?.Value); - [ConditionalFact] + [Fact] public void Can_sort_ComparableIntClasses() => CanSortNullable( nameof(Godzilla.ComparableIntClass), i => new Godzilla { ComparableIntClass = i.HasValue ? new ComparableIntClass { Value = i.Value } : null }, g => g.ComparableIntClass?.Value); - [ConditionalFact] + [Fact] public void Can_sort_GenericComparableIntClass() => CanSortNullable( nameof(Godzilla.GenericComparableIntClass), @@ -270,21 +270,21 @@ private void CanSortNullable( Assert.Equal(new int?[] { null, null, 1, 3, 3, 7, 9, 9 }, entries); } - [ConditionalFact] + [Fact] public void Can_sort_NullableBytesStructs() => CanSortNullable( nameof(Godzilla.NullableBytesStruct), i => new Godzilla { NullableBytesStruct = i == null ? null : new BytesStruct { Value = i } }, g => g.NullableBytesStruct?.Value); - [ConditionalFact] + [Fact] public void Can_sort_NullableComparableBytesStructs() => CanSortNullable( nameof(Godzilla.NullableComparableBytesStruct), i => new Godzilla { NullableComparableBytesStruct = i == null ? null : new ComparableBytesStruct { Value = i } }, g => g.NullableComparableBytesStruct?.Value); - [ConditionalFact] + [Fact] public void Can_sort_NullableGenericComparableBytesStructs() => CanSortNullable( nameof(Godzilla.NullableGenericComparableBytesStruct), @@ -295,7 +295,7 @@ public void Can_sort_NullableGenericComparableBytesStructs() }, g => g.NullableGenericComparableBytesStruct?.Value); - [ConditionalFact] + [Fact] public void Can_sort_NullableStructuralComparableBytesStructs() => CanSortNullable( nameof(Godzilla.NullableStructuralComparableBytesStruct), @@ -307,7 +307,7 @@ public void Can_sort_NullableStructuralComparableBytesStructs() }, g => g.NullableStructuralComparableBytesStruct?.Value); - [ConditionalFact] + [Fact] public void Can_sort_Bytes() => CanSortNullable( nameof(Godzilla.Bytes), diff --git a/test/EFCore.Tests/ChangeTracking/Internal/FixupCompositeTest.cs b/test/EFCore.Tests/ChangeTracking/Internal/FixupCompositeTest.cs index 58b055fafb9..767afcb9d5d 100644 --- a/test/EFCore.Tests/ChangeTracking/Internal/FixupCompositeTest.cs +++ b/test/EFCore.Tests/ChangeTracking/Internal/FixupCompositeTest.cs @@ -12,7 +12,7 @@ public class FixupCompositeTest private static readonly Guid Guid77 = new("{DE390D36-DAAC-4C8B-91F7-E9F5DAA7EF01}"); private static readonly Guid Guid78 = new("{4C80406F-49AF-4D85-AFFB-75C146A98A70}"); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -46,7 +46,7 @@ public void Add_dependent_then_principal_one_to_many_FK_set_both_navs_set(Entity }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -78,7 +78,7 @@ public void Add_dependent_then_principal_one_to_many_FK_not_set_both_navs_set(En }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -110,7 +110,7 @@ public void Add_dependent_then_principal_one_to_many_FK_set_no_navs_set(EntitySt }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -143,7 +143,7 @@ public void Add_dependent_then_principal_one_to_many_FK_set_principal_nav_set(En }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -176,7 +176,7 @@ public void Add_dependent_then_principal_one_to_many_FK_set_dependent_nav_set(En }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -203,7 +203,7 @@ public void Add_dependent_then_principal_one_to_many_FK_not_set_principal_nav_se }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -234,7 +234,7 @@ public void Add_dependent_then_principal_one_to_many_FK_not_set_dependent_nav_se }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -268,7 +268,7 @@ public void Add_principal_then_dependent_one_to_many_FK_set_both_navs_set(Entity }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -300,7 +300,7 @@ public void Add_principal_then_dependent_one_to_many_FK_not_set_both_navs_set(En }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -332,7 +332,7 @@ public void Add_principal_then_dependent_one_to_many_FK_set_no_navs_set(EntitySt }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -365,7 +365,7 @@ public void Add_principal_then_dependent_one_to_many_FK_set_principal_nav_set(En }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -398,7 +398,7 @@ public void Add_principal_then_dependent_one_to_many_FK_set_dependent_nav_set(En }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -425,7 +425,7 @@ public void Add_principal_then_dependent_one_to_many_FK_not_set_principal_nav_se }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -456,7 +456,7 @@ public void Add_principal_then_dependent_one_to_many_FK_not_set_dependent_nav_se }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -487,7 +487,7 @@ public void Add_dependent_then_principal_one_to_many_prin_uni_FK_set_no_navs_set }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -518,7 +518,7 @@ public void Add_principal_then_dependent_one_to_many_prin_uni_FK_set_no_navs_set }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -550,7 +550,7 @@ public void Add_dependent_then_principal_one_to_many_prin_uni_FK_set_principal_n }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -576,7 +576,7 @@ public void Add_dependent_then_principal_one_to_many_prin_uni_FK_not_set_princip }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -608,7 +608,7 @@ public void Add_principal_then_dependent_one_to_many_prin_uni_FK_set_principal_n }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -634,7 +634,7 @@ public void Add_principal_then_dependent_one_to_many_prin_uni_FK_not_set_princip }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -665,7 +665,7 @@ public void Add_dependent_then_principal_one_to_many_dep_uni_FK_set_no_navs_set( }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -697,7 +697,7 @@ public void Add_dependent_then_principal_one_to_many_dep_uni_FK_set_dependent_na }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -727,7 +727,7 @@ public void Add_dependent_then_principal_one_to_many_dep_uni_FK_not_set_dependen }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -758,7 +758,7 @@ public void Add_principal_then_dependent_one_to_many_dep_uni_FK_set_no_navs_set( }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -790,7 +790,7 @@ public void Add_principal_then_dependent_one_to_many_dep_uni_FK_set_dependent_na }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -820,7 +820,7 @@ public void Add_principal_then_dependent_one_to_many_dep_uni_FK_not_set_dependen }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -850,7 +850,7 @@ public void Add_dependent_then_principal_one_to_many_no_navs_FK_set_no_navs_set( }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -880,7 +880,7 @@ public void Add_principal_then_dependent_one_to_many_no_navs_FK_set_no_navs_set( }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -914,7 +914,7 @@ public void Add_dependent_then_principal_one_to_one_FK_set_both_navs_set(EntityS }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -946,7 +946,7 @@ public void Add_dependent_then_principal_one_to_one_FK_not_set_both_navs_set(Ent }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -978,7 +978,7 @@ public void Add_dependent_then_principal_one_to_one_FK_set_no_navs_set(EntitySta }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1011,7 +1011,7 @@ public void Add_dependent_then_principal_one_to_one_FK_set_principal_nav_set(Ent }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1044,7 +1044,7 @@ public void Add_dependent_then_principal_one_to_one_FK_set_dependent_nav_set(Ent }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1071,7 +1071,7 @@ public void Add_dependent_then_principal_one_to_one_FK_not_set_principal_nav_set }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1102,7 +1102,7 @@ public void Add_dependent_then_principal_one_to_one_FK_not_set_dependent_nav_set }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1136,7 +1136,7 @@ public void Add_principal_then_dependent_one_to_one_FK_set_both_navs_set(EntityS }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1168,7 +1168,7 @@ public void Add_principal_then_dependent_one_to_one_FK_not_set_both_navs_set(Ent }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1200,7 +1200,7 @@ public void Add_principal_then_dependent_one_to_one_FK_set_no_navs_set(EntitySta }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1233,7 +1233,7 @@ public void Add_principal_then_dependent_one_to_one_FK_set_principal_nav_set(Ent }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1266,7 +1266,7 @@ public void Add_principal_then_dependent_one_to_one_FK_set_dependent_nav_set(Ent }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1293,7 +1293,7 @@ public void Add_principal_then_dependent_one_to_one_FK_not_set_principal_nav_set }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1324,7 +1324,7 @@ public void Add_principal_then_dependent_one_to_one_FK_not_set_dependent_nav_set }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1355,7 +1355,7 @@ public void Add_dependent_then_principal_one_to_one_prin_uni_FK_set_no_navs_set( }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1386,7 +1386,7 @@ public void Add_principal_then_dependent_one_to_one_prin_uni_FK_set_no_navs_set( }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1418,7 +1418,7 @@ public void Add_dependent_then_principal_one_to_one_prin_uni_FK_set_principal_na }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1444,7 +1444,7 @@ public void Add_dependent_then_principal_one_to_one_prin_uni_FK_not_set_principa }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1476,7 +1476,7 @@ public void Add_principal_then_dependent_one_to_one_prin_uni_FK_set_principal_na }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1502,7 +1502,7 @@ public void Add_principal_then_dependent_one_to_one_prin_uni_FK_not_set_principa }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1533,7 +1533,7 @@ public void Add_dependent_then_principal_one_to_one_dep_uni_FK_set_no_navs_set(E }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1565,7 +1565,7 @@ public void Add_dependent_then_principal_one_to_one_dep_uni_FK_set_dependent_nav }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1595,7 +1595,7 @@ public void Add_dependent_then_principal_one_to_one_dep_uni_FK_not_set_dependent }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1626,7 +1626,7 @@ public void Add_principal_then_dependent_one_to_one_dep_uni_FK_set_no_navs_set(E }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1658,7 +1658,7 @@ public void Add_principal_then_dependent_one_to_one_dep_uni_FK_set_dependent_nav }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1688,7 +1688,7 @@ public void Add_principal_then_dependent_one_to_one_dep_uni_FK_not_set_dependent }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1718,7 +1718,7 @@ public void Add_dependent_then_principal_one_to_one_no_navs_FK_set_no_navs_set(E }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1748,7 +1748,7 @@ public void Add_principal_then_dependent_one_to_one_no_navs_FK_set_no_navs_set(E }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1781,7 +1781,7 @@ public void Add_dependent_but_not_principal_one_to_many_FK_set_both_navs_set(Ent }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1812,7 +1812,7 @@ public void Add_dependent_but_not_principal_one_to_many_FK_not_set_both_navs_set }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1843,7 +1843,7 @@ public void Add_dependent_but_not_principal_one_to_many_FK_set_no_navs_set(Entit }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1875,7 +1875,7 @@ public void Add_dependent_but_not_principal_one_to_many_FK_set_principal_nav_set }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1907,7 +1907,7 @@ public void Add_dependent_but_not_principal_one_to_many_FK_set_dependent_nav_set }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1935,7 +1935,7 @@ public void Add_dependent_but_not_principal_one_to_many_FK_not_set_principal_nav }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1965,7 +1965,7 @@ public void Add_dependent_but_not_principal_one_to_many_FK_not_set_dependent_nav }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1997,7 +1997,7 @@ public void Add_principal_but_not_dependent_one_to_many_FK_set_both_navs_set(Ent }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2027,7 +2027,7 @@ public void Add_principal_but_not_dependent_one_to_many_FK_not_set_both_navs_set }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2057,7 +2057,7 @@ public void Add_principal_but_not_dependent_one_to_many_FK_set_no_navs_set(Entit }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2088,7 +2088,7 @@ public void Add_principal_but_not_dependent_one_to_many_FK_set_principal_nav_set }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2119,7 +2119,7 @@ public void Add_principal_but_not_dependent_one_to_many_FK_set_dependent_nav_set }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2150,7 +2150,7 @@ public void Add_principal_but_not_dependent_one_to_many_FK_not_set_principal_nav }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2178,7 +2178,7 @@ public void Add_principal_but_not_dependent_one_to_many_FK_not_set_dependent_nav }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2208,7 +2208,7 @@ public void Add_dependent_but_not_principal_one_to_many_prin_uni_FK_set_no_navs_ }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2237,7 +2237,7 @@ public void Add_principal_but_not_dependent_one_to_many_prin_uni_FK_set_no_navs_ }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2268,7 +2268,7 @@ public void Add_dependent_but_not_principal_one_to_many_prin_uni_FK_set_principa }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2295,7 +2295,7 @@ public void Add_dependent_but_not_principal_one_to_many_prin_uni_FK_not_set_prin }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2325,7 +2325,7 @@ public void Add_principal_but_not_dependent_one_to_many_prin_uni_FK_set_principa }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2353,7 +2353,7 @@ public void Add_principal_but_not_dependent_one_to_many_prin_uni_FK_not_set_prin }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2383,7 +2383,7 @@ public void Add_dependent_but_not_principal_one_to_many_dep_uni_FK_set_no_navs_s }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2414,7 +2414,7 @@ public void Add_dependent_but_not_principal_one_to_many_dep_uni_FK_set_dependent }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2443,7 +2443,7 @@ public void Add_dependent_but_not_principal_one_to_many_dep_uni_FK_not_set_depen }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2472,7 +2472,7 @@ public void Add_principal_but_not_dependent_one_to_many_dep_uni_FK_set_no_navs_s }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2502,7 +2502,7 @@ public void Add_principal_but_not_dependent_one_to_many_dep_uni_FK_set_dependent }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2529,7 +2529,7 @@ public void Add_principal_but_not_dependent_one_to_many_dep_uni_FK_not_set_depen }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2558,7 +2558,7 @@ public void Add_dependent_but_not_principal_one_to_many_no_navs_FK_set_no_navs_s }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2586,7 +2586,7 @@ public void Add_principal_but_not_dependent_one_to_many_no_navs_FK_set_no_navs_s }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2619,7 +2619,7 @@ public void Add_dependent_but_not_principal_one_to_one_FK_set_both_navs_set(Enti }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2650,7 +2650,7 @@ public void Add_dependent_but_not_principal_one_to_one_FK_not_set_both_navs_set( }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2681,7 +2681,7 @@ public void Add_dependent_but_not_principal_one_to_one_FK_set_no_navs_set(Entity }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2713,7 +2713,7 @@ public void Add_dependent_but_not_principal_one_to_one_FK_set_principal_nav_set( }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2745,7 +2745,7 @@ public void Add_dependent_but_not_principal_one_to_one_FK_set_dependent_nav_set( }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2773,7 +2773,7 @@ public void Add_dependent_but_not_principal_one_to_one_FK_not_set_principal_nav_ }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2803,7 +2803,7 @@ public void Add_dependent_but_not_principal_one_to_one_FK_not_set_dependent_nav_ }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2835,7 +2835,7 @@ public void Add_principal_but_not_dependent_one_to_one_FK_set_both_navs_set(Enti }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2865,7 +2865,7 @@ public void Add_principal_but_not_dependent_one_to_one_FK_not_set_both_navs_set( }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2895,7 +2895,7 @@ public void Add_principal_but_not_dependent_one_to_one_FK_set_no_navs_set(Entity }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2926,7 +2926,7 @@ public void Add_principal_but_not_dependent_one_to_one_FK_set_principal_nav_set( }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2957,7 +2957,7 @@ public void Add_principal_but_not_dependent_one_to_one_FK_set_dependent_nav_set( }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2986,7 +2986,7 @@ public void Add_principal_but_not_dependent_one_to_one_FK_not_set_principal_nav_ }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -3014,7 +3014,7 @@ public void Add_principal_but_not_dependent_one_to_one_FK_not_set_dependent_nav_ }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -3044,7 +3044,7 @@ public void Add_dependent_but_not_principal_one_to_one_prin_uni_FK_set_no_navs_s }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -3073,7 +3073,7 @@ public void Add_principal_but_not_dependent_one_to_one_prin_uni_FK_set_no_navs_s }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -3104,7 +3104,7 @@ public void Add_dependent_but_not_principal_one_to_one_prin_uni_FK_set_principal }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -3131,7 +3131,7 @@ public void Add_dependent_but_not_principal_one_to_one_prin_uni_FK_not_set_princ }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -3161,7 +3161,7 @@ public void Add_principal_but_not_dependent_one_to_one_prin_uni_FK_set_principal }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -3189,7 +3189,7 @@ public void Add_principal_but_not_dependent_one_to_one_prin_uni_FK_not_set_princ }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -3219,7 +3219,7 @@ public void Add_dependent_but_not_principal_one_to_one_dep_uni_FK_set_no_navs_se }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -3250,7 +3250,7 @@ public void Add_dependent_but_not_principal_one_to_one_dep_uni_FK_set_dependent_ }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -3279,7 +3279,7 @@ public void Add_dependent_but_not_principal_one_to_one_dep_uni_FK_not_set_depend }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -3308,7 +3308,7 @@ public void Add_principal_but_not_dependent_one_to_one_dep_uni_FK_set_no_navs_se }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -3338,7 +3338,7 @@ public void Add_principal_but_not_dependent_one_to_one_dep_uni_FK_set_dependent_ }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -3365,7 +3365,7 @@ public void Add_principal_but_not_dependent_one_to_one_dep_uni_FK_not_set_depend }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -3394,7 +3394,7 @@ public void Add_dependent_but_not_principal_one_to_one_no_navs_FK_set_no_navs_se }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -3422,7 +3422,7 @@ public void Add_principal_but_not_dependent_one_to_one_no_navs_FK_set_no_navs_se }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] diff --git a/test/EFCore.Tests/ChangeTracking/Internal/FixupTest.cs b/test/EFCore.Tests/ChangeTracking/Internal/FixupTest.cs index 3b203752a1c..02de85ff1ee 100644 --- a/test/EFCore.Tests/ChangeTracking/Internal/FixupTest.cs +++ b/test/EFCore.Tests/ChangeTracking/Internal/FixupTest.cs @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; public class FixupTest { - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -19,7 +19,7 @@ public void Add_dependent_then_principal_one_to_many_FK_set_both_navs_set(Entity => Add_principal_and_dependent_one_to_many( entityState, principalFirst: false, setFk: true, setToPrincipal: true, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -27,7 +27,7 @@ public void Add_dependent_then_principal_one_to_many_FK_not_set_both_navs_set(En => Add_principal_and_dependent_one_to_many( entityState, principalFirst: false, setFk: false, setToPrincipal: true, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -35,7 +35,7 @@ public void Add_dependent_then_principal_one_to_many_FK_set_no_navs_set(EntitySt => Add_principal_and_dependent_one_to_many( entityState, principalFirst: false, setFk: true, setToPrincipal: false, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -43,7 +43,7 @@ public void Add_dependent_then_principal_one_to_many_FK_set_principal_nav_set(En => Add_principal_and_dependent_one_to_many( entityState, principalFirst: false, setFk: true, setToPrincipal: false, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -51,7 +51,7 @@ public void Add_dependent_then_principal_one_to_many_FK_set_dependent_nav_set(En => Add_principal_and_dependent_one_to_many( entityState, principalFirst: false, setFk: true, setToPrincipal: true, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -59,7 +59,7 @@ public void Add_dependent_then_principal_one_to_many_FK_not_set_principal_nav_se => Add_principal_and_dependent_one_to_many( entityState, principalFirst: false, setFk: false, setToPrincipal: false, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -67,7 +67,7 @@ public void Add_dependent_then_principal_one_to_many_FK_not_set_dependent_nav_se => Add_principal_and_dependent_one_to_many( entityState, principalFirst: false, setFk: false, setToPrincipal: true, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -75,7 +75,7 @@ public void Add_principal_then_dependent_one_to_many_FK_set_both_navs_set(Entity => Add_principal_and_dependent_one_to_many( entityState, principalFirst: true, setFk: true, setToPrincipal: true, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -83,7 +83,7 @@ public void Add_principal_then_dependent_one_to_many_FK_not_set_both_navs_set(En => Add_principal_and_dependent_one_to_many( entityState, principalFirst: true, setFk: false, setToPrincipal: true, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -91,7 +91,7 @@ public void Add_principal_then_dependent_one_to_many_FK_set_no_navs_set(EntitySt => Add_principal_and_dependent_one_to_many( entityState, principalFirst: true, setFk: true, setToPrincipal: false, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -99,7 +99,7 @@ public void Add_principal_then_dependent_one_to_many_FK_set_principal_nav_set(En => Add_principal_and_dependent_one_to_many( entityState, principalFirst: true, setFk: true, setToPrincipal: false, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -107,7 +107,7 @@ public void Add_principal_then_dependent_one_to_many_FK_set_dependent_nav_set(En => Add_principal_and_dependent_one_to_many( entityState, principalFirst: true, setFk: true, setToPrincipal: true, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -115,7 +115,7 @@ public void Add_principal_then_dependent_one_to_many_FK_not_set_principal_nav_se => Add_principal_and_dependent_one_to_many( entityState, principalFirst: true, setFk: false, setToPrincipal: false, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -171,42 +171,42 @@ private void Add_principal_and_dependent_one_to_many( }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_many_prin_uni_FK_set_no_navs_set(EntityState entityState) => Add_principal_and_dependent_one_to_many_prin_uni(entityState, principalFirst: false, setFk: true, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_many_prin_uni_FK_set_principal_nav_set(EntityState entityState) => Add_principal_and_dependent_one_to_many_prin_uni(entityState, principalFirst: false, setFk: true, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_many_prin_uni_FK_not_set_principal_nav_set(EntityState entityState) => Add_principal_and_dependent_one_to_many_prin_uni(entityState, principalFirst: false, setFk: false, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_many_prin_uni_FK_set_no_navs_set(EntityState entityState) => Add_principal_and_dependent_one_to_many_prin_uni(entityState, principalFirst: true, setFk: true, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_many_prin_uni_FK_set_principal_nav_set(EntityState entityState) => Add_principal_and_dependent_one_to_many_prin_uni(entityState, principalFirst: true, setFk: true, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -254,42 +254,42 @@ private void Add_principal_and_dependent_one_to_many_prin_uni( }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_many_dep_uni_FK_set_no_navs_set(EntityState entityState) => Add_principal_and_dependent_one_to_many_dep_uni(entityState, principalFirst: false, setFk: true, setToPrincipal: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_many_dep_uni_FK_set_dependent_nav_set(EntityState entityState) => Add_principal_and_dependent_one_to_many_dep_uni(entityState, principalFirst: false, setFk: true, setToPrincipal: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_many_dep_uni_FK_not_set_dependent_nav_set(EntityState entityState) => Add_principal_and_dependent_one_to_many_dep_uni(entityState, principalFirst: false, setFk: false, setToPrincipal: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_many_dep_uni_FK_set_no_navs_set(EntityState entityState) => Add_principal_and_dependent_one_to_many_dep_uni(entityState, principalFirst: true, setFk: true, setToPrincipal: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_many_dep_uni_FK_set_dependent_nav_set(EntityState entityState) => Add_principal_and_dependent_one_to_many_dep_uni(entityState, principalFirst: true, setFk: true, setToPrincipal: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -337,7 +337,7 @@ private void Add_principal_and_dependent_one_to_many_dep_uni( }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -360,7 +360,7 @@ public void Add_dependent_then_principal_one_to_many_no_navs_FK_set(EntityState }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -383,7 +383,7 @@ public void Add_principal_then_dependent_one_to_many_no_navs_FK_set(EntityState }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -391,7 +391,7 @@ public void Add_dependent_then_principal_one_to_one_FK_set_both_navs_set(EntityS => Add_principal_and_dependent_one_to_one( entityState, principalFirst: false, setFk: true, setToPrincipal: true, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -399,7 +399,7 @@ public void Add_dependent_then_principal_one_to_one_FK_not_set_both_navs_set(Ent => Add_principal_and_dependent_one_to_one( entityState, principalFirst: false, setFk: false, setToPrincipal: true, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -407,7 +407,7 @@ public void Add_dependent_then_principal_one_to_one_FK_set_no_navs_set(EntitySta => Add_principal_and_dependent_one_to_one( entityState, principalFirst: false, setFk: true, setToPrincipal: false, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -415,7 +415,7 @@ public void Add_dependent_then_principal_one_to_one_FK_set_principal_nav_set(Ent => Add_principal_and_dependent_one_to_one( entityState, principalFirst: false, setFk: true, setToPrincipal: false, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -423,7 +423,7 @@ public void Add_dependent_then_principal_one_to_one_FK_set_dependent_nav_set(Ent => Add_principal_and_dependent_one_to_one( entityState, principalFirst: false, setFk: true, setToPrincipal: true, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -431,7 +431,7 @@ public void Add_dependent_then_principal_one_to_one_FK_not_set_principal_nav_set => Add_principal_and_dependent_one_to_one( entityState, principalFirst: false, setFk: false, setToPrincipal: false, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -439,7 +439,7 @@ public void Add_dependent_then_principal_one_to_one_FK_not_set_dependent_nav_set => Add_principal_and_dependent_one_to_one( entityState, principalFirst: false, setFk: false, setToPrincipal: true, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -447,7 +447,7 @@ public void Add_principal_then_dependent_one_to_one_FK_set_both_navs_set(EntityS => Add_principal_and_dependent_one_to_one( entityState, principalFirst: true, setFk: true, setToPrincipal: true, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -455,7 +455,7 @@ public void Add_principal_then_dependent_one_to_one_FK_not_set_both_navs_set(Ent => Add_principal_and_dependent_one_to_one( entityState, principalFirst: true, setFk: false, setToPrincipal: true, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -463,7 +463,7 @@ public void Add_principal_then_dependent_one_to_one_FK_set_no_navs_set(EntitySta => Add_principal_and_dependent_one_to_one( entityState, principalFirst: true, setFk: true, setToPrincipal: false, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -471,7 +471,7 @@ public void Add_principal_then_dependent_one_to_one_FK_set_principal_nav_set(Ent => Add_principal_and_dependent_one_to_one( entityState, principalFirst: true, setFk: true, setToPrincipal: false, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -479,7 +479,7 @@ public void Add_principal_then_dependent_one_to_one_FK_set_dependent_nav_set(Ent => Add_principal_and_dependent_one_to_one( entityState, principalFirst: true, setFk: true, setToPrincipal: true, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -487,7 +487,7 @@ public void Add_principal_then_dependent_one_to_one_FK_not_set_principal_nav_set => Add_principal_and_dependent_one_to_one( entityState, principalFirst: true, setFk: false, setToPrincipal: false, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -543,42 +543,42 @@ private void Add_principal_and_dependent_one_to_one( }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_one_prin_uni_FK_set_no_navs_set(EntityState entityState) => Add_principal_and_dependent_one_to_one_prin_uni(entityState, principalFirst: false, setFk: true, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_one_prin_uni_FK_set_principal_nav_set(EntityState entityState) => Add_principal_and_dependent_one_to_one_prin_uni(entityState, principalFirst: false, setFk: true, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_one_prin_uni_FK_not_set_principal_nav_set(EntityState entityState) => Add_principal_and_dependent_one_to_one_prin_uni(entityState, principalFirst: false, setFk: false, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_one_prin_uni_FK_set_no_navs_set(EntityState entityState) => Add_principal_and_dependent_one_to_one_prin_uni(entityState, principalFirst: true, setFk: true, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_one_prin_uni_FK_set_principal_nav_set(EntityState entityState) => Add_principal_and_dependent_one_to_one_prin_uni(entityState, principalFirst: true, setFk: true, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -628,7 +628,7 @@ private void Add_principal_and_dependent_one_to_one_prin_uni( }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -636,7 +636,7 @@ public void Add_dependent_then_principal_one_to_one_dep_uni_FK_set_no_navs_set(E => Add_principal_and_dependent_one_to_one_dep_uni( entityState, principalFirst: false, setFk: true, setToPrincipal: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -644,7 +644,7 @@ public void Add_dependent_then_principal_one_to_one_dep_uni_FK_set_dependent_nav => Add_principal_and_dependent_one_to_one_dep_uni( entityState, principalFirst: false, setFk: true, setToPrincipal: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -652,7 +652,7 @@ public void Add_dependent_then_principal_one_to_one_dep_uni_FK_not_set_dependent => Add_principal_and_dependent_one_to_one_dep_uni( entityState, principalFirst: false, setFk: false, setToPrincipal: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -660,7 +660,7 @@ public void Add_principal_then_dependent_one_to_one_dep_uni_FK_set_no_navs_set(E => Add_principal_and_dependent_one_to_one_dep_uni( entityState, principalFirst: true, setFk: true, setToPrincipal: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -668,7 +668,7 @@ public void Add_principal_then_dependent_one_to_one_dep_uni_FK_set_dependent_nav => Add_principal_and_dependent_one_to_one_dep_uni( entityState, principalFirst: true, setFk: true, setToPrincipal: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -719,7 +719,7 @@ private void Add_principal_and_dependent_one_to_one_dep_uni( }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -742,7 +742,7 @@ public void Add_dependent_then_principal_one_to_one_no_navs_FK_set(EntityState e }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -765,49 +765,49 @@ public void Add_principal_then_dependent_one_to_one_no_navs_FK_set(EntityState e }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_but_not_principal_one_to_many_FK_set_both_navs_set(EntityState entityState) => Add_dependent_but_not_principal_one_to_many(entityState, setFk: true, setToPrincipal: true, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_but_not_principal_one_to_many_FK_not_set_both_navs_set(EntityState entityState) => Add_dependent_but_not_principal_one_to_many(entityState, setFk: false, setToPrincipal: true, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_but_not_principal_one_to_many_FK_set_no_navs_set(EntityState entityState) => Add_dependent_but_not_principal_one_to_many(entityState, setFk: true, setToPrincipal: false, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_but_not_principal_one_to_many_FK_set_principal_nav_set(EntityState entityState) => Add_dependent_but_not_principal_one_to_many(entityState, setFk: true, setToPrincipal: false, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_but_not_principal_one_to_many_FK_set_dependent_nav_set(EntityState entityState) => Add_dependent_but_not_principal_one_to_many(entityState, setFk: true, setToPrincipal: true, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_but_not_principal_one_to_many_FK_not_set_principal_nav_set(EntityState entityState) => Add_dependent_but_not_principal_one_to_many(entityState, setFk: false, setToPrincipal: false, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -857,49 +857,49 @@ private void Add_dependent_but_not_principal_one_to_many( }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_but_not_dependent_one_to_many_FK_set_both_navs_set(EntityState entityState) => Add_principal_but_not_dependent_one_to_many(entityState, setFk: true, setToPrincipal: true, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_but_not_dependent_one_to_many_FK_not_set_both_navs_set(EntityState entityState) => Add_principal_but_not_dependent_one_to_many(entityState, setFk: false, setToPrincipal: true, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_but_not_dependent_one_to_many_FK_set_no_navs_set(EntityState entityState) => Add_principal_but_not_dependent_one_to_many(entityState, setFk: true, setToPrincipal: false, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_but_not_dependent_one_to_many_FK_set_principal_nav_set(EntityState entityState) => Add_principal_but_not_dependent_one_to_many(entityState, setFk: true, setToPrincipal: false, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_but_not_dependent_one_to_many_FK_set_dependent_nav_set(EntityState entityState) => Add_principal_but_not_dependent_one_to_many(entityState, setFk: true, setToPrincipal: true, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_but_not_dependent_one_to_many_FK_not_set_principal_nav_set(EntityState entityState) => Add_principal_but_not_dependent_one_to_many(entityState, setFk: false, setToPrincipal: false, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -950,21 +950,21 @@ private void Add_principal_but_not_dependent_one_to_many( }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_but_not_principal_one_to_many_prin_uni_FK_set_no_navs_set(EntityState entityState) => Add_dependent_but_not_principal_one_to_many_prin_uni(entityState, setFk: true, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_but_not_principal_one_to_many_prin_uni_FK_set_principal_nav_set(EntityState entityState) => Add_dependent_but_not_principal_one_to_many_prin_uni(entityState, setFk: true, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1004,21 +1004,21 @@ private void Add_dependent_but_not_principal_one_to_many_prin_uni(EntityState en }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_but_not_dependent_one_to_many_prin_uni_FK_set_no_navs_set(EntityState entityState) => Add_principal_but_not_dependent_one_to_many_prin_uni(entityState, setFk: true, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_but_not_dependent_one_to_many_prin_uni_FK_set_principal_nav_set(EntityState entityState) => Add_principal_but_not_dependent_one_to_many_prin_uni(entityState, setFk: true, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1059,21 +1059,21 @@ private void Add_principal_but_not_dependent_one_to_many_prin_uni(EntityState en }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_but_not_principal_one_to_many_dep_uni_FK_set_no_navs_set(EntityState entityState) => Add_dependent_but_not_principal_one_to_many_dep_uni(entityState, setFk: true, setToPrincipal: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_but_not_principal_one_to_many_dep_uni_FK_set_dependent_nav_set(EntityState entityState) => Add_dependent_but_not_principal_one_to_many_dep_uni(entityState, setFk: true, setToPrincipal: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1113,21 +1113,21 @@ private void Add_dependent_but_not_principal_one_to_many_dep_uni(EntityState ent }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_but_not_dependent_one_to_many_dep_uni_FK_set_no_navs_set(EntityState entityState) => Add_principal_but_not_dependent_one_to_many_dep_uni(entityState, setFk: true, setToPrincipal: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_but_not_dependent_one_to_many_dep_uni_FK_set_dependent_nav_set(EntityState entityState) => Add_principal_but_not_dependent_one_to_many_dep_uni(entityState, setFk: true, setToPrincipal: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1165,7 +1165,7 @@ private void Add_principal_but_not_dependent_one_to_many_dep_uni(EntityState ent }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1192,7 +1192,7 @@ public void Add_dependent_but_not_principal_one_to_many_no_navs_FK_set(EntitySta }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1218,49 +1218,49 @@ public void Add_principal_but_not_dependent_one_to_many_no_navs_FK_set(EntitySta }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_but_not_principal_one_to_one_FK_set_both_navs_set(EntityState entityState) => Add_dependent_but_not_principal_one_to_one(entityState, setFk: true, setToPrincipal: true, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_but_not_principal_one_to_one_FK_not_set_both_navs_set(EntityState entityState) => Add_dependent_but_not_principal_one_to_one(entityState, setFk: false, setToPrincipal: true, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_but_not_principal_one_to_one_FK_set_no_navs_set(EntityState entityState) => Add_dependent_but_not_principal_one_to_one(entityState, setFk: true, setToPrincipal: false, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_but_not_principal_one_to_one_FK_set_principal_nav_set(EntityState entityState) => Add_dependent_but_not_principal_one_to_one(entityState, setFk: true, setToPrincipal: false, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_but_not_principal_one_to_one_FK_set_dependent_nav_set(EntityState entityState) => Add_dependent_but_not_principal_one_to_one(entityState, setFk: true, setToPrincipal: true, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_but_not_principal_one_to_one_FK_not_set_principal_nav_set(EntityState entityState) => Add_dependent_but_not_principal_one_to_one(entityState, setFk: false, setToPrincipal: false, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1312,7 +1312,7 @@ private void Add_dependent_but_not_principal_one_to_one( }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1320,7 +1320,7 @@ public void Add_principal_but_not_dependent_one_to_one_FK_set_both_navs_set(Enti => Add_principal_but_not_dependent_one_to_one( entityState, setFk: true, setToPrincipal: true, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1328,7 +1328,7 @@ public void Add_principal_but_not_dependent_one_to_one_FK_not_set_both_navs_set( => Add_principal_but_not_dependent_one_to_one( entityState, setFk: false, setToPrincipal: true, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1336,7 +1336,7 @@ public void Add_principal_but_not_dependent_one_to_one_FK_set_no_navs_set(Entity => Add_principal_but_not_dependent_one_to_one( entityState, setFk: true, setToPrincipal: false, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1344,7 +1344,7 @@ public void Add_principal_but_not_dependent_one_to_one_FK_set_principal_nav_set( => Add_principal_but_not_dependent_one_to_one( entityState, setFk: true, setToPrincipal: false, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1352,7 +1352,7 @@ public void Add_principal_but_not_dependent_one_to_one_FK_set_dependent_nav_set( => Add_principal_but_not_dependent_one_to_one( entityState, setFk: true, setToPrincipal: true, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1360,7 +1360,7 @@ public void Add_principal_but_not_dependent_one_to_one_FK_not_set_principal_nav_ => Add_principal_but_not_dependent_one_to_one( entityState, setFk: false, setToPrincipal: false, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1412,21 +1412,21 @@ private void Add_principal_but_not_dependent_one_to_one( }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_but_not_principal_one_to_one_prin_uni_FK_set_no_navs_set(EntityState entityState) => Add_dependent_but_not_principal_one_to_one_prin_uni(entityState, setFk: true, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_but_not_principal_one_to_one_prin_uni_FK_set_principal_nav_set(EntityState entityState) => Add_dependent_but_not_principal_one_to_one_prin_uni(entityState, setFk: true, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1466,21 +1466,21 @@ private void Add_dependent_but_not_principal_one_to_one_prin_uni(EntityState ent }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_but_not_dependent_one_to_one_prin_uni_FK_set_no_navs_set(EntityState entityState) => Add_principal_but_not_dependent_one_to_one_prin_uni(entityState, setFk: true, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_but_not_dependent_one_to_one_prin_uni_FK_set_principal_nav_set(EntityState entityState) => Add_principal_but_not_dependent_one_to_one_prin_uni(entityState, setFk: true, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1521,21 +1521,21 @@ private void Add_principal_but_not_dependent_one_to_one_prin_uni(EntityState ent }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_but_not_principal_one_to_one_dep_uni_FK_set_no_navs_set(EntityState entityState) => Add_dependent_but_not_principal_one_to_one_dep_uni(entityState, setFk: true, setToPrincipal: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_but_not_principal_one_to_one_dep_uni_FK_set_dependent_nav_set(EntityState entityState) => Add_dependent_but_not_principal_one_to_one_dep_uni(entityState, setFk: true, setToPrincipal: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1574,21 +1574,21 @@ private void Add_dependent_but_not_principal_one_to_one_dep_uni(EntityState enti }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_but_not_dependent_one_to_one_dep_uni_FK_set_no_navs_set(EntityState entityState) => Add_principal_but_not_dependent_one_to_one_dep_uni(entityState, setFk: true, setToPrincipal: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_but_not_dependent_one_to_one_dep_uni_FK_set_dependent_nav_set(EntityState entityState) => Add_principal_but_not_dependent_one_to_one_dep_uni(entityState, setFk: true, setToPrincipal: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1626,7 +1626,7 @@ private void Add_principal_but_not_dependent_one_to_one_dep_uni(EntityState enti }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1653,7 +1653,7 @@ public void Add_dependent_but_not_principal_one_to_one_no_navs_FK_set(EntityStat }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1679,7 +1679,7 @@ public void Add_principal_but_not_dependent_one_to_one_no_navs_FK_set(EntityStat }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, EntityState.Added), InlineData(EntityState.Added, EntityState.Modified), InlineData(EntityState.Added, EntityState.Unchanged), @@ -1691,7 +1691,7 @@ public void Add_principal_but_not_dependent_one_to_one_no_navs_FK_set(EntityStat public void Replace_dependent_one_to_one_FK_set_both_navs_set(EntityState oldEntityState, EntityState newEntityState) => Replace_dependent_one_to_one(oldEntityState, newEntityState, setFk: true, setToPrincipal: true, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, EntityState.Added), InlineData(EntityState.Added, EntityState.Modified), InlineData(EntityState.Added, EntityState.Unchanged), @@ -1703,7 +1703,7 @@ public void Replace_dependent_one_to_one_FK_set_both_navs_set(EntityState oldEnt public void Replace_dependent_one_to_one_FK_not_set_both_navs_set(EntityState oldEntityState, EntityState newEntityState) => Replace_dependent_one_to_one(oldEntityState, newEntityState, setFk: false, setToPrincipal: true, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, EntityState.Added), InlineData(EntityState.Added, EntityState.Modified), InlineData(EntityState.Added, EntityState.Unchanged), @@ -1715,7 +1715,7 @@ public void Replace_dependent_one_to_one_FK_not_set_both_navs_set(EntityState ol public void Replace_dependent_one_to_one_FK_set_no_navs_set(EntityState oldEntityState, EntityState newEntityState) => Replace_dependent_one_to_one(oldEntityState, newEntityState, setFk: true, setToPrincipal: false, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, EntityState.Added), InlineData(EntityState.Added, EntityState.Modified), InlineData(EntityState.Added, EntityState.Unchanged), @@ -1727,7 +1727,7 @@ public void Replace_dependent_one_to_one_FK_set_no_navs_set(EntityState oldEntit public void Replace_dependent_one_to_one_FK_set_principal_nav_set(EntityState oldEntityState, EntityState newEntityState) => Replace_dependent_one_to_one(oldEntityState, newEntityState, setFk: true, setToPrincipal: false, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, EntityState.Added), InlineData(EntityState.Added, EntityState.Modified), InlineData(EntityState.Added, EntityState.Unchanged), @@ -1739,7 +1739,7 @@ public void Replace_dependent_one_to_one_FK_set_principal_nav_set(EntityState ol public void Replace_dependent_one_to_one_FK_set_dependent_nav_set(EntityState oldEntityState, EntityState newEntityState) => Replace_dependent_one_to_one(oldEntityState, newEntityState, setFk: true, setToPrincipal: true, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, EntityState.Added), InlineData(EntityState.Added, EntityState.Modified), InlineData(EntityState.Modified, EntityState.Added), @@ -1751,7 +1751,7 @@ public void Replace_dependent_one_to_one_FK_not_set_principal_nav_set(EntityStat oldEntityState, newEntityState, setFk: false, setToPrincipal: false, setToDependent: true, detectChanges: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, EntityState.Added), InlineData(EntityState.Added, EntityState.Modified), InlineData(EntityState.Modified, EntityState.Added), @@ -1816,7 +1816,7 @@ private void Replace_dependent_one_to_one( }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, EntityState.Added), InlineData(EntityState.Added, EntityState.Modified), InlineData(EntityState.Added, EntityState.Unchanged), @@ -1828,7 +1828,7 @@ private void Replace_dependent_one_to_one( public void Replace_dependent_one_to_one_prin_uni_FK_set_no_navs_set(EntityState oldEntityState, EntityState newEntityState) => Replace_dependent_one_to_one_prin_uni(oldEntityState, newEntityState, setFk: true, setToDependent: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, EntityState.Added), InlineData(EntityState.Added, EntityState.Modified), InlineData(EntityState.Added, EntityState.Unchanged), @@ -1840,7 +1840,7 @@ public void Replace_dependent_one_to_one_prin_uni_FK_set_no_navs_set(EntityState public void Replace_dependent_one_to_one_prin_uni_FK_set_principal_nav_set(EntityState oldEntityState, EntityState newEntityState) => Replace_dependent_one_to_one_prin_uni(oldEntityState, newEntityState, setFk: true, setToDependent: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, EntityState.Added), InlineData(EntityState.Added, EntityState.Modified), InlineData(EntityState.Modified, EntityState.Added), @@ -1899,7 +1899,7 @@ private void Replace_dependent_one_to_one_prin_uni( }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, EntityState.Added), InlineData(EntityState.Added, EntityState.Modified), InlineData(EntityState.Added, EntityState.Unchanged), @@ -1911,7 +1911,7 @@ private void Replace_dependent_one_to_one_prin_uni( public void Replace_dependent_one_to_one_dep_uni_FK_set_no_navs_set(EntityState oldEntityState, EntityState newEntityState) => Replace_dependent_one_to_one_dep_uni(oldEntityState, newEntityState, setFk: true, setToPrincipal: false); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, EntityState.Added), InlineData(EntityState.Added, EntityState.Modified), InlineData(EntityState.Added, EntityState.Unchanged), @@ -1923,7 +1923,7 @@ public void Replace_dependent_one_to_one_dep_uni_FK_set_no_navs_set(EntityState public void Replace_dependent_one_to_one_dep_uni_FK_set_dependent_nav_set(EntityState oldEntityState, EntityState newEntityState) => Replace_dependent_one_to_one_dep_uni(oldEntityState, newEntityState, setFk: true, setToPrincipal: true); - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, EntityState.Added), InlineData(EntityState.Added, EntityState.Modified), InlineData(EntityState.Modified, EntityState.Added), @@ -1980,7 +1980,7 @@ private void Replace_dependent_one_to_one_dep_uni( }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, EntityState.Added), InlineData(EntityState.Added, EntityState.Modified), InlineData(EntityState.Added, EntityState.Unchanged), @@ -2019,7 +2019,7 @@ public void Replace_dependent_one_to_one_no_navs_FK_set(EntityState oldEntitySta }); } - [ConditionalFact] // Issue #6067 + [Fact] // Issue #6067 public void Collection_nav_props_remain_fixed_up_after_manual_fixup_and_DetectChanges() { using (var context = new FixupContext()) @@ -2061,7 +2061,7 @@ public void Collection_nav_props_remain_fixed_up_after_manual_fixup_and_DetectCh } } - [ConditionalFact] + [Fact] public void Navigation_fixup_happens_when_new_entities_are_tracked() { using var context = new FixupContext(); @@ -2096,7 +2096,7 @@ public void Navigation_fixup_happens_when_new_entities_are_tracked() Assert.Equal(5, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public void Navigation_fixup_happens_when_entities_are_tracked_from_query() { using var context = new FixupContext(); @@ -2138,7 +2138,7 @@ public void Navigation_fixup_happens_when_entities_are_tracked_from_query() Assert.Equal(5, context.ChangeTracker.Entries().Count()); } - [ConditionalFact] + [Fact] public void Navigation_fixup_is_non_destructive_to_existing_graphs() { using var context = new FixupContext(); @@ -2226,7 +2226,7 @@ public void Navigation_fixup_is_non_destructive_to_existing_graphs() Assert.Equal(5, context.ChangeTracker.Entries().Count()); } - [ConditionalTheory, + [Theory, InlineData(false, false, false), InlineData(true, false, false), InlineData(true, false, true), @@ -2285,7 +2285,7 @@ public void Attaching_dependent_with_duplicate_principal_resolves(bool copy, boo Assert.Contains(newProduct, originalCategory.Products); } - [ConditionalTheory, + [Theory, InlineData(false, false, false), InlineData(true, false, false), InlineData(true, false, true), @@ -2337,7 +2337,7 @@ public void Attaching_duplicate_dependent_with_duplicate_principal_resolves(bool Assert.Contains(originalProduct, originalCategory.Products); } - [ConditionalTheory, + [Theory, InlineData(false, false, false), InlineData(true, false, false), InlineData(true, false, true), @@ -2402,7 +2402,7 @@ public void Attaching_principal_with_duplicate_dependent_resolves(bool copy, boo } } - [ConditionalTheory, + [Theory, InlineData(false, false, false), InlineData(true, false, false), InlineData(true, false, true), @@ -2454,7 +2454,7 @@ public void Attaching_duplicate_principal_with_duplicate_dependent_resolves(bool Assert.Contains(originalProduct, originalCategory.Products); } - [ConditionalTheory, + [Theory, InlineData(false, false, false), InlineData(true, false, false), InlineData(true, false, true), @@ -2508,7 +2508,7 @@ public void Attaching_one_to_one_dependent_with_duplicate_principal_resolves(boo Assert.Same(originalParent, newChild.Parent); } - [ConditionalTheory, + [Theory, InlineData(false, false, false), InlineData(true, false, false), InlineData(true, false, true), @@ -2562,7 +2562,7 @@ public void Attaching_one_to_one_duplicate_dependent_with_duplicate_principal_re Assert.Same(originalChild, originalParent.Child); } - [ConditionalTheory, + [Theory, InlineData(false, false, false), InlineData(true, false, false), InlineData(true, false, true), @@ -2618,7 +2618,7 @@ public void Attaching_one_to_one_principal_with_duplicate_dependent_resolves(boo Assert.Null(originalParent.Child); } - [ConditionalTheory, + [Theory, InlineData(false, false, false), InlineData(true, false, false), InlineData(true, false, true), @@ -2672,7 +2672,7 @@ public void Attaching_one_to_one_duplicate_principal_with_duplicate_dependent_re Assert.Same(originalChild, originalParent.Child); } - [ConditionalTheory, + [Theory, InlineData(false, false, false, false), InlineData(true, false, false, false), InlineData(true, false, true, false), @@ -2907,7 +2907,7 @@ public void Attaching_entity_with_duplicate_many_to_many_resolves( } } - [ConditionalFact] + [Fact] public void Comparable_entities_that_comply_are_tracked_correctly() { using var context = new ComparableEntitiesContext("ComparableEntities"); @@ -2999,7 +2999,7 @@ protected internal override void OnConfiguring(DbContextOptionsBuilder optionsBu public DbSet Level2s { get; set; } } - [ConditionalFact] + [Fact] public void Use_correct_entity_after_SetValues() { var detachedProduct = new ProductX { Description = "Heavy Engine XT3" }; @@ -3088,7 +3088,7 @@ protected internal override void OnModelCreating(ModelBuilder modelBuilder) .OnDelete(DeleteBehavior.Cascade); } - [ConditionalFact] + [Fact] public void Replaced_duplicate_entities_are_used_even_with_bad_hash() { using (var context = new BadHashDay("BadHashDay")) @@ -3218,7 +3218,7 @@ protected internal override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public void Detached_entity_is_not_replaced_by_tracked_entity() { using var context = new BadBeeContext(nameof(BadBeeContext)); @@ -3236,7 +3236,7 @@ public void Detached_entity_is_not_replaced_by_tracked_entity() Assert.Throws(() => context.Add(a)).Message); } - [ConditionalTheory, + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), @@ -3692,7 +3692,7 @@ private void AssertFixup(DbContext context, Action asserts) asserts(); } - [ConditionalFact] + [Fact] public void Collection_nav_props_remain_fixed_up_after_DetectChanges() { using (var db = new Context4853()) @@ -3779,7 +3779,7 @@ protected internal override void OnConfiguring(DbContextOptionsBuilder options) .UseInMemoryDatabase(nameof(DetachingContext)); } - [ConditionalFact] // Issue #21949 + [Fact] // Issue #21949 public void Detaching_principal_tracks_unreferenced_foreign_keys() { using var context = new DetachingContext(); @@ -3850,7 +3850,7 @@ public class FixupTag public List Posts { get; } = []; } - [ConditionalFact] + [Fact] public void Detaching_required_one_to_many_dependent_does_not_clear_navigation_to_deleted_principal() { var databaseName = Guid.NewGuid().ToString(); @@ -3888,7 +3888,7 @@ public void Detaching_required_one_to_many_dependent_does_not_clear_navigation_t } } - [ConditionalFact] + [Fact] public void Detaching_required_one_to_many_principal_does_not_clear_navigation_to_deleted_dependent() { var databaseName = Guid.NewGuid().ToString(); @@ -3926,7 +3926,7 @@ public void Detaching_required_one_to_many_principal_does_not_clear_navigation_t } } - [ConditionalFact] + [Fact] public void Detaching_required_one_to_one_dependent_does_not_clear_navigation_to_deleted_principal() { var databaseName = Guid.NewGuid().ToString(); @@ -3964,7 +3964,7 @@ public void Detaching_required_one_to_one_dependent_does_not_clear_navigation_to } } - [ConditionalFact] + [Fact] public void Detaching_required_one_to_one_principal_does_not_clear_navigation_to_deleted_dependent() { var databaseName = Guid.NewGuid().ToString(); @@ -4002,7 +4002,7 @@ public void Detaching_required_one_to_one_principal_does_not_clear_navigation_to } } - [ConditionalFact] + [Fact] public void Detaching_optional_one_to_many_dependent_does_not_clear_navigation_to_deleted_principal() { var databaseName = Guid.NewGuid().ToString(); @@ -4040,7 +4040,7 @@ public void Detaching_optional_one_to_many_dependent_does_not_clear_navigation_t } } - [ConditionalFact] + [Fact] public void Detaching_optional_one_to_many_dependent_does_not_unclear_navigation_fixup_to_deleted_principal() { var databaseName = Guid.NewGuid().ToString(); @@ -4077,7 +4077,7 @@ public void Detaching_optional_one_to_many_dependent_does_not_unclear_navigation } } - [ConditionalFact] + [Fact] public void Detaching_optional_one_to_many_principal_does_not_clear_navigation_to_deleted_dependent() { var databaseName = Guid.NewGuid().ToString(); @@ -4114,7 +4114,7 @@ public void Detaching_optional_one_to_many_principal_does_not_clear_navigation_t } } - [ConditionalFact] + [Fact] public void Detaching_optional_one_to_one_dependent_does_not_clear_navigation_to_deleted_principal() { var databaseName = Guid.NewGuid().ToString(); @@ -4152,7 +4152,7 @@ public void Detaching_optional_one_to_one_dependent_does_not_clear_navigation_to } } - [ConditionalFact] + [Fact] public void Detaching_optional_one_to_one_dependent_does_not_unclear_navigation_fixup_to_deleted_principal() { var databaseName = Guid.NewGuid().ToString(); @@ -4189,7 +4189,7 @@ public void Detaching_optional_one_to_one_dependent_does_not_unclear_navigation_ } } - [ConditionalFact] + [Fact] public void Detaching_optional_one_to_one_principal_does_not_clear_navigation_to_deleted_dependent() { var databaseName = Guid.NewGuid().ToString(); @@ -4226,7 +4226,7 @@ public void Detaching_optional_one_to_one_principal_does_not_clear_navigation_to } } - [ConditionalFact] + [Fact] public void Detaching_other_side_of_deleted_many_to_many_does_not_clear_navigation() { var databaseName = Guid.NewGuid().ToString(); diff --git a/test/EFCore.Tests/ChangeTracking/Internal/InternalClrEntityEntryTest.cs b/test/EFCore.Tests/ChangeTracking/Internal/InternalClrEntityEntryTest.cs index ea454300734..a924253c6d0 100644 --- a/test/EFCore.Tests/ChangeTracking/Internal/InternalClrEntityEntryTest.cs +++ b/test/EFCore.Tests/ChangeTracking/Internal/InternalClrEntityEntryTest.cs @@ -22,55 +22,55 @@ public class InternalClrEntityEntryTest : InternalEntityEntryTestBase< InternalClrEntityEntryTest.KClrContext, InternalClrEntityEntryTest.KClrSnapContext> { - [ConditionalFact] + [Fact] public virtual void All_original_values_can_be_accessed_for_entity_that_does_full_change_tracking_if_eager_values_on() => AllOriginalValuesTest(new FullNotificationEntity()); - [ConditionalFact] + [Fact] public virtual void Required_original_values_can_be_accessed_for_entity_that_does_full_change_tracking() => OriginalValuesTest(new FullNotificationEntity()); - [ConditionalFact] + [Fact] public virtual void Required_original_values_can_be_accessed_for_entity_that_does_changed_only_notification() => OriginalValuesTest(new ChangedOnlyEntity()); - [ConditionalFact] + [Fact] public virtual void Required_original_values_can_be_accessed_generically_for_entity_that_does_full_change_tracking() => GenericOriginalValuesTest(new FullNotificationEntity()); - [ConditionalFact] + [Fact] public virtual void Required_original_values_can_be_accessed_generically_for_entity_that_does_changed_only_notification() => GenericOriginalValuesTest(new ChangedOnlyEntity()); - [ConditionalFact] + [Fact] public virtual void Null_original_values_are_handled_for_entity_that_does_full_change_tracking() => NullOriginalValuesTest(new FullNotificationEntity()); - [ConditionalFact] + [Fact] public virtual void Null_original_values_are_handled_for_entity_that_does_changed_only_notification() => NullOriginalValuesTest(new ChangedOnlyEntity()); - [ConditionalFact] + [Fact] public virtual void Null_original_values_are_handled_generically_for_entity_that_does_full_change_tracking() => GenericNullOriginalValuesTest(new FullNotificationEntity()); - [ConditionalFact] + [Fact] public virtual void Null_original_values_are_handled_generically_for_entity_that_does_changed_only_notification() => GenericNullOriginalValuesTest(new ChangedOnlyEntity()); - [ConditionalFact] + [Fact] public virtual void Setting_property_using_state_entry_always_marks_as_modified_full_notifications() => SetPropertyInternalEntityEntryTest(new FullNotificationEntity()); - [ConditionalFact] + [Fact] public virtual void Setting_property_using_state_entry_always_marks_as_modified_changed_notifications() => SetPropertyInternalEntityEntryTest(new ChangedOnlyEntity()); - [ConditionalFact] + [Fact] public void All_original_values_can_be_accessed_for_entity_that_does_changed_only_notifications() => AllOriginalValuesTest(new ChangedOnlyEntity()); - [ConditionalFact] + [Fact] public virtual void Temporary_values_are_not_reset_when_entity_is_detached() { using var context = new KClrContext(); @@ -96,7 +96,7 @@ public virtual void Temporary_values_are_not_reset_when_entity_is_detached() Assert.Equal(-1, entry[keyProperty]); } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Detached), InlineData(EntityState.Modified), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Detached), InlineData(EntityState.Modified), InlineData(EntityState.Added), InlineData(EntityState.Deleted)] public void AcceptChanges_handles_different_entity_states_for_owned_types(EntityState entityState) { @@ -139,7 +139,7 @@ entityState is EntityState.Deleted or EntityState.Detached } } - [ConditionalFact] + [Fact] public void Setting_an_explicit_value_on_the_entity_does_not_mark_property_as_temporary() { using var context = new KClrContext(); @@ -169,17 +169,17 @@ public void Setting_an_explicit_value_on_the_entity_does_not_mark_property_as_te Assert.True(entry.HasExplicitValue(nameProperty)); } - [ConditionalFact] + [Fact] public void Setting_CLR_property_with_snapshot_change_tracking_requires_DetectChanges() => SetPropertyClrTest( new SomeEntity { Id = 1, Name = "Kool" }, needsDetectChanges: true); - [ConditionalFact] + [Fact] public void Setting_CLR_property_with_changed_only_notifications_does_not_require_DetectChanges() => SetPropertyClrTest( new ChangedOnlyEntity { Id = 1, Name = "Kool" }, needsDetectChanges: false); - [ConditionalFact] + [Fact] public void Setting_CLR_property_with_full_notifications_does_not_require_DetectChanges() => SetPropertyClrTest( new FullNotificationEntity { Id = 1, Name = "Kool" }, needsDetectChanges: false); diff --git a/test/EFCore.Tests/ChangeTracking/Internal/InternalComplexEntryTest.cs b/test/EFCore.Tests/ChangeTracking/Internal/InternalComplexEntryTest.cs index 384f6c72abd..e6f54e20427 100644 --- a/test/EFCore.Tests/ChangeTracking/Internal/InternalComplexEntryTest.cs +++ b/test/EFCore.Tests/ChangeTracking/Internal/InternalComplexEntryTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; public class InternalComplexEntryTest { - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Modified), InlineData(EntityState.Added), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Modified), InlineData(EntityState.Added), InlineData(EntityState.Deleted)] public void Complex_entry_can_change_state(EntityState entityState) { @@ -154,7 +154,7 @@ public void Complex_entry_can_change_state(EntityState entityState) Assert.Equal(entityState == EntityState.Modified, entityEntry.IsModified(complexProperty)); } - [ConditionalFact] + [Fact] public void Multiple_complex_entries_state_changes_maintain_correct_ordinals() { var model = CreateModel(); @@ -251,7 +251,7 @@ public void Multiple_complex_entries_state_changes_maintain_correct_ordinals() Assert.True(entityEntry.IsModified(complexProperty)); } - [ConditionalFact] + [Fact] public void Can_change_entity_state_from_Deleted_to_Unchanged_with_complex_collection() { var model = CreateModel(); @@ -292,7 +292,7 @@ public void Can_change_entity_state_from_Deleted_to_Unchanged_with_complex_colle Assert.Equal(2, entries[2]!.Ordinal); } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Modified), InlineData(EntityState.Added), + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Modified), InlineData(EntityState.Added), InlineData(EntityState.Deleted)] public void Complex_collection_detects_additions_and_deletions(EntityState entityState) { @@ -363,7 +363,7 @@ public void Complex_collection_detects_additions_and_deletions(EntityState entit Assert.True(entityEntry.IsModified(complexProperty)); } - [ConditionalFact] + [Fact] public void Complex_collection_detects_reference_change_as_modified() { var model = CreateModel(); @@ -396,7 +396,7 @@ public void Complex_collection_detects_reference_change_as_modified() Assert.True(entityEntry.IsModified(complexProperty)); } - [ConditionalFact] + [Fact] public void Complex_collection_detects_property_modifications() { var model = CreateModel(); @@ -424,7 +424,7 @@ public void Complex_collection_detects_property_modifications() Assert.Equal([EntityState.Modified, EntityState.Unchanged], allEntries.Select(e => e!.EntityState)); } - [ConditionalFact] + [Fact] public void Complex_collection_detects_reordering_without_modification() { var model = CreateModel(); @@ -459,7 +459,7 @@ public void Complex_collection_detects_reordering_without_modification() Assert.True(entityEntry.IsModified(complexProperty)); } - [ConditionalFact] + [Fact] public void Complex_collection_detects_elements_replaced_with_nulls_as_modified() { var model = CreateModel(); @@ -491,7 +491,7 @@ public void Complex_collection_detects_elements_replaced_with_nulls_as_modified( entityEntry.GetComplexCollectionEntries(complexProperty).Select(e => e!.EntityState)); } - [ConditionalFact] + [Fact] public void Complex_collection_detects_null_elements_being_replaced_as_modified() { var model = CreateModel(); @@ -518,7 +518,7 @@ public void Complex_collection_detects_null_elements_being_replaced_as_modified( entityEntry.GetComplexCollectionEntries(complexProperty).Select(e => e!.EntityState)); } - [ConditionalFact] + [Fact] public void Complex_collection_detects_moved_replaced_null_elements_as_modified() { var model = CreateModel(); @@ -553,7 +553,7 @@ public void Complex_collection_detects_moved_replaced_null_elements_as_modified( } } - [ConditionalFact] + [Fact] public void Complex_collection_detects_moved_null_elements_and_replaced_instances_as_unchanged() { var model = CreateModel(); @@ -589,7 +589,7 @@ public void Complex_collection_detects_moved_null_elements_and_replaced_instance } } - [ConditionalFact] + [Fact] public void Complex_collection_throws_when_not_initialized() { var model = CreateModel(); @@ -608,7 +608,7 @@ public void Complex_collection_throws_when_not_initialized() Assert.Throws(() => entityEntry.GetComplexCollectionEntry(complexProperty, 0)).Message); } - [ConditionalFact] + [Fact] public void GetEntry_throws_when_accessing_original_ordinal_on_added_entity() { var model = CreateModel(); @@ -631,7 +631,7 @@ public void GetEntry_throws_when_accessing_original_ordinal_on_added_entity() entityEntry.GetComplexCollectionEntry(complexProperty, 0).Ordinal = 1).Message); } - [ConditionalFact] + [Fact] public void GetEntry_throws_when_accessing_original_entries_that_were_originally_null() { var model = CreateModel(); @@ -651,7 +651,7 @@ public void GetEntry_throws_when_accessing_original_entries_that_were_originally Assert.Equal(CoreStrings.ComplexCollectionEntryOriginalNull("Blog", "Tags"), ex.Message); } - [ConditionalFact] + [Fact] public void GetEntry_throws_when_accessing_invalid_original_ordinal() { var model = CreateModel(); @@ -671,7 +671,7 @@ public void GetEntry_throws_when_accessing_invalid_original_ordinal() Assert.Equal(CoreStrings.ComplexCollectionEntryOriginalOrdinalInvalid(5, "Blog", "Tags", 1), ex.Message); } - [ConditionalFact] + [Fact] public void GetEntry_throws_when_accessing_ordinal_on_deleted_entity() { var model = CreateModel(); @@ -694,7 +694,7 @@ public void GetEntry_throws_when_accessing_ordinal_on_deleted_entity() entityEntry.GetComplexCollectionOriginalEntry(complexProperty, 0).OriginalOrdinal = 1).Message); } - [ConditionalFact] + [Fact] public void GetEntry_throws_when_accessing_invalid_current_ordinal() { var model = CreateModel(); @@ -715,7 +715,7 @@ public void GetEntry_throws_when_accessing_invalid_current_ordinal() Assert.Equal(CoreStrings.ComplexCollectionEntryOrdinalInvalid(5, "Blog", "Tags", 1), ex.Message); } - [ConditionalFact] + [Fact] public void DetectChanges_detects_changes_in_nested_complex_collections() { var model = CreateModelWithNestedComplexCollections(); diff --git a/test/EFCore.Tests/ChangeTracking/Internal/InternalEntityEntryFactoryTest.cs b/test/EFCore.Tests/ChangeTracking/Internal/InternalEntityEntryFactoryTest.cs index 180a3211bea..f327c1eea5b 100644 --- a/test/EFCore.Tests/ChangeTracking/Internal/InternalEntityEntryFactoryTest.cs +++ b/test/EFCore.Tests/ChangeTracking/Internal/InternalEntityEntryFactoryTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; public class InternalEntityEntryFactoryTest { - [ConditionalFact] + [Fact] public void Creates_CLR_only_entry_when_entity_has_no_shadow_properties() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -29,7 +29,7 @@ public void Creates_CLR_only_entry_when_entity_has_no_shadow_properties() Assert.Same(entity, entry.Entity); } - [ConditionalFact] + [Fact] public void Creates_mixed_entry_when_entity_CLR_entity_type_and_shadow_properties() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); diff --git a/test/EFCore.Tests/ChangeTracking/Internal/InternalEntityEntryTestBase.cs b/test/EFCore.Tests/ChangeTracking/Internal/InternalEntityEntryTestBase.cs index d90e3ec9b1b..f414f5a9a84 100644 --- a/test/EFCore.Tests/ChangeTracking/Internal/InternalEntityEntryTestBase.cs +++ b/test/EFCore.Tests/ChangeTracking/Internal/InternalEntityEntryTestBase.cs @@ -37,7 +37,7 @@ public abstract class InternalEntityEntryTestBase< where TKContext : DbContext, new() where TKSnapContext : DbContext, new() { - [ConditionalFact] + [Fact] public virtual void Store_setting_null_for_non_nullable_store_generated_property_throws() { using var context = new TKContext(); @@ -51,7 +51,7 @@ public virtual void Store_setting_null_for_non_nullable_store_generated_property Assert.Throws(() => entry.SetStoreGeneratedValue(keyProperty, null)).Message); } - [ConditionalFact] + [Fact] public virtual void Changing_state_from_Unknown_causes_entity_to_start_tracking() { using var context = new TKContext(); @@ -66,7 +66,7 @@ public virtual void Changing_state_from_Unknown_causes_entity_to_start_tracking( Assert.Contains(entry, context.GetService().Entries); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public virtual void Changing_state_to_Unknown_causes_entity_to_stop_tracking(bool useTempValue) { using var context = new TKContext(); @@ -98,7 +98,7 @@ public virtual void Changing_state_to_Unknown_causes_entity_to_stop_tracking(boo Assert.DoesNotContain(entry2, context.GetService().Entries); } - [ConditionalFact] + [Fact] public virtual void Changing_state_to_Unknown_causes_entity_with_temporary_key_to_stop_tracking() { using var context = new TKContext(); @@ -114,7 +114,7 @@ public virtual void Changing_state_to_Unknown_causes_entity_with_temporary_key_t Assert.DoesNotContain(entry, context.GetService().Entries); } - [ConditionalFact] // GitHub #251, #1247 + [Fact] // GitHub #251, #1247 public virtual void Changing_state_from_Added_to_Deleted_does_what_you_ask() { using var context = new TKContext(); @@ -127,7 +127,7 @@ public virtual void Changing_state_from_Added_to_Deleted_does_what_you_ask() Assert.Contains(entry, context.GetService().Entries); } - [ConditionalFact] + [Fact] public virtual void Changing_state_to_Modified_or_Unchanged_causes_all_properties_to_be_marked_accordingly() { using var context = new TKContext(); @@ -156,7 +156,7 @@ public virtual void Changing_state_to_Modified_or_Unchanged_causes_all_propertie Assert.True(entry.IsModified(nonKeyProperty)); } - [ConditionalFact] + [Fact] public virtual void Key_properties_throw_immediately_if_modified() { using var context = new TKContext(); @@ -186,7 +186,7 @@ public virtual void Key_properties_throw_immediately_if_modified() Assert.False(entry.IsModified(keyProperty)); } - [ConditionalFact] + [Fact] public virtual void Added_entities_can_have_temporary_values() { using var context = new TKContext(); @@ -249,7 +249,7 @@ public virtual void Added_entities_can_have_temporary_values() Assert.False(entry.IsModified(nonKeyProperty)); } - [ConditionalTheory, InlineData(EntityState.Unchanged), InlineData(EntityState.Modified), InlineData(EntityState.Deleted)] + [Theory, InlineData(EntityState.Unchanged), InlineData(EntityState.Modified), InlineData(EntityState.Deleted)] public virtual void Changing_state_with_temp_value_throws(EntityState targetState) { using var context = new TKContext(); @@ -264,7 +264,7 @@ public virtual void Changing_state_with_temp_value_throws(EntityState targetStat Assert.Throws(() => entry.SetEntityState(targetState)).Message); } - [ConditionalFact] + [Fact] public virtual void Detaching_with_temp_values_does_not_throw() { using var context = new TKContext(); @@ -287,7 +287,7 @@ public virtual void Detaching_with_temp_values_does_not_throw() Assert.False(entry.HasTemporaryValue(keyProperty)); } - [ConditionalFact] + [Fact] public virtual void Setting_an_explicit_value_marks_property_as_not_temporary() { using var context = new TKContext(); @@ -306,7 +306,7 @@ public virtual void Setting_an_explicit_value_marks_property_as_not_temporary() entry.SetEntityState(EntityState.Unchanged); // Does not throw } - [ConditionalFact] + [Fact] public virtual void Key_properties_share_value_generation_space_with_base() { using var context = new TKContext(); @@ -326,7 +326,7 @@ public virtual void Key_properties_share_value_generation_space_with_base() Assert.NotEqual(entry[altKeyProperty], baseEntry[altKeyProperty]); } - [ConditionalFact] + [Fact] public virtual void Value_generation_does_not_happen_if_property_has_non_default_value() { using var context = new TKContext(); @@ -340,7 +340,7 @@ public virtual void Value_generation_does_not_happen_if_property_has_non_default Assert.Equal(31143, entry[keyProperty]); } - [ConditionalFact] + [Fact] public virtual void Modified_values_are_reset_when_entity_is_changed_to_Added() { using var context = new TKContext(); @@ -357,7 +357,7 @@ public virtual void Modified_values_are_reset_when_entity_is_changed_to_Added() Assert.False(entry.HasTemporaryValue(property)); } - [ConditionalFact] + [Fact] public virtual void Changing_state_to_Added_triggers_value_generation_for_any_property() { using var context = new TKContext(); @@ -373,7 +373,7 @@ public virtual void Changing_state_to_Added_triggers_value_generation_for_any_pr Assert.NotEqual(0, entry[property]); } - [ConditionalFact] + [Fact] public virtual void Notification_that_an_FK_property_has_changed_updates_the_snapshot() { using var context = new TKContext(); @@ -395,7 +395,7 @@ public virtual void Notification_that_an_FK_property_has_changed_updates_the_sna Assert.Equal(79, keyValue); } - [ConditionalFact] + [Fact] public virtual void Setting_property_to_the_same_value_does_not_update_the_snapshot() { using var context = new TKContext(); @@ -417,7 +417,7 @@ public virtual void Setting_property_to_the_same_value_does_not_update_the_snaps Assert.Equal(78, keyValue); } - [ConditionalFact] + [Fact] public virtual void Can_get_property_value_after_creation_from_value_buffer() { using var context = new TKContext(); @@ -436,7 +436,7 @@ public virtual void Can_get_property_value_after_creation_from_value_buffer() Assert.Equal("Kool", entry[property]); } - [ConditionalFact] + [Fact] public virtual void Can_set_property_value_after_creation_from_value_buffer() { using var context = new TKContext(); @@ -454,7 +454,7 @@ public virtual void Can_set_property_value_after_creation_from_value_buffer() Assert.Equal("Mule", entry[nameProperty]); } - [ConditionalFact] + [Fact] public virtual void Can_get_value_buffer_from_properties() { using var context = new TKContext(); @@ -504,7 +504,7 @@ protected void AllOriginalValuesTest(object entity) Assert.Equal("Beans", entry[nameProperty]); } - [ConditionalFact] + [Fact] public virtual void Required_original_values_can_be_accessed_for_entity_that_does_no_notification() => OriginalValuesTest(new TSomeEntity()); @@ -531,7 +531,7 @@ protected void OriginalValuesTest(object entity) Assert.Equal("Beans", entry[nameProperty]); } - [ConditionalFact] + [Fact] public virtual void Required_original_values_can_be_accessed_generically_for_entity_that_does_no_notification() => GenericOriginalValuesTest(new TSomeEntity()); @@ -560,7 +560,7 @@ protected void GenericOriginalValuesTest(object entity) Assert.Equal("Beans", entry.GetCurrentValue(nameProperty)); } - [ConditionalFact] + [Fact] public virtual void Null_original_values_are_handled_for_entity_that_does_no_notification() => NullOriginalValuesTest(new TSomeEntity()); @@ -593,7 +593,7 @@ protected void NullOriginalValuesTest(object entity) Assert.Equal("Beans", entry[nameProperty]); } - [ConditionalFact] + [Fact] public virtual void Null_original_values_are_handled_generically_for_entity_that_does_no_notification() => GenericNullOriginalValuesTest(new TSomeEntity()); @@ -626,7 +626,7 @@ protected void GenericNullOriginalValuesTest(object entity) Assert.Equal("Beans", entry.GetCurrentValue(nameProperty)); } - [ConditionalFact] + [Fact] public virtual void Setting_property_using_state_entry_always_marks_as_modified_no_notifications() => SetPropertyInternalEntityEntryTest(new TSomeEntity()); @@ -656,7 +656,7 @@ protected void SetPropertyInternalEntityEntryTest(object entity) Assert.Equal(EntityState.Modified, entry.EntityState); } - [ConditionalFact] + [Fact] public void Can_get_entity() { using var context = new TKContext(); @@ -666,7 +666,7 @@ public void Can_get_entity() Assert.Same(entity, entry.Entity); } - [ConditionalFact] + [Fact] public void Can_set_and_get_property_value_from_CLR_object() { using var context = new TKContext(); @@ -690,15 +690,15 @@ public void Can_set_and_get_property_value_from_CLR_object() Assert.Equal("Normal Tree House", entry[nonKeyProperty]); } - [ConditionalFact] + [Fact] public void All_original_values_can_be_accessed_for_entity_that_does_no_notification() => AllOriginalValuesTest(new TSomeEntity()); - [ConditionalFact] + [Fact] public virtual void AcceptChanges_does_nothing_for_unchanged_entities() => AcceptChangesNoop(EntityState.Unchanged); - [ConditionalFact] + [Fact] public virtual void AcceptChanges_does_nothing_for_unknown_entities() => AcceptChangesNoop(EntityState.Detached); @@ -719,7 +719,7 @@ private void AcceptChangesNoop(EntityState entityState) Assert.Equal(entityState, entry.EntityState); } - [ConditionalTheory, InlineData(EntityState.Modified), InlineData(EntityState.Added)] + [Theory, InlineData(EntityState.Modified), InlineData(EntityState.Added)] public void AcceptChanges_makes_entities_Unchanged(EntityState entityState) { using var context = new TKContext(); @@ -743,7 +743,7 @@ public void AcceptChanges_makes_entities_Unchanged(EntityState entityState) Assert.Equal("Pickle", entry.GetOriginalValue(nameProperty)); } - [ConditionalFact] + [Fact] public virtual void AcceptChanges_makes_Modified_entities_Unchanged_and_effectively_resets_unused_original_values() { using var context = new TKContext(); @@ -766,7 +766,7 @@ public virtual void AcceptChanges_makes_Modified_entities_Unchanged_and_effectiv Assert.Equal("Pickle", entry.GetOriginalValue(nameProperty)); } - [ConditionalFact] + [Fact] public virtual void AcceptChanges_detaches_Deleted_entities() { using var context = new TKContext(); @@ -785,7 +785,7 @@ public virtual void AcceptChanges_detaches_Deleted_entities() Assert.Equal(EntityState.Detached, entry.EntityState); } - [ConditionalFact] + [Fact] public void Unchanged_entity_with_conceptually_null_FK_with_cascade_delete_is_marked_Deleted() { using var context = new KcContext(); @@ -801,7 +801,7 @@ public void Unchanged_entity_with_conceptually_null_FK_with_cascade_delete_is_ma Assert.Equal(EntityState.Deleted, entry.EntityState); } - [ConditionalFact] + [Fact] public void Added_entity_with_conceptually_null_FK_with_cascade_delete_is_detached() { using var context = new KcContext(); @@ -817,7 +817,7 @@ public void Added_entity_with_conceptually_null_FK_with_cascade_delete_is_detach Assert.Equal(EntityState.Detached, entry.EntityState); } - [ConditionalFact] + [Fact] public void Entity_with_partially_null_composite_FK_with_cascade_delete_is_marked_Deleted() { using var context = new KcrContext(); @@ -838,7 +838,7 @@ public void Entity_with_partially_null_composite_FK_with_cascade_delete_is_marke Assert.Equal(EntityState.Deleted, entry.EntityState); } - [ConditionalFact] + [Fact] public void Entity_with_partially_null_composite_FK_without_cascade_delete_is_orphaned() { using var context = new KcContext(); diff --git a/test/EFCore.Tests/ChangeTracking/Internal/InternalEntrySubscriberTest.cs b/test/EFCore.Tests/ChangeTracking/Internal/InternalEntrySubscriberTest.cs index c32eb1cf5bc..384969f4d5c 100644 --- a/test/EFCore.Tests/ChangeTracking/Internal/InternalEntrySubscriberTest.cs +++ b/test/EFCore.Tests/ChangeTracking/Internal/InternalEntrySubscriberTest.cs @@ -12,7 +12,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; public class InternalEntrySubscriberTest { - [ConditionalTheory, InlineData(ChangeTrackingStrategy.Snapshot), InlineData(ChangeTrackingStrategy.ChangedNotifications)] + [Theory, InlineData(ChangeTrackingStrategy.Snapshot), InlineData(ChangeTrackingStrategy.ChangedNotifications)] public void Original_and_relationship_values_recorded_when_no_changing_notifications( ChangeTrackingStrategy changeTrackingStrategy) { @@ -25,7 +25,7 @@ public void Original_and_relationship_values_recorded_when_no_changing_notificat Assert.True(entry.HasRelationshipSnapshot); } - [ConditionalTheory, InlineData(ChangeTrackingStrategy.ChangingAndChangedNotifications), + [Theory, InlineData(ChangeTrackingStrategy.ChangingAndChangedNotifications), InlineData(ChangeTrackingStrategy.ChangingAndChangedNotificationsWithOriginalValues)] public void Original_and_relationship_values_not_recorded_when_full_notifications( ChangeTrackingStrategy changeTrackingStrategy) @@ -39,7 +39,7 @@ public void Original_and_relationship_values_not_recorded_when_full_notification Assert.False(entry.HasRelationshipSnapshot); } - [ConditionalFact] + [Fact] public void Notifying_collections_are_not_created_when_snapshot_tracking() { var entry = InMemoryTestHelpers.Instance.CreateInternalEntry( @@ -50,7 +50,7 @@ public void Notifying_collections_are_not_created_when_snapshot_tracking() Assert.Null(((FullNotificationEntity)entry.Entity).RelatedCollection); } - [ConditionalTheory, InlineData(ChangeTrackingStrategy.ChangedNotifications), + [Theory, InlineData(ChangeTrackingStrategy.ChangedNotifications), InlineData(ChangeTrackingStrategy.ChangingAndChangedNotifications), InlineData(ChangeTrackingStrategy.ChangingAndChangedNotificationsWithOriginalValues)] public void Notifying_collections_are_created_when_notification_tracking( @@ -65,7 +65,7 @@ public void Notifying_collections_are_created_when_notification_tracking( ((FullNotificationEntity)entry.Entity).RelatedCollection); } - [ConditionalFact] + [Fact] public void Non_notifying_collection_acceptable_when_snapshot_tracking() { var entry = InMemoryTestHelpers.Instance.CreateInternalEntry( @@ -79,7 +79,7 @@ public void Non_notifying_collection_acceptable_when_snapshot_tracking() Assert.Same(collection, ((FullNotificationEntity)entry.Entity).RelatedCollection); } - [ConditionalTheory, InlineData(ChangeTrackingStrategy.ChangedNotifications), + [Theory, InlineData(ChangeTrackingStrategy.ChangedNotifications), InlineData(ChangeTrackingStrategy.ChangingAndChangedNotifications), InlineData(ChangeTrackingStrategy.ChangingAndChangedNotificationsWithOriginalValues)] public void Non_notifying_collections_not_acceptable_when_notification_tracking( @@ -99,7 +99,7 @@ public void Non_notifying_collections_not_acceptable_when_notification_tracking( }).Message); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Entry_subscribes_to_INotifyCollectionChanged_for_Add(bool ourCollection) { var collection = CreateCollection(ourCollection); @@ -113,7 +113,7 @@ public void Entry_subscribes_to_INotifyCollectionChanged_for_Add(bool ourCollect Assert.Empty(testListener.CollectionChanged.Single().Item4); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Entry_subscribes_to_INotifyCollectionChanged_for_Remove(bool ourCollection) { var item = new ChangedOnlyNotificationEntity(); @@ -127,7 +127,7 @@ public void Entry_subscribes_to_INotifyCollectionChanged_for_Remove(bool ourColl Assert.Same(item, testListener.CollectionChanged.Single().Item4.Single()); } - [ConditionalFact] + [Fact] public void Entry_subscribes_to_INotifyCollectionChanged_for_Replace() { var item1 = new ChangedOnlyNotificationEntity(); @@ -142,7 +142,7 @@ public void Entry_subscribes_to_INotifyCollectionChanged_for_Replace() Assert.Same(item1, testListener.CollectionChanged.Single().Item4.Single()); } - [ConditionalFact] + [Fact] public void Entry_ignores_INotifyCollectionChanged_for_Move() { var item1 = new ChangedOnlyNotificationEntity(); @@ -155,7 +155,7 @@ public void Entry_ignores_INotifyCollectionChanged_for_Move() Assert.Empty(testListener.CollectionChanged); } - [ConditionalFact] + [Fact] public void Entry_throws_for_INotifyCollectionChanged_Reset() { var item1 = new ChangedOnlyNotificationEntity(); @@ -170,7 +170,7 @@ public void Entry_throws_for_INotifyCollectionChanged_Reset() Assert.Empty(testListener.CollectionChanged); } - [ConditionalFact] + [Fact] public void Entry_handles_clear_as_replace_with_ObservableHashSet() { var item1 = new ChangedOnlyNotificationEntity(); @@ -214,7 +214,7 @@ private static TestNavigationListener SetupTestCollectionListener( return testListener; } - [ConditionalFact] + [Fact] public void Entry_subscribes_to_INotifyPropertyChanging_and_INotifyPropertyChanged_for_properties() { var contextServices = InMemoryTestHelpers.Instance.CreateContextServices( @@ -237,7 +237,7 @@ public void Entry_subscribes_to_INotifyPropertyChanging_and_INotifyPropertyChang Assert.Same(property, testListener.Changed.Single().Item2); } - [ConditionalFact] + [Fact] public void Entry_handles_null_or_empty_string_in_INotifyPropertyChanging_and_INotifyPropertyChanged() { var contextServices = InMemoryTestHelpers.Instance.CreateContextServices( @@ -268,7 +268,7 @@ public void Entry_handles_null_or_empty_string_in_INotifyPropertyChanging_and_IN testListener.Changed.Select(e => e.Item2.Name).OrderBy(e => e).ToArray()); } - [ConditionalFact] + [Fact] public void Entry_subscribes_to_INotifyPropertyChanging_and_INotifyPropertyChanged_for_navigations() { var contextServices = InMemoryTestHelpers.Instance.CreateContextServices( @@ -291,7 +291,7 @@ public void Entry_subscribes_to_INotifyPropertyChanging_and_INotifyPropertyChang Assert.Same(property, testListener.Changed.Single().Item2); } - [ConditionalFact] + [Fact] public void Subscriptions_to_INotifyPropertyChanging_and_INotifyPropertyChanged_ignore_unmapped_properties() { var contextServices = InMemoryTestHelpers.Instance.CreateContextServices( @@ -312,7 +312,7 @@ public void Subscriptions_to_INotifyPropertyChanging_and_INotifyPropertyChanged_ Assert.Empty(testListener.Changed); } - [ConditionalFact] + [Fact] public void Entry_unsubscribes_to_INotifyPropertyChanging_and_INotifyPropertyChanged() { var contextServices = InMemoryTestHelpers.Instance.CreateContextServices( @@ -367,7 +367,7 @@ public void Entry_unsubscribes_to_INotifyPropertyChanging_and_INotifyPropertyCha Assert.Same(entries[2], testListener.Changed.Skip(2).Single().Item1); } - [ConditionalFact] + [Fact] public void Entry_unsubscribes_to_INotifyCollectionChanged() { var contextServices = InMemoryTestHelpers.Instance.CreateContextServices( @@ -414,7 +414,7 @@ public void Entry_unsubscribes_to_INotifyCollectionChanged() Assert.Same(entries[2], testListener.CollectionChanged.Skip(2).Single().Item1); } - [ConditionalFact] // Issue #26023 + [Fact] // Issue #26023 public void Entry_re_subscribes_to_INotifyCollectionChanged_when_collection_instance_changes() { var contextServices = InMemoryTestHelpers.Instance.CreateContextServices( @@ -464,7 +464,7 @@ public void Entry_re_subscribes_to_INotifyCollectionChanged_when_collection_inst Assert.Same(entries[5], testListener.CollectionChanged.Skip(3).Single().Item1); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void Entries_are_unsubscribed_when_context_is_disposed_or_cleared(bool useClear) { var context = InMemoryTestHelpers.Instance.CreateContext( diff --git a/test/EFCore.Tests/ChangeTracking/Internal/KeyPropagatorTest.cs b/test/EFCore.Tests/ChangeTracking/Internal/KeyPropagatorTest.cs index 3c42c93e0a0..7a865533ad6 100644 --- a/test/EFCore.Tests/ChangeTracking/Internal/KeyPropagatorTest.cs +++ b/test/EFCore.Tests/ChangeTracking/Internal/KeyPropagatorTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; public class KeyPropagatorTest { - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] public async Task Foreign_key_value_is_obtained_from_reference_to_principal(bool generateTemporary, bool async) { var model = BuildModel(generateTemporary); @@ -35,7 +35,7 @@ public async Task Foreign_key_value_is_obtained_from_reference_to_principal(bool Assert.False(dependentEntry.HasTemporaryValue(property)); } - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] public async Task Foreign_key_value_is_obtained_from_tracked_principal_with_populated_collection(bool generateTemporary, bool async) { var model = BuildModel(generateTemporary); @@ -60,7 +60,7 @@ public async Task Foreign_key_value_is_obtained_from_tracked_principal_with_popu Assert.False(dependentEntry.HasTemporaryValue(property)); } - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] public async Task Non_identifying_foreign_key_value_is_not_generated_if_principal_key_not_set(bool generateTemporary, bool async) { var model = BuildModel(generateTemporary); @@ -82,7 +82,7 @@ public async Task Non_identifying_foreign_key_value_is_not_generated_if_principa Assert.False(dependentEntry.HasTemporaryValue(property)); } - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] public async Task One_to_one_foreign_key_value_is_obtained_from_reference_to_principal(bool generateTemporary, bool async) { var model = BuildModel(generateTemporary); @@ -104,7 +104,7 @@ public async Task One_to_one_foreign_key_value_is_obtained_from_reference_to_pri Assert.False(dependentEntry.HasTemporaryValue(property)); } - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] public async Task One_to_one_foreign_key_value_is_obtained_from_tracked_principal(bool generateTemporary, bool async) { var model = BuildModel(generateTemporary); @@ -128,7 +128,7 @@ public async Task One_to_one_foreign_key_value_is_obtained_from_tracked_principa Assert.False(dependentEntry.HasTemporaryValue(property)); } - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] public async Task Identifying_foreign_key_value_is_generated_if_principal_key_not_set(bool generateTemporary, bool async) { var model = BuildModel(generateTemporary); @@ -150,7 +150,7 @@ public async Task Identifying_foreign_key_value_is_generated_if_principal_key_no Assert.True(dependentEntry.HasTemporaryValue(property)); } - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] public async Task Identifying_foreign_key_value_is_propagated_if_principal_key_is_generated(bool generateTemporary, bool async) { var principal = new Product(); @@ -177,7 +177,7 @@ public async Task Identifying_foreign_key_value_is_propagated_if_principal_key_i Assert.Equal(principalEntry[principalProperty], dependentEntry[dependentProperty]); } - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] public async Task Composite_foreign_key_value_is_obtained_from_reference_to_principal(bool generateTemporary, bool async) { var model = BuildModel(generateTemporary); @@ -206,7 +206,7 @@ public async Task Composite_foreign_key_value_is_obtained_from_reference_to_prin Assert.False(dependentEntry.HasTemporaryValue(property1)); } - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] public async Task Composite_foreign_key_value_is_obtained_from_tracked_principal(bool generateTemporary, bool async) { var model = BuildModel(generateTemporary); diff --git a/test/EFCore.Tests/ChangeTracking/Internal/NavigationFixerTest.cs b/test/EFCore.Tests/ChangeTracking/Internal/NavigationFixerTest.cs index 9d516d0913f..5de13079654 100644 --- a/test/EFCore.Tests/ChangeTracking/Internal/NavigationFixerTest.cs +++ b/test/EFCore.Tests/ChangeTracking/Internal/NavigationFixerTest.cs @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; public class NavigationFixerTest { - [ConditionalFact] + [Fact] public void Does_not_throw_if_Add_during_fixup() { using var context = new FixupContext(); @@ -63,7 +63,7 @@ public Blog Blog } } - [ConditionalFact] + [Fact] public void Does_fixup_of_related_principals() { var contextServices = CreateContextServices(); @@ -85,7 +85,7 @@ public void Does_fixup_of_related_principals() Assert.DoesNotContain(dependent, principal1.Products); } - [ConditionalFact] + [Fact] public void Does_fixup_of_related_dependents() { var contextServices = CreateContextServices(); @@ -115,7 +115,7 @@ public void Does_fixup_of_related_dependents() Assert.Contains(dependent3, principal.Products); } - [ConditionalFact] + [Fact] public void Does_fixup_of_one_to_one_relationship() { var contextServices = CreateContextServices(); @@ -163,7 +163,7 @@ public void Does_fixup_of_one_to_one_relationship() Assert.Null(dependent4.Product); } - [ConditionalFact] + [Fact] public void Does_fixup_of_one_to_one_self_referencing_relationship() { var contextServices = CreateContextServices(); @@ -209,7 +209,7 @@ public void Does_fixup_of_one_to_one_self_referencing_relationship() Assert.Same(entity2, entity3.OriginalProduct); } - [ConditionalFact] + [Fact] public void Does_fixup_of_FKs_and_related_principals_using_dependent_navigations() { var contextServices = CreateContextServices(); @@ -232,7 +232,7 @@ public void Does_fixup_of_FKs_and_related_principals_using_dependent_navigations Assert.DoesNotContain(dependent, principal1.Products); } - [ConditionalFact] + [Fact] public void Does_fixup_of_FKs_and_related_principals_using_principal_navigations() { var contextServices = CreateContextServices(); @@ -257,7 +257,7 @@ public void Does_fixup_of_FKs_and_related_principals_using_principal_navigations Assert.DoesNotContain(dependent, principal1.Products); } - [ConditionalFact] + [Fact] public void Does_fixup_of_FKs_and_related_dependents_using_dependent_navigations() { var contextServices = CreateContextServices(); @@ -290,7 +290,7 @@ public void Does_fixup_of_FKs_and_related_dependents_using_dependent_navigations Assert.Contains(dependent3, principal.Products); } - [ConditionalFact] + [Fact] public void Does_fixup_of_FKs_and_related_dependents_using_principal_navigations() { var contextServices = CreateContextServices(); @@ -326,7 +326,7 @@ public void Does_fixup_of_FKs_and_related_dependents_using_principal_navigations Assert.Contains(dependent3, principal.Products); } - [ConditionalFact] + [Fact] public void Does_fixup_of_one_to_one_self_referencing_relationship_using_dependent_navigations() { var contextServices = CreateContextServices(); @@ -387,7 +387,7 @@ public void Does_fixup_of_one_to_one_self_referencing_relationship_using_depende Assert.Null(entity3.OriginalProduct); } - [ConditionalFact] + [Fact] public void Does_fixup_of_one_to_one_self_referencing_relationship_using_principal_navigations() { var contextServices = CreateContextServices(); @@ -463,7 +463,7 @@ public void Does_fixup_of_one_to_one_self_referencing_relationship_using_princip Assert.Same(entity2, entity3.OriginalProduct); } - [ConditionalFact] + [Fact] public void Does_fixup_of_related_principals_when_FK_is_set() { var model = BuildModel(); @@ -505,7 +505,7 @@ public void Does_fixup_of_related_principals_when_FK_is_set() Assert.DoesNotContain(dependent, principal2.Products); } - [ConditionalFact] + [Fact] public void Does_fixup_of_related_principals_when_FK_is_cleared() { var model = BuildModel(); @@ -547,7 +547,7 @@ public void Does_fixup_of_related_principals_when_FK_is_cleared() Assert.DoesNotContain(dependent, principal1.Products); } - [ConditionalFact] + [Fact] public void Does_fixup_of_related_principals_when_FK_is_changed() { var model = BuildModel(); @@ -589,7 +589,7 @@ public void Does_fixup_of_related_principals_when_FK_is_changed() Assert.DoesNotContain(dependent, principal2.Products); } - [ConditionalFact] + [Fact] public void Does_fixup_of_one_to_one_relationship_when_FK_changes() { var model = BuildModel(); @@ -633,7 +633,7 @@ public void Does_fixup_of_one_to_one_relationship_when_FK_changes() Assert.Null(principal1.Detail); } - [ConditionalFact] + [Fact] public void Does_fixup_of_one_to_one_relationship_when_FK_cleared() { var model = BuildModel(); @@ -672,7 +672,7 @@ public void Does_fixup_of_one_to_one_relationship_when_FK_cleared() Assert.Null(principal.Detail); } - [ConditionalFact] + [Fact] public void Does_fixup_of_one_to_one_relationship_when_FK_set() { var model = BuildModel(); @@ -711,7 +711,7 @@ public void Does_fixup_of_one_to_one_relationship_when_FK_set() Assert.Same(dependent, principal.Detail); } - [ConditionalFact] + [Fact] public void Does_fixup_of_one_to_one_self_referencing_relationship_when_FK_changes() { var model = BuildModel(); @@ -765,7 +765,7 @@ public void Does_fixup_of_one_to_one_self_referencing_relationship_when_FK_chang Assert.Same(entity1, entity3.OriginalProduct); } - [ConditionalFact] + [Fact] public void Can_steal_reference_of_one_to_one_self_referencing_relationship_when_FK_changes() { var model = BuildModel(); @@ -821,7 +821,7 @@ public void Can_steal_reference_of_one_to_one_self_referencing_relationship_when Assert.Null(entity2.AlternateProductId); } - [ConditionalFact] + [Fact] public void Does_fixup_of_all_related_principals_when_part_of_overlapping_composite_FK_is_changed() { var model = BuildModel(); @@ -1005,7 +1005,7 @@ public void Does_fixup_of_all_related_principals_when_part_of_overlapping_compos Assert.Same(review4, tag8.Review); } - [ConditionalFact] + [Fact] public void Removes_dependent_from_collection_after_deletion() { var contextServices = CreateContextServices(); @@ -1077,7 +1077,7 @@ public void Removes_dependent_from_collection_after_deletion() Assert.Equal(dependent3.CategoryId, principal1.Id); } - [ConditionalFact] + [Fact] public void Nulls_navigation_to_principal_after_after_deletion() { var contextServices = CreateContextServices(); @@ -1137,7 +1137,7 @@ public void Nulls_navigation_to_principal_after_after_deletion() Assert.Equal(dependent3.CategoryId, principal1.Id); } - [ConditionalFact] + [Fact] public void Nulls_one_to_one_navigation_to_principal_after_deletion() { var model = BuildModel(); @@ -1185,7 +1185,7 @@ public void Nulls_one_to_one_navigation_to_principal_after_deletion() Assert.Equal(dependent2.AlternateProductId, principal2.Id); } - [ConditionalFact] + [Fact] public void Nulls_one_to_one_navigation_to_dependent_after_after_deletion() { var model = BuildModel(); diff --git a/test/EFCore.Tests/ChangeTracking/Internal/ObservableBackedBindingListTest.cs b/test/EFCore.Tests/ChangeTracking/Internal/ObservableBackedBindingListTest.cs index 321dc4b6b5c..7b7efec762a 100644 --- a/test/EFCore.Tests/ChangeTracking/Internal/ObservableBackedBindingListTest.cs +++ b/test/EFCore.Tests/ChangeTracking/Internal/ObservableBackedBindingListTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; public class ObservableBackedBindingListTest { - [ConditionalFact] + [Fact] public void Items_added_to_ObservableCollection_are_added_to_binding_list() { var oc = new ObservableCollection(); @@ -20,7 +20,7 @@ public void Items_added_to_ObservableCollection_are_added_to_binding_list() Assert.Contains(item, obbl); } - [ConditionalFact] + [Fact] public void Items_removed_from_ObservableCollection_are_removed_from_binding_list() { var item = new ListElement(4); @@ -41,7 +41,7 @@ public void Items_removed_from_ObservableCollection_are_removed_from_binding_lis Assert.Equal(5, obbl.Count); } - [ConditionalFact] + [Fact] public void Items_replaced_in_the_ObservableCollection_are_replaced_in_the_binding_list() { var item = new ListElement(4); @@ -64,7 +64,7 @@ public void Items_replaced_in_the_ObservableCollection_are_replaced_in_the_bindi Assert.Equal(6, obbl.Count); } - [ConditionalFact] + [Fact] public void Items_cleared_in_the_ObservableCollection_are_cleared_in_the_binding_list() { var oc = new ObservableCollection @@ -83,7 +83,7 @@ public void Items_cleared_in_the_ObservableCollection_are_cleared_in_the_binding Assert.Empty(obbl); } - [ConditionalFact] + [Fact] public void Adding_duplicate_item_to_the_ObservableCollection_adds_duplicate_to_the_binding_list() { var item = new ListElement(4); @@ -104,7 +104,7 @@ public void Adding_duplicate_item_to_the_ObservableCollection_adds_duplicate_to_ Assert.Equal(2, obbl.Count(i => ReferenceEquals(i, item))); } - [ConditionalFact] + [Fact] public void Items_added_to_the_binding_list_are_added_to_the_ObservableCollection() { var oc = new ObservableCollection(); @@ -116,7 +116,7 @@ public void Items_added_to_the_binding_list_are_added_to_the_ObservableCollectio Assert.Contains(item, oc); } - [ConditionalFact] + [Fact] public void Items_added_to_the_binding_list_with_AddNew_are_added_to_the_ObservableCollection() { var oc = new ObservableCollection(); @@ -128,7 +128,7 @@ public void Items_added_to_the_binding_list_with_AddNew_are_added_to_the_Observa Assert.Contains(item, oc); } - [ConditionalFact] + [Fact] public void Items_canceled_during_AddNew_are_not_added_to_the_ObservableCollection() { var oc = new ObservableCollection(); @@ -140,7 +140,7 @@ public void Items_canceled_during_AddNew_are_not_added_to_the_ObservableCollecti Assert.DoesNotContain(item, oc); } - [ConditionalFact] + [Fact] public void Items_inserted_into_the_binding_list_are_added_to_the_ObservableCollection() { var oc = new ObservableCollection(); @@ -152,7 +152,7 @@ public void Items_inserted_into_the_binding_list_are_added_to_the_ObservableColl Assert.Contains(item, oc); } - [ConditionalFact] + [Fact] public void Items_set_in_the_binding_list_are_replaced_in_the_ObservableCollection() { var item = new ListElement(4); @@ -174,7 +174,7 @@ public void Items_set_in_the_binding_list_are_replaced_in_the_ObservableCollecti Assert.DoesNotContain(item, oc); } - [ConditionalFact] + [Fact] public void Items_removed_from_the_binding_list_are_removed_from_the_ObservableCollection() { var item = new ListElement(4); @@ -194,7 +194,7 @@ public void Items_removed_from_the_binding_list_are_removed_from_the_ObservableC Assert.DoesNotContain(item, oc); } - [ConditionalFact] + [Fact] public void Items_removed_by_index_from_the_binding_list_are_removed_from_the_ObservableCollection() { var item = new ListElement(4); @@ -214,7 +214,7 @@ public void Items_removed_by_index_from_the_binding_list_are_removed_from_the_Ob Assert.DoesNotContain(item, oc); } - [ConditionalFact] + [Fact] public void Items_cleared_from_the_binding_list_are_cleared_from_the_ObservableCollection() { var oc = new ObservableCollection @@ -233,7 +233,7 @@ public void Items_cleared_from_the_binding_list_are_cleared_from_the_ObservableC Assert.Empty(oc); } - [ConditionalFact] + [Fact] public void Adding_duplicate_item_to_the_binding_list_adds_duplicate_to_the_ObservableCollection() { var item = new ListElement(4); @@ -252,7 +252,7 @@ public void Adding_duplicate_item_to_the_binding_list_adds_duplicate_to_the_Obse Assert.Equal(2, oc.Count(i => ReferenceEquals(i, item))); } - [ConditionalFact] + [Fact] public void Attempt_to_AddNew_for_abstract_type_works_if_AddingNew_event_is_used_to_create_new_object() { var obbl = new ObservableBackedBindingList(new ObservableCollection()); @@ -265,7 +265,7 @@ public void Attempt_to_AddNew_for_abstract_type_works_if_AddingNew_event_is_used Assert.Contains(item, obbl); } - [ConditionalFact] + [Fact] public void Attempt_to_AddNew_for_type_without_parameterless_constructor_works_if_AddingNew_event_is_used_to_create_new_object() { var obbl = new ObservableBackedBindingList(new ObservableCollection()); @@ -278,7 +278,7 @@ public void Attempt_to_AddNew_for_type_without_parameterless_constructor_works_i Assert.Contains(item, obbl); } - [ConditionalFact] + [Fact] public void Items_added_to_ObservableHashSet_are_added_to_binding_list() { var oc = new ObservableHashSet(); @@ -290,7 +290,7 @@ public void Items_added_to_ObservableHashSet_are_added_to_binding_list() Assert.Contains(item, obbl); } - [ConditionalFact] + [Fact] public void Items_removed_from_ObservableHashSet_are_removed_from_binding_list() { var item = new ListElement(4); @@ -311,7 +311,7 @@ public void Items_removed_from_ObservableHashSet_are_removed_from_binding_list() Assert.Equal(5, obbl.Count); } - [ConditionalFact] + [Fact] public void Items_cleared_in_the_ObservableHashSet_are_cleared_in_the_binding_list() { var oc = new ObservableHashSet @@ -330,7 +330,7 @@ public void Items_cleared_in_the_ObservableHashSet_are_cleared_in_the_binding_li Assert.Empty(obbl); } - [ConditionalFact] + [Fact] public void Adding_duplicate_item_to_the_ObservableHashSet_is_ignored() { var item = new ListElement(4); @@ -351,7 +351,7 @@ public void Adding_duplicate_item_to_the_ObservableHashSet_is_ignored() Assert.Equal(1, obbl.Count(i => ReferenceEquals(i, item))); } - [ConditionalFact] + [Fact] public void Items_added_to_the_binding_list_are_added_to_the_ObservableHashSet() { var oc = new ObservableHashSet(); @@ -363,7 +363,7 @@ public void Items_added_to_the_binding_list_are_added_to_the_ObservableHashSet() Assert.Contains(item, oc); } - [ConditionalFact] + [Fact] public void Items_added_to_the_binding_list_with_AddNew_are_added_to_the_ObservableHashSet() { var oc = new ObservableHashSet(); @@ -375,7 +375,7 @@ public void Items_added_to_the_binding_list_with_AddNew_are_added_to_the_Observa Assert.Contains(item, oc); } - [ConditionalFact] + [Fact] public void Items_canceled_during_AddNew_are_not_added_to_the_ObservableHashSet() { var oc = new ObservableHashSet(); @@ -387,7 +387,7 @@ public void Items_canceled_during_AddNew_are_not_added_to_the_ObservableHashSet( Assert.DoesNotContain(item, oc); } - [ConditionalFact] + [Fact] public void Items_inserted_into_the_binding_list_are_added_to_the_ObservableHashSet() { var oc = new ObservableHashSet(); @@ -399,7 +399,7 @@ public void Items_inserted_into_the_binding_list_are_added_to_the_ObservableHash Assert.Contains(item, oc); } - [ConditionalFact] + [Fact] public void Items_set_in_the_binding_list_are_replaced_in_the_ObservableHashSet() { var item = new ListElement(4); @@ -421,7 +421,7 @@ public void Items_set_in_the_binding_list_are_replaced_in_the_ObservableHashSet( Assert.DoesNotContain(item, oc); } - [ConditionalFact] + [Fact] public void Items_removed_from_the_binding_list_are_removed_from_the_ObservableHashSet() { var item = new ListElement(4); @@ -441,7 +441,7 @@ public void Items_removed_from_the_binding_list_are_removed_from_the_ObservableH Assert.DoesNotContain(item, oc); } - [ConditionalFact] + [Fact] public void Items_removed_by_index_from_the_binding_list_are_removed_from_the_ObservableHashSet() { var item = new ListElement(4); @@ -461,7 +461,7 @@ public void Items_removed_by_index_from_the_binding_list_are_removed_from_the_Ob Assert.DoesNotContain(item, oc); } - [ConditionalFact] + [Fact] public void Items_cleared_from_the_binding_list_are_cleared_from_the_ObservableHashSet() { var oc = new ObservableHashSet @@ -480,7 +480,7 @@ public void Items_cleared_from_the_binding_list_are_cleared_from_the_ObservableH Assert.Empty(oc); } - [ConditionalFact] + [Fact] public void Adding_duplicate_item_to_the_binding_list_is_ignored() { var item = new ListElement(4); @@ -499,7 +499,7 @@ public void Adding_duplicate_item_to_the_binding_list_is_ignored() Assert.Equal(1, oc.Count(i => ReferenceEquals(i, item))); } - [ConditionalFact] + [Fact] public void Attempt_to_AddNew_on_set_for_abstract_type_works_if_AddingNew_event_is_used_to_create_new_object() { var obbl = new ObservableBackedBindingList(new ObservableHashSet()); @@ -512,7 +512,7 @@ public void Attempt_to_AddNew_on_set_for_abstract_type_works_if_AddingNew_event_ Assert.Contains(item, obbl); } - [ConditionalFact] + [Fact] public void Attempt_to_AddNew_on_set_for_type_without_parameterless_constructor_works_if_AddingNew_event_is_used_to_create_new_object() { diff --git a/test/EFCore.Tests/ChangeTracking/Internal/ObservableCollectionListSourceTest.cs b/test/EFCore.Tests/ChangeTracking/Internal/ObservableCollectionListSourceTest.cs index 19a1f342fac..b319b9dcf9a 100644 --- a/test/EFCore.Tests/ChangeTracking/Internal/ObservableCollectionListSourceTest.cs +++ b/test/EFCore.Tests/ChangeTracking/Internal/ObservableCollectionListSourceTest.cs @@ -7,14 +7,14 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; public class ObservableCollectionListSourceTest { - [ConditionalFact] + [Fact] public void ObservableCollectionListSource_exposes_ObservableCollection_parameterless_constructor() { var ols = new ObservableCollectionListSource(); Assert.Empty(ols); } - [ConditionalFact] + [Fact] public void ObservableCollectionListSource_exposes_ObservableCollection_IEnumerable_constructor() { IEnumerable entities = [new FakeEntity(), new FakeEntity()]; @@ -22,7 +22,7 @@ public void ObservableCollectionListSource_exposes_ObservableCollection_IEnumera Assert.Equal(2, ols.Count); } - [ConditionalFact] + [Fact] public void ObservableCollectionListSource_exposes_ObservableCollection_List_constructor() { var entities = new List { new(), new() }; @@ -30,11 +30,11 @@ public void ObservableCollectionListSource_exposes_ObservableCollection_List_con Assert.Equal(2, ols.Count); } - [ConditionalFact] + [Fact] public void ObservableCollectionListSource_ContainsListCollection_returns_false() => Assert.False(((IListSource)new ObservableCollectionListSource()).ContainsListCollection); - [ConditionalFact] + [Fact] public void ObservableCollectionListSource_GetList_returns_BindingList_attached_to_the_ObservableCollection() { var ols = new ObservableCollectionListSource { new(), new() }; @@ -55,7 +55,7 @@ public void ObservableCollectionListSource_GetList_returns_BindingList_attached_ Assert.Equal(2, ols.Count); } - [ConditionalFact] + [Fact] public void The_BindingList_returned_from_ObservableCollectionListSource_GetList_is_cached() { var ols = new ObservableCollectionListSource(); diff --git a/test/EFCore.Tests/ChangeTracking/Internal/OwnedFixupTest.cs b/test/EFCore.Tests/ChangeTracking/Internal/OwnedFixupTest.cs index 126b5f9941d..fae6c7fa5d8 100644 --- a/test/EFCore.Tests/ChangeTracking/Internal/OwnedFixupTest.cs +++ b/test/EFCore.Tests/ChangeTracking/Internal/OwnedFixupTest.cs @@ -26,7 +26,7 @@ private class OwnedByThing public Thing Thing { get; set; } } - [ConditionalTheory, + [Theory, InlineData(false), InlineData(true)] // Issue #18982 public void Detaching_owner_does_not_delete_owned_entities(bool delayCascade) { @@ -72,7 +72,7 @@ public void Detaching_owner_does_not_delete_owned_entities(bool delayCascade) } } - [ConditionalFact] + [Fact] public void Can_detach_Added_owner_referencing_detached_weak_owned_entity() { using var context = new FixupContext(); @@ -93,7 +93,7 @@ public void Can_detach_Added_owner_referencing_detached_weak_owned_entity() Assert.Equal(EntityState.Detached, context.Entry(owner).Reference(e => e.Child1).TargetEntry.State); } - [ConditionalFact] + [Fact] public void Can_get_owned_entity_entry() { using var context = new FixupContext(); @@ -124,7 +124,7 @@ public void Can_get_owned_entity_entry() Assert.Throws(() => context.Entry(dependent)).Message); } - [ConditionalFact] + [Fact] public void Adding_duplicate_owned_entity_throws_by_default() { using var context = new FixupContext(false); @@ -148,7 +148,7 @@ public void Adding_duplicate_owned_entity_throws_by_default() Assert.Throws(() => context.Entry(principal).Reference(p => p.Child2).TargetEntry).Message); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Added, null), @@ -236,7 +236,7 @@ public void Add_principal_with_dependent_unidirectional_nav(EntityState entitySt }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Added, null), @@ -341,7 +341,7 @@ public void Add_principal_with_dependent_both_navs(EntityState entityState, bool }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, true), InlineData(EntityState.Added, false), InlineData(EntityState.Added, null), @@ -445,7 +445,7 @@ public void Add_principal_with_dependent_principal_nav(EntityState entityState, }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, true, CollectionType.HashSet), InlineData(EntityState.Added, false, CollectionType.HashSet), InlineData(EntityState.Added, null, CollectionType.HashSet), @@ -598,7 +598,7 @@ public void Add_principal_with_dependent_unidirectional_nav_collection( }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, true, CollectionType.HashSet), InlineData(EntityState.Added, false, CollectionType.HashSet), InlineData(EntityState.Added, null, CollectionType.HashSet), @@ -748,7 +748,7 @@ public void Add_principal_with_dependent_both_navs_collection( }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, true, CollectionType.HashSet), InlineData(EntityState.Added, false, CollectionType.HashSet), InlineData(EntityState.Added, null, CollectionType.HashSet), @@ -898,7 +898,7 @@ public void Add_principal_with_dependent_principal_nav_collection( }); } - [ConditionalFact] + [Fact] public async Task Principal_nav_set_unidirectional_AddAsync() { using var context = new FixupContext(); @@ -923,7 +923,7 @@ public async Task Principal_nav_set_unidirectional_AddAsync() }); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -997,7 +997,7 @@ public void Instance_changed_unidirectional(EntityState entityState) Assert.False(context.ChangeTracker.HasChanges()); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1095,7 +1095,7 @@ public void Instance_changed_bidirectional(EntityState entityState) Assert.Same(subDependent22, dependent2.SubChild2); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, CollectionType.HashSet), InlineData(EntityState.Modified, CollectionType.HashSet), InlineData(EntityState.Unchanged, CollectionType.HashSet), @@ -1202,7 +1202,7 @@ public void Instance_changed_unidirectional_collection(EntityState entityState, Assert.Contains(dependent2.SubChildCollection, e => ReferenceEquals(e, subDependent2)); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, CollectionType.HashSet), InlineData(EntityState.Modified, CollectionType.HashSet), InlineData(EntityState.Unchanged, CollectionType.HashSet), @@ -1311,7 +1311,7 @@ public void Instance_changed_bidirectional_collection(EntityState entityState, C Assert.Contains(dependent2.SubChildCollection, e => ReferenceEquals(e, subDependent2)); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1393,7 +1393,7 @@ public void Identity_changed_unidirectional(EntityState entityState) Assert.Same(subDependent, dependent.SubChild); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1486,7 +1486,7 @@ public void Identity_changed_bidirectional(EntityState entityState) Assert.Same(dependent, subDependent2.Parent); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, CollectionType.HashSet), InlineData(EntityState.Modified, CollectionType.HashSet), InlineData(EntityState.Unchanged, CollectionType.HashSet), @@ -1583,7 +1583,7 @@ public void Identity_changed_unidirectional_collection(EntityState entityState, Assert.Contains(dependent.SubChildCollection, e => ReferenceEquals(e, subDependent)); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, CollectionType.HashSet), InlineData(EntityState.Modified, CollectionType.HashSet), InlineData(EntityState.Unchanged, CollectionType.HashSet), @@ -1682,7 +1682,7 @@ public void Identity_changed_bidirectional_collection(EntityState entityState, C Assert.Same(dependent, subDependent.Parent); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1789,7 +1789,7 @@ public void Identity_swapped_unidirectional(EntityState entityState) Assert.Same(subDependent2, dependent2.SubChild); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -1938,7 +1938,7 @@ public void Identity_swapped_bidirectional(EntityState entityState) Assert.Same(subDependent22, dependent2.SubChild2); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, CollectionType.HashSet), InlineData(EntityState.Modified, CollectionType.HashSet), InlineData(EntityState.Unchanged, CollectionType.HashSet), @@ -2089,7 +2089,7 @@ public void Identity_swapped_unidirectional_collection(EntityState entityState, Assert.Contains(dependent2.SubChildCollection, e => ReferenceEquals(e, subDependent2)); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, CollectionType.HashSet), InlineData(EntityState.Modified, CollectionType.HashSet), InlineData(EntityState.Unchanged, CollectionType.HashSet), @@ -2244,7 +2244,7 @@ public void Identity_swapped_bidirectional_collection(EntityState entityState, C Assert.Contains(dependent2.SubChildCollection, e => ReferenceEquals(e, subDependent2)); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2335,7 +2335,7 @@ public void Parent_changed_unidirectional(EntityState entityState) } } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2449,7 +2449,7 @@ public void Parent_changed_bidirectional(EntityState entityState) } } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, CollectionType.HashSet), InlineData(EntityState.Modified, CollectionType.HashSet), InlineData(EntityState.Unchanged, CollectionType.HashSet), @@ -2571,7 +2571,7 @@ public void Parent_changed_unidirectional_collection(EntityState entityState, Co } } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, CollectionType.HashSet), InlineData(EntityState.Modified, CollectionType.HashSet), InlineData(EntityState.Unchanged, CollectionType.HashSet), @@ -2695,7 +2695,7 @@ public void Parent_changed_bidirectional_collection(EntityState entityState, Col } } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2815,7 +2815,7 @@ public void Parent_swapped_unidirectional(EntityState entityState) } } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -2983,7 +2983,7 @@ public void Parent_swapped_bidirectional(EntityState entityState) } } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, CollectionType.HashSet), InlineData(EntityState.Modified, CollectionType.HashSet), InlineData(EntityState.Unchanged, CollectionType.HashSet), @@ -3137,7 +3137,7 @@ public void Parent_swapped_unidirectional_collection(EntityState entityState, Co } } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, CollectionType.HashSet), InlineData(EntityState.Modified, CollectionType.HashSet), InlineData(EntityState.Unchanged, CollectionType.HashSet), @@ -3299,7 +3299,7 @@ public void Parent_swapped_bidirectional_collection(EntityState entityState, Col } } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -3380,7 +3380,7 @@ public void Parent_and_identity_changed_unidirectional(EntityState entityState) Assert.Same(subDependent, dependent.SubChild); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -3494,7 +3494,7 @@ public void Parent_and_identity_changed_bidirectional(EntityState entityState) Assert.Same(dependent, subDependent2.Parent); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, CollectionType.HashSet), InlineData(EntityState.Modified, CollectionType.HashSet), InlineData(EntityState.Unchanged, CollectionType.HashSet), @@ -3603,7 +3603,7 @@ public void Parent_and_identity_changed_unidirectional_collection(EntityState en Assert.Contains(dependent.SubChildCollection, e => ReferenceEquals(e, subDependent)); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, CollectionType.HashSet), InlineData(EntityState.Modified, CollectionType.HashSet), InlineData(EntityState.Unchanged, CollectionType.HashSet), @@ -3722,7 +3722,7 @@ public void Parent_and_identity_changed_bidirectional_collection(EntityState ent Assert.Same(dependent, subDependent.Parent); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -3837,7 +3837,7 @@ public void Parent_and_identity_swapped_unidirectional(EntityState entityState) Assert.Same(subDependent2, dependent2.SubChild); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] @@ -3958,7 +3958,7 @@ public void Parent_and_identity_swapped_bidirectional(EntityState entityState) Assert.Same(dependent2, subDependent2.Parent); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, CollectionType.HashSet), InlineData(EntityState.Modified, CollectionType.HashSet), InlineData(EntityState.Unchanged, CollectionType.HashSet), @@ -4121,7 +4121,7 @@ public void Parent_and_identity_swapped_unidirectional_collection(EntityState en Assert.Contains(dependent2.SubChildCollection, e => ReferenceEquals(e, subDependent2)); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, CollectionType.HashSet), InlineData(EntityState.Modified, CollectionType.HashSet), InlineData(EntityState.Unchanged, CollectionType.HashSet), @@ -4296,7 +4296,7 @@ public void Parent_and_identity_swapped_bidirectional_collection(EntityState ent Assert.Same(dependent2, subDependent2.Parent); } - [ConditionalTheory, + [Theory, InlineData(EntityState.Added, true, true, true), InlineData(EntityState.Modified, true, true, true), InlineData(EntityState.Unchanged, true, true, true), @@ -4382,7 +4382,7 @@ void AssertChildren() } } - [ConditionalTheory, + [Theory, InlineData(false), InlineData(true)] public void Fixup_works_when_changing_state_from_Detached_to_Modified(bool detachDependent) @@ -4471,7 +4471,7 @@ protected internal override void OnModelCreating(ModelBuilder builder) => builder.Entity().OwnsOne(x => x.Details); } - [ConditionalFact] + [Fact] public void Can_save_multiple_deep_owned_entities() { using var context = new StreetContext(nameof(StreetContext)); @@ -4537,7 +4537,7 @@ protected internal override void OnModelCreating(ModelBuilder modelBuilder) }); } - [ConditionalFact] + [Fact] public void Can_replace_owned_entity_after_deleting() { const long MyBookId = 1234; @@ -4621,7 +4621,7 @@ public void Can_replace_owned_entity_after_deleting() } } - [ConditionalFact] + [Fact] public void Can_replace_owned_entity_with_unchanged_entity_after_deleting() { const long MyBookId = 1534; @@ -4741,7 +4741,7 @@ protected internal override void OnModelCreating(ModelBuilder modelBuilder) => Book.OnModelCreating(modelBuilder); } - [ConditionalFact] + [Fact] public void Entities_with_owned_custom_enum_pattern_are_tracked_correctly_if_not_shared() { using var context = new TestCurrencyContext(nameof(TestCurrencyContext)); @@ -4849,7 +4849,7 @@ protected internal override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public void Entities_with_owned_custom_enum_pattern_using_ValueConverter_are_tracked_correctly() { using var context = new TestCurrencyContextRevisited(nameof(TestCurrencyContextRevisited)); @@ -4916,7 +4916,7 @@ protected internal override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public void Equatable_entities_that_comply_are_tracked_correctly() { EntityState GetEntryState(EquatableEntitiesContext context, string role = null) @@ -4982,7 +4982,7 @@ EntityState GetEntryState(EquatableEntitiesContext context, string role } } - [ConditionalTheory, + [Theory, InlineData(false), InlineData(true)] public async Task SaveChanges_when_owner_has_PK_with_default_values(bool async) diff --git a/test/EFCore.Tests/ChangeTracking/Internal/PropertyValuesTest.cs b/test/EFCore.Tests/ChangeTracking/Internal/PropertyValuesTest.cs index c9b120a0d8a..597be722833 100644 --- a/test/EFCore.Tests/ChangeTracking/Internal/PropertyValuesTest.cs +++ b/test/EFCore.Tests/ChangeTracking/Internal/PropertyValuesTest.cs @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; public class PropertyValuesTest { - [ConditionalFact] + [Fact] public void Can_safely_get_originalvalue_and_currentvalue_with_TryGetValue() { var stateManager = CreateStateManager(mb => mb.Entity()); @@ -36,7 +36,7 @@ public void Can_safely_get_originalvalue_and_currentvalue_with_TryGetValue() Assert.Equal(NewNameValue, currentName); } - [ConditionalFact] + [Fact] public void TryGetValue_should_not_throw_error_when_property_does_not_exist() { var stateManager = CreateStateManager(mb => mb.Entity()); @@ -69,7 +69,7 @@ public enum SetValues PropertyValues } - [ConditionalTheory] + [Theory] [ClassData(typeof(DataGenerator))] public void ToObject_with_null_complex_property(bool? useOriginalValues, SetValues? useSetValues) { @@ -81,7 +81,7 @@ public void ToObject_with_null_complex_property(bool? useOriginalValues, SetValu Assert.Null(result.Error); } - [ConditionalTheory] + [Theory] [ClassData(typeof(DataGenerator))] public void ToObject_with_all_nested_complex_properties_populated(bool? useOriginalValues, SetValues? useSetValues) { @@ -117,7 +117,7 @@ public void ToObject_with_all_nested_complex_properties_populated(bool? useOrigi Assert.Equal("502", result.Error.InnerError.InnerError!.Code); } - [ConditionalTheory] + [Theory] [ClassData(typeof(DataGenerator))] public void ToObject_with_null_nested_complex_property(bool? useOriginalValues, SetValues? useSetValues) { @@ -140,7 +140,7 @@ public void ToObject_with_null_nested_complex_property(bool? useOriginalValues, Assert.Null(result.Error.InnerError); } - [ConditionalTheory] + [Theory] [ClassData(typeof(DataGenerator))] public void ToObject_with_complex_collection_containing_nested_nullable_complex_properties( bool? useOriginalValues, @@ -197,7 +197,7 @@ public void ToObject_with_complex_collection_containing_nested_nullable_complex_ Assert.Equal("505", result.Errors[2].InnerError!.InnerError!.Code); } - [ConditionalTheory] + [Theory] [ClassData(typeof(DataGenerator))] public void ToObject_with_null_complex_property_in_complex_collection_in_complex_collection( bool? useOriginalValues, @@ -248,7 +248,7 @@ public void ToObject_with_null_complex_property_in_complex_collection_in_complex Assert.Equal("403", error.InnerErrors[1].InnerError!.Code); } - [ConditionalTheory] + [Theory] [ClassData(typeof(DataGenerator))] public void ToObject_with_null_complex_property_in_complex_collection_element_in_complex_property( bool? useOriginalValues, @@ -307,7 +307,7 @@ public void ToObject_with_null_complex_property_in_complex_collection_element_in Assert.Equal("503", result.Error.InnerErrors[1].InnerError!.Code); } - [ConditionalFact] + [Fact] public void Detailed_errors_for_complex_collection_not_initialized() { var job = new Job @@ -341,7 +341,7 @@ public void Detailed_errors_for_complex_collection_not_initialized() () => codeProperty.GetGetter().GetClrValueUsingContainingEntity(job, new[] { 0 })).Message); } - [ConditionalFact] + [Fact] public void Detailed_errors_for_complex_collection_ordinal_out_of_range() { var job = new Job diff --git a/test/EFCore.Tests/ChangeTracking/Internal/QueryFixupTest.cs b/test/EFCore.Tests/ChangeTracking/Internal/QueryFixupTest.cs index 8f808cf8011..ae7ac53a63b 100644 --- a/test/EFCore.Tests/ChangeTracking/Internal/QueryFixupTest.cs +++ b/test/EFCore.Tests/ChangeTracking/Internal/QueryFixupTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; public class QueryFixupTest { - [ConditionalFact] + [Fact] public void Query_dependent_include_principal() { Seed(); @@ -27,7 +27,7 @@ public void Query_dependent_include_principal() }); } - [ConditionalFact] + [Fact] public void Query_principal_include_dependent() { Seed(); @@ -46,7 +46,7 @@ public void Query_principal_include_dependent() }); } - [ConditionalFact] + [Fact] public void Query_dependent_include_principal_unidirectional() { Seed(); @@ -64,7 +64,7 @@ public void Query_dependent_include_principal_unidirectional() }); } - [ConditionalFact] + [Fact] public void Query_principal_include_dependent_unidirectional() { Seed(); @@ -82,7 +82,7 @@ public void Query_principal_include_dependent_unidirectional() }); } - [ConditionalFact] + [Fact] public void Query_dependent_include_principal_one_to_one() { Seed(); @@ -101,7 +101,7 @@ public void Query_dependent_include_principal_one_to_one() }); } - [ConditionalFact] + [Fact] public void Query_principal_include_dependent_one_to_one() { Seed(); @@ -120,7 +120,7 @@ public void Query_principal_include_dependent_one_to_one() }); } - [ConditionalFact] + [Fact] public void Query_dependent_include_principal_unidirectional_one_to_one() { Seed(); @@ -138,7 +138,7 @@ public void Query_dependent_include_principal_unidirectional_one_to_one() }); } - [ConditionalFact] + [Fact] public void Query_principal_include_dependent_unidirectional_one_to_one() { Seed(); @@ -156,7 +156,7 @@ public void Query_principal_include_dependent_unidirectional_one_to_one() }); } - [ConditionalFact] + [Fact] public void Query_self_ref() { Seed(); @@ -176,7 +176,7 @@ public void Query_self_ref() }); } - [ConditionalFact] + [Fact] public void Query_dependent_include_principal_self_ref() { Seed(); @@ -196,7 +196,7 @@ public void Query_dependent_include_principal_self_ref() }); } - [ConditionalFact] + [Fact] public void Query_principal_include_dependent_self_ref() { Seed(); @@ -216,7 +216,7 @@ public void Query_principal_include_dependent_self_ref() }); } - [ConditionalFact] + [Fact] public void Query_self_ref_prinipal_nav_only() { Seed(); @@ -235,7 +235,7 @@ public void Query_self_ref_prinipal_nav_only() }); } - [ConditionalFact] + [Fact] public void Query_self_ref_dependent_nav_only() { Seed(); @@ -254,7 +254,7 @@ public void Query_self_ref_dependent_nav_only() }); } - [ConditionalFact] + [Fact] public void Query_dependent_include_principal_self_ref_unidirectional() { Seed(); @@ -273,7 +273,7 @@ public void Query_dependent_include_principal_self_ref_unidirectional() }); } - [ConditionalFact] + [Fact] public void Query_principal_include_dependent_self_ref_unidirectional() { Seed(); @@ -292,7 +292,7 @@ public void Query_principal_include_dependent_self_ref_unidirectional() }); } - [ConditionalFact] + [Fact] public void Query_self_ref_one_to_one() { Seed(); @@ -312,7 +312,7 @@ public void Query_self_ref_one_to_one() }); } - [ConditionalFact] + [Fact] public void Query_dependent_include_principal_self_ref_one_to_one() { Seed(); @@ -332,7 +332,7 @@ public void Query_dependent_include_principal_self_ref_one_to_one() }); } - [ConditionalFact] + [Fact] public void Query_principal_include_dependent_self_ref_one_to_one() { Seed(); @@ -352,7 +352,7 @@ public void Query_principal_include_dependent_self_ref_one_to_one() }); } - [ConditionalFact] + [Fact] public void Query_self_ref_one_to_one_principal_nav_only() { Seed(); @@ -371,7 +371,7 @@ public void Query_self_ref_one_to_one_principal_nav_only() }); } - [ConditionalFact] + [Fact] public void Query_self_ref_one_to_one_dependent_nav_only() { Seed(); @@ -390,7 +390,7 @@ public void Query_self_ref_one_to_one_dependent_nav_only() }); } - [ConditionalFact] + [Fact] public void Query_dependent_include_principal_self_ref_one_to_one_unidirectional() { Seed(); @@ -409,7 +409,7 @@ public void Query_dependent_include_principal_self_ref_one_to_one_unidirectional }); } - [ConditionalFact] + [Fact] public void Query_principal_include_dependent_self_ref_one_to_one_unidirectional() { Seed(); @@ -428,7 +428,7 @@ public void Query_principal_include_dependent_self_ref_one_to_one_unidirectional }); } - [ConditionalFact] + [Fact] public void Query_dependent_include_principal_multiple_relationships() { Seed(); @@ -450,7 +450,7 @@ public void Query_dependent_include_principal_multiple_relationships() }); } - [ConditionalFact] + [Fact] public void Query_principal_include_dependent_multiple_relationships() { Seed(); @@ -472,7 +472,7 @@ public void Query_principal_include_dependent_multiple_relationships() }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Query_dependent_include_principal_with_existing(EntityState existingState) { Seed(); @@ -498,7 +498,7 @@ public void Query_dependent_include_principal_with_existing(EntityState existing }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Query_principal_include_dependent_with_existing(EntityState existingState) { Seed(); @@ -524,7 +524,7 @@ public void Query_principal_include_dependent_with_existing(EntityState existing }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Query_dependent_include_principal_unidirectional_with_existing(EntityState existingState) { Seed(); @@ -548,7 +548,7 @@ public void Query_dependent_include_principal_unidirectional_with_existing(Entit }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Query_principal_include_dependent_unidirectional_with_existing(EntityState existingState) { Seed(); @@ -572,7 +572,7 @@ public void Query_principal_include_dependent_unidirectional_with_existing(Entit }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Query_self_ref_with_existing(EntityState existingState) { Seed(); @@ -599,7 +599,7 @@ public void Query_self_ref_with_existing(EntityState existingState) }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Query_dependent_include_principal_self_ref_with_existing(EntityState existingState) { Seed(); @@ -626,7 +626,7 @@ public void Query_dependent_include_principal_self_ref_with_existing(EntityState }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Query_principal_include_dependent_self_ref_with_existing(EntityState existingState) { Seed(); @@ -653,7 +653,7 @@ public void Query_principal_include_dependent_self_ref_with_existing(EntityState }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Query_self_ref_prinipal_nav_only_with_existing(EntityState existingState) { Seed(); @@ -678,7 +678,7 @@ public void Query_self_ref_prinipal_nav_only_with_existing(EntityState existingS }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Query_self_ref_dependent_nav_only_with_existing(EntityState existingState) { Seed(); @@ -703,7 +703,7 @@ public void Query_self_ref_dependent_nav_only_with_existing(EntityState existing }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Query_dependent_include_principal_self_ref_unidirectional_with_existing(EntityState existingState) { Seed(); @@ -728,7 +728,7 @@ public void Query_dependent_include_principal_self_ref_unidirectional_with_exist }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Query_principal_include_dependent_self_ref_unidirectional_with_existing(EntityState existingState) { Seed(); @@ -753,7 +753,7 @@ public void Query_principal_include_dependent_self_ref_unidirectional_with_exist }); } - [ConditionalFact] + [Fact] public void Query_ownership_navigations() { Seed(); @@ -808,7 +808,7 @@ public void Query_ownership_navigations() }); } - [ConditionalFact] + [Fact] public void Query_owned_foreign_key() { Seed(); @@ -823,7 +823,7 @@ public void Query_owned_foreign_key() () => Assert.Equal(principal.Id, foreignKeyValue)); } - [ConditionalFact] + [Fact] public void Query_subowned_foreign_key() { Seed(); @@ -838,7 +838,7 @@ public void Query_subowned_foreign_key() () => Assert.Equal(principal.Id, foreignKeyValue)); } - [ConditionalFact] + [Fact] public void Query_owned() { Seed(); @@ -857,7 +857,7 @@ public void Query_owned() }); } - [ConditionalFact] + [Fact] public void Query_subowned() { Seed(); diff --git a/test/EFCore.Tests/ChangeTracking/Internal/ShadowFixupTest.cs b/test/EFCore.Tests/ChangeTracking/Internal/ShadowFixupTest.cs index 26b1e6c2259..036ded97ec0 100644 --- a/test/EFCore.Tests/ChangeTracking/Internal/ShadowFixupTest.cs +++ b/test/EFCore.Tests/ChangeTracking/Internal/ShadowFixupTest.cs @@ -13,37 +13,37 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; public class ShadowFixupTest { - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_many_FK_set_both_navs_set(EntityState entityState) => Add_principal_and_dependent_one_to_many( entityState, principalFirst: false, setFk: true, setToPrincipal: true, setToDependent: true); - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_many_FK_not_set_both_navs_set(EntityState entityState) => Add_principal_and_dependent_one_to_many( entityState, principalFirst: false, setFk: false, setToPrincipal: true, setToDependent: true); - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_many_FK_set_no_navs_set(EntityState entityState) => Add_principal_and_dependent_one_to_many( entityState, principalFirst: false, setFk: true, setToPrincipal: false, setToDependent: false); - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_many_FK_set_principal_nav_set(EntityState entityState) => Add_principal_and_dependent_one_to_many( entityState, principalFirst: false, setFk: true, setToPrincipal: false, setToDependent: true); - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_many_FK_set_dependent_nav_set(EntityState entityState) => Add_principal_and_dependent_one_to_many( entityState, principalFirst: false, setFk: true, setToPrincipal: true, setToDependent: false); - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_many_FK_not_set_principal_nav_set(EntityState entityState) => Add_principal_and_dependent_one_to_many( entityState, principalFirst: false, setFk: false, setToPrincipal: false, setToDependent: true); - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_many_FK_not_set_dependent_nav_set(EntityState entityState) => Add_principal_and_dependent_one_to_many( entityState, principalFirst: false, setFk: false, setToPrincipal: true, setToDependent: false); @@ -99,37 +99,37 @@ private void Add_principal_and_dependent_one_to_many( }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_one_FK_set_both_navs_set(EntityState entityState) => Add_principal_and_dependent_one_to_one( entityState, principalFirst: false, setFk: true, setToPrincipal: true, setToDependent: true); - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_one_FK_not_set_both_navs_set(EntityState entityState) => Add_principal_and_dependent_one_to_one( entityState, principalFirst: false, setFk: false, setToPrincipal: true, setToDependent: true); - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_one_FK_set_no_navs_set(EntityState entityState) => Add_principal_and_dependent_one_to_one( entityState, principalFirst: false, setFk: true, setToPrincipal: false, setToDependent: false); - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_one_FK_set_principal_nav_set(EntityState entityState) => Add_principal_and_dependent_one_to_one( entityState, principalFirst: false, setFk: true, setToPrincipal: false, setToDependent: true); - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_one_FK_set_dependent_nav_set(EntityState entityState) => Add_principal_and_dependent_one_to_one( entityState, principalFirst: false, setFk: true, setToPrincipal: true, setToDependent: false); - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_one_FK_not_set_principal_nav_set(EntityState entityState) => Add_principal_and_dependent_one_to_one( entityState, principalFirst: false, setFk: false, setToPrincipal: false, setToDependent: true); - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_one_FK_not_set_dependent_nav_set(EntityState entityState) => Add_principal_and_dependent_one_to_one( entityState, principalFirst: false, setFk: false, setToPrincipal: true, setToDependent: false); diff --git a/test/EFCore.Tests/ChangeTracking/Internal/ShadowFkFixupTest.cs b/test/EFCore.Tests/ChangeTracking/Internal/ShadowFkFixupTest.cs index 576d1dbfe49..ea84e6edba4 100644 --- a/test/EFCore.Tests/ChangeTracking/Internal/ShadowFkFixupTest.cs +++ b/test/EFCore.Tests/ChangeTracking/Internal/ShadowFkFixupTest.cs @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; public class ShadowFkFixupTest { - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_many_FK_set_both_navs_set(EntityState entityState) { using var context = new FixupContext(); @@ -36,7 +36,7 @@ public void Add_dependent_then_principal_one_to_many_FK_set_both_navs_set(Entity }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_many_FK_not_set_both_navs_set(EntityState entityState) { using var context = new FixupContext(); @@ -59,7 +59,7 @@ public void Add_dependent_then_principal_one_to_many_FK_not_set_both_navs_set(En }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_many_FK_set_no_navs_set(EntityState entityState) { using var context = new FixupContext(); @@ -83,7 +83,7 @@ public void Add_dependent_then_principal_one_to_many_FK_set_no_navs_set(EntitySt }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_many_FK_set_principal_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -108,7 +108,7 @@ public void Add_dependent_then_principal_one_to_many_FK_set_principal_nav_set(En }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_many_FK_set_dependent_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -132,7 +132,7 @@ public void Add_dependent_then_principal_one_to_many_FK_set_dependent_nav_set(En }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_many_FK_not_set_principal_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -155,7 +155,7 @@ public void Add_dependent_then_principal_one_to_many_FK_not_set_principal_nav_se }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_many_FK_not_set_dependent_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -177,7 +177,7 @@ public void Add_dependent_then_principal_one_to_many_FK_not_set_dependent_nav_se }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_many_FK_set_both_navs_set(EntityState entityState) { using var context = new FixupContext(); @@ -202,7 +202,7 @@ public void Add_principal_then_dependent_one_to_many_FK_set_both_navs_set(Entity }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_many_FK_not_set_both_navs_set(EntityState entityState) { using var context = new FixupContext(); @@ -225,7 +225,7 @@ public void Add_principal_then_dependent_one_to_many_FK_not_set_both_navs_set(En }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_many_FK_set_no_navs_set(EntityState entityState) { using var context = new FixupContext(); @@ -249,7 +249,7 @@ public void Add_principal_then_dependent_one_to_many_FK_set_no_navs_set(EntitySt }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_many_FK_set_principal_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -274,7 +274,7 @@ public void Add_principal_then_dependent_one_to_many_FK_set_principal_nav_set(En }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_many_FK_set_dependent_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -298,7 +298,7 @@ public void Add_principal_then_dependent_one_to_many_FK_set_dependent_nav_set(En }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_many_FK_not_set_principal_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -321,7 +321,7 @@ public void Add_principal_then_dependent_one_to_many_FK_not_set_principal_nav_se }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_many_FK_not_set_dependent_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -343,7 +343,7 @@ public void Add_principal_then_dependent_one_to_many_FK_not_set_dependent_nav_se }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_many_prin_uni_FK_set_no_navs_set(EntityState entityState) { using var context = new FixupContext(); @@ -366,7 +366,7 @@ public void Add_dependent_then_principal_one_to_many_prin_uni_FK_set_no_navs_set }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_many_prin_uni_FK_set_no_navs_set(EntityState entityState) { using var context = new FixupContext(); @@ -389,7 +389,7 @@ public void Add_principal_then_dependent_one_to_many_prin_uni_FK_set_no_navs_set }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_many_prin_uni_FK_set_principal_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -413,7 +413,7 @@ public void Add_dependent_then_principal_one_to_many_prin_uni_FK_set_principal_n }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_many_prin_uni_FK_not_set_principal_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -435,7 +435,7 @@ public void Add_dependent_then_principal_one_to_many_prin_uni_FK_not_set_princip }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_many_prin_uni_FK_set_principal_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -459,7 +459,7 @@ public void Add_principal_then_dependent_one_to_many_prin_uni_FK_set_principal_n }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_many_prin_uni_FK_not_set_principal_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -481,7 +481,7 @@ public void Add_principal_then_dependent_one_to_many_prin_uni_FK_not_set_princip }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_many_dep_uni_FK_set_no_navs_set(EntityState entityState) { using var context = new FixupContext(); @@ -504,7 +504,7 @@ public void Add_dependent_then_principal_one_to_many_dep_uni_FK_set_no_navs_set( }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_many_dep_uni_FK_set_dependent_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -527,7 +527,7 @@ public void Add_dependent_then_principal_one_to_many_dep_uni_FK_set_dependent_na }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_many_dep_uni_FK_not_set_dependent_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -548,7 +548,7 @@ public void Add_dependent_then_principal_one_to_many_dep_uni_FK_not_set_dependen }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_many_dep_uni_FK_set_no_navs_set(EntityState entityState) { using var context = new FixupContext(); @@ -571,7 +571,7 @@ public void Add_principal_then_dependent_one_to_many_dep_uni_FK_set_no_navs_set( }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_many_dep_uni_FK_set_dependent_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -594,7 +594,7 @@ public void Add_principal_then_dependent_one_to_many_dep_uni_FK_set_dependent_na }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_many_dep_uni_FK_not_set_dependent_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -615,7 +615,7 @@ public void Add_principal_then_dependent_one_to_many_dep_uni_FK_not_set_dependen }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_many_no_navs_FK_set_no_navs_set(EntityState entityState) { using var context = new FixupContext(); @@ -637,7 +637,7 @@ public void Add_dependent_then_principal_one_to_many_no_navs_FK_set_no_navs_set( }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_many_no_navs_FK_set_no_navs_set(EntityState entityState) { using var context = new FixupContext(); @@ -659,7 +659,7 @@ public void Add_principal_then_dependent_one_to_many_no_navs_FK_set_no_navs_set( }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_one_FK_set_both_navs_set(EntityState entityState) { using var context = new FixupContext(); @@ -685,7 +685,7 @@ public void Add_dependent_then_principal_one_to_one_FK_set_both_navs_set(EntityS }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_one_FK_not_set_both_navs_set(EntityState entityState) { using var context = new FixupContext(); @@ -708,7 +708,7 @@ public void Add_dependent_then_principal_one_to_one_FK_not_set_both_navs_set(Ent }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_one_FK_set_no_navs_set(EntityState entityState) { using var context = new FixupContext(); @@ -732,7 +732,7 @@ public void Add_dependent_then_principal_one_to_one_FK_set_no_navs_set(EntitySta }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_one_FK_set_principal_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -757,7 +757,7 @@ public void Add_dependent_then_principal_one_to_one_FK_set_principal_nav_set(Ent }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_one_FK_set_dependent_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -781,7 +781,7 @@ public void Add_dependent_then_principal_one_to_one_FK_set_dependent_nav_set(Ent }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_one_FK_not_set_principal_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -804,7 +804,7 @@ public void Add_dependent_then_principal_one_to_one_FK_not_set_principal_nav_set }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_one_FK_not_set_dependent_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -826,7 +826,7 @@ public void Add_dependent_then_principal_one_to_one_FK_not_set_dependent_nav_set }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_one_FK_set_both_navs_set(EntityState entityState) { using var context = new FixupContext(); @@ -851,7 +851,7 @@ public void Add_principal_then_dependent_one_to_one_FK_set_both_navs_set(EntityS }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_one_FK_not_set_both_navs_set(EntityState entityState) { using var context = new FixupContext(); @@ -874,7 +874,7 @@ public void Add_principal_then_dependent_one_to_one_FK_not_set_both_navs_set(Ent }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_one_FK_set_no_navs_set(EntityState entityState) { using var context = new FixupContext(); @@ -898,7 +898,7 @@ public void Add_principal_then_dependent_one_to_one_FK_set_no_navs_set(EntitySta }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_one_FK_set_principal_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -923,7 +923,7 @@ public void Add_principal_then_dependent_one_to_one_FK_set_principal_nav_set(Ent }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_one_FK_set_dependent_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -947,7 +947,7 @@ public void Add_principal_then_dependent_one_to_one_FK_set_dependent_nav_set(Ent }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_one_FK_not_set_principal_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -970,7 +970,7 @@ public void Add_principal_then_dependent_one_to_one_FK_not_set_principal_nav_set }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_one_FK_not_set_dependent_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -992,7 +992,7 @@ public void Add_principal_then_dependent_one_to_one_FK_not_set_dependent_nav_set }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_one_prin_uni_FK_set_no_navs_set(EntityState entityState) { using var context = new FixupContext(); @@ -1015,7 +1015,7 @@ public void Add_dependent_then_principal_one_to_one_prin_uni_FK_set_no_navs_set( }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_one_prin_uni_FK_set_no_navs_set(EntityState entityState) { using var context = new FixupContext(); @@ -1038,7 +1038,7 @@ public void Add_principal_then_dependent_one_to_one_prin_uni_FK_set_no_navs_set( }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_one_prin_uni_FK_set_principal_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -1062,7 +1062,7 @@ public void Add_dependent_then_principal_one_to_one_prin_uni_FK_set_principal_na }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_one_prin_uni_FK_not_set_principal_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -1084,7 +1084,7 @@ public void Add_dependent_then_principal_one_to_one_prin_uni_FK_not_set_principa }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_one_prin_uni_FK_set_principal_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -1108,7 +1108,7 @@ public void Add_principal_then_dependent_one_to_one_prin_uni_FK_set_principal_na }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_one_prin_uni_FK_not_set_principal_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -1130,7 +1130,7 @@ public void Add_principal_then_dependent_one_to_one_prin_uni_FK_not_set_principa }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_one_dep_uni_FK_set_no_navs_set(EntityState entityState) { using var context = new FixupContext(); @@ -1153,7 +1153,7 @@ public void Add_dependent_then_principal_one_to_one_dep_uni_FK_set_no_navs_set(E }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_one_dep_uni_FK_set_dependent_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -1176,7 +1176,7 @@ public void Add_dependent_then_principal_one_to_one_dep_uni_FK_set_dependent_nav }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_one_dep_uni_FK_not_set_dependent_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -1197,7 +1197,7 @@ public void Add_dependent_then_principal_one_to_one_dep_uni_FK_not_set_dependent }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_one_dep_uni_FK_set_no_navs_set(EntityState entityState) { using var context = new FixupContext(); @@ -1219,7 +1219,7 @@ public void Add_principal_then_dependent_one_to_one_dep_uni_FK_set_no_navs_set(E }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_one_dep_uni_FK_set_dependent_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -1241,7 +1241,7 @@ public void Add_principal_then_dependent_one_to_one_dep_uni_FK_set_dependent_nav }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_one_dep_uni_FK_not_set_dependent_nav_set(EntityState entityState) { using var context = new FixupContext(); @@ -1262,7 +1262,7 @@ public void Add_principal_then_dependent_one_to_one_dep_uni_FK_not_set_dependent }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_dependent_then_principal_one_to_one_no_navs_FK_set_no_navs_set(EntityState entityState) { using var context = new FixupContext(); @@ -1284,7 +1284,7 @@ public void Add_dependent_then_principal_one_to_one_no_navs_FK_set_no_navs_set(E }); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Modified), InlineData(EntityState.Unchanged)] public void Add_principal_then_dependent_one_to_one_no_navs_FK_set_no_navs_set(EntityState entityState) { using var context = new FixupContext(); diff --git a/test/EFCore.Tests/ChangeTracking/Internal/SortableBindingListTest.cs b/test/EFCore.Tests/ChangeTracking/Internal/SortableBindingListTest.cs index efa41340e23..69936a6efcc 100644 --- a/test/EFCore.Tests/ChangeTracking/Internal/SortableBindingListTest.cs +++ b/test/EFCore.Tests/ChangeTracking/Internal/SortableBindingListTest.cs @@ -21,31 +21,31 @@ private void SortTest(string property, ListSortDirection direction) Assert.True(list.SequenceEqual(sortedList, new ListElementComparer())); } - [ConditionalFact] + [Fact] public void SortableBindingList_can_sort_ascending_using_IComparable_on_value_type() => SortTest("Int", ListSortDirection.Ascending); - [ConditionalFact] + [Fact] public void SortableBindingList_can_sort_ascending_using_IComparable_on_nullable_value_type() => SortTest("NullableInt", ListSortDirection.Ascending); - [ConditionalFact] + [Fact] public void SortableBindingList_can_sort_ascending_using_IComparable_on_reference_type() => SortTest("String", ListSortDirection.Ascending); - [ConditionalFact] + [Fact] public void SortableBindingList_can_sort_descending_using_IComparable_on_value_type() => SortTest("Int", ListSortDirection.Descending); - [ConditionalFact] + [Fact] public void SortableBindingList_can_sort_descending_using_IComparable_on_nullable_value_type() => SortTest("NullableInt", ListSortDirection.Descending); - [ConditionalFact] + [Fact] public void SortableBindingList_can_sort_descending_using_IComparable_on_reference_type() => SortTest("String", ListSortDirection.Descending); - [ConditionalFact] + [Fact] public void SortableBindingList_does_not_sort_for_non_XNode_that_does_not_implement_IComparable() { List list = [3, 1, 4, 1, 5, 9]; @@ -57,7 +57,7 @@ public void SortableBindingList_does_not_sort_for_non_XNode_that_does_not_implem Assert.True(list.SequenceEqual(unsortedList, new ListElementComparer())); } - [ConditionalFact] + [Fact] public void SortableBindingList_does_not_sort_for_byte_arrays() { List list = [3, 1, 4, 1, 5, 9]; @@ -69,7 +69,7 @@ public void SortableBindingList_does_not_sort_for_byte_arrays() Assert.True(list.SequenceEqual(unsortedList, new ListElementComparer())); } - [ConditionalFact] + [Fact] public void SortableBindingList_can_sort_when_list_contains_derived_objects() { var list = new List @@ -92,7 +92,7 @@ public void SortableBindingList_can_sort_when_list_contains_derived_objects() Assert.True(list.SequenceEqual(sortedList, new ListElementComparer())); } - [ConditionalFact] + [Fact] public void SortableBindingList_can_sort_when_list_is_of_derived_type() { var list = new List diff --git a/test/EFCore.Tests/ChangeTracking/Internal/StateDataTest.cs b/test/EFCore.Tests/ChangeTracking/Internal/StateDataTest.cs index 9a930b4a890..25290d8c93e 100644 --- a/test/EFCore.Tests/ChangeTracking/Internal/StateDataTest.cs +++ b/test/EFCore.Tests/ChangeTracking/Internal/StateDataTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; public class StateDataTest { - [ConditionalFact] + [Fact] public void Can_read_and_manipulate_modification_flags() { for (var i = 0; i < 70; i++) @@ -22,7 +22,7 @@ public void Can_read_and_manipulate_modification_flags() } } - [ConditionalFact] + [Fact] public void Can_read_and_manipulate_null_flags() { for (var i = 0; i < 70; i++) @@ -39,7 +39,7 @@ public void Can_read_and_manipulate_null_flags() } } - [ConditionalFact] + [Fact] public void Can_read_and_manipulate_not_set_flags() { for (var i = 0; i < 70; i++) @@ -56,7 +56,7 @@ public void Can_read_and_manipulate_not_set_flags() } } - [ConditionalFact] + [Fact] public void Can_read_and_manipulate_is_loaded_flags() { for (var i = 0; i < 70; i++) @@ -73,7 +73,7 @@ public void Can_read_and_manipulate_is_loaded_flags() } } - [ConditionalFact] + [Fact] public void Can_read_and_manipulate_temporary_flags() { for (var i = 0; i < 70; i++) @@ -90,7 +90,7 @@ public void Can_read_and_manipulate_temporary_flags() } } - [ConditionalFact] + [Fact] public void Can_read_and_manipulate_store_generated_flags() { for (var i = 0; i < 70; i++) @@ -107,7 +107,7 @@ public void Can_read_and_manipulate_store_generated_flags() } } - [ConditionalFact] + [Fact] public void Can_read_and_manipulate_is_property_loaded_flags() { for (var i = 0; i < 70; i++) @@ -246,7 +246,7 @@ private void PropertyManipulation( } } - [ConditionalFact] + [Fact] public void Can_get_and_set_EntityState() { var data = new InternalEntryBase.StateData(70, 0); diff --git a/test/EFCore.Tests/ChangeTracking/Internal/StateManagerTest.cs b/test/EFCore.Tests/ChangeTracking/Internal/StateManagerTest.cs index d5a86890a27..af0570038e4 100644 --- a/test/EFCore.Tests/ChangeTracking/Internal/StateManagerTest.cs +++ b/test/EFCore.Tests/ChangeTracking/Internal/StateManagerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // ReSharper disable MemberCanBePrivate.Local @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; public class StateManagerTest { - [ConditionalFact] + [Fact] public void Can_get_existing_entry_if_entity_is_already_tracked_otherwise_new_entry() { var stateManager = CreateStateManager(BuildModel()); @@ -26,7 +26,7 @@ public void Can_get_existing_entry_if_entity_is_already_tracked_otherwise_new_en Assert.Equal(EntityState.Detached, entry.EntityState); } - [ConditionalFact] + [Fact] public void Identity_conflict_throws_for_primary_key() { using var context = new IdentityConflictContext(); @@ -39,7 +39,7 @@ public void Identity_conflict_throws_for_primary_key() new SingleKey { Id = 77, AlternateId = 67 })).Message); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Identity_conflict_can_be_resolved(bool copy) { using var context = new IdentityConflictContext( @@ -67,7 +67,7 @@ public void Identity_conflict_can_be_resolved(bool copy) Assert.Equal(copy ? "New" : "Existing", entity.Value); } - [ConditionalFact] + [Fact] public void Resolving_identity_conflict_for_primary_key_cannot_change_alternate_key() { using var context = new IdentityConflictContext(new NaiveCopyingIdentityResolutionInterceptor()); @@ -80,7 +80,7 @@ public void Resolving_identity_conflict_for_primary_key_cannot_change_alternate_ new SingleKey { Id = 77, AlternateId = 67 })).Message); } - [ConditionalFact] + [Fact] public void Resolving_identity_conflict_for_primary_key_throws_if_alternate_key_changes() { using var context = new IdentityConflictContext(new IgnoringIdentityResolutionInterceptor()); @@ -93,7 +93,7 @@ public void Resolving_identity_conflict_for_primary_key_throws_if_alternate_key_ new SingleKey { Id = 77, AlternateId = 67 })).Message); } - [ConditionalFact] + [Fact] public void Identity_conflict_throws_for_alternate_key() { using var context = new IdentityConflictContext(); @@ -106,7 +106,7 @@ public void Identity_conflict_throws_for_alternate_key() new SingleKey { Id = 78, AlternateId = 66 })).Message); } - [ConditionalFact] + [Fact] public void Resolving_identity_conflict_for_alternate_key_cannot_change_primary_key() { using var context = new IdentityConflictContext(new NaiveCopyingIdentityResolutionInterceptor()); @@ -124,7 +124,7 @@ public void UpdateTrackedInstance(IdentityResolutionInterceptionData interceptio => existingEntry.CurrentValues.SetValues(newEntity); } - [ConditionalFact] + [Fact] public void Resolving_identity_conflict_for_alternate_key_throws_if_primary_key_changes() { using var context = new IdentityConflictContext(new IgnoringIdentityResolutionInterceptor()); @@ -136,7 +136,7 @@ public void Resolving_identity_conflict_for_alternate_key_throws_if_primary_key_ new SingleKey { Id = 78, AlternateId = 66 })).Message); } - [ConditionalFact] + [Fact] public void Identity_conflict_throws_for_owned_primary_key() { using var context = new IdentityConflictContext(); @@ -162,7 +162,7 @@ public void Identity_conflict_throws_for_owned_primary_key() })).Message); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Identity_conflict_can_be_resolved_for_owned(bool copy) { using var context = new IdentityConflictContext( @@ -195,7 +195,7 @@ public void Identity_conflict_can_be_resolved_for_owned(bool copy) Assert.Equal(copy ? "New" : "Existing", owned.Value); } - [ConditionalFact] + [Fact] public void Identity_conflict_throws_for_composite_primary_key() { using var context = new IdentityConflictContext(); @@ -220,7 +220,7 @@ public void Identity_conflict_throws_for_composite_primary_key() })).Message); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Identity_conflict_can_be_resolved_for_composite_primary_key(bool copy) { using var context = new IdentityConflictContext( @@ -252,7 +252,7 @@ public void Identity_conflict_can_be_resolved_for_composite_primary_key(bool cop Assert.Equal(copy ? "New" : "Existing", entity.Value); } - [ConditionalFact] + [Fact] public void Identity_conflict_throws_for_composite_alternate_key() { using var context = new IdentityConflictContext(); @@ -277,7 +277,7 @@ public void Identity_conflict_throws_for_composite_alternate_key() })).Message); } - [ConditionalFact] + [Fact] public void Identity_conflict_throws_for_owned_composite_primary_key() { using var context = new IdentityConflictContext(); @@ -308,7 +308,7 @@ public void Identity_conflict_throws_for_owned_composite_primary_key() })).Message); } - [ConditionalFact] + [Fact] public void Identity_conflict_throws_for_primary_key_values_logged() { using var context = new SensitiveIdentityConflictContext(); @@ -321,7 +321,7 @@ public void Identity_conflict_throws_for_primary_key_values_logged() new SingleKey { Id = 77, AlternateId = 67 })).Message); } - [ConditionalFact] + [Fact] public void Identity_conflict_throws_for_alternate_key_values_logged() { using var context = new SensitiveIdentityConflictContext(); @@ -334,7 +334,7 @@ public void Identity_conflict_throws_for_alternate_key_values_logged() new SingleKey { Id = 78, AlternateId = 66 })).Message); } - [ConditionalFact] + [Fact] public void Identity_conflict_throws_for_owned_primary_keylogged() { using var context = new SensitiveIdentityConflictContext(); @@ -360,7 +360,7 @@ public void Identity_conflict_throws_for_owned_primary_keylogged() })).Message); } - [ConditionalFact] + [Fact] public void Identity_conflict_throws_for_composite_primary_key_values_logged() { using var context = new SensitiveIdentityConflictContext(); @@ -385,7 +385,7 @@ public void Identity_conflict_throws_for_composite_primary_key_values_logged() })).Message); } - [ConditionalFact] + [Fact] public void Identity_conflict_throws_for_composite_alternate_key_values_logged() { using var context = new SensitiveIdentityConflictContext(); @@ -410,7 +410,7 @@ public void Identity_conflict_throws_for_composite_alternate_key_values_logged() })).Message); } - [ConditionalFact] + [Fact] public void Identity_conflict_throws_for_owned_composite_primary_key_logged() { using var context = new SensitiveIdentityConflictContext(); @@ -441,7 +441,7 @@ public void Identity_conflict_throws_for_owned_composite_primary_key_logged() })).Message); } - [ConditionalFact] + [Fact] public void Identity_null_throws_for_primary_key() { using var context = new IdentityConflictContext(); @@ -451,7 +451,7 @@ public void Identity_null_throws_for_primary_key() new SingleKey { Id = null, AlternateId = 67 })).Message); } - [ConditionalFact] + [Fact] public void Identity_null_throws_for_alternate_key() { using var context = new IdentityConflictContext(); @@ -461,7 +461,7 @@ public void Identity_null_throws_for_alternate_key() new SingleKey { Id = 77, AlternateId = null })).Message); } - [ConditionalFact] + [Fact] public void Identity_null_throws_for_composite_primary_key() { using var context = new IdentityConflictContext(); @@ -477,7 +477,7 @@ public void Identity_null_throws_for_composite_primary_key() })).Message); } - [ConditionalFact] + [Fact] public void Identity_null_throws_for_composite_alternate_key() { using var context = new IdentityConflictContext(); @@ -565,7 +565,7 @@ private class CompositeKey public CompositeKeyOwned Owned { get; set; } } - [ConditionalFact] + [Fact] public void StartTracking_is_no_op_if_entity_is_already_tracked() { var model = BuildModel(); @@ -580,7 +580,7 @@ public void StartTracking_is_no_op_if_entity_is_already_tracked() Assert.Same(entry, stateManager.StartTrackingFromQuery(categoryType, category, snapshot)); } - [ConditionalFact] + [Fact] public void StartTracking_throws_for_invalid_entity_key() { var model = BuildModel(); @@ -594,7 +594,7 @@ public void StartTracking_throws_for_invalid_entity_key() Assert.Throws(() => stateManager.StartTracking(entry)).Message); } - [ConditionalFact] + [Fact] public void StartTracking_throws_for_invalid_alternate_key() { var model = BuildModel(); @@ -608,7 +608,7 @@ public void StartTracking_throws_for_invalid_alternate_key() Assert.Throws(() => stateManager.StartTracking(entry)).Message); } - [ConditionalFact] + [Fact] public void Can_get_existing_entry_even_if_state_not_yet_set() { var stateManager = CreateStateManager(BuildModel()); @@ -621,7 +621,7 @@ public void Can_get_existing_entry_even_if_state_not_yet_set() Assert.Equal(EntityState.Detached, entry.EntityState); } - [ConditionalFact] + [Fact] public void Can_stop_tracking_and_then_start_tracking_again() { var stateManager = CreateStateManager(BuildModel()); @@ -636,7 +636,7 @@ public void Can_stop_tracking_and_then_start_tracking_again() Assert.Same(entry, entry2); } - [ConditionalFact] + [Fact] public void Can_stop_tracking_and_then_start_tracking_using_a_new_state_entry() { var stateManager = CreateStateManager(BuildModel()); @@ -652,7 +652,7 @@ public void Can_stop_tracking_and_then_start_tracking_using_a_new_state_entry() entry2.SetEntityState(EntityState.Added); } - [ConditionalFact] + [Fact] public void StopTracking_releases_reference_to_entry() { var stateManager = CreateStateManager(BuildModel()); @@ -669,7 +669,7 @@ public void StopTracking_releases_reference_to_entry() Assert.Equal(EntityState.Detached, entry.EntityState); } - [ConditionalFact] + [Fact] public void Throws_on_attempt_to_start_tracking_entity_with_null_key() { var stateManager = CreateStateManager(BuildModel()); @@ -682,7 +682,7 @@ public void Throws_on_attempt_to_start_tracking_entity_with_null_key() Assert.Throws(() => stateManager.StartTracking(entry)).Message); } - [ConditionalFact] + [Fact] public void Throws_on_attempt_to_start_tracking_with_wrong_manager() { var model = BuildModel(); @@ -696,7 +696,7 @@ public void Throws_on_attempt_to_start_tracking_with_wrong_manager() Assert.Throws(() => stateManager2.StartTracking(entry)).Message); } - [ConditionalFact] + [Fact] public void Will_get_new_entry_if_another_entity_with_the_same_key_is_already_tracked() { var stateManager = CreateStateManager(BuildModel()); @@ -708,7 +708,7 @@ public void Will_get_new_entry_if_another_entity_with_the_same_key_is_already_tr new Category { Id = 77 })); } - [ConditionalFact] + [Fact] public void Can_get_all_entities() { var stateManager = CreateStateManager(BuildModel()); @@ -824,7 +824,7 @@ public void FixupResolved(InternalEntityEntry entry, InternalEntityEntry duplica } } - [ConditionalFact] + [Fact] public void DetectChanges_is_called_for_all_tracked_entities_and_returns_true_if_any_changes_detected() { var contextServices = InMemoryTestHelpers.Instance.CreateContextServices(BuildModel()); @@ -870,7 +870,7 @@ public void DetectChanges_is_called_for_all_tracked_entities_and_returns_true_if Assert.Equal(EntityState.Modified, entry3.EntityState); } - [ConditionalFact] + [Fact] public void AcceptAllChanges_processes_all_tracked_entities() { var stateManager = CreateStateManager(BuildModel()); @@ -905,7 +905,7 @@ public void AcceptAllChanges_processes_all_tracked_entities() Assert.Equal(EntityState.Detached, entry4.EntityState); } - [ConditionalFact] + [Fact] public void Can_get_all_dependent_entries() { var model = BuildModel(); @@ -955,7 +955,7 @@ public void Can_get_all_dependent_entries() Assert.Empty(stateManager.GetDependents(categoryEntry4, fk).ToArray()); } - [ConditionalFact] + [Fact] public void Does_not_throws_when_instance_of_unmapped_derived_type_is_used() { var model = BuildModel(); diff --git a/test/EFCore.Tests/ChangeTracking/MemberEntryTest.cs b/test/EFCore.Tests/ChangeTracking/MemberEntryTest.cs index 1de0e44e0e8..e3ee41b1db4 100644 --- a/test/EFCore.Tests/ChangeTracking/MemberEntryTest.cs +++ b/test/EFCore.Tests/ChangeTracking/MemberEntryTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking; public class MemberEntryTest { - [ConditionalFact] + [Fact] public void Can_get_back_reference_property() { using var context = new FreezerContext(); @@ -20,7 +20,7 @@ public void Can_get_back_reference_property() Assert.Same(entityEntry.Entity, entityEntry.Member("Monkey").EntityEntry.Entity); } - [ConditionalFact] + [Fact] public void Can_get_back_reference_reference() { using var context = new FreezerContext(); @@ -31,7 +31,7 @@ public void Can_get_back_reference_reference() Assert.Same(entityEntry.Entity, entityEntry.Member("Garcia").EntityEntry.Entity); } - [ConditionalFact] + [Fact] public void Can_get_back_reference_collection() { using var context = new FreezerContext(); @@ -42,7 +42,7 @@ public void Can_get_back_reference_collection() Assert.Same(entityEntry.Entity, entityEntry.Member("Monkeys").EntityEntry.Entity); } - [ConditionalFact] + [Fact] public void Can_get_metadata_property() { using var context = new FreezerContext(); @@ -52,7 +52,7 @@ public void Can_get_metadata_property() Assert.Equal("Monkey", context.Entry(entity).Member("Monkey").Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_metadata_reference() { using var context = new FreezerContext(); @@ -62,7 +62,7 @@ public void Can_get_metadata_reference() Assert.Equal("Garcia", context.Entry(entity).Member("Garcia").Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_metadata_collection() { using var context = new FreezerContext(); @@ -72,7 +72,7 @@ public void Can_get_metadata_collection() Assert.Equal("Monkeys", context.Entry(entity).Member("Monkeys").Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_and_set_current_value_property() { using var context = new FreezerContext(); @@ -90,7 +90,7 @@ public void Can_get_and_set_current_value_property() Assert.Null(property.CurrentValue); } - [ConditionalFact] + [Fact] public void Can_get_and_set_current_value_reference() { using var context = new FreezerContext(); @@ -117,7 +117,7 @@ public void Can_get_and_set_current_value_reference() Assert.Null(reference.CurrentValue); } - [ConditionalFact] + [Fact] public void Can_get_and_set_current_value_collection() { using var context = new FreezerContext(); @@ -144,7 +144,7 @@ public void Can_get_and_set_current_value_collection() Assert.Null(collection.CurrentValue); } - [ConditionalFact] + [Fact] public void IsModified_tracks_state_of_FK_property_reference() { using var context = new FreezerContext(); @@ -168,7 +168,7 @@ public void IsModified_tracks_state_of_FK_property_reference() Assert.False(reference.IsModified); } - [ConditionalFact] + [Fact] public void IsModified_tracks_state_of_owned_entity() { using var context = new FreezerContext(); @@ -236,7 +236,7 @@ public void IsModified_tracks_state_of_owned_entity() Assert.False(reference.IsModified); } - [ConditionalFact] + [Fact] public void IsModified_can_set_fk_to_modified_collection() { using var context = new FreezerContext(); @@ -267,7 +267,7 @@ public void IsModified_can_set_fk_to_modified_collection() Assert.Equal(EntityState.Unchanged, context.Entry(chunky2).State); } - [ConditionalFact] + [Fact] public void Can_get_back_complex_property() { using var context = new FreezerContext(); @@ -279,7 +279,7 @@ public void Can_get_back_complex_property() Assert.Same(entityEntry.Entity, entityEntry.Member("Milk").EntityEntry.Entity); } - [ConditionalFact] + [Fact] public void Can_get_metadata_complex_property() { using var context = new FreezerContext(); @@ -290,7 +290,7 @@ public void Can_get_metadata_complex_property() Assert.Equal("Milk", context.Entry(entity).Member("Milk").Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_and_set_current_value_complex_property() { using var context = new FreezerContext(); @@ -308,7 +308,7 @@ public void Can_get_and_set_current_value_complex_property() Assert.Null(property.CurrentValue); } - [ConditionalFact] + [Fact] public void Can_get_and_set_current_value_struct_complex_property() { using var context = new FreezerContext(); @@ -323,7 +323,7 @@ public void Can_get_and_set_current_value_struct_complex_property() Assert.Equal("L. delbrueckii", ((Culture)property.CurrentValue).Species); } - [ConditionalFact] + [Fact] public void Can_get_back_complex_property_using_fields() { using var context = new FreezerContext(); @@ -335,7 +335,7 @@ public void Can_get_back_complex_property_using_fields() Assert.Same(entityEntry.Entity, entityEntry.Member("Milk").EntityEntry.Entity); } - [ConditionalFact] + [Fact] public void Can_get_metadata_complex_property_using_fields() { using var context = new FreezerContext(); @@ -346,7 +346,7 @@ public void Can_get_metadata_complex_property_using_fields() Assert.Equal("Milk", context.Entry(entity).Member("Milk").Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_and_set_current_value_complex_property_using_fields() { using var context = new FreezerContext(); @@ -364,7 +364,7 @@ public void Can_get_and_set_current_value_complex_property_using_fields() Assert.Null(property.CurrentValue); } - [ConditionalFact] + [Fact] public void Can_get_and_set_current_value_struct_complex_property_using_fields() { using var context = new FreezerContext(); diff --git a/test/EFCore.Tests/ChangeTracking/NavigationEntryTest.cs b/test/EFCore.Tests/ChangeTracking/NavigationEntryTest.cs index 072e08cfd9a..dcbf5944991 100644 --- a/test/EFCore.Tests/ChangeTracking/NavigationEntryTest.cs +++ b/test/EFCore.Tests/ChangeTracking/NavigationEntryTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking; public class NavigationEntryTest { - [ConditionalFact] + [Fact] public void Can_get_back_reference_reference() { using var context = new FreezerContext(); @@ -19,7 +19,7 @@ public void Can_get_back_reference_reference() Assert.Same(entityEntry.Entity, entityEntry.Navigation("Garcia").EntityEntry.Entity); } - [ConditionalFact] + [Fact] public void Can_get_back_reference_collection() { using var context = new FreezerContext(); @@ -30,7 +30,7 @@ public void Can_get_back_reference_collection() Assert.Same(entityEntry.Entity, entityEntry.Navigation("Monkeys").EntityEntry.Entity); } - [ConditionalFact] + [Fact] public void Can_get_metadata_reference() { using var context = new FreezerContext(); @@ -40,7 +40,7 @@ public void Can_get_metadata_reference() Assert.Equal("Garcia", context.Entry(entity).Navigation("Garcia").Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_metadata_collection() { using var context = new FreezerContext(); @@ -50,7 +50,7 @@ public void Can_get_metadata_collection() Assert.Equal("Monkeys", context.Entry(entity).Navigation("Monkeys").Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_and_set_current_value_reference() { using var context = new FreezerContext(); @@ -77,7 +77,7 @@ public void Can_get_and_set_current_value_reference() Assert.Null(reference.CurrentValue); } - [ConditionalFact] + [Fact] public void Can_get_and_set_current_value_collection() { using var context = new FreezerContext(); @@ -104,7 +104,7 @@ public void Can_get_and_set_current_value_collection() Assert.Null(collection.CurrentValue); } - [ConditionalFact] + [Fact] public void IsModified_tracks_state_of_FK_property_reference() { using var context = new FreezerContext(); @@ -127,7 +127,7 @@ public void IsModified_tracks_state_of_FK_property_reference() Assert.False(reference.IsModified); } - [ConditionalFact] + [Fact] public void IsModified_can_set_fk_to_modified_collection() { using var context = new FreezerContext(); diff --git a/test/EFCore.Tests/ChangeTracking/ObservableHashSetTest.cs b/test/EFCore.Tests/ChangeTracking/ObservableHashSetTest.cs index 8b7e9e646e8..233e4df3d63 100644 --- a/test/EFCore.Tests/ChangeTracking/ObservableHashSetTest.cs +++ b/test/EFCore.Tests/ChangeTracking/ObservableHashSetTest.cs @@ -11,7 +11,7 @@ public class ObservableHashSetTest { private static readonly Random _random = new(); - [ConditionalFact] + [Fact] public void Can_construct() { Assert.Same( @@ -37,7 +37,7 @@ public void Can_construct() Assert.Same(rh2.Comparer, ohs2.Comparer); } - [ConditionalFact] + [Fact] public void Can_add() { var hashSet = new ObservableHashSet(); @@ -82,7 +82,7 @@ public void Can_add() Assert.Equal(["Carmack", "Palmer"], hashSet.OrderBy(i => i)); } - [ConditionalFact] + [Fact] public void Can_clear() { var testData = new HashSet(CreateTestData()); @@ -119,7 +119,7 @@ public void Can_clear() Assert.Empty(hashSet); } - [ConditionalFact] + [Fact] public void Contains_works() { var testData = CreateTestData(); @@ -136,7 +136,7 @@ public void Contains_works() } } - [ConditionalFact] + [Fact] public void Can_copy_to_array() { var testData = CreateTestData(); @@ -166,7 +166,7 @@ public void Can_copy_to_array() } } - [ConditionalFact] + [Fact] public void Can_remove() { var hashSet = new ObservableHashSet { "Palmer", "Carmack" }; @@ -211,11 +211,11 @@ public void Can_remove() Assert.Empty(hashSet); } - [ConditionalFact] + [Fact] public void Not_read_only() => Assert.False(new ObservableHashSet().IsReadOnly); - [ConditionalFact] + [Fact] public void Can_union_with() { var hashSet = new ObservableHashSet { "Palmer", "Carmack" }; @@ -251,7 +251,7 @@ public void Can_union_with() Assert.Equal(["Brendan", "Carmack", "Nate", "Palmer"], hashSet.OrderBy(i => i)); } - [ConditionalFact] + [Fact] public void Can_intersect_with() { var hashSet = new ObservableHashSet @@ -293,7 +293,7 @@ public void Can_intersect_with() Assert.Equal(["Carmack", "Palmer"], hashSet.OrderBy(i => i)); } - [ConditionalFact] + [Fact] public void Can_except_with() { var hashSet = new ObservableHashSet @@ -335,7 +335,7 @@ public void Can_except_with() Assert.Equal(["Brendan", "Nate"], hashSet.OrderBy(i => i)); } - [ConditionalFact] + [Fact] public void Can_symmetrical_except_with() { var hashSet = new ObservableHashSet @@ -378,7 +378,7 @@ public void Can_symmetrical_except_with() Assert.Equal(["Abrash", "Brendan", "Nate"], hashSet.OrderBy(i => i)); } - [ConditionalFact] + [Fact] public void IsSubsetOf_works_like_normal_hashset() { var bigData = CreateTestData(); @@ -389,7 +389,7 @@ public void IsSubsetOf_works_like_normal_hashset() new ObservableHashSet(smallData).IsSubsetOf(bigData)); } - [ConditionalFact] + [Fact] public void IsProperSubsetOf_works_like_normal_hashset() { var bigData = CreateTestData(); @@ -400,7 +400,7 @@ public void IsProperSubsetOf_works_like_normal_hashset() new ObservableHashSet(smallData).IsProperSubsetOf(bigData)); } - [ConditionalFact] + [Fact] public void IsSupersetOf_works_like_normal_hashset() { var bigData = CreateTestData(); @@ -411,7 +411,7 @@ public void IsSupersetOf_works_like_normal_hashset() new ObservableHashSet(bigData).IsSupersetOf(smallData)); } - [ConditionalFact] + [Fact] public void IsProperSupersetOf_works_like_normal_hashset() { var bigData = CreateTestData(); @@ -422,7 +422,7 @@ public void IsProperSupersetOf_works_like_normal_hashset() new ObservableHashSet(bigData).IsProperSupersetOf(smallData)); } - [ConditionalFact] + [Fact] public void Overlaps_works_like_normal_hashset() { var bigData = CreateTestData(); @@ -433,7 +433,7 @@ public void Overlaps_works_like_normal_hashset() new ObservableHashSet(bigData).Overlaps(smallData)); } - [ConditionalFact] + [Fact] public void SetEquals_works_like_normal_hashset() { var data1 = CreateTestData(5); @@ -444,7 +444,7 @@ public void SetEquals_works_like_normal_hashset() new ObservableHashSet(data1).SetEquals(data2)); } - [ConditionalFact] + [Fact] public void TrimExcess_doesnt_throw() { var bigData = CreateTestData(); @@ -459,7 +459,7 @@ public void TrimExcess_doesnt_throw() hashSet.TrimExcess(); } - [ConditionalFact] + [Fact] public void Can_remove_with_predicate() { var hashSet = new ObservableHashSet @@ -501,7 +501,7 @@ public void Can_remove_with_predicate() Assert.Equal(["Brendan", "Nate"], hashSet.OrderBy(i => i)); } - [ConditionalFact] + [Fact] public void ToBindingList_returns_a_new_binding_list_each_time_when_called_on_non_DbLocalView_ObservableCollections() { var oc = new ObservableCollection(); diff --git a/test/EFCore.Tests/ChangeTracking/PropertyEntryTest.cs b/test/EFCore.Tests/ChangeTracking/PropertyEntryTest.cs index bb940558c2f..934b022b300 100644 --- a/test/EFCore.Tests/ChangeTracking/PropertyEntryTest.cs +++ b/test/EFCore.Tests/ChangeTracking/PropertyEntryTest.cs @@ -13,7 +13,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking; public class PropertyEntryTest { - [ConditionalFact] + [Fact] public void Setting_IsModified_should_not_be_dependent_on_other_properties() { Guid id; @@ -54,7 +54,7 @@ public void Setting_IsModified_should_not_be_dependent_on_other_properties() } } - [ConditionalFact] + [Fact] public void SetValues_with_IsModified_can_mark_a_set_of_values_as_changed() { Guid id; @@ -136,7 +136,7 @@ protected internal override void OnModelCreating(ModelBuilder modelBuilder) }); } - [ConditionalFact] + [Fact] public void Setting_IsModified_is_not_reset_by_OriginalValues() { Guid id; @@ -181,11 +181,11 @@ public void Setting_IsModified_is_not_reset_by_OriginalValues() } } - [ConditionalFact] + [Fact] public void Can_get_name() => Can_get_name_helper(); - [ConditionalFact] + [Fact] public void Can_get_name_with_object_field() => Can_get_name_helper(); @@ -208,11 +208,11 @@ private void Can_get_name_helper() Assert.Equal("Primate", new PropertyEntry(entry, entry.EntityType.FindProperty("Primate")!).Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_current_value() => Can_get_current_value_helper(); - [ConditionalFact] + [Fact] public void Can_get_current_value_with_object_field() => Can_get_current_value_helper(); @@ -236,11 +236,11 @@ private void Can_get_current_value_helper() Assert.Equal("Tarsier", new PropertyEntry(entry, entry.EntityType.FindProperty("RequiredPrimate")!).CurrentValue); } - [ConditionalFact] + [Fact] public void Can_set_current_value() => Can_set_current_value_helper(); - [ConditionalFact] + [Fact] public void Can_set_current_value_with_object_field() => Can_set_current_value_helper(); @@ -269,11 +269,11 @@ private void Can_set_current_value_helper() Assert.Equal("Bushbaby", entity.RequiredPrimate); } - [ConditionalFact] + [Fact] public void Can_set_current_value_to_null() => Can_set_current_value_to_null_helper(); - [ConditionalFact] + [Fact] public void Can_set_current_value_to_null_with_object_field() => Can_set_current_value_to_null_helper(); @@ -302,11 +302,11 @@ private void Can_set_current_value_to_null_helper() Assert.Null(entity.RequiredPrimate); } - [ConditionalFact] + [Fact] public void Can_set_and_get_original_value() => Can_set_and_get_original_value_helper(); - [ConditionalFact] + [Fact] public void Can_set_and_get_original_value_with_object_field() => Can_set_and_get_original_value_helper(); @@ -344,11 +344,11 @@ private void Can_set_and_get_original_value_helper() Assert.Equal("Tarsier", entity.RequiredPrimate); } - [ConditionalFact] + [Fact] public void Can_set_and_get_original_value_starting_null() => Can_set_and_get_original_value_starting_null_helper(); - [ConditionalFact] + [Fact] public void Can_set_and_get_original_value_starting_null_with_object_field() => Can_set_and_get_original_value_starting_null_helper(); @@ -381,11 +381,11 @@ private void Can_set_and_get_original_value_starting_null_helper() Assert.Null(entity.RequiredPrimate); } - [ConditionalFact] + [Fact] public void Can_set_original_value_to_null() => Can_set_original_value_to_null_helper(); - [ConditionalFact] + [Fact] public void Can_set_original_value_to_null_with_object_field() => Can_set_original_value_to_null_helper(); @@ -414,11 +414,11 @@ private void Can_set_original_value_to_null_helper() Assert.Null(new PropertyEntry(entry, entry.EntityType.FindProperty("RequiredPrimate")!).OriginalValue); } - [ConditionalFact] + [Fact] public void Can_set_and_clear_modified_on_Modified_entity() => Can_set_and_clear_modified_on_Modified_entity_helper(); - [ConditionalFact] + [Fact] public void Can_set_and_clear_modified_on_Modified_entity_with_object_field() => Can_set_and_clear_modified_on_Modified_entity_helper(); @@ -461,11 +461,11 @@ private void Can_set_and_clear_modified_on_Modified_entity_helper() Assert.True(new PropertyEntry(entry, entry.EntityType.FindProperty("RequiredPrimate")!).IsModified); } - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Deleted)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Deleted)] public void Can_set_and_clear_modified_on_Added_or_Deleted_entity(EntityState initialState) => Can_set_and_clear_modified_on_Added_or_Deleted_entity_helper(initialState); - [ConditionalTheory, InlineData(EntityState.Added), InlineData(EntityState.Deleted)] + [Theory, InlineData(EntityState.Added), InlineData(EntityState.Deleted)] public void Can_set_and_clear_modified_on_Added_or_Deleted_entity_with_object_field(EntityState initialState) => Can_set_and_clear_modified_on_Added_or_Deleted_entity_helper(initialState); @@ -499,11 +499,11 @@ private void Can_set_and_clear_modified_on_Added_or_Deleted_entity_helper Can_set_and_clear_modified_on_Unchanged_or_Detached_entity_helper(initialState); - [ConditionalTheory, InlineData(EntityState.Detached), InlineData(EntityState.Unchanged)] + [Theory, InlineData(EntityState.Detached), InlineData(EntityState.Unchanged)] public void Can_set_and_clear_modified_on_Unchanged_or_Detached_entity_with_object_field(EntityState initialState) => Can_set_and_clear_modified_on_Unchanged_or_Detached_entity_helper(initialState); @@ -537,11 +537,11 @@ private void Can_set_and_clear_modified_on_Unchanged_or_Detached_entity_helper Can_reject_changes_when_clearing_modified_flag_helper(); - [ConditionalFact] + [Fact] public void Can_reject_changes_when_clearing_modified_flag_with_object_field() => Can_reject_changes_when_clearing_modified_flag_helper(); @@ -619,11 +619,11 @@ private void Can_reject_changes_when_clearing_modified_flag_helper() Assert.Equal("Bushbaby", entity.RequiredPrimate); } - [ConditionalFact] + [Fact] public void Can_get_name_generic() => Can_get_name_generic_helper(); - [ConditionalFact] + [Fact] public void Can_get_name_generic_with_object_field() => Can_get_name_generic_helper(); @@ -638,11 +638,11 @@ private void Can_get_name_generic_helper() Assert.Equal("Primate", new PropertyEntry(entry, entry.EntityType.FindProperty("Primate")!).Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_current_value_generic() => Can_get_current_value_generic_helper(); - [ConditionalFact] + [Fact] public void Can_get_current_value_generic_with_object_field() => Can_get_current_value_generic_helper(); @@ -657,11 +657,11 @@ private void Can_get_current_value_generic_helper() Assert.Equal("Monkey", new PropertyEntry(entry, entry.EntityType.FindProperty("Primate")!).CurrentValue); } - [ConditionalFact] + [Fact] public void Can_set_current_value_generic() => Can_set_current_value_generic_helper(); - [ConditionalFact] + [Fact] public void Can_set_current_value_generic_with_object_field() => Can_set_current_value_generic_helper(); @@ -680,11 +680,11 @@ private void Can_set_current_value_generic_helper() Assert.Equal("Chimp", entity.Primate); } - [ConditionalFact] + [Fact] public void Can_set_current_value_to_null_generic() => Can_set_current_value_to_null_generic_helper(); - [ConditionalFact] + [Fact] public void Can_set_current_value_to_null_generic_with_object_field() => Can_set_current_value_to_null_generic_helper(); @@ -703,11 +703,11 @@ private void Can_set_current_value_to_null_generic_helper() Assert.Null(entity.Primate); } - [ConditionalFact] + [Fact] public void Can_set_and_get_original_value_generic() => Can_set_and_get_original_value_generic_helper(); - [ConditionalFact] + [Fact] public void Can_set_and_get_original_value_generic_with_object_field() => Can_set_and_get_original_value_generic_helper(); @@ -729,11 +729,11 @@ private void Can_set_and_get_original_value_generic_helper() Assert.Equal("Monkey", entity.Primate); } - [ConditionalFact] + [Fact] public void Can_set_original_value_to_null_generic() => Can_set_original_value_to_null_generic_helper(); - [ConditionalFact] + [Fact] public void Can_set_original_value_to_null_generic_with_object_field() => Can_set_original_value_to_null_generic_helper(); @@ -750,11 +750,11 @@ private void Can_set_original_value_to_null_generic_helper() Assert.Null(new PropertyEntry(entry, entry.EntityType.FindProperty("Primate")!).OriginalValue); } - [ConditionalFact] + [Fact] public void Can_set_and_clear_modified_generic() => Can_set_and_clear_modified_generic_helper(); - [ConditionalFact] + [Fact] public void Can_set_and_clear_modified_generic_with_object_field() => Can_set_and_clear_modified_generic_helper(); @@ -779,7 +779,7 @@ private void Can_set_and_clear_modified_generic_helper() Assert.False(new PropertyEntry(entry, entry.EntityType.FindProperty("Primate")!).IsModified); } - [ConditionalFact] + [Fact] public void Can_set_and_get_original_value_notifying_entities() { var entity = new NotifyingWotty { Id = 1, Primate = "Monkey" }; @@ -797,7 +797,7 @@ public void Can_set_and_get_original_value_notifying_entities() Assert.Equal("Monkey", entity.Primate); } - [ConditionalFact] + [Fact] public void Can_set_original_value_to_null_notifying_entities() { var entry = InMemoryTestHelpers.Instance.CreateInternalEntry( @@ -810,7 +810,7 @@ public void Can_set_original_value_to_null_notifying_entities() Assert.Null(new PropertyEntry(entry, entry.EntityType.FindProperty("Primate")!).OriginalValue); } - [ConditionalFact] + [Fact] public void Can_set_and_get_original_value_generic_notifying_entities() { var entity = new NotifyingWotty { Id = 1, Primate = "Monkey" }; @@ -828,7 +828,7 @@ public void Can_set_and_get_original_value_generic_notifying_entities() Assert.Equal("Monkey", entity.Primate); } - [ConditionalFact] + [Fact] public void Can_set_original_value_to_null_generic_notifying_entities() { var entry = InMemoryTestHelpers.Instance.CreateInternalEntry( @@ -841,7 +841,7 @@ public void Can_set_original_value_to_null_generic_notifying_entities() Assert.Null(new PropertyEntry(entry, entry.EntityType.FindProperty("Primate")!).OriginalValue); } - [ConditionalFact] + [Fact] public void Can_set_and_get_concurrency_token_original_value_full_notification_entities() { var entity = new FullyNotifyingWotty { Id = 1, ConcurrentPrimate = "Monkey" }; @@ -859,7 +859,7 @@ public void Can_set_and_get_concurrency_token_original_value_full_notification_e Assert.Equal("Monkey", entity.ConcurrentPrimate); } - [ConditionalFact] + [Fact] public void Can_set_concurrency_token_original_value_to_null_full_notification_entities() { var entry = InMemoryTestHelpers.Instance.CreateInternalEntry( @@ -872,7 +872,7 @@ public void Can_set_concurrency_token_original_value_to_null_full_notification_e Assert.Null(new PropertyEntry(entry, entry.EntityType.FindProperty("ConcurrentPrimate")!).OriginalValue); } - [ConditionalFact] + [Fact] public void Can_set_and_get_concurrency_token_original_value_generic_full_notification_entities() { var entity = new FullyNotifyingWotty { Id = 1, ConcurrentPrimate = "Monkey" }; @@ -894,7 +894,7 @@ public void Can_set_and_get_concurrency_token_original_value_generic_full_notifi Assert.Equal("Monkey", entity.ConcurrentPrimate); } - [ConditionalFact] + [Fact] public void Can_set_concurrency_token_original_value_to_null_generic_full_notification_entities() { var entry = InMemoryTestHelpers.Instance.CreateInternalEntry( @@ -908,7 +908,7 @@ public void Can_set_concurrency_token_original_value_to_null_generic_full_notifi new PropertyEntry(entry, entry.EntityType.FindProperty("ConcurrentPrimate")!).OriginalValue); } - [ConditionalFact] + [Fact] public void Cannot_set_or_get_original_value_when_not_tracked() { var entity = new FullyNotifyingWotty { Id = 1, Primate = "Monkey" }; @@ -929,7 +929,7 @@ public void Cannot_set_or_get_original_value_when_not_tracked() Assert.Throws(() => propertyEntry.OriginalValue = "Chimp").Message); } - [ConditionalFact] + [Fact] public void Cannot_set_or_get_original_value_when_not_tracked_generic() { var entity = new FullyNotifyingWotty { Id = 1, ConcurrentPrimate = "Monkey" }; @@ -950,7 +950,7 @@ public void Cannot_set_or_get_original_value_when_not_tracked_generic() Assert.Throws(() => propertyEntry.OriginalValue = "Chimp").Message); } - [ConditionalFact] + [Fact] public void Can_set_or_get_original_value_when_property_explicitly_marked_to_be_tracked() { var entity = new FullyNotifyingWotty { Id = 1, Primate = "Monkey" }; @@ -968,7 +968,7 @@ public void Can_set_or_get_original_value_when_property_explicitly_marked_to_be_ Assert.Equal("Monkey", entity.Primate); } - [ConditionalFact] + [Fact] public void Can_set_or_get_original_value_when_property_explicitly_marked_to_be_tracked_generic() { var entity = new FullyNotifyingWotty { Id = 1, Primate = "Monkey" }; @@ -988,7 +988,7 @@ public void Can_set_or_get_original_value_when_property_explicitly_marked_to_be_ Assert.Equal("Monkey", entity.Primate); } - [ConditionalFact] + [Fact] public void Can_get_name_for_complex_property() { using var context = new YogurtContext(); @@ -1172,7 +1172,7 @@ public void Can_get_name_for_complex_property() Assert.Equal("Text", fieldMilkLicTagEntry.Property(e => e.Text).Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_current_value_for_complex_property() { using var context = new YogurtContext(); @@ -1376,7 +1376,7 @@ public void Can_get_current_value_for_complex_property() Assert.Equal(yogurt.FieldMilk.License.Tag.Text, fieldMilkLicTagEntry.Property(e => e.Text).CurrentValue); } - [ConditionalFact] + [Fact] public void Can_set_current_value_for_complex_property() { using var context = new YogurtContext(); @@ -1714,7 +1714,7 @@ public void Can_set_current_value_for_complex_property() Assert.Equal("Tag2", fieldMilkLicTagEntry.Property(e => e.Text).CurrentValue); } - [ConditionalFact] + [Fact] public void Can_set_current_value_for_complex_property_using_complex_type() { using var context = new YogurtContext(); @@ -2332,7 +2332,7 @@ public void Can_set_current_value_for_complex_property_using_complex_type() Assert.Equal("Tag2c", fieldMilkLicTagEntry.Property(e => e.Text).CurrentValue); } - [ConditionalFact] + [Fact] public void Can_set_current_value_for_property_of_complex_type_to_null() { using var context = new YogurtContext(); @@ -2554,7 +2554,7 @@ public void Can_set_current_value_for_property_of_complex_type_to_null() Assert.Null(fieldMilkLicTagEntry.Property(e => e.Text).CurrentValue); } - [ConditionalFact] + [Fact] public void Can_set_and_get_original_value_for_complex_property() { using var context = new YogurtContext(); @@ -2992,7 +2992,7 @@ public void Can_set_and_get_original_value_for_complex_property() Assert.Equal("Ta1", fieldMilkLicTagEntry.Property(e => e.Text).CurrentValue); } - [ConditionalFact] + [Fact] public void Can_set_and_clear_modified_on_Modified_entity_for_complex_property() { using var context = new YogurtContext(); @@ -3752,7 +3752,7 @@ public void Can_set_and_clear_modified_on_Modified_entity_for_complex_property() Assert.False(fieldMilkLicTagEntry.Property(e => e.Text).IsModified); } - [ConditionalFact] + [Fact] public void Can_set_and_clear_modified_on_Modified_using_complex_type() { using var context = new YogurtContext(); @@ -4892,7 +4892,7 @@ public static IEnumerable TrackingMethodData private static void TrackEntity(DbContext context, object entity, EntityState state) => context.Entry(entity).State = state; - [ConditionalTheory] + [Theory] [MemberData(nameof(TrackingMethodData))] public void Not_auto_loaded_property_initial_state(EntityState state) { @@ -4912,7 +4912,7 @@ public void Not_auto_loaded_property_initial_state(EntityState state) Assert.False(descEntry.IsModified); } - [ConditionalTheory] + [Theory] [MemberData(nameof(TrackingMethodData))] public void Setting_value_on_not_loaded_property_marks_loaded_and_modified(EntityState state) { @@ -4942,7 +4942,7 @@ public void Setting_value_on_not_loaded_property_marks_loaded_and_modified(Entit } } - [ConditionalTheory] + [Theory] [MemberData(nameof(TrackingMethodData))] public void DetectChanges_skips_not_loaded_property_detects_loaded_change(EntityState state) { @@ -4968,7 +4968,7 @@ public void DetectChanges_skips_not_loaded_property_detects_loaded_change(Entity Assert.Equal(EntityState.Modified, entry.State); } - [ConditionalTheory] + [Theory] [MemberData(nameof(TrackingMethodData))] public void DetectChanges_marks_not_loaded_property_as_loaded_when_value_is_no_longer_sentinel(EntityState state) { @@ -4994,7 +4994,7 @@ public void DetectChanges_marks_not_loaded_property_as_loaded_when_value_is_no_l Assert.Equal(EntityState.Modified, entry.State); } - [ConditionalTheory] + [Theory] [MemberData(nameof(TrackingMethodData))] public void SetEntityState_Modified_skips_not_loaded_properties(EntityState state) { @@ -5013,7 +5013,7 @@ public void SetEntityState_Modified_skips_not_loaded_properties(EntityState stat Assert.False(entry.Property(e => e.Description).IsLoaded); } - [ConditionalTheory] + [Theory] [MemberData(nameof(TrackingMethodData))] public void Not_auto_loaded_property_starts_unloaded(EntityState state) { @@ -5034,7 +5034,7 @@ public void Not_auto_loaded_property_starts_unloaded(EntityState state) Assert.Equal(state == EntityState.Modified, context.Entry(entity2).Property(e => e.Description).IsModified); } - [ConditionalTheory] + [Theory] [MemberData(nameof(TrackingMethodData))] public void AcceptChanges_preserves_not_loaded_flag(EntityState state) { @@ -5059,7 +5059,7 @@ public void AcceptChanges_preserves_not_loaded_flag(EntityState state) } } - [ConditionalTheory] + [Theory] [MemberData(nameof(TrackingMethodData))] public void PropertyEntry_IsLoaded_setter_controls_loaded_state(EntityState state) { @@ -5077,7 +5077,7 @@ public void PropertyEntry_IsLoaded_setter_controls_loaded_state(EntityState stat Assert.False(descEntry.IsLoaded); } - [ConditionalTheory] + [Theory] [MemberData(nameof(TrackingMethodData))] public void Setting_IsModified_true_on_not_loaded_marks_loaded(EntityState state) { @@ -5096,7 +5096,7 @@ public void Setting_IsModified_true_on_not_loaded_marks_loaded(EntityState state Assert.Equal(state is not EntityState.Added and not EntityState.Deleted, descEntry.IsModified); } - [ConditionalTheory] + [Theory] [MemberData(nameof(TrackingMethodData))] public void Shadow_property_not_auto_loaded_tracked_correctly(EntityState state) { @@ -5127,7 +5127,7 @@ public void Shadow_property_not_auto_loaded_tracked_correctly(EntityState state) } } - [ConditionalTheory] + [Theory] [MemberData(nameof(TrackingMethodData))] public void Reject_changes_with_not_loaded_property(EntityState state) { @@ -5198,7 +5198,7 @@ protected internal override void OnModelCreating(ModelBuilder modelBuilder) }); } - [ConditionalFact] + [Fact] public void DetectComplexPropertyChange_skips_not_loaded_inner_properties() { using var context = new AutoLoadComplexContext(); diff --git a/test/EFCore.Tests/ChangeTracking/ReferenceEntryTest.cs b/test/EFCore.Tests/ChangeTracking/ReferenceEntryTest.cs index f32e5126fa2..91e84df6c2d 100644 --- a/test/EFCore.Tests/ChangeTracking/ReferenceEntryTest.cs +++ b/test/EFCore.Tests/ChangeTracking/ReferenceEntryTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking; public class ReferenceEntryTest { - [ConditionalFact] + [Fact] public void Can_get_back_reference() { using var context = new FreezerContext(); @@ -16,7 +16,7 @@ public void Can_get_back_reference() Assert.Same(entityEntry.Entity, entityEntry.Reference("Garcia").EntityEntry.Entity); } - [ConditionalFact] + [Fact] public void Can_get_back_reference_generic() { using var context = new FreezerContext(); @@ -27,7 +27,7 @@ public void Can_get_back_reference_generic() Assert.Same(entityEntry.Entity, entityEntry.Reference(e => e.Garcia).EntityEntry.Entity); } - [ConditionalFact] + [Fact] public void Can_get_metadata() { using var context = new FreezerContext(); @@ -37,7 +37,7 @@ public void Can_get_metadata() Assert.Equal("Garcia", context.Entry(entity).Reference("Garcia").Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_metadata_generic() { using var context = new FreezerContext(); @@ -47,7 +47,7 @@ public void Can_get_metadata_generic() Assert.Equal("Garcia", context.Entry(entity).Reference(e => e.Garcia).Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_and_set_current_value() { using var context = new FreezerContext(); @@ -76,7 +76,7 @@ public void Can_get_and_set_current_value() Assert.Null(reference.TargetEntry); } - [ConditionalFact] + [Fact] public void Can_get_and_set_current_value_generic() { using var context = new FreezerContext(); @@ -105,7 +105,7 @@ public void Can_get_and_set_current_value_generic() Assert.Null(reference.TargetEntry); } - [ConditionalFact] + [Fact] public void Can_get_and_set_current_value_not_tracked() { using var context = new FreezerContext(); @@ -131,7 +131,7 @@ public void Can_get_and_set_current_value_not_tracked() Assert.Null(reference.CurrentValue); } - [ConditionalFact] + [Fact] public void Can_get_and_set_current_value_not_tracked_generic() { using var context = new FreezerContext(); @@ -157,7 +157,7 @@ public void Can_get_and_set_current_value_not_tracked_generic() Assert.Null(reference.CurrentValue); } - [ConditionalFact] + [Fact] public void Can_get_and_set_current_value_start_tracking() { using var context = new FreezerContext(); @@ -192,7 +192,7 @@ public void Can_get_and_set_current_value_start_tracking() Assert.Equal(EntityState.Added, context.Entry(chunky).State); } - [ConditionalFact] + [Fact] public void Can_get_and_set_current_value_start_tracking_generic() { using var context = new FreezerContext(); @@ -227,7 +227,7 @@ public void Can_get_and_set_current_value_start_tracking_generic() Assert.Equal(EntityState.Added, context.Entry(chunky).State); } - [ConditionalFact] + [Fact] public void Can_get_and_set_current_value_attached() { using var context = new FreezerContext(); @@ -262,7 +262,7 @@ public void Can_get_and_set_current_value_attached() Assert.True(context.Entry(chunky).Property(e => e.GarciaId).IsModified); } - [ConditionalFact] + [Fact] public void Can_get_and_set_current_value_generic_attached() { using var context = new FreezerContext(); @@ -297,7 +297,7 @@ public void Can_get_and_set_current_value_generic_attached() Assert.True(context.Entry(chunky).Property(e => e.GarciaId).IsModified); } - [ConditionalFact] + [Fact] public void IsModified_tracks_state_of_FK_property() { using var context = new FreezerContext(); @@ -320,7 +320,7 @@ public void IsModified_tracks_state_of_FK_property() Assert.False(reference.IsModified); } - [ConditionalFact] + [Fact] public void IsModified_can_set_fk_to_modified() { using var context = new FreezerContext(); @@ -346,7 +346,7 @@ public void IsModified_can_set_fk_to_modified() Assert.Equal(EntityState.Unchanged, entityEntry.State); } - [ConditionalFact] + [Fact] public void IsModified_can_reject_changes_to_an_fk() { using var context = new FreezerContext(); @@ -377,7 +377,7 @@ public void IsModified_can_reject_changes_to_an_fk() Assert.Equal(EntityState.Unchanged, entityEntry.State); } - [ConditionalFact] + [Fact] public void IsModified_tracks_state_of_FK_property_principal() { using var context = new FreezerContext(); @@ -399,7 +399,7 @@ public void IsModified_tracks_state_of_FK_property_principal() Assert.False(reference.IsModified); } - [ConditionalTheory, InlineData(EntityState.Detached, EntityState.Added), InlineData(EntityState.Added, EntityState.Added), + [Theory, InlineData(EntityState.Detached, EntityState.Added), InlineData(EntityState.Added, EntityState.Added), InlineData(EntityState.Modified, EntityState.Added), InlineData(EntityState.Deleted, EntityState.Added), InlineData(EntityState.Unchanged, EntityState.Added), InlineData(EntityState.Detached, EntityState.Deleted), InlineData(EntityState.Added, EntityState.Deleted), InlineData(EntityState.Modified, EntityState.Deleted), @@ -432,7 +432,7 @@ public void IsModified_can_set_fk_to_modified_principal_with_Added_or_Deleted_de Assert.Equal(dependentState, context.Entry(half).State); } - [ConditionalTheory, InlineData(EntityState.Detached, EntityState.Unchanged), InlineData(EntityState.Added, EntityState.Unchanged), + [Theory, InlineData(EntityState.Detached, EntityState.Unchanged), InlineData(EntityState.Added, EntityState.Unchanged), InlineData(EntityState.Modified, EntityState.Unchanged), InlineData(EntityState.Deleted, EntityState.Unchanged), InlineData(EntityState.Unchanged, EntityState.Unchanged)] public void IsModified_can_set_fk_to_modified_principal_with_Unchanged_dependent( @@ -463,7 +463,7 @@ public void IsModified_can_set_fk_to_modified_principal_with_Unchanged_dependent Assert.Equal(dependentState, context.Entry(half).State); } - [ConditionalTheory, InlineData(EntityState.Detached, EntityState.Modified), InlineData(EntityState.Added, EntityState.Modified), + [Theory, InlineData(EntityState.Detached, EntityState.Modified), InlineData(EntityState.Added, EntityState.Modified), InlineData(EntityState.Modified, EntityState.Modified), InlineData(EntityState.Deleted, EntityState.Modified), InlineData(EntityState.Unchanged, EntityState.Modified)] public void IsModified_can_set_fk_to_modified_principal_with_Modified_dependent( diff --git a/test/EFCore.Tests/ChangeTracking/SkipCollectionEntryTest.cs b/test/EFCore.Tests/ChangeTracking/SkipCollectionEntryTest.cs index 80eb825ac93..65390040173 100644 --- a/test/EFCore.Tests/ChangeTracking/SkipCollectionEntryTest.cs +++ b/test/EFCore.Tests/ChangeTracking/SkipCollectionEntryTest.cs @@ -1,11 +1,11 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.ChangeTracking; public class SkipCollectionEntryTest { - [ConditionalFact] + [Fact] public void Can_get_all_member_entries() { using var context = new FreezerContext(); @@ -15,7 +15,7 @@ public void Can_get_all_member_entries() context.Attach(new Chunky()).Members.Select(e => e.Metadata.Name).ToList()); } - [ConditionalFact] + [Fact] public void Can_get_all_navigation_entries() { using var context = new FreezerContext(); @@ -25,7 +25,7 @@ public void Can_get_all_navigation_entries() context.Attach(new Chunky()).Navigations.Select(e => e.Metadata.Name).ToList()); } - [ConditionalFact] + [Fact] public void Can_get_all_collection_entries() { using var context = new FreezerContext(); @@ -35,7 +35,7 @@ public void Can_get_all_collection_entries() context.Attach(new Chunky()).Collections.Select(e => e.Metadata.Name).ToList()); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Can_get_back_reference(bool useExplicitPk) { using var context = useExplicitPk ? new ExplicitFreezerContext() : new FreezerContext(); @@ -47,7 +47,7 @@ public void Can_get_back_reference(bool useExplicitPk) Assert.Same(entityEntry.Entity, entityEntry.Collection("Chunkies").EntityEntry.Entity); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Can_get_back_reference_generic(bool useExplicitPk) { using var context = useExplicitPk ? new ExplicitFreezerContext() : new FreezerContext(); @@ -59,7 +59,7 @@ public void Can_get_back_reference_generic(bool useExplicitPk) Assert.Same(entityEntry.Entity, entityEntry.Collection(e => e.Chunkies).EntityEntry.Entity); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Can_get_metadata(bool useExplicitPk) { using var context = useExplicitPk ? new ExplicitFreezerContext() : new FreezerContext(); @@ -70,7 +70,7 @@ public void Can_get_metadata(bool useExplicitPk) Assert.Equal("Chunkies", context.Entry(entity).Collection("Chunkies").Metadata.Name); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Can_get_metadata_generic(bool useExplicitPk) { using var context = useExplicitPk ? new ExplicitFreezerContext() : new FreezerContext(); @@ -81,7 +81,7 @@ public void Can_get_metadata_generic(bool useExplicitPk) Assert.Equal("Chunkies", context.Entry(entity).Collection(e => e.Chunkies).Metadata.Name); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Can_get_and_set_current_value(bool useExplicitPk) { using var context = useExplicitPk ? new ExplicitFreezerContext() : new FreezerContext(); @@ -112,7 +112,7 @@ public void Can_get_and_set_current_value(bool useExplicitPk) Assert.Null(collection.FindEntry(chunky)); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Can_get_and_set_current_value_generic(bool useExplicitPk) { using var context = useExplicitPk ? new ExplicitFreezerContext() : new FreezerContext(); @@ -143,7 +143,7 @@ public void Can_get_and_set_current_value_generic(bool useExplicitPk) Assert.Null(collection.FindEntry(chunky)); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Can_get_and_set_current_value_not_tracked(bool useExplicitPk) { using var context = useExplicitPk ? new ExplicitFreezerContext() : new FreezerContext(); @@ -171,7 +171,7 @@ public void Can_get_and_set_current_value_not_tracked(bool useExplicitPk) Assert.Null(inverseCollection.CurrentValue); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Can_get_and_set_current_value_generic_not_tracked(bool useExplicitPk) { using var context = useExplicitPk ? new ExplicitFreezerContext() : new FreezerContext(); @@ -199,7 +199,7 @@ public void Can_get_and_set_current_value_generic_not_tracked(bool useExplicitPk Assert.Null(inverseCollection.CurrentValue); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Can_get_and_set_current_value_start_tracking(bool useExplicitPk) { using var context = useExplicitPk ? new ExplicitFreezerContext() : new FreezerContext(); @@ -234,7 +234,7 @@ public void Can_get_and_set_current_value_start_tracking(bool useExplicitPk) Assert.Equal(EntityState.Added, context.Entry(chunky).State); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Can_get_and_set_current_value_start_tracking_generic(bool useExplicitPk) { using var context = useExplicitPk ? new ExplicitFreezerContext() : new FreezerContext(); @@ -269,7 +269,7 @@ public void Can_get_and_set_current_value_start_tracking_generic(bool useExplici Assert.Equal(EntityState.Added, context.Entry(chunky).State); } - [ConditionalTheory, InlineData(false, CascadeTiming.Immediate), InlineData(true, CascadeTiming.Immediate), + [Theory, InlineData(false, CascadeTiming.Immediate), InlineData(true, CascadeTiming.Immediate), InlineData(false, CascadeTiming.OnSaveChanges), InlineData(true, CascadeTiming.OnSaveChanges), InlineData(false, CascadeTiming.Never), InlineData(true, CascadeTiming.Never)] public void IsModified_tracks_detects_deletion_of_related_entity(bool useExplicitPk, CascadeTiming cascadeTiming) @@ -303,7 +303,7 @@ public void IsModified_tracks_detects_deletion_of_related_entity(bool useExplici Assert.False(relatedToChunky2.IsModified); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void IsModified_tracks_adding_new_related_entity(bool useExplicitPk) { using var context = useExplicitPk ? new ExplicitFreezerContext() : new FreezerContext(); @@ -337,7 +337,7 @@ public void IsModified_tracks_adding_new_related_entity(bool useExplicitPk) Assert.False(relatedToChunky2.IsModified); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void IsModified_tracks_removing_items_from_the_join_table(bool useExplicitPk) { using var context = useExplicitPk ? new ExplicitFreezerContext() : new FreezerContext(); @@ -371,7 +371,7 @@ public void IsModified_tracks_removing_items_from_the_join_table(bool useExplici Assert.True(relatedToChunky2.IsModified); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void IsModified_tracks_adding_items_to_the_join_table(bool useExplicitPk) { using var context = useExplicitPk ? new ExplicitFreezerContext() : new FreezerContext(); @@ -397,7 +397,7 @@ public void IsModified_tracks_adding_items_to_the_join_table(bool useExplicitPk) Assert.False(relatedToChunky2.IsModified); } - [ConditionalFact] + [Fact] public void IsModified_tracks_mutation_of_join_fks() { using var context = new ExplicitFreezerContext(); @@ -435,7 +435,7 @@ public void IsModified_tracks_mutation_of_join_fks() Assert.True(relatedToChunky2.IsModified); } - [ConditionalFact] + [Fact] public void Setting_IsModified_true_marks_all_join_table_FK_modified() { using var context = new ExplicitFreezerContext(); @@ -475,7 +475,7 @@ public void Setting_IsModified_true_marks_all_join_table_FK_modified() } } - [ConditionalFact] + [Fact] public void Setting_IsModified_false_reverts_changes_to_join_table_FKs() { using var context = new ExplicitFreezerContext(); diff --git a/test/EFCore.Tests/ChangeTracking/SkipMemberEntryTest.cs b/test/EFCore.Tests/ChangeTracking/SkipMemberEntryTest.cs index a67cc6d9657..addf364188a 100644 --- a/test/EFCore.Tests/ChangeTracking/SkipMemberEntryTest.cs +++ b/test/EFCore.Tests/ChangeTracking/SkipMemberEntryTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Collections; @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking; public class SkipMemberEntryTest { - [ConditionalFact] + [Fact] public void Can_get_back_reference_collection() { using var context = new FreezerContext(); @@ -17,7 +17,7 @@ public void Can_get_back_reference_collection() Assert.Same(entityEntry.Entity, entityEntry.Member("Chunkies").EntityEntry.Entity); } - [ConditionalFact] + [Fact] public void Can_get_metadata_collection() { using var context = new FreezerContext(); @@ -27,7 +27,7 @@ public void Can_get_metadata_collection() Assert.Equal("Chunkies", entityEntry.Member("Chunkies").Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_and_set_current_value_collection() { using var context = new FreezerContext(); @@ -57,7 +57,7 @@ public void Can_get_and_set_current_value_collection() Assert.Null(collection.CurrentValue); } - [ConditionalFact] + [Fact] public void Can_get_skip_collection_entry_by_name_using_Member() { using var context = new FreezerContext(); @@ -72,7 +72,7 @@ public void Can_get_skip_collection_entry_by_name_using_Member() Assert.IsType(entry); } - [ConditionalFact] + [Fact] public void Can_get_skip_collection_entry_by_IPropertyBase_using_Member() { using var context = new FreezerContext(); @@ -88,7 +88,7 @@ public void Can_get_skip_collection_entry_by_IPropertyBase_using_Member() Assert.IsType(entry); } - [ConditionalFact] + [Fact] public void Can_get_skip_collection_entry_by_name_using_Collection() { using var context = new FreezerContext(); @@ -103,7 +103,7 @@ public void Can_get_skip_collection_entry_by_name_using_Collection() Assert.IsType(entry); } - [ConditionalFact] + [Fact] public void Can_get_skip_collection_entry_by_INavigationBase_using_Collection() { using var context = new FreezerContext(); diff --git a/test/EFCore.Tests/ChangeTracking/SkipNavigationEntryTest.cs b/test/EFCore.Tests/ChangeTracking/SkipNavigationEntryTest.cs index df682fffb52..5eaf8228c05 100644 --- a/test/EFCore.Tests/ChangeTracking/SkipNavigationEntryTest.cs +++ b/test/EFCore.Tests/ChangeTracking/SkipNavigationEntryTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Collections; @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking; public class SkipNavigationEntryTest { - [ConditionalFact] + [Fact] public void Can_get_back_reference_collection() { using var context = new FreezerContext(); @@ -19,7 +19,7 @@ public void Can_get_back_reference_collection() Assert.Same(entityEntry.Entity, entityEntry.Navigation("Chunkies").EntityEntry.Entity); } - [ConditionalFact] + [Fact] public void Can_get_metadata_collection() { using var context = new FreezerContext(); @@ -30,7 +30,7 @@ public void Can_get_metadata_collection() Assert.Equal("Chunkies", context.Entry(entity).Navigation("Chunkies").Metadata.Name); } - [ConditionalFact] + [Fact] public void Can_get_and_set_current_value_collection() { using var context = new FreezerContext(); diff --git a/test/EFCore.Tests/ChangeTracking/TemporaryValuesTest.cs b/test/EFCore.Tests/ChangeTracking/TemporaryValuesTest.cs index a529dde35aa..80c346986a5 100644 --- a/test/EFCore.Tests/ChangeTracking/TemporaryValuesTest.cs +++ b/test/EFCore.Tests/ChangeTracking/TemporaryValuesTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.ValueGeneration.Internal; @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking; public class TemporaryValuesTest { - [ConditionalFact] + [Fact] public void Set_temporary_values_for_normal_properties() { using (var context = new DefaultValuesContext()) @@ -63,7 +63,7 @@ public void Set_temporary_values_for_normal_properties() } } - [ConditionalFact] + [Fact] public void Set_temporary_values_for_indexer_properties() { using (var context = new DefaultValuesContext()) @@ -132,7 +132,7 @@ public void Set_temporary_values_for_indexer_properties() } } - [ConditionalFact] + [Fact] public void Set_temporary_values_for_indexer_properties_types_as_object() { using (var context = new DefaultValuesContext()) diff --git a/test/EFCore.Tests/ChangeTracking/TrackGraphTestBase.cs b/test/EFCore.Tests/ChangeTracking/TrackGraphTestBase.cs index 46d3c941963..020aa83f9f4 100644 --- a/test/EFCore.Tests/ChangeTracking/TrackGraphTestBase.cs +++ b/test/EFCore.Tests/ChangeTracking/TrackGraphTestBase.cs @@ -24,7 +24,7 @@ protected override IList TrackGraph(DbContext context, object root, Acti return traversal; } - [ConditionalTheory, InlineData(false), InlineData(true)] // Issue #26461 + [Theory, InlineData(false), InlineData(true)] // Issue #26461 public async Task Can_iterate_over_graph_using_public_surface(bool async) { using var context = new EarlyLearningCenter(GetType().Name); @@ -150,7 +150,7 @@ private static string EntryString(EntityEntry entry) + ":" + entry.Property(entry.Metadata.FindPrimaryKey().Properties[0].Name).CurrentValue; - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] public void Can_attach_nullable_PK_parent_with_child_collection(bool useAttach, bool setKeys) { using var context = new EarlyLearningCenter(GetType().Name); @@ -218,7 +218,7 @@ public void Can_attach_nullable_PK_parent_with_child_collection(bool useAttach, Assert.Equal(categoryId, product2Entry.Property("CategoryId").CurrentValue); } - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] public void Can_attach_nullable_PK_parent_with_one_to_one_children(bool useAttach, bool setKeys) { using var context = new EarlyLearningCenter(GetType().Name); @@ -254,7 +254,7 @@ public void Can_attach_nullable_PK_parent_with_one_to_one_children(bool useAttac Assert.Same(category, category.Info.Category); } - [ConditionalTheory, InlineData(false, false, false), InlineData(false, true, false), InlineData(true, false, false), + [Theory, InlineData(false, false, false), InlineData(false, true, false), InlineData(true, false, false), InlineData(true, true, false), InlineData(false, false, true), InlineData(false, true, true), InlineData(true, false, true), InlineData(true, true, true)] public void Can_attach_parent_with_owned_dependent(bool useAttach, bool setPrincipalKey, bool setDependentKey) @@ -323,7 +323,7 @@ public void Can_attach_parent_with_owned_dependent(bool useAttach, bool setPrinc Assert.Equal(1, dependentEntry2b.Property(dependentEntry2b.Metadata.FindPrimaryKey().Properties[0]).CurrentValue); } - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] public void Can_attach_owned_dependent_with_reference_to_parent(bool useAttach, bool setDependentKey) { using var context = new EarlyLearningCenter(GetType().Name); @@ -384,7 +384,7 @@ public void Can_attach_owned_dependent_with_reference_to_parent(bool useAttach, Assert.Equal(1, dependentEntry2b.Property(dependentEntry2b.Metadata.FindPrimaryKey().Properties[0]).CurrentValue); } - [ConditionalFact] + [Fact] public void Can_attach_parent_with_child_collection() { using var context = new EarlyLearningCenter(GetType().Name); @@ -430,7 +430,7 @@ public void Can_attach_parent_with_child_collection() Assert.Equal(category.Id, category.Products[2].CategoryId); } - [ConditionalFact] + [Fact] public void Can_attach_child_with_reference_to_parent() { using var context = new EarlyLearningCenter(GetType().Name); @@ -454,7 +454,7 @@ public void Can_attach_child_with_reference_to_parent() Assert.Equal(product.Category.Id, product.CategoryId); } - [ConditionalFact] + [Fact] public void Can_attach_parent_with_one_to_one_children() { using var context = new EarlyLearningCenter(GetType().Name); @@ -484,7 +484,7 @@ public void Can_attach_parent_with_one_to_one_children() Assert.Same(product.Details, product.Details.Tag.Details); } - [ConditionalFact] + [Fact] public void Can_attach_child_with_one_to_one_parents() { using var context = new EarlyLearningCenter(GetType().Name); @@ -514,7 +514,7 @@ public void Can_attach_child_with_one_to_one_parents() Assert.Same(tag.Details, tag.Details.Product.Details); } - [ConditionalFact] + [Fact] public void Can_attach_entity_with_one_to_one_parent_and_child() { using var context = new EarlyLearningCenter(GetType().Name); @@ -549,7 +549,7 @@ public void Can_attach_entity_with_one_to_one_parent_and_child() Assert.Same(details, details.Product.Details); } - [ConditionalFact] + [Fact] public void Entities_that_are_already_tracked_will_not_get_attached() { using var context = new EarlyLearningCenter(GetType().Name); @@ -597,7 +597,7 @@ public void Entities_that_are_already_tracked_will_not_get_attached() Assert.Equal(category.Id, category.Products[2].CategoryId); } - [ConditionalFact] + [Fact] public void Further_graph_traversal_stops_if_an_entity_is_not_attached() { using var context = new EarlyLearningCenter(GetType().Name); @@ -674,7 +674,7 @@ public void Further_graph_traversal_stops_if_an_entity_is_not_attached() Assert.Same(category.Products[2], category.Products[2].Details.Product); } - [ConditionalFact] + [Fact] public void Graph_iterator_does_not_go_visit_Apple() { using var context = new EarlyLearningCenter(GetType().Name); @@ -693,7 +693,7 @@ public void Graph_iterator_does_not_go_visit_Apple() Assert.False(context.ChangeTracker.HasChanges()); } - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] public void Can_add_owned_dependent_with_reference_to_parent(bool useAdd, bool setDependentKey) { using var context = new EarlyLearningCenter(GetType().Name); @@ -757,7 +757,7 @@ public void Can_add_owned_dependent_with_reference_to_parent(bool useAdd, bool s Assert.Equal(1, dependentEntry2b.Property(dependentEntry2b.Metadata.FindPrimaryKey().Properties[0]).CurrentValue); } - [ConditionalTheory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] // Issue #12590 + [Theory, InlineData(false, false), InlineData(false, true), InlineData(true, false), InlineData(true, true)] // Issue #12590 public void Dependents_are_detached_not_deleted_when_principal_is_detached(bool delayCascade, bool trackNewDependents) { using var context = new EarlyLearningCenter(GetType().Name); @@ -903,7 +903,7 @@ IList TrackGraph() node => node.Entry.State = EntityState.Modified); } - [ConditionalFact] + [Fact] public void TrackGraph_overload_can_visit_a_graph_without_attaching() { using var context = new EarlyLearningCenter(GetType().Name); @@ -977,7 +977,7 @@ public void TrackGraph_overload_can_visit_a_graph_without_attaching() } } - [ConditionalFact] + [Fact] public void Can_attach_parent_with_some_new_and_some_existing_entities() => KeyValueAttachTest( GetType().Name, @@ -999,7 +999,7 @@ public void Can_attach_parent_with_some_new_and_some_existing_entities() : EntityState.Unchanged)); }); - [ConditionalFact] + [Fact] public void Can_attach_graph_using_built_in_tracker() { var tracker = new KeyValueEntityTracker(updateExistingEntities: false); @@ -1009,7 +1009,7 @@ public void Can_attach_graph_using_built_in_tracker() (category, changeTracker) => changeTracker.TrackGraph(category, tracker.TrackEntity)); } - [ConditionalFact] + [Fact] public void Can_update_graph_using_built_in_tracker() { var tracker = new KeyValueEntityTracker(updateExistingEntities: true); @@ -1060,7 +1060,7 @@ private static void KeyValueAttachTest(string databaseName, Action modelBuilder.Entity().Property(e => e.Bar).HasConversion(new FakeValueComparer()); } - [ConditionalFact] + [Fact] public void Throws_for_provider_comparer_with_wrong_type() { using var context = new InvalidProviderDbContext(); @@ -51,14 +51,24 @@ protected internal override void OnModelCreating(ModelBuilder modelBuilder) => modelBuilder.Entity().Property(e => e.Bar).HasConversion((ValueComparer)null, new FakeValueComparer()); } - [ConditionalTheory, InlineData(typeof(byte), (byte)1, (byte)2, 1), InlineData(typeof(ushort), (ushort)1, (ushort)2, 1), - InlineData(typeof(uint), (uint)1, (uint)2, 1), InlineData(typeof(ulong), (ulong)1, (ulong)2, null), - InlineData(typeof(sbyte), (sbyte)1, (sbyte)2, 1), InlineData(typeof(short), (short)1, (short)2, 1), InlineData(typeof(int), 1, 2, 1), - InlineData(typeof(long), (long)1, (long)2, null), InlineData(typeof(char), 'A', 'B', (int)'A'), - InlineData(typeof(string), "A", "B", null), InlineData(typeof(bool), true, false, null), InlineData(typeof(object), 1, "B", null), - InlineData(typeof(float), (float)1, (float)2, null), InlineData(typeof(double), (double)1, (double)2, null), - InlineData(typeof(JustAnEnum), JustAnEnum.A, JustAnEnum.B, null), InlineData(typeof(int[]), new[] { 1, 2 }, new[] { 3, 4 }, null)] - public ValueComparer Default_comparer_works_for_normal_types(Type type, object value1, object value2, int? hashCode) + [Theory, + InlineData(typeof(byte), (byte)1, (byte)2, 1), + InlineData(typeof(ushort), (ushort)1, (ushort)2, 1), + InlineData(typeof(uint), (uint)1, (uint)2, 1), + InlineData(typeof(ulong), (ulong)1, (ulong)2, null), + InlineData(typeof(sbyte), (sbyte)1, (sbyte)2, 1), + InlineData(typeof(short), (short)1, (short)2, 1), + InlineData(typeof(int), 1, 2, 1), + InlineData(typeof(long), (long)1, (long)2, null), + InlineData(typeof(char), 'A', 'B', (int)'A'), + InlineData(typeof(string), "A", "B", null), + InlineData(typeof(bool), true, false, null), + InlineData(typeof(object), 1, "B", null), + InlineData(typeof(float), (float)1, (float)2, null), + InlineData(typeof(double), (double)1, (double)2, null), + InlineData(typeof(JustAnEnum), JustAnEnum.A, JustAnEnum.B, null), + InlineData(typeof(int[]), new[] { 1, 2 }, new[] { 3, 4 }, null)] + public void Default_comparer_works_for_normal_types(Type type, object value1, object value2, int? hashCode) => CompareTest(type, value1, value2, hashCode); private static ValueComparer CompareTest(Type type, object value1, object value2, int? hashCode = null) @@ -142,11 +152,11 @@ private enum JustAnEnum : ushort B } - [ConditionalFact] + [Fact] public void Default_comparer_works_for_decimals() => CompareTest(typeof(decimal), (decimal)1, (decimal)2); - [ConditionalFact] + [Fact] public void Default_comparer_works_for_structs() { CompareTest( @@ -166,7 +176,7 @@ private struct JustAStruct public string B { get; set; } } - [ConditionalFact] + [Fact] public void Default_comparer_works_for_structs_with_equality() => CompareTest( typeof(JustAStructWithEquality), @@ -188,7 +198,7 @@ public override int GetHashCode() => A; } - [ConditionalFact] + [Fact] public void Default_comparer_works_for_structs_with_equality_operators() => CompareTest( typeof(JustAStructWithEqualityOperators), @@ -210,7 +220,7 @@ private struct JustAStructWithEqualityOperators => !(left == right); } - [ConditionalFact] + [Fact] public void Default_comparer_works_for_classes() => CompareTest( typeof(JustAClass), // Reference equality @@ -222,7 +232,7 @@ private class JustAClass public int A { get; set; } } - [ConditionalFact] + [Fact] public void Default_comparer_works_for_classes_with_equality_members() { var comparer = CompareTest( @@ -253,7 +263,7 @@ public override int GetHashCode() => A; } - [ConditionalFact] + [Fact] public void Default_comparer_works_for_classes_with_equality_operators() { var comparer = CompareTest( @@ -341,7 +351,7 @@ private void GenericCompareTestWithNulls(T value1, T value2, int? hashCode = Assert.Equal(hashCode ?? value1.GetHashCode(), getKeyHashCode(value1)); } - [ConditionalFact] + [Fact] public void Default_raw_comparer_works_for_non_null_normal_types() { GenericCompareTest(1, 2, 1); @@ -363,7 +373,7 @@ public void Default_raw_comparer_works_for_non_null_normal_types() GenericCompareTest(new JustAStructWithEqualityOperators { A = 1 }, new JustAStructWithEqualityOperators { A = 2 }); } - [ConditionalFact] + [Fact] public void Default_raw_comparer_works_for_reference_types() { GenericCompareTestWithNulls(1, "A"); @@ -372,7 +382,7 @@ public void Default_raw_comparer_works_for_reference_types() GenericCompareTestWithNulls(new JustAClassWithEqualityOperators { A = 1 }, new JustAClassWithEqualityOperators { A = 2 }); } - [ConditionalFact] + [Fact] public void Default_comparer_works_for_normal_types_mixing_nullables() { CompareTest(typeof(byte), (byte)1, (byte?)2, 1); @@ -405,7 +415,7 @@ public void Default_comparer_works_for_normal_types_mixing_nullables() new JustAStructWithEqualityOperators { A = 2 }); } - [ConditionalFact] + [Fact] public void Default_comparer_works_for_normal_nullable_types_mixing_nullables() { CompareTest(typeof(byte?), (byte)1, (byte?)2, 1); @@ -438,7 +448,7 @@ public void Default_comparer_works_for_normal_nullable_types_mixing_nullables() new JustAStructWithEqualityOperators { A = 2 }); } - [ConditionalFact] + [Fact] public void Can_clone_to_nullable() { CompareTest(typeof(byte), (byte)1, (byte?)2, 1, true); @@ -477,7 +487,7 @@ public void Can_clone_to_nullable() true); } - [ConditionalFact] + [Fact] public void Structural_objects_get_deep_key_comparer_by_default() { var comparer = new ValueComparer(false); @@ -520,7 +530,7 @@ private class Binary(byte value0, byte value1) public byte Value1 { get; } = value1; } - [ConditionalFact] + [Fact] public void Can_define_different_custom_equals_for_key_and_non_key() { var comparer = new ValueComparer( @@ -564,7 +574,7 @@ private static readonly MethodInfo _getValue0Method private static readonly MethodInfo _getValue1Method = typeof(DeepBinary).GetProperty(nameof(DeepBinary.Value1)).GetMethod; - [ConditionalFact] + [Fact] public void Can_create_new_comparer_composing_existing_comparers() { var bytesComparer = new ValueComparer(false); diff --git a/test/EFCore.Tests/CollectionComparerTest.cs b/test/EFCore.Tests/CollectionComparerTest.cs index 035140e0b16..345ec2c0bc4 100644 --- a/test/EFCore.Tests/CollectionComparerTest.cs +++ b/test/EFCore.Tests/CollectionComparerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. #nullable enable @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore; public class CollectionComparerTest { - [ConditionalFact] + [Fact] public void Can_detect_changes_to_primitive_collections_using_arrays() { using var context = new SomeLists(); @@ -108,7 +108,7 @@ public void Can_detect_changes_to_primitive_collections_using_arrays() Assert.Equal(EntityState.Unchanged, entry.State); } - [ConditionalFact] + [Fact] public void Can_detect_changes_to_primitive_collections_using_List() { using var context = new SomeLists(); @@ -393,7 +393,7 @@ public void Can_detect_changes_to_primitive_collections_using_List() Assert.Equal(EntityState.Unchanged, entry.State); } - [ConditionalFact] + [Fact] public void Can_detect_changes_to_primitive_collections_using_Collection() { using var context = new SomeLists(); @@ -678,7 +678,7 @@ public void Can_detect_changes_to_primitive_collections_using_Collection() Assert.Equal(EntityState.Unchanged, entry.State); } - [ConditionalFact] + [Fact] public void Can_detect_changes_to_primitive_collections_using_ObservableCollection() { using var context = new SomeLists(); @@ -963,7 +963,7 @@ public void Can_detect_changes_to_primitive_collections_using_ObservableCollecti Assert.Equal(EntityState.Unchanged, entry.State); } - [ConditionalFact] + [Fact] public void List_comparer_throws_when_used_with_non_list() { var comparer = new ListOfReferenceTypesComparer, string>(new ValueComparer(favorStructuralComparisons: false)); @@ -981,7 +981,7 @@ public void List_comparer_throws_when_used_with_non_list() Assert.Throws(() => comparer.Snapshot(new HashSet())).Message); } - [ConditionalFact] + [Fact] public void Nullable_list_comparer_throws_when_used_with_non_list() { var comparer = new ListOfNullableValueTypesComparer, int>(new ValueComparer(favorStructuralComparisons: false)); diff --git a/test/EFCore.Tests/DbContextFactoryTest.cs b/test/EFCore.Tests/DbContextFactoryTest.cs index 45ea28233dc..8366267c52f 100644 --- a/test/EFCore.Tests/DbContextFactoryTest.cs +++ b/test/EFCore.Tests/DbContextFactoryTest.cs @@ -8,11 +8,11 @@ namespace Microsoft.EntityFrameworkCore; public class DbContextFactoryTest { - [ConditionalTheory, InlineData(ServiceLifetime.Singleton), InlineData(ServiceLifetime.Scoped), InlineData(ServiceLifetime.Transient)] + [Theory, InlineData(ServiceLifetime.Singleton), InlineData(ServiceLifetime.Scoped), InlineData(ServiceLifetime.Transient)] public void Factory_creates_new_context_instance(ServiceLifetime lifetime) => ContextFactoryTest(lifetime); - [ConditionalTheory, InlineData(ServiceLifetime.Singleton), InlineData(ServiceLifetime.Scoped), InlineData(ServiceLifetime.Transient)] + [Theory, InlineData(ServiceLifetime.Singleton), InlineData(ServiceLifetime.Scoped), InlineData(ServiceLifetime.Transient)] public void Factory_creates_new_context_instance_with_additional_parameterless_constructor(ServiceLifetime lifetime) => ContextFactoryTest(lifetime); @@ -74,7 +74,7 @@ private static void ContextFactoryTest(ServiceLifetime lifetime) Assert.Throws(() => context2.Model); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void Registering_factory_also_registers_a_scoped_context(bool pooled) { using var serviceProvider = RegisterContextFactory(new ServiceCollection(), pooled).BuildServiceProvider(); @@ -92,7 +92,7 @@ public void Registering_factory_also_registers_a_scoped_context(bool pooled) Assert.Throws(() => context1.Model); // Assert not singleton } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Implicitly_registered_context_gets_created_via_user_factory_type(bool pooled) { await using var serviceProvider = new ServiceCollection() @@ -105,7 +105,7 @@ public async Task Implicitly_registered_context_gets_created_via_user_factory_ty Assert.True(factory.WasCalled); } - [ConditionalFact] + [Fact] public void Factory_can_use_pool() { var serviceProvider = (IServiceProvider)new ServiceCollection() @@ -134,7 +134,7 @@ public void Factory_can_use_pool() Assert.Equal(nameof(WoolacombeContext), GetStoreName(context2b)); } - [ConditionalFact] + [Fact] public void Factory_can_use_shared_pool() { var serviceProvider = (IServiceProvider)new ServiceCollection() @@ -176,7 +176,7 @@ public void Factory_can_use_shared_pool() Assert.NotSame(context2b, context3b); } - [ConditionalFact] + [Fact] public void Implicitly_registered_context_gets_pooled() { var serviceProvider = RegisterContextFactory(new ServiceCollection(), pooled: true).BuildServiceProvider(); @@ -196,7 +196,7 @@ public void Implicitly_registered_context_gets_pooled() Assert.Same(context1, context2); } - [ConditionalTheory, InlineData(ServiceLifetime.Singleton), InlineData(ServiceLifetime.Scoped), InlineData(ServiceLifetime.Transient)] + [Theory, InlineData(ServiceLifetime.Singleton), InlineData(ServiceLifetime.Scoped), InlineData(ServiceLifetime.Transient)] public void Factory_and_options_have_the_same_lifetime(ServiceLifetime lifetime) { var serviceCollection = new ServiceCollection() @@ -208,7 +208,7 @@ public void Factory_and_options_have_the_same_lifetime(ServiceLifetime lifetime) Assert.Equal(lifetime, serviceCollection.Single(e => e.ServiceType == typeof(DbContextOptions)).Lifetime); } - [ConditionalFact] + [Fact] public void Default_lifetime_is_singleton() { var serviceCollection = new ServiceCollection() @@ -223,7 +223,7 @@ public void Default_lifetime_is_singleton() serviceCollection.Single(e => e.ServiceType == typeof(DbContextOptions)).Lifetime); } - [ConditionalFact] + [Fact] public void Lifetime_is_singleton_when_pooling() { var serviceCollection = new ServiceCollection() @@ -256,7 +256,7 @@ public GruntaContext(DbContextOptions options) private class WoolacombeContext(DbContextOptions options) : DbContext(options); - [ConditionalFact] + [Fact] public void Factory_can_use_constructor_with_non_generic_builder() { var serviceProvider = (IServiceProvider)new ServiceCollection() @@ -280,7 +280,7 @@ public CroydeContext(DbContextOptions options) } } - [ConditionalFact] + [Fact] public void Factory_can_use_parameterless_constructor() { var serviceProvider = (IServiceProvider)new ServiceCollection() @@ -298,7 +298,7 @@ protected internal override void OnConfiguring(DbContextOptionsBuilder optionsBu => optionsBuilder.UseInMemoryDatabase(nameof(MortehoeContext)); } - [ConditionalFact] + [Fact] public void Factory_can_use_DbContext_directly() { var serviceProvider = (IServiceProvider)new ServiceCollection() @@ -310,7 +310,7 @@ public void Factory_can_use_DbContext_directly() Assert.Equal(nameof(DbContext), GetStoreName(context)); } - [ConditionalTheory, InlineData(ServiceLifetime.Singleton), InlineData(ServiceLifetime.Scoped), InlineData(ServiceLifetime.Transient)] + [Theory, InlineData(ServiceLifetime.Singleton), InlineData(ServiceLifetime.Scoped), InlineData(ServiceLifetime.Transient)] public void Can_always_inject_singleton_and_transient_services(ServiceLifetime lifetime) { var serviceProvider = (IServiceProvider)new ServiceCollection() @@ -360,7 +360,7 @@ private class IlfracombeContext( public TransientService TransientService { get; } = transientService; } - [ConditionalFact] + [Fact] public void Can_inject_singleton_transient_and_scoped_services_into_scoped_factory() { var serviceProvider = (IServiceProvider)new ServiceCollection() @@ -434,7 +434,7 @@ private class CombeMartinContext( public TransientService TransientService { get; } = transientService; } - [ConditionalTheory, InlineData(ServiceLifetime.Singleton), InlineData(ServiceLifetime.Scoped), InlineData(ServiceLifetime.Transient)] + [Theory, InlineData(ServiceLifetime.Singleton), InlineData(ServiceLifetime.Scoped), InlineData(ServiceLifetime.Transient)] public void Can_resolve_from_the_service_provider_in_options_action(ServiceLifetime lifetime) { var serviceProvider = (IServiceProvider)new ServiceCollection() @@ -472,7 +472,7 @@ public void Can_resolve_from_the_service_provider_in_options_action(ServiceLifet Assert.Equal(nameof(WoolacombeContext), GetStoreName(context2)); } - [ConditionalFact] + [Fact] public void Can_resolve_from_the_service_provider_when_pooling() { var serviceProvider = (IServiceProvider)new ServiceCollection() @@ -497,7 +497,7 @@ public void Can_resolve_from_the_service_provider_when_pooling() Assert.Equal(nameof(WoolacombeContext), GetStoreName(context2)); } - [ConditionalFact] + [Fact] public void Throws_if_dependencies_are_not_in_DI() { var serviceProvider = (IServiceProvider)new ServiceCollection() @@ -515,7 +515,7 @@ public void Throws_if_dependencies_are_not_in_DI() private class WestwardHoContext(DbContextOptions options, Random random) : DbContext(options); #pragma warning restore CS9113 - [ConditionalFact] + [Fact] public void Can_register_factories_for_multiple_contexts_even_with_non_generic_options() { var serviceProvider = (IServiceProvider)new ServiceCollection() @@ -532,7 +532,7 @@ public void Can_register_factories_for_multiple_contexts_even_with_non_generic_o private class ClovellyContext(DbContextOptions options) : DbContext(options); - [ConditionalFact] + [Fact] public void Can_register_factories_for_multiple_contexts() { var serviceProvider = (IServiceProvider)new ServiceCollection() @@ -549,7 +549,7 @@ public void Can_register_factories_for_multiple_contexts() private class WidemouthBayContext(DbContextOptions options) : DbContext(options); - [ConditionalFact] + [Fact] public void Application_can_register_explicit_factory_implementation() { var serviceProvider = (IServiceProvider)new ServiceCollection() @@ -569,7 +569,7 @@ public void Application_can_register_explicit_factory_implementation() Assert.Equal(nameof(WoolacombeContext), GetStoreName(context2)); } - [ConditionalFact] + [Fact] public void Application_can_register_factory_implementation_in_AddDbContextFactory() { var serviceProvider = (IServiceProvider)new ServiceCollection() @@ -599,7 +599,7 @@ public WoolacombeContext CreateDbContext() } } - [ConditionalTheory, MemberData( + [Theory, MemberData( nameof(DataGenerator.GetCombinations), [new[] { typeof(bool), typeof(ServiceLifetime), typeof(ServiceLifetime), typeof(ServiceLifetime) }], MemberType = typeof(DataGenerator))] @@ -667,7 +667,7 @@ public void Add_factory_and_then_context_using_scope( } } - [ConditionalTheory, MemberData( + [Theory, MemberData( nameof(DataGenerator.GetCombinations), [new[] { typeof(bool), typeof(ServiceLifetime), typeof(ServiceLifetime), typeof(ServiceLifetime) }], MemberType = typeof(DataGenerator))] @@ -731,7 +731,7 @@ public void Add_factory_and_then_context_using_root_provider( } } - [ConditionalTheory, MemberData( + [Theory, MemberData( nameof(DataGenerator.GetCombinations), [new[] { typeof(bool), typeof(ServiceLifetime), typeof(ServiceLifetime), typeof(ServiceLifetime) }], MemberType = typeof(DataGenerator))] @@ -802,7 +802,7 @@ var effectiveOptionsLifetime } } - [ConditionalTheory, MemberData( + [Theory, MemberData( nameof(DataGenerator.GetCombinations), [new[] { typeof(bool), typeof(ServiceLifetime), typeof(ServiceLifetime), typeof(ServiceLifetime) }], MemberType = typeof(DataGenerator))] diff --git a/test/EFCore.Tests/DbContextLoggerTests.cs b/test/EFCore.Tests/DbContextLoggerTests.cs index 948b62a2eb4..b5643d2cf4e 100644 --- a/test/EFCore.Tests/DbContextLoggerTests.cs +++ b/test/EFCore.Tests/DbContextLoggerTests.cs @@ -21,7 +21,7 @@ public class DbContextLoggerTests @"dbug: HH:mm:ss.fff CoreEventId.ContextDisposed[10407] (Microsoft.EntityFrameworkCore.Infrastructure) " + @" 'LoggingContext' disposed."; - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Log_with_default_options(bool async) { var stream = new StringWriter(); @@ -30,7 +30,7 @@ public async Task Log_with_default_options(bool async) AssertLog(actual, ContextInitialized, SaveChangesStarting, SaveChangesCompleted, ContextDisposed); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Log_with_minimum_level(bool async) { var stream = new StringWriter(); @@ -39,7 +39,7 @@ public async Task Log_with_minimum_level(bool async) AssertLog(actual, ContextInitialized); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Log_for_multiple_categories(bool async) { var stream = new StringWriter(); @@ -53,7 +53,7 @@ public async Task Log_for_multiple_categories(bool async) AssertLog(actual, ContextInitialized, SaveChangesStarting, SaveChangesCompleted, ContextDisposed); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Log_for_single_category(bool async) { var stream = new StringWriter(); @@ -67,7 +67,7 @@ public async Task Log_for_single_category(bool async) AssertLog(actual, ContextInitialized, ContextDisposed); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Log_for_single_category_and_minimum_level(bool async) { var stream = new StringWriter(); @@ -93,7 +93,7 @@ public async Task Log_for_single_category_and_minimum_level(bool async) Assert.Equal("", actual); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Log_for_single_event(bool async) { var stream = new StringWriter(); @@ -107,7 +107,7 @@ public async Task Log_for_single_event(bool async) AssertLog(actual, ContextInitialized); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Log_for_multiple_events(bool async) { var stream = new StringWriter(); @@ -121,7 +121,7 @@ public async Task Log_for_multiple_events(bool async) AssertLog(actual, ContextInitialized, ContextDisposed); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Log_for_many_events(bool async) // Hits HashCode usage { var stream = new StringWriter(); @@ -142,7 +142,7 @@ public async Task Log_for_many_events(bool async) // Hits HashCode usage AssertLog(actual, ContextInitialized, ContextDisposed); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Log_for_single_event_and_minimum_level(bool async) { var stream = new StringWriter(); @@ -168,7 +168,7 @@ public async Task Log_for_single_event_and_minimum_level(bool async) Assert.Equal("", actual); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Log_with_custom_filter(bool async) { var stream = new StringWriter(); @@ -178,7 +178,7 @@ public async Task Log_with_custom_filter(bool async) AssertLog(actual, SaveChangesCompleted); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Log_with_custom_logger(bool async) { var stream = new StringWriter(); @@ -192,7 +192,7 @@ public async Task Log_with_custom_logger(bool async) Assert.Equal(@"Initialized LoggingContext" + Environment.NewLine, actual); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Log_with_raw_message(bool async) { var stream = new StringWriter(); @@ -204,7 +204,7 @@ public async Task Log_with_raw_message(bool async) @"Entity Framework Core X.X.X-any initialized 'LoggingContext' using provider 'Microsoft.EntityFrameworkCore.InMemory:X.X.X-any' with options: StoreName=DbContextLoggerTests NullabilityChecksEnabled "); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Log_raw_single_line(bool async) { var stream = new StringWriter(); @@ -216,7 +216,7 @@ public async Task Log_raw_single_line(bool async) @"Entity Framework Core X.X.X-any initialized 'LoggingContext' using provider 'Microsoft.EntityFrameworkCore.InMemory:X.X.X-any' with options: StoreName=DbContextLoggerTests NullabilityChecksEnabled "); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Log_default_single_line(bool async) { var stream = new StringWriter(); @@ -231,7 +231,7 @@ public async Task Log_default_single_line(bool async) @"info: HH:mm:ss.fff CoreEventId.ContextInitialized[10403] (Microsoft.EntityFrameworkCore.Infrastructure) -> Entity Framework Core X.X.X-any initialized 'LoggingContext' using provider 'Microsoft.EntityFrameworkCore.InMemory:X.X.X-any' with options: StoreName=DbContextLoggerTests NullabilityChecksEnabled "); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Log_only_level(bool async) { var stream = new StringWriter(); @@ -244,7 +244,7 @@ public async Task Log_only_level(bool async) Entity Framework Core X.X.X-any initialized 'LoggingContext' using provider 'Microsoft.EntityFrameworkCore.InMemory:X.X.X-any' with options: StoreName=DbContextLoggerTests NullabilityChecksEnabled "); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Log_only_local_time(bool async) { var stream = new StringWriter(); @@ -257,7 +257,7 @@ public async Task Log_only_local_time(bool async) Entity Framework Core X.X.X-any initialized 'LoggingContext' using provider 'Microsoft.EntityFrameworkCore.InMemory:X.X.X-any' with options: StoreName=DbContextLoggerTests NullabilityChecksEnabled "); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Log_only_UTC_time(bool async) { var stream = new StringWriter(); @@ -270,7 +270,7 @@ public async Task Log_only_UTC_time(bool async) Entity Framework Core X.X.X-any initialized 'LoggingContext' using provider 'Microsoft.EntityFrameworkCore.InMemory:X.X.X-any' with options: StoreName=DbContextLoggerTests NullabilityChecksEnabled "); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Log_only_ID(bool async) { var stream = new StringWriter(); @@ -283,7 +283,7 @@ public async Task Log_only_ID(bool async) Entity Framework Core X.X.X-any initialized 'LoggingContext' using provider 'Microsoft.EntityFrameworkCore.InMemory:X.X.X-any' with options: StoreName=DbContextLoggerTests NullabilityChecksEnabled "); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Log_only_category(bool async) { var stream = new StringWriter(); @@ -296,7 +296,7 @@ public async Task Log_only_category(bool async) + @" Entity Framework Core X.X.X-any initialized 'LoggingContext' using provider 'Microsoft.EntityFrameworkCore.InMemory:X.X.X-any' with options: StoreName=DbContextLoggerTests NullabilityChecksEnabled "); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Log_level_and_ID(bool async) { var stream = new StringWriter(); @@ -310,7 +310,7 @@ public async Task Log_level_and_ID(bool async) + @" Entity Framework Core X.X.X-any initialized 'LoggingContext' using provider 'Microsoft.EntityFrameworkCore.InMemory:X.X.X-any' with options: StoreName=DbContextLoggerTests NullabilityChecksEnabled "); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Log_level_and_UTC(bool async) { var stream = new StringWriter(); @@ -327,7 +327,7 @@ public async Task Log_level_and_UTC(bool async) + @" Entity Framework Core X.X.X-any initialized 'LoggingContext' using provider 'Microsoft.EntityFrameworkCore.InMemory:X.X.X-any' with options: StoreName=DbContextLoggerTests NullabilityChecksEnabled "); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Log_default_UTC(bool async) { var stream = new StringWriter(); diff --git a/test/EFCore.Tests/DbContextOptionsTest.cs b/test/EFCore.Tests/DbContextOptionsTest.cs index bc5d0e59beb..0b5c7eca433 100644 --- a/test/EFCore.Tests/DbContextOptionsTest.cs +++ b/test/EFCore.Tests/DbContextOptionsTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore; public class DbContextOptionsTest { - [ConditionalFact] + [Fact] public void Warnings_can_be_configured() { var optionsBuilder = new DbContextOptionsBuilder() @@ -20,7 +20,7 @@ public void Warnings_can_be_configured() Assert.Equal(WarningBehavior.Throw, warningConfiguration.DefaultBehavior); } - [ConditionalFact] + [Fact] public void Model_can_be_set_explicitly_in_options() { var model = new Model(); @@ -30,7 +30,7 @@ public void Model_can_be_set_explicitly_in_options() Assert.Same(model, optionsBuilder.Options.FindExtension().Model); } - [ConditionalFact] + [Fact] public void Sensitive_data_logging_can_be_set_explicitly_in_options() { var model = new Model(); @@ -41,7 +41,7 @@ public void Sensitive_data_logging_can_be_set_explicitly_in_options() Assert.True(optionsBuilder.Options.FindExtension().IsSensitiveDataLoggingEnabled); } - [ConditionalFact] + [Fact] public void Can_find_extension_with_GetExtension() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -56,7 +56,7 @@ public void Can_find_extension_with_GetExtension() Assert.Same(extension, optionsBuilder.Options.GetExtension()); } - [ConditionalFact] + [Fact] public void Extensions_can_be_added_to_options() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -78,7 +78,7 @@ public void Extensions_can_be_added_to_options() Assert.Same(extension2, optionsBuilder.Options.FindExtension()); } - [ConditionalFact] + [Fact] public void Can_update_an_existing_extension() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -96,7 +96,7 @@ public void Can_update_an_existing_extension() Assert.Same(extension2, optionsBuilder.Options.FindExtension()); } - [ConditionalFact] + [Fact] public void Can_remove_an_existing_extension() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -116,7 +116,7 @@ public void Can_remove_an_existing_extension() Assert.Same(extension2, optionsBuilder.Options.FindExtension()); } - [ConditionalFact] + [Fact] public void Removing_non_existent_extension_is_no_op() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -132,7 +132,7 @@ public void Removing_non_existent_extension_is_no_op() Assert.Same(extension, optionsBuilder.Options.FindExtension()); } - [ConditionalFact] + [Fact] public void Removing_extension_from_middle_renormalizes_ordinals_and_preserves_insertion_order() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -166,7 +166,7 @@ public void Removing_extension_from_middle_renormalizes_ordinals_and_preserves_i Assert.Same(extension2New, extensionsList[2]); } - [ConditionalFact] + [Fact] public void IsConfigured_returns_true_if_any_provider_extensions_have_been_added() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -181,7 +181,7 @@ public void IsConfigured_returns_true_if_any_provider_extensions_have_been_added Assert.False(extension.AppliedServices); } - [ConditionalFact] + [Fact] public void IsConfigured_returns_false_if_only_non_provider_extensions_have_been_added() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -305,7 +305,7 @@ public override void PopulateDebugInfo(IDictionary debugInfo) } } - [ConditionalFact] + [Fact] public void UseModel_on_generic_builder_returns_generic_builder() { var model = new Model(); @@ -315,7 +315,7 @@ public void UseModel_on_generic_builder_returns_generic_builder() Assert.Same(model, optionsBuilder.Options.FindExtension().Model); } - [ConditionalFact] + [Fact] public void UseLoggerFactory_on_generic_builder_returns_generic_builder() { var loggerFactory = new LoggerFactory(); @@ -325,7 +325,7 @@ public void UseLoggerFactory_on_generic_builder_returns_generic_builder() Assert.Same(loggerFactory, optionsBuilder.Options.FindExtension().LoggerFactory); } - [ConditionalFact] + [Fact] public void UseMemoryCache_on_generic_builder_returns_generic_builder() { var memoryCache = new FakeMemoryCache(); @@ -350,7 +350,7 @@ public void Remove(object key) => throw new NotImplementedException(); } - [ConditionalFact] + [Fact] public void UseInternalServiceProvider_on_generic_builder_returns_generic_builder() { var serviceProvider = new FakeServiceProvider(); @@ -366,15 +366,15 @@ public object GetService(Type serviceType) => throw new NotImplementedException(); } - [ConditionalFact] + [Fact] public void EnableSensitiveDataLogging_on_generic_builder_returns_generic_builder() => GenericCheck(new DbContextOptionsBuilder().EnableSensitiveDataLogging()); - [ConditionalFact] + [Fact] public void EnableDetailedErrors_on_generic_builder_returns_generic_builder() => GenericCheck(new DbContextOptionsBuilder().EnableDetailedErrors()); - [ConditionalFact] + [Fact] public void UseQueryTrackingBehavior_on_generic_builder_returns_generic_builder() { var optionsBuilder = GenericCheck( @@ -384,7 +384,7 @@ public void UseQueryTrackingBehavior_on_generic_builder_returns_generic_builder( QueryTrackingBehavior.NoTracking, optionsBuilder.Options.FindExtension().QueryTrackingBehavior); } - [ConditionalFact] + [Fact] public void ConfigureWarnings_on_generic_builder_returns_generic_builder() { var optionsBuilder = GenericCheck( @@ -398,7 +398,7 @@ public void ConfigureWarnings_on_generic_builder_returns_generic_builder() private DbContextOptionsBuilder GenericCheck(DbContextOptionsBuilder optionsBuilder) => optionsBuilder; - [ConditionalFact] + [Fact] public void Generic_builder_returns_generic_options() { var builder = new DbContextOptionsBuilder(); diff --git a/test/EFCore.Tests/DbContextTest.Services.cs b/test/EFCore.Tests/DbContextTest.Services.cs index bdd6537c390..b18bd3adba3 100644 --- a/test/EFCore.Tests/DbContextTest.Services.cs +++ b/test/EFCore.Tests/DbContextTest.Services.cs @@ -25,15 +25,15 @@ public partial class DbContextTest protected static readonly Guid GuidSentinel = new("56D3784D-6F7F-4935-B7F6-E77DC6E1D91E"); protected static readonly int IntSentinel = 667; - [ConditionalFact] + [Fact] public void Can_log_debug_events_with_OnConfiguring() => DebugLogTest(useLoggerFactory: false, configureForDebug: false, shouldLog: true); - [ConditionalFact] + [Fact] public void Cannot_log_debug_events_with_default_UseLoggerFactory() => DebugLogTest(useLoggerFactory: true, configureForDebug: false, shouldLog: false); - [ConditionalFact] + [Fact] public void Can_log_debug_events_with_UseLoggerFactory_when_configured() => DebugLogTest(useLoggerFactory: true, configureForDebug: true, shouldLog: true); @@ -156,7 +156,7 @@ public IDisposable BeginScope(TState state) } } - [ConditionalTheory, InlineData(ServiceLifetime.Scoped, false), InlineData(ServiceLifetime.Singleton, false), + [Theory, InlineData(ServiceLifetime.Scoped, false), InlineData(ServiceLifetime.Singleton, false), InlineData(ServiceLifetime.Singleton, true)] public void Logger_factory_registered_on_application_service_provider_is_not_disposed(ServiceLifetime optionsLifetime, bool pool) { @@ -237,7 +237,7 @@ var serviceCollection } } - [ConditionalFact] + [Fact] public void GetService_throws_for_unknown_service_type() { using var context = new EarlyLearningCenter(); @@ -247,7 +247,7 @@ public void GetService_throws_for_unknown_service_type() Assert.Throws(() => context.GetService()).Message); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Resolve_singleton_application_service(bool autoResolve) { var serviceProvider = AddServiceResolutionContext(autoResolve) @@ -290,7 +290,7 @@ public void Resolve_singleton_application_service(bool autoResolve) } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Resolve_scoped_application_service(bool autoResolve) { var serviceProvider = AddServiceResolutionContext(autoResolve) @@ -337,7 +337,7 @@ public void Resolve_scoped_application_service(bool autoResolve) } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Resolve_transient_application_service(bool autoResolve) { var serviceProvider = AddServiceResolutionContext(autoResolve) @@ -429,7 +429,7 @@ private class ApplicationService; private class ServiceResolutionContext(DbContextOptions options) : DbContext(options); - [ConditionalFact] + [Fact] public void Can_use_GetInfrastructure_with_inferred_generic_to_get_service_provider() { using var context = new EarlyLearningCenter(); @@ -438,7 +438,7 @@ public void Can_use_GetInfrastructure_with_inferred_generic_to_get_service_provi context.GetInfrastructure().GetService()); } - [ConditionalFact] + [Fact] public void Logger_factory_registered_on_internal_service_provider_is_not_disposed() { var serviceProvider @@ -461,7 +461,7 @@ var appServiceProvider _ = context.Model; } - [ConditionalFact] + [Fact] public void Each_context_gets_new_scoped_services() { var serviceProvider = InMemoryTestHelpers.Instance.CreateServiceProvider(); @@ -479,7 +479,7 @@ public void Each_context_gets_new_scoped_services() } } - [ConditionalFact] + [Fact] public void Each_context_gets_new_scoped_services_with_explicit_config() { var serviceProvider = InMemoryTestHelpers.Instance.CreateServiceProvider(); @@ -502,7 +502,7 @@ public void Each_context_gets_new_scoped_services_with_explicit_config() } } - [ConditionalFact] + [Fact] public void Each_context_gets_new_scoped_services_with_implicit_services_and_explicit_config() { var options = new DbContextOptionsBuilder() @@ -523,7 +523,7 @@ public void Each_context_gets_new_scoped_services_with_implicit_services_and_exp } } - [ConditionalFact] + [Fact] public void Scoped_provider_services_can_be_obtained_from_configuration() { var serviceProvider = InMemoryTestHelpers.Instance.CreateServiceProvider(); @@ -553,7 +553,7 @@ public void Scoped_provider_services_can_be_obtained_from_configuration() } } - [ConditionalFact] + [Fact] public void Scoped_provider_services_can_be_obtained_from_configuration_with_implicit_service_provider() { var options = new DbContextOptionsBuilder().UseInternalServiceProvider(null) @@ -581,7 +581,7 @@ public void Scoped_provider_services_can_be_obtained_from_configuration_with_imp } } - [ConditionalFact] + [Fact] public void Requesting_a_singleton_always_returns_same_instance() { var provider = InMemoryTestHelpers.Instance.CreateServiceProvider(); @@ -591,7 +591,7 @@ public void Requesting_a_singleton_always_returns_same_instance() Assert.Same(contextServices1.GetRequiredService(), contextServices2.GetRequiredService()); } - [ConditionalFact] + [Fact] public void Requesting_a_scoped_service_always_returns_same_instance_in_scope() { var provider = InMemoryTestHelpers.Instance.CreateServiceProvider(); @@ -600,7 +600,7 @@ public void Requesting_a_scoped_service_always_returns_same_instance_in_scope() Assert.Same(contextServices.GetRequiredService(), contextServices.GetRequiredService()); } - [ConditionalFact] + [Fact] public void Requesting_a_scoped_service_always_returns_a_different_instance_in_a_different_scope() { var provider = InMemoryTestHelpers.Instance.CreateServiceProvider(); @@ -610,21 +610,21 @@ public void Requesting_a_scoped_service_always_returns_a_different_instance_in_a Assert.NotSame(contextServices1.GetRequiredService(), contextServices2.GetRequiredService()); } - [ConditionalFact] + [Fact] public void Default_services_are_registered_when_parameterless_constructor_used() { using var context = new EarlyLearningCenter(); Assert.IsType(context.GetService()); } - [ConditionalFact] + [Fact] public void Can_get_singleton_service_from_scoped_configuration() { using var context = new EarlyLearningCenter(); Assert.IsType(context.GetService()); } - [ConditionalFact] + [Fact] public void Can_start_with_custom_services_by_passing_in_base_service_provider() { var service = new FakeNavigationFixer(); @@ -687,7 +687,7 @@ public void TrackedFromQuery(InternalEntityEntry entry) => throw new NotImplementedException(); } - [ConditionalFact] + [Fact] public void Required_low_level_services_are_added_if_needed() { var serviceCollection = new ServiceCollection(); @@ -698,7 +698,7 @@ public void Required_low_level_services_are_added_if_needed() Assert.IsType(scope.ServiceProvider.GetRequiredService()); } - [ConditionalFact] + [Fact] public void Required_low_level_services_are_not_added_if_already_present() { var serviceCollection = new ServiceCollection(); @@ -713,7 +713,7 @@ public void Required_low_level_services_are_not_added_if_already_present() Assert.Same(loggerFactory, provider.GetRequiredService()); } - [ConditionalFact] + [Fact] public void Low_level_services_can_be_replaced_after_being_added() { var serviceCollection = new ServiceCollection(); @@ -728,7 +728,7 @@ public void Low_level_services_can_be_replaced_after_being_added() Assert.Same(loggerFactory, provider.GetRequiredService()); } - [ConditionalFact] + [Fact] public void Can_replace_already_registered_service_with_new_service() { var service = new FakeNavigationFixer(); @@ -741,7 +741,7 @@ public void Can_replace_already_registered_service_with_new_service() Assert.Same(service, context.GetService()); } - [ConditionalFact] + [Fact] public void Can_set_known_singleton_services_using_instance_sugar() { var modelSource = (IModelSource)new FakeModelSource(); @@ -755,7 +755,7 @@ public void Can_set_known_singleton_services_using_instance_sugar() Assert.Same(modelSource, context.GetService()); } - [ConditionalFact] + [Fact] public void Can_set_known_singleton_services_using_type_activation() { var services = new ServiceCollection() @@ -767,7 +767,7 @@ public void Can_set_known_singleton_services_using_type_activation() Assert.IsType(context.GetService()); } - [ConditionalFact] + [Fact] public void Can_set_known_context_scoped_services_using_type_activation() { var services = new ServiceCollection() @@ -779,7 +779,7 @@ public void Can_set_known_context_scoped_services_using_type_activation() Assert.IsType(context.GetService()); } - [ConditionalFact] + [Fact] public void Replaced_services_are_scoped_appropriately() { var provider = new ServiceCollection() @@ -813,7 +813,7 @@ public void Replaced_services_are_scoped_appropriately() context.Dispose(); } - [ConditionalFact] + [Fact] public void Can_get_replaced_singleton_service_from_scoped_configuration() { var provider = new ServiceCollection() @@ -962,7 +962,7 @@ public IModel GetModel( => new Model(); } - [ConditionalFact] + [Fact] public void Can_use_derived_context() { var singleton = new object[3]; @@ -985,7 +985,7 @@ public void Can_use_derived_context() } } - [ConditionalFact] + [Fact] public void Can_use_derived_context_with_external_services() { var appServiceProvider = new ServiceCollection() @@ -1017,7 +1017,7 @@ public void Can_use_derived_context_with_external_services() } } - [ConditionalFact] + [Fact] public void Can_use_derived_context_with_options() { var options = new DbContextOptionsBuilder() @@ -1047,7 +1047,7 @@ public void Can_use_derived_context_with_options() } } - [ConditionalFact] + [Fact] public void Can_use_derived_context_with_options_and_external_services() { var appServiceProvider = new ServiceCollection() @@ -1087,7 +1087,7 @@ public void Can_use_derived_context_with_options_and_external_services() } } - [ConditionalFact] + [Fact] public void Can_use_derived_context_controlling_internal_services() { var internalServiceProvider = new ServiceCollection() @@ -1114,7 +1114,7 @@ public void Can_use_derived_context_controlling_internal_services() } } - [ConditionalFact] + [Fact] public void Can_use_derived_context_controlling_internal_services_with_options() { var internalServiceProvider = new ServiceCollection() @@ -1150,7 +1150,7 @@ public void Can_use_derived_context_controlling_internal_services_with_options() } } - [ConditionalFact] + [Fact] public void Can_use_derived_context_with_options_no_OnConfiguring() { var options = new DbContextOptionsBuilder() @@ -1180,7 +1180,7 @@ public void Can_use_derived_context_with_options_no_OnConfiguring() } } - [ConditionalFact] + [Fact] public void Can_use_derived_context_with_options_and_external_services_no_OnConfiguring() { var appServiceProvider = new ServiceCollection() @@ -1221,7 +1221,7 @@ public void Can_use_derived_context_with_options_and_external_services_no_OnConf } } - [ConditionalFact] + [Fact] public void Can_use_derived_context_controlling_internal_services_with_options_no_OnConfiguring() { var internalServiceProvider = new ServiceCollection() @@ -1256,7 +1256,7 @@ public void Can_use_derived_context_controlling_internal_services_with_options_n } } - [ConditionalFact] + [Fact] public void Can_use_non_derived_context_with_options() { var options = new DbContextOptionsBuilder() @@ -1283,7 +1283,7 @@ public void Can_use_non_derived_context_with_options() } } - [ConditionalFact] + [Fact] public void Can_use_non_derived_context_with_options_and_external_services() { var appServiceProvider = new ServiceCollection() @@ -1326,7 +1326,7 @@ public void Can_use_non_derived_context_with_options_and_external_services() } } - [ConditionalFact] + [Fact] public void Can_use_non_derived_context_controlling_internal_services_with_options() { var internalServiceProvider = new ServiceCollection() @@ -1361,7 +1361,7 @@ public void Can_use_non_derived_context_controlling_internal_services_with_optio } } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void Can_add_derived_context(bool useInterface) { var serviceCollection = new ServiceCollection(); @@ -1421,7 +1421,7 @@ public void Can_add_derived_context(bool useInterface) Assert.Throws(() => context2.Model); } - [ConditionalFact] + [Fact] public void Can_add_derived_context_with_external_services() { var appServiceProvider = new ServiceCollection() @@ -1462,7 +1462,7 @@ private class SomeAppService; private class SomeScopedAppService; - [ConditionalFact] + [Fact] public void Can_add_derived_context_with_options() { var appServiceProvider = new ServiceCollection() @@ -1517,7 +1517,7 @@ public void Can_add_derived_context_with_options() } } - [ConditionalFact] + [Fact] public void Can_add_derived_context_with_options_and_external_services() { var appServiceProvider = new ServiceCollection() @@ -1560,7 +1560,7 @@ public void Can_add_derived_context_with_options_and_external_services() } } - [ConditionalFact] + [Fact] public void Can_add_derived_context_controlling_internal_services() { var appServiceProvider = new ServiceCollection() @@ -1594,7 +1594,7 @@ public void Can_add_derived_context_controlling_internal_services() } } - [ConditionalFact] + [Fact] public void Can_add_derived_context_controlling_internal_services_with_options() { var internalServiceProvider = new ServiceCollection() @@ -1635,7 +1635,7 @@ public void Can_add_derived_context_controlling_internal_services_with_options() } } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void Can_add_derived_context_one_service_provider_with_options(bool useInterface) { var serviceCollection = new ServiceCollection().AddEntityFrameworkInMemoryDatabase(); @@ -1688,7 +1688,7 @@ public void Can_add_derived_context_one_service_provider_with_options(bool useIn } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Can_add_derived_context_one_service_provider_with_options_and_external_services(bool singletonOptions) { var appServiceProvider = new ServiceCollection() @@ -1739,7 +1739,7 @@ public void Can_add_derived_context_one_service_provider_with_options_and_extern } } - [ConditionalFact] + [Fact] public void Can_add_derived_context_with_options_no_OnConfiguring() { var appServiceProvider = new ServiceCollection() @@ -1775,7 +1775,7 @@ public void Can_add_derived_context_with_options_no_OnConfiguring() } } - [ConditionalFact] + [Fact] public void Can_add_derived_context_with_options_and_external_services_no_OnConfiguring() { var appServiceProvider = new ServiceCollection() @@ -1816,7 +1816,7 @@ public void Can_add_derived_context_with_options_and_external_services_no_OnConf } } - [ConditionalFact] + [Fact] public void Can_add_derived_context_controlling_internal_services_with_options_no_OnConfiguring() { var internalServiceProvider = new ServiceCollection() @@ -1856,7 +1856,7 @@ public void Can_add_derived_context_controlling_internal_services_with_options_n } } - [ConditionalFact] + [Fact] public void Can_add_derived_context_one_provider_with_options_no_OnConfiguring() { var appServiceProvider = new ServiceCollection() @@ -1894,7 +1894,7 @@ public void Can_add_derived_context_one_provider_with_options_no_OnConfiguring() } } - [ConditionalFact] + [Fact] public void Can_add_derived_context_one_provider_with_options_and_external_services_no_OnConfiguring() { var appServiceProvider = new ServiceCollection() @@ -1935,7 +1935,7 @@ public void Can_add_derived_context_one_provider_with_options_and_external_servi } } - [ConditionalFact] + [Fact] public void Can_add_non_derived_context_with_options() { var appServiceProvider = new ServiceCollection() @@ -1970,7 +1970,7 @@ public void Can_add_non_derived_context_with_options() } } - [ConditionalFact] + [Fact] public void Can_add_non_derived_context_with_options_and_external_services() { var appServiceProvider = new ServiceCollection() @@ -2013,7 +2013,7 @@ public void Can_add_non_derived_context_with_options_and_external_services() } } - [ConditionalFact] + [Fact] public void Can_add_non_derived_context_controlling_internal_services_with_options() { var appServiceProvider = new ServiceCollection() @@ -2051,7 +2051,7 @@ public void Can_add_non_derived_context_controlling_internal_services_with_optio } } - [ConditionalTheory, InlineData(true, false), InlineData(false, false), InlineData(true, true)] + [Theory, InlineData(true, false), InlineData(false, false), InlineData(true, true)] public void Can_add_derived_context_as_singleton(bool addSingletonFirst, bool useDbContext) { var appServiceProvider = useDbContext @@ -2102,7 +2102,7 @@ public void Can_add_derived_context_as_singleton(bool addSingletonFirst, bool us Assert.Same(context1.Model, context2.Model); } - [ConditionalFact] + [Fact] public void Throws_when_used_with_parameterless_constructor_context() { var serviceCollection = new ServiceCollection(); @@ -2117,7 +2117,7 @@ public void Throws_when_used_with_parameterless_constructor_context() .Message); } - [ConditionalTheory, InlineData(true, false), InlineData(false, false), InlineData(true, true)] + [Theory, InlineData(true, false), InlineData(false, false), InlineData(true, true)] public void Can_add_derived_context_as_singleton_controlling_internal_services(bool addSingletonFirst, bool useDbContext) { var appServiceProvider = useDbContext @@ -2182,7 +2182,7 @@ public void Can_add_derived_context_as_singleton_controlling_internal_services(b Assert.Same(context1.Model, context2.Model); } - [ConditionalTheory, InlineData(true, false, ServiceLifetime.Scoped), InlineData(false, false, ServiceLifetime.Scoped), + [Theory, InlineData(true, false, ServiceLifetime.Scoped), InlineData(false, false, ServiceLifetime.Scoped), InlineData(true, true, ServiceLifetime.Transient), InlineData(true, true, ServiceLifetime.Scoped), InlineData(true, true, ServiceLifetime.Singleton)] public void Can_add_derived_context_as_transient(bool addTransientFirst, bool useDbContext, ServiceLifetime optionsLifetime) @@ -2269,7 +2269,7 @@ public void Can_add_derived_context_as_transient(bool addTransientFirst, bool us } } - [ConditionalTheory, InlineData(true, false), InlineData(false, false), InlineData(true, true)] + [Theory, InlineData(true, false), InlineData(false, false), InlineData(true, true)] public void Can_add_derived_context_as_transient_controlling_internal_services(bool addTransientFirst, bool useDbContext) { var appServiceProvider = useDbContext @@ -2338,7 +2338,7 @@ public void Can_add_derived_context_as_transient_controlling_internal_services(b } } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void Can_add_non_derived_context_as_singleton(bool addSingletonFirst) { var appServiceProvider = addSingletonFirst @@ -2389,7 +2389,7 @@ public void Can_add_non_derived_context_as_singleton(bool addSingletonFirst) Assert.Same(context1.Model, context2.Model); } - [ConditionalTheory, InlineData(true, true), InlineData(false, true), InlineData(true, false), InlineData(false, false)] + [Theory, InlineData(true, true), InlineData(false, true), InlineData(true, false), InlineData(false, false)] public void Can_add_non_derived_context_as_singleton_controlling_internal_services(bool addSingletonFirst, bool addEfFirst) { var serviceCollection = new ServiceCollection(); @@ -2459,7 +2459,7 @@ public void Can_add_non_derived_context_as_singleton_controlling_internal_servic Assert.Same(context1.Model, context2.Model); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void Can_add_non_derived_context_as_transient(bool addTransientFirst) { var appServiceProvider = addTransientFirst @@ -2514,7 +2514,7 @@ public void Can_add_non_derived_context_as_transient(bool addTransientFirst) } } - [ConditionalTheory, InlineData(true, true), InlineData(false, true), InlineData(true, false), InlineData(false, false)] + [Theory, InlineData(true, true), InlineData(false, true), InlineData(true, false), InlineData(false, false)] public void Can_add_non_derived_context_as_transient_controlling_internal_services(bool addTransientFirst, bool addEfFirst) { var serviceCollection = new ServiceCollection(); @@ -2588,7 +2588,7 @@ public void Can_add_non_derived_context_as_transient_controlling_internal_servic } } - [ConditionalFact] + [Fact] public void Can_use_logger_before_context_exists_and_after_disposed() { var appServiceProvider = new ServiceCollection() @@ -2612,7 +2612,7 @@ public void Can_use_logger_before_context_exists_and_after_disposed() } } - [ConditionalFact] + [Fact] public void Can_use_logger_before_context_exists_and_after_disposed_when_logger_factory_replaced() { WrappingLoggerFactory loggerFactory = null; @@ -2651,7 +2651,7 @@ public void Can_use_logger_before_context_exists_and_after_disposed_when_logger_ Assert.Equal(3, loggerFactory.CreatedLoggers.Count(n => n == DbLoggerCategory.Infrastructure.Name)); } - [ConditionalFact] + [Fact] public void Can_use_memory_cache_before_context_exists_and_after_disposed() { var appServiceProvider = new ServiceCollection() @@ -2678,7 +2678,7 @@ public void Can_use_memory_cache_before_context_exists_and_after_disposed() Assert.Same(memoryCache, appServiceProvider.GetService()); } - [ConditionalFact] + [Fact] public void Can_use_memory_cache_before_context_exists_and_after_disposed_when_logger_factory_replaced() { var replacecMemoryCache = new MemoryCache(new MemoryCacheOptions()); @@ -2706,7 +2706,7 @@ public void Can_use_memory_cache_before_context_exists_and_after_disposed_when_l Assert.Same(memoryCache, appServiceProvider.GetService()); } - [ConditionalFact] + [Fact] public void Throws_with_new_when_no_EF_services() { var options = new DbContextOptionsBuilder() @@ -2718,7 +2718,7 @@ public void Throws_with_new_when_no_EF_services() Assert.Throws(() => new ConstructorTestContextWithSets(options)).Message); } - [ConditionalFact] + [Fact] public void Throws_with_add_when_no_EF_services() { var appServiceProvider = new ServiceCollection() @@ -2734,7 +2734,7 @@ public void Throws_with_add_when_no_EF_services() .Message); } - [ConditionalFact] + [Fact] public void Throws_with_new_when_no_EF_services_and_no_sets() { var options = new DbContextOptionsBuilder() @@ -2746,7 +2746,7 @@ public void Throws_with_new_when_no_EF_services_and_no_sets() Assert.Throws(() => new ConstructorTestContext1A(options)).Message); } - [ConditionalFact] + [Fact] public void Throws_with_add_when_no_EF_services_and_no_sets() { var appServiceProvider = new ServiceCollection() @@ -2762,7 +2762,7 @@ public void Throws_with_add_when_no_EF_services_and_no_sets() .Message); } - [ConditionalFact] + [Fact] public void Throws_with_new_when_no_provider() { var serviceCollection = new ServiceCollection(); @@ -2779,7 +2779,7 @@ public void Throws_with_new_when_no_provider() Assert.Throws(() => context.Model).Message); } - [ConditionalFact] + [Fact] public void Throws_with_add_when_no_provider() { var serviceCollection = new ServiceCollection(); @@ -2799,7 +2799,7 @@ public void Throws_with_add_when_no_provider() Assert.Throws(() => context.Model).Message); } - [ConditionalFact] + [Fact] public void Throws_with_new_when_no_provider_and_no_sets() { var serviceCollection = new ServiceCollection(); @@ -2816,7 +2816,7 @@ public void Throws_with_new_when_no_provider_and_no_sets() Assert.Throws(() => context.Model).Message); } - [ConditionalFact] + [Fact] public void Throws_with_add_when_no_provider_and_no_sets() { var serviceCollection = new ServiceCollection(); @@ -2836,7 +2836,7 @@ public void Throws_with_add_when_no_provider_and_no_sets() Assert.Throws(() => context.Model).Message); } - [ConditionalFact] + [Fact] public void Throws_with_new_when_no_EF_services_because_parameterless_constructor() { using var context = new ConstructorTestContextNoConfigurationWithSets(); @@ -2845,7 +2845,7 @@ public void Throws_with_new_when_no_EF_services_because_parameterless_constructo Assert.Throws(() => context.Model).Message); } - [ConditionalFact] + [Fact] public void Throws_with_add_when_no_EF_services_because_parameterless_constructor() { var appServiceProvider = new ServiceCollection() @@ -2862,7 +2862,7 @@ public void Throws_with_add_when_no_EF_services_because_parameterless_constructo Assert.Throws(() => context.Model).Message); } - [ConditionalFact] + [Fact] public void Throws_with_new_when_no_EF_services_and_no_sets_because_parameterless_constructor() { using var context = new ConstructorTestContextNoConfiguration(); @@ -2871,7 +2871,7 @@ public void Throws_with_new_when_no_EF_services_and_no_sets_because_parameterles Assert.Throws(() => context.Model).Message); } - [ConditionalFact] + [Fact] public void Throws_with_add_when_no_EF_services_and_no_sets_because_parameterless_constructor() { var appServiceProvider = new ServiceCollection() @@ -2888,7 +2888,7 @@ public void Throws_with_add_when_no_EF_services_and_no_sets_because_parameterles Assert.Throws(() => context.Model).Message); } - [ConditionalFact] + [Fact] public void Can_replace_services_in_OnConfiguring() { object replacedSingleton; @@ -2968,7 +2968,7 @@ private class CustomInMemoryValueGeneratorSelector( private class CustomInMemoryTableFactory(ILoggingOptions loggingOptions, IInMemorySingletonOptions options) : InMemoryTableFactory(loggingOptions, options); - [ConditionalFact] + [Fact] public void Can_replace_services_in_passed_options() { var options = new DbContextOptionsBuilder() @@ -3007,7 +3007,7 @@ public void Can_replace_services_in_passed_options() } } - [ConditionalFact] + [Fact] public void Can_replace_services_using_AddDbContext() { var appServiceProvider = new ServiceCollection() @@ -3054,7 +3054,7 @@ public void Can_replace_services_using_AddDbContext() } } - [ConditionalFact] + [Fact] public void Can_replace_all_multiple_registrations() { var options = new DbContextOptionsBuilder() @@ -3074,7 +3074,7 @@ public void Can_replace_all_multiple_registrations() } } - [ConditionalFact] + [Fact] public void Can_replace_specific_implementation_of_multiple_registrations() { var options = new DbContextOptionsBuilder() @@ -3097,7 +3097,7 @@ public void Can_replace_specific_implementation_of_multiple_registrations() } } - [ConditionalFact] + [Fact] public void Can_replace_specific_implementation_of_single_registration() { var options = new DbContextOptionsBuilder() @@ -3113,7 +3113,7 @@ public void Can_replace_specific_implementation_of_single_registration() } } - [ConditionalFact] + [Fact] public void Can_replace_specific_implementation_and_all_others() { var options = new DbContextOptionsBuilder() @@ -3132,7 +3132,7 @@ public void Can_replace_specific_implementation_and_all_others() } } - [ConditionalFact] + [Fact] public void Throws_replacing_services_in_OnConfiguring_when_UseInternalServiceProvider() { using var context = new ReplaceServiceContext2(); @@ -3155,7 +3155,7 @@ protected internal override void OnConfiguring(DbContextOptionsBuilder optionsBu .UseInMemoryDatabase(Guid.NewGuid().ToString()); } - [ConditionalFact] + [Fact] public void Throws_replacing_services_in_options_when_UseInternalServiceProvider() { var options = new DbContextOptionsBuilder() @@ -3174,7 +3174,7 @@ public void Throws_replacing_services_in_options_when_UseInternalServiceProvider Assert.Throws(() => new ConstructorTestContextWithOC3A(options)).Message); } - [ConditionalFact] + [Fact] public void Throws_replacing_services_with_AddDbContext_when_UseInternalServiceProvider() { var appServiceProvider = new ServiceCollection() @@ -3196,7 +3196,7 @@ public void Throws_replacing_services_with_AddDbContext_when_UseInternalServiceP .Message); } - [ConditionalFact] + [Fact] public void Throws_setting_LoggerFactory_in_OnConfiguring_when_UseInternalServiceProvider() { using var context = new SetLoggerFactoryContext(); @@ -3220,7 +3220,7 @@ protected internal override void OnConfiguring(DbContextOptionsBuilder optionsBu .UseInMemoryDatabase(Guid.NewGuid().ToString()); } - [ConditionalFact] + [Fact] public void Throws_adding_singleton_interceptors_in_OnConfiguring_when_UseInternalServiceProvider() { using var context = new SingletonInterceptorFactoryContext(); @@ -3246,7 +3246,7 @@ protected internal override void OnConfiguring(DbContextOptionsBuilder optionsBu private class DummyInterceptor : ISingletonInterceptor; - [ConditionalFact] + [Fact] public void Throws_setting_LoggerFactory_in_options_when_UseInternalServiceProvider() { var options = new DbContextOptionsBuilder() @@ -3266,7 +3266,7 @@ public void Throws_setting_LoggerFactory_in_options_when_UseInternalServiceProvi Assert.Throws(() => new ConstructorTestContextWithOC3A(options)).Message); } - [ConditionalFact] + [Fact] public void Throws_setting_LoggerFactory_with_AddDbContext_when_UseInternalServiceProvider() { var appServiceProvider = new ServiceCollection() @@ -3288,7 +3288,7 @@ public void Throws_setting_LoggerFactory_with_AddDbContext_when_UseInternalServi .Message); } - [ConditionalFact] + [Fact] public void Throws_setting_MemoryCache_in_OnConfiguring_when_UseInternalServiceProvider() { using var context = new SetMemoryCacheContext(); @@ -3312,7 +3312,7 @@ protected internal override void OnConfiguring(DbContextOptionsBuilder optionsBu .UseInMemoryDatabase(Guid.NewGuid().ToString()); } - [ConditionalFact] + [Fact] public void Throws_setting_MemoryCache_in_options_when_UseInternalServiceProvider() { var options = new DbContextOptionsBuilder() @@ -3332,7 +3332,7 @@ public void Throws_setting_MemoryCache_in_options_when_UseInternalServiceProvide Assert.Throws(() => new ConstructorTestContextWithOC3A(options)).Message); } - [ConditionalFact] + [Fact] public void Throws_setting_MemoryCache_with_AddDbContext_when_UseInternalServiceProvider() { var appServiceProvider = new ServiceCollection() @@ -3371,7 +3371,7 @@ public void Remove(object key) } } - [ConditionalFact] + [Fact] public void Throws_changing_sensitive_data_logging_in_OnConfiguring_when_UseInternalServiceProvider() { using (var context = new ChangeSdlCacheContext(false)) @@ -3405,7 +3405,7 @@ protected internal override void OnConfiguring(DbContextOptionsBuilder optionsBu .UseInMemoryDatabase(Guid.NewGuid().ToString()); } - [ConditionalFact] + [Fact] public void Throws_changing_sensitive_data_logging_in_options_when_UseInternalServiceProvider() { var serviceProvider = new ServiceCollection() @@ -3437,7 +3437,7 @@ public void Throws_changing_sensitive_data_logging_in_options_when_UseInternalSe } } - [ConditionalFact] + [Fact] public void Throws_changing_sensitive_data_logging_with_AddDbContext_when_UseInternalServiceProvider() { var serviceProvider = new ServiceCollection() @@ -3475,7 +3475,7 @@ public void Throws_changing_sensitive_data_logging_with_AddDbContext_when_UseInt } } - [ConditionalFact] + [Fact] public void Throws_changing_warnings_default_in_OnConfiguring_when_UseInternalServiceProvider() { var serviceProvider = new ServiceCollection() @@ -3497,7 +3497,7 @@ public void Throws_changing_warnings_default_in_OnConfiguring_when_UseInternalSe } } - [ConditionalFact] + [Fact] public void Throws_changing_warnings_in_OnConfiguring_when_UseInternalServiceProvider() { var serviceProvider = new ServiceCollection() @@ -3533,7 +3533,7 @@ protected internal override void OnConfiguring(DbContextOptionsBuilder optionsBu .UseInMemoryDatabase(Guid.NewGuid().ToString()); } - [ConditionalFact] + [Fact] public void Throws_changing_warnings_config_in_options_when_UseInternalServiceProvider() { var serviceProvider = new ServiceCollection() @@ -3565,7 +3565,7 @@ public void Throws_changing_warnings_config_in_options_when_UseInternalServicePr } } - [ConditionalFact] + [Fact] public void Throws_changing_warnings_config_with_AddDbContext_when_UseInternalServiceProvider() { var serviceProvider = new ServiceCollection() @@ -3724,7 +3724,7 @@ private class ConstructorTestContextWithOC2B( ILoggerFactory loggerFactory, IMemoryCache memoryCache) : ConstructorTestContextWithOCBase(internalServicesProvider, loggerFactory, memoryCache); - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public void Can_add_non_derived_context_and_override_options(bool useOptions) { var serviceCollection = new ServiceCollection().AddEntityFrameworkInMemoryDatabase(); @@ -3768,7 +3768,7 @@ public void Can_add_non_derived_context_and_override_options(bool useOptions) } } - [ConditionalFact] + [Fact] public void Non_derived_options_dont_override_derived_options() { var serviceCollection = new ServiceCollection().AddEntityFrameworkInMemoryDatabase(); @@ -3807,7 +3807,7 @@ public void Non_derived_options_dont_override_derived_options() } } - [ConditionalFact] + [Fact] public void Throws_when_wrong_DbContextOptions_used() { var options = new DbContextOptionsBuilder() @@ -3819,7 +3819,7 @@ public void Throws_when_wrong_DbContextOptions_used() Assert.Throws(() => new NonGenericOptions2(options)).Message); } - [ConditionalFact] + [Fact] public void Throws_when_adding_two_contexts_using_non_generic_options() { var appServiceProvider = new ServiceCollection() @@ -3843,7 +3843,7 @@ private class NonGenericOptions1(DbContextOptions options) : DbContext(options); private class NonGenericOptions2(DbContextOptions options) : DbContext(options); - [ConditionalFact] + [Fact] public void AddDbContext_adds_options_for_all_types() { var services = new ServiceCollection() @@ -3860,7 +3860,7 @@ public void AddDbContext_adds_options_for_all_types() .Count()); } - [ConditionalFact] + [Fact] public void Last_DbContextOptions_in_serviceCollection_selected() { var services = new ServiceCollection() @@ -3871,7 +3871,7 @@ public void Last_DbContextOptions_in_serviceCollection_selected() Assert.Equal(typeof(NonGenericOptions2), services.GetService().ContextType); } - [ConditionalFact] + [Fact] public void Can_resolve_multiple_contexts_in_hierarchy_with_appropriate_constructors() { var services = new ServiceCollection() @@ -3912,7 +3912,7 @@ protected DerivedContext1(DbContextOptions options) private class DerivedContext2(DbContextOptions options) : DerivedContext1(options); - [ConditionalFact] + [Fact] public void RemoveDbContext_removes_all_context_services() { var serviceCollection = new ServiceCollection() @@ -3931,7 +3931,7 @@ public void RemoveDbContext_removes_all_context_services() Assert.DoesNotContain(serviceCollection, d => d.ServiceType == typeof(IDbContextOptionsConfiguration)); } - [ConditionalFact] + [Fact] public void RemoveDbContext_does_not_remove_services_for_different_context() { var serviceCollection = new ServiceCollection() @@ -3954,7 +3954,7 @@ public void RemoveDbContext_does_not_remove_services_for_different_context() Assert.Contains(serviceCollection, d => d.ServiceType == typeof(IDbContextOptionsConfiguration)); } - [ConditionalFact] + [Fact] public void RemoveDbContext_with_removeConfigurationOnly_only_removes_configurations() { var serviceCollection = new ServiceCollection() @@ -3973,7 +3973,7 @@ public void RemoveDbContext_with_removeConfigurationOnly_only_removes_configurat Assert.DoesNotContain(serviceCollection, d => d.ServiceType == typeof(IDbContextOptionsConfiguration)); } - [ConditionalFact] + [Fact] public void RemoveDbContext_allows_re_registration_with_different_provider() { var serviceCollection = new ServiceCollection() @@ -3998,7 +3998,7 @@ public void RemoveDbContext_allows_re_registration_with_different_provider() context.GetService().FindExtension().StoreName); } - [ConditionalFact] + [Fact] public void RemoveDbContext_removes_pooled_context_factory_services() { var serviceCollection = new ServiceCollection() @@ -4021,7 +4021,7 @@ public void RemoveDbContext_removes_pooled_context_factory_services() Assert.DoesNotContain(serviceCollection, d => d.ServiceType == typeof(IDbContextPool)); } - [ConditionalFact] + [Fact] public void RemoveDbContext_removes_pooled_context_services() { var serviceCollection = new ServiceCollection() diff --git a/test/EFCore.Tests/DbContextTest.Tracking.cs b/test/EFCore.Tests/DbContextTest.Tracking.cs index c9e2b83dae9..313b57f92a2 100644 --- a/test/EFCore.Tests/DbContextTest.Tracking.cs +++ b/test/EFCore.Tests/DbContextTest.Tracking.cs @@ -5,23 +5,23 @@ namespace Microsoft.EntityFrameworkCore; public partial class DbContextTest { - [ConditionalFact] + [Fact] public Task Can_add_existing_entities_to_context_to_be_deleted() => TrackEntitiesTest((c, e) => c.Remove(e), (c, e) => c.Remove(e), EntityState.Deleted); - [ConditionalFact] + [Fact] public Task Can_add_new_entities_to_context_with_graph_method() => TrackEntitiesTest((c, e) => c.Add(e), (c, e) => c.Add(e), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_new_entities_to_context_with_graph_method_async() => TrackEntitiesTest((c, e) => c.AddAsync(e), (c, e) => c.AddAsync(e), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_existing_entities_to_context_to_be_attached_with_graph_method() => TrackEntitiesTest((c, e) => c.Attach(e), (c, e) => c.Attach(e), EntityState.Unchanged); - [ConditionalFact] + [Fact] public Task Can_add_existing_entities_to_context_to_be_updated_with_graph_method() => TrackEntitiesTest((c, e) => c.Update(e), (c, e) => c.Update(e), EntityState.Modified); @@ -121,23 +121,23 @@ private static async Task TrackEntitiesTest( Assert.Same(dependentEntry.GetInfrastructure(), context.Entry(dependent).GetInfrastructure()); } - [ConditionalFact] + [Fact] public Task Can_add_multiple_new_entities_to_context() => TrackMultipleEntitiesTest((c, e) => c.AddRange(e[0], e[1]), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_multiple_new_entities_to_context_async() => TrackMultipleEntitiesTest((c, e) => c.AddRangeAsync(e[0], e[1]), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_multiple_existing_entities_to_context_to_be_attached() => TrackMultipleEntitiesTest((c, e) => c.AttachRange(e[0], e[1]), EntityState.Unchanged); - [ConditionalFact] + [Fact] public Task Can_add_multiple_existing_entities_to_context_to_be_updated() => TrackMultipleEntitiesTest((c, e) => c.UpdateRange(e[0], e[1]), EntityState.Modified); - [ConditionalFact] + [Fact] public Task Can_add_multiple_existing_entities_to_context_to_be_deleted() => TrackMultipleEntitiesTest((c, e) => c.RemoveRange(e[0], e[1]), EntityState.Deleted); @@ -230,23 +230,23 @@ private static async Task TrackMultipleEntitiesTest( Assert.Equal(expectedState, context.Entry(dependent).State); } - [ConditionalFact] + [Fact] public Task Can_add_existing_entities_with_default_value_to_context_to_be_deleted() => TrackEntitiesDefaultValueTest((c, e) => c.Remove(e), (c, e) => c.Remove(e), EntityState.Deleted); - [ConditionalFact] + [Fact] public Task Can_add_new_entities_with_default_value_to_context_with_graph_method() => TrackEntitiesDefaultValueTest((c, e) => c.Add(e), (c, e) => c.Add(e), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_new_entities_with_default_value_to_context_with_graph_method_async() => TrackEntitiesDefaultValueTest((c, e) => c.AddAsync(e), (c, e) => c.AddAsync(e), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_existing_entities_with_default_value_to_context_to_be_attached_with_graph_method() => TrackEntitiesDefaultValueTest((c, e) => c.Attach(e), (c, e) => c.Attach(e), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_existing_entities_with_default_value_to_context_to_be_updated_with_graph_method() => TrackEntitiesDefaultValueTest((c, e) => c.Update(e), (c, e) => c.Update(e), EntityState.Added); @@ -308,23 +308,23 @@ private static async Task TrackEntitiesDefaultValueTest( Assert.Same(productEntry1.GetInfrastructure(), context.Entry(product1).GetInfrastructure()); } - [ConditionalFact] + [Fact] public Task Can_add_existing_entities_with_sentinel_value_to_context_to_be_deleted() => TrackEntitiesSentinelValueTest((c, e) => c.Remove(e), (c, e) => c.Remove(e), (c, e) => c.Remove(e), EntityState.Deleted); - [ConditionalFact] + [Fact] public Task Can_add_new_entities_with_sentinel_value_to_context_with_graph_method() => TrackEntitiesSentinelValueTest((c, e) => c.Add(e), (c, e) => c.Add(e), (c, e) => c.Add(e), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_new_entities_with_sentinel_value_to_context_with_graph_method_async() => TrackEntitiesSentinelValueTest((c, e) => c.AddAsync(e), (c, e) => c.AddAsync(e), (c, e) => c.AddAsync(e), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_existing_entities_with_sentinel_value_to_context_to_be_attached_with_graph_method() => TrackEntitiesSentinelValueTest((c, e) => c.Attach(e), (c, e) => c.Attach(e), (c, e) => c.Attach(e), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_existing_entities_with_sentinel_value_to_context_to_be_updated_with_graph_method() => TrackEntitiesSentinelValueTest((c, e) => c.Update(e), (c, e) => c.Update(e), (c, e) => c.Update(e), EntityState.Added); @@ -378,24 +378,24 @@ private static async Task TrackEntitiesSentinelValueTest( Assert.Same(guEntry1.GetInfrastructure(), context.Entry(gu1).GetInfrastructure()); } - [ConditionalFact] + [Fact] public Task Can_add_multiple_new_entities_with_default_values_to_context() => TrackMultipleEntitiesDefaultValuesTest((c, e) => c.AddRange(e[0]), (c, e) => c.AddRange(e[0]), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_multiple_new_entities_with_default_values_to_context_async() => TrackMultipleEntitiesDefaultValuesTest( (c, e) => c.AddRangeAsync(e[0]), (c, e) => c.AddRangeAsync(e[0]), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_multiple_existing_entities_with_default_values_to_context_to_be_attached() => TrackMultipleEntitiesDefaultValuesTest((c, e) => c.AttachRange(e[0]), (c, e) => c.AttachRange(e[0]), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_multiple_existing_entities_with_default_values_to_context_to_be_updated() => TrackMultipleEntitiesDefaultValuesTest((c, e) => c.UpdateRange(e[0]), (c, e) => c.UpdateRange(e[0]), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_multiple_existing_entities_with_default_values_to_context_to_be_deleted() => TrackMultipleEntitiesDefaultValuesTest( (c, e) => c.RemoveRange(e[0]), (c, e) => c.RemoveRange(e[0]), EntityState.Deleted); @@ -463,11 +463,11 @@ private static async Task TrackMultipleEntitiesDefaultValuesTest( Assert.Equal(expectedState, context.Entry(product1).State); } - [ConditionalFact] + [Fact] public void Can_add_no_new_entities_to_context() => TrackNoEntitiesTest(c => c.AddRange(), c => c.AddRange()); - [ConditionalFact] + [Fact] public async Task Can_add_no_new_entities_to_context_async() { using var context = new EarlyLearningCenter(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -476,15 +476,15 @@ public async Task Can_add_no_new_entities_to_context_async() Assert.Empty(context.ChangeTracker.Entries()); } - [ConditionalFact] + [Fact] public void Can_add_no_existing_entities_to_context_to_be_attached() => TrackNoEntitiesTest(c => c.AttachRange(), c => c.AttachRange()); - [ConditionalFact] + [Fact] public void Can_add_no_existing_entities_to_context_to_be_updated() => TrackNoEntitiesTest(c => c.UpdateRange(), c => c.UpdateRange()); - [ConditionalFact] + [Fact] public void Can_add_no_existing_entities_to_context_to_be_deleted() => TrackNoEntitiesTest(c => c.RemoveRange(), c => c.RemoveRange()); @@ -496,23 +496,23 @@ private static void TrackNoEntitiesTest(Action categoryAdder, Action< Assert.Empty(context.ChangeTracker.Entries()); } - [ConditionalFact] + [Fact] public Task Can_add_existing_entities_to_context_to_be_deleted_non_generic() => TrackEntitiesTestNonGeneric((c, e) => c.Remove(e), (c, e) => c.Remove(e), EntityState.Deleted); - [ConditionalFact] + [Fact] public Task Can_add_new_entities_to_context_non_generic_graph() => TrackEntitiesTestNonGeneric((c, e) => c.AddAsync(e), (c, e) => c.AddAsync(e), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_new_entities_to_context_non_generic_graph_async() => TrackEntitiesTestNonGeneric((c, e) => c.Add(e), (c, e) => c.Add(e), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_existing_entities_to_context_to_be_attached_non_generic_graph() => TrackEntitiesTestNonGeneric((c, e) => c.Attach(e), (c, e) => c.Attach(e), EntityState.Unchanged); - [ConditionalFact] + [Fact] public Task Can_add_existing_entities_to_context_to_be_updated_non_generic_graph() => TrackEntitiesTestNonGeneric((c, e) => c.Update(e), (c, e) => c.Update(e), EntityState.Modified); @@ -612,23 +612,23 @@ private static async Task TrackEntitiesTestNonGeneric( Assert.Same(dependentEntry.GetInfrastructure(), context.Entry(dependent).GetInfrastructure()); } - [ConditionalFact] + [Fact] public Task Can_add_multiple_existing_entities_to_context_to_be_deleted_Enumerable() => TrackMultipleEntitiesTestEnumerable((c, e) => c.RemoveRange(e), EntityState.Deleted); - [ConditionalFact] + [Fact] public Task Can_add_multiple_new_entities_to_context_Enumerable_graph() => TrackMultipleEntitiesTestEnumerable((c, e) => c.AddRange(e), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_multiple_new_entities_to_context_Enumerable_graph_async() => TrackMultipleEntitiesTestEnumerable((c, e) => c.AddRangeAsync(e), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_multiple_existing_entities_to_context_to_be_attached_Enumerable_graph() => TrackMultipleEntitiesTestEnumerable((c, e) => c.AttachRange(e), EntityState.Unchanged); - [ConditionalFact] + [Fact] public Task Can_add_multiple_existing_entities_to_context_to_be_updated_Enumerable_graph() => TrackMultipleEntitiesTestEnumerable((c, e) => c.UpdateRange(e), EntityState.Modified); @@ -721,23 +721,23 @@ private static async Task TrackMultipleEntitiesTestEnumerable( Assert.Equal(expectedState, context.Entry(dependent).State); } - [ConditionalFact] + [Fact] public Task Can_add_existing_entities_with_default_value_to_context_to_be_deleted_non_generic() => TrackEntitiesDefaultValuesTestNonGeneric((c, e) => c.Remove(e), (c, e) => c.Remove(e), EntityState.Deleted); - [ConditionalFact] + [Fact] public Task Can_add_new_entities_with_default_value_to_context_non_generic_graph() => TrackEntitiesDefaultValuesTestNonGeneric((c, e) => c.Add(e), (c, e) => c.Add(e), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_new_entities_with_default_value_to_context_non_generic_graph_async() => TrackEntitiesDefaultValuesTestNonGeneric((c, e) => c.AddAsync(e), (c, e) => c.AddAsync(e), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_existing_entities_with_default_value_to_context_to_be_attached_non_generic_graph() => TrackEntitiesDefaultValuesTestNonGeneric((c, e) => c.Attach(e), (c, e) => c.Attach(e), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_existing_entities_with_default_value_to_context_to_be_updated_non_generic_graph() => TrackEntitiesDefaultValuesTestNonGeneric((c, e) => c.Update(e), (c, e) => c.Update(e), EntityState.Added); @@ -799,26 +799,26 @@ private static async Task TrackEntitiesDefaultValuesTestNonGeneric( Assert.Same(productEntry1.GetInfrastructure(), context.Entry(product1).GetInfrastructure()); } - [ConditionalFact] + [Fact] public Task Can_add_multiple_existing_entities_with_default_values_to_context_to_be_deleted_Enumerable() => TrackMultipleEntitiesDefaultValueTestEnumerable( (c, e) => c.RemoveRange(e), (c, e) => c.RemoveRange(e), EntityState.Deleted); - [ConditionalFact] + [Fact] public Task Can_add_multiple_new_entities_with_default_values_to_context_Enumerable_graph() => TrackMultipleEntitiesDefaultValueTestEnumerable((c, e) => c.AddRange(e), (c, e) => c.AddRange(e), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_multiple_new_entities_with_default_values_to_context_Enumerable_graph_async() => TrackMultipleEntitiesDefaultValueTestEnumerable( (c, e) => c.AddRangeAsync(e), (c, e) => c.AddRangeAsync(e), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_multiple_existing_entities_with_default_values_to_context_to_be_attached_Enumerable_graph() => TrackMultipleEntitiesDefaultValueTestEnumerable( (c, e) => c.AttachRange(e), (c, e) => c.AttachRange(e), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_multiple_existing_entities_with_default_values_to_context_to_be_updated_Enumerable_graph() => TrackMultipleEntitiesDefaultValueTestEnumerable( (c, e) => c.UpdateRange(e), (c, e) => c.UpdateRange(e), EntityState.Added); @@ -888,15 +888,15 @@ await productAdder( Assert.Equal(expectedState, context.Entry(product1).State); } - [ConditionalFact] + [Fact] public void Can_add_no_existing_entities_to_context_to_be_deleted_Enumerable() => TrackNoEntitiesTestEnumerable((c, e) => c.RemoveRange(e), (c, e) => c.RemoveRange(e)); - [ConditionalFact] + [Fact] public void Can_add_no_new_entities_to_context_Enumerable_graph() => TrackNoEntitiesTestEnumerable((c, e) => c.AddRange(e), (c, e) => c.AddRange(e)); - [ConditionalFact] + [Fact] public async Task Can_add_no_new_entities_to_context_Enumerable_graph_async() { using var context = new EarlyLearningCenter(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -905,11 +905,11 @@ public async Task Can_add_no_new_entities_to_context_Enumerable_graph_async() Assert.Empty(context.ChangeTracker.Entries()); } - [ConditionalFact] + [Fact] public void Can_add_no_existing_entities_to_context_to_be_attached_Enumerable_graph() => TrackNoEntitiesTestEnumerable((c, e) => c.AttachRange(e), (c, e) => c.AttachRange(e)); - [ConditionalFact] + [Fact] public void Can_add_no_existing_entities_to_context_to_be_updated_Enumerable_graph() => TrackNoEntitiesTestEnumerable((c, e) => c.UpdateRange(e), (c, e) => c.UpdateRange(e)); @@ -923,7 +923,7 @@ private static void TrackNoEntitiesTestEnumerable( Assert.Empty(context.ChangeTracker.Entries()); } - [ConditionalTheory, InlineData(false, false, true), InlineData(false, false, false), InlineData(false, true, false), + [Theory, InlineData(false, false, true), InlineData(false, false, false), InlineData(false, true, false), InlineData(true, false, true), InlineData(true, false, false), InlineData(true, true, false)] public async Task Can_add_new_entities_to_context_with_key_generation_graph(bool attachFirst, bool useEntry, bool async) { @@ -970,7 +970,7 @@ public async Task Can_add_new_entities_to_context_with_key_generation_graph(bool Assert.Equal(EntityState.Added, categoryEntry.State); } - [ConditionalFact] + [Fact] public async Task Can_use_Remove_to_change_entity_state() { await ChangeStateWithMethod((c, e) => c.Remove(e), EntityState.Detached, EntityState.Deleted); @@ -980,7 +980,7 @@ public async Task Can_use_Remove_to_change_entity_state() await ChangeStateWithMethod((c, e) => c.Remove(e), EntityState.Added, EntityState.Detached); } - [ConditionalFact] + [Fact] public async Task Can_use_graph_Add_to_change_entity_state() { await ChangeStateWithMethod((c, e) => c.Add(e), EntityState.Detached, EntityState.Added); @@ -990,7 +990,7 @@ public async Task Can_use_graph_Add_to_change_entity_state() await ChangeStateWithMethod((c, e) => c.Add(e), EntityState.Added, EntityState.Added); } - [ConditionalFact] + [Fact] public async Task Can_use_graph_Add_to_change_entity_state_async() { await ChangeStateWithMethod((c, e) => c.AddAsync(e), EntityState.Detached, EntityState.Added); @@ -1000,7 +1000,7 @@ public async Task Can_use_graph_Add_to_change_entity_state_async() await ChangeStateWithMethod((c, e) => c.AddAsync(e), EntityState.Added, EntityState.Added); } - [ConditionalFact] + [Fact] public async Task Can_use_graph_Attach_to_change_entity_state() { await ChangeStateWithMethod((c, e) => c.Attach(e), EntityState.Detached, EntityState.Unchanged); @@ -1010,7 +1010,7 @@ public async Task Can_use_graph_Attach_to_change_entity_state() await ChangeStateWithMethod((c, e) => c.Attach(e), EntityState.Added, EntityState.Unchanged); } - [ConditionalFact] + [Fact] public async Task Can_use_graph_Update_to_change_entity_state() { await ChangeStateWithMethod((c, e) => c.Update(e), EntityState.Detached, EntityState.Modified); @@ -1060,7 +1060,7 @@ private async Task ChangeStateWithMethod( Assert.Equal(expectedState, entry.State); } - [ConditionalFact] // Issue #1246 + [Fact] // Issue #1246 public void Can_attach_with_inconsistent_FK_principal_first_fully_fixed_up() { using var context = new EarlyLearningCenter(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -1111,7 +1111,7 @@ public void Can_attach_with_inconsistent_FK_principal_first_fully_fixed_up() Assert.Equal(EntityState.Unchanged, context.Entry(product).State); } - [ConditionalFact] // Issue #1246 + [Fact] // Issue #1246 public void Can_attach_with_inconsistent_FK_dependent_first_fully_fixed_up() { using var context = new EarlyLearningCenter(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -1160,7 +1160,7 @@ public void Can_attach_with_inconsistent_FK_dependent_first_fully_fixed_up() Assert.Equal(EntityState.Unchanged, context.Entry(product).State); } - [ConditionalFact] // Issue #1246 + [Fact] // Issue #1246 public void Can_attach_with_inconsistent_FK_principal_first_collection_not_fixed_up() { using var context = new EarlyLearningCenter(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -1209,7 +1209,7 @@ public void Can_attach_with_inconsistent_FK_principal_first_collection_not_fixed Assert.Equal(EntityState.Unchanged, context.Entry(product).State); } - [ConditionalFact] // Issue #1246 + [Fact] // Issue #1246 public void Can_attach_with_inconsistent_FK_dependent_first_collection_not_fixed_up() { using var context = new EarlyLearningCenter(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -1258,7 +1258,7 @@ public void Can_attach_with_inconsistent_FK_dependent_first_collection_not_fixed Assert.Equal(EntityState.Unchanged, context.Entry(product).State); } - [ConditionalFact] // Issue #1246 + [Fact] // Issue #1246 public void Can_attach_with_inconsistent_FK_principal_first_reference_not_fixed_up() { using var context = new EarlyLearningCenter(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -1306,7 +1306,7 @@ public void Can_attach_with_inconsistent_FK_principal_first_reference_not_fixed_ Assert.Equal(EntityState.Unchanged, context.Entry(product).State); } - [ConditionalFact] // Issue #1246 + [Fact] // Issue #1246 public void Can_attach_with_inconsistent_FK_dependent_first_reference_not_fixed_up() { using var context = new EarlyLearningCenter(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -1354,7 +1354,7 @@ public void Can_attach_with_inconsistent_FK_dependent_first_reference_not_fixed_ Assert.Equal(EntityState.Unchanged, context.Entry(product).State); } - [ConditionalFact] // Issue #1246 + [Fact] // Issue #1246 public void Can_set_set_to_Unchanged_with_inconsistent_FK_principal_first_fully_fixed_up() { using var context = new EarlyLearningCenter(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -1405,7 +1405,7 @@ public void Can_set_set_to_Unchanged_with_inconsistent_FK_principal_first_fully_ Assert.Equal(EntityState.Unchanged, context.Entry(product).State); } - [ConditionalFact] // Issue #1246 + [Fact] // Issue #1246 public void Can_set_set_to_Unchanged_with_inconsistent_FK_dependent_first_fully_fixed_up() { using var context = new EarlyLearningCenter(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -1454,7 +1454,7 @@ public void Can_set_set_to_Unchanged_with_inconsistent_FK_dependent_first_fully_ Assert.Equal(EntityState.Unchanged, context.Entry(product).State); } - [ConditionalFact] // Issue #1246 + [Fact] // Issue #1246 public void Can_set_set_to_Unchanged_with_inconsistent_FK_principal_first_collection_not_fixed_up() { using var context = new EarlyLearningCenter(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -1503,7 +1503,7 @@ public void Can_set_set_to_Unchanged_with_inconsistent_FK_principal_first_collec Assert.Equal(EntityState.Unchanged, context.Entry(product).State); } - [ConditionalFact] // Issue #1246 + [Fact] // Issue #1246 public void Can_set_set_to_Unchanged_with_inconsistent_FK_dependent_first_collection_not_fixed_up() { using var context = new EarlyLearningCenter(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -1552,7 +1552,7 @@ public void Can_set_set_to_Unchanged_with_inconsistent_FK_dependent_first_collec Assert.Equal(EntityState.Unchanged, context.Entry(product).State); } - [ConditionalFact] // Issue #1246 + [Fact] // Issue #1246 public void Can_set_set_to_Unchanged_with_inconsistent_FK_principal_first_reference_not_fixed_up() { using var context = new EarlyLearningCenter(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -1600,7 +1600,7 @@ public void Can_set_set_to_Unchanged_with_inconsistent_FK_principal_first_refere Assert.Equal(EntityState.Unchanged, context.Entry(product).State); } - [ConditionalFact] // Issue #1246 + [Fact] // Issue #1246 public void Can_set_set_to_Unchanged_with_inconsistent_FK_dependent_first_reference_not_fixed_up() { using var context = new EarlyLearningCenter(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -1648,7 +1648,7 @@ public void Can_set_set_to_Unchanged_with_inconsistent_FK_dependent_first_refere Assert.Equal(EntityState.Unchanged, context.Entry(product).State); } - [ConditionalFact] // Issue #1246 + [Fact] // Issue #1246 public void Can_attach_with_inconsistent_FK_principal_first_fully_fixed_up_with_tracked_FK_match() { using var context = new EarlyLearningCenter(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -1714,7 +1714,7 @@ public void Can_attach_with_inconsistent_FK_principal_first_fully_fixed_up_with_ Assert.Equal(EntityState.Unchanged, context.Entry(product).State); } - [ConditionalFact] // Issue #1246 + [Fact] // Issue #1246 public void Can_attach_with_inconsistent_FK_dependent_first_fully_fixed_up_with_tracked_FK_match() { using var context = new EarlyLearningCenter(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -1783,7 +1783,7 @@ public void Can_attach_with_inconsistent_FK_dependent_first_fully_fixed_up_with_ Assert.Equal(EntityState.Unchanged, context.Entry(product).State); } - [ConditionalFact] // Issue #1246 + [Fact] // Issue #1246 public void Can_attach_with_inconsistent_FK_principal_first_collection_not_fixed_up_with_tracked_FK_match() { using var context = new EarlyLearningCenter(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -1852,7 +1852,7 @@ public void Can_attach_with_inconsistent_FK_principal_first_collection_not_fixed Assert.Equal(EntityState.Unchanged, context.Entry(product).State); } - [ConditionalFact] // Issue #1246 + [Fact] // Issue #1246 public void Can_attach_with_inconsistent_FK_dependent_first_collection_not_fixed_up_with_tracked_FK_match() { using var context = new EarlyLearningCenter(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -1921,7 +1921,7 @@ public void Can_attach_with_inconsistent_FK_dependent_first_collection_not_fixed Assert.Equal(EntityState.Unchanged, context.Entry(product).State); } - [ConditionalFact] // Issue #1246 + [Fact] // Issue #1246 public void Can_attach_with_inconsistent_FK_principal_first_reference_not_fixed_up_with_tracked_FK_match() { using var context = new EarlyLearningCenter(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -1985,7 +1985,7 @@ public void Can_attach_with_inconsistent_FK_principal_first_reference_not_fixed_ Assert.Equal(EntityState.Unchanged, context.Entry(product).State); } - [ConditionalFact] // Issue #1246 + [Fact] // Issue #1246 public void Can_attach_with_inconsistent_FK_dependent_first_reference_not_fixed_up_with_tracked_FK_match() { using var context = new EarlyLearningCenter(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -2048,7 +2048,7 @@ public void Can_attach_with_inconsistent_FK_dependent_first_reference_not_fixed_ Assert.Equal(EntityState.Unchanged, context.Entry(product).State); } - [ConditionalFact] // Issue #1246 + [Fact] // Issue #1246 public void Can_set_set_to_Unchanged_with_inconsistent_FK_principal_first_fully_fixed_up_with_tracked_FK_match() { using var context = new EarlyLearningCenter(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -2113,7 +2113,7 @@ public void Can_set_set_to_Unchanged_with_inconsistent_FK_principal_first_fully_ Assert.Equal(EntityState.Unchanged, context.Entry(product).State); } - [ConditionalFact] // Issue #1246 + [Fact] // Issue #1246 public void Can_set_set_to_Unchanged_with_inconsistent_FK_dependent_first_fully_fixed_up_with_tracked_FK_match() { using var context = new EarlyLearningCenter(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -2182,7 +2182,7 @@ public void Can_set_set_to_Unchanged_with_inconsistent_FK_dependent_first_fully_ Assert.Equal(EntityState.Unchanged, context.Entry(product).State); } - [ConditionalFact] // Issue #1246 + [Fact] // Issue #1246 public void Can_set_set_to_Unchanged_with_inconsistent_FK_principal_first_collection_not_fixed_up_with_tracked_FK_match() { using var context = new EarlyLearningCenter(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -2248,7 +2248,7 @@ public void Can_set_set_to_Unchanged_with_inconsistent_FK_principal_first_collec Assert.Equal(EntityState.Unchanged, context.Entry(product).State); } - [ConditionalFact] // Issue #1246 + [Fact] // Issue #1246 public void Can_set_set_to_Unchanged_with_inconsistent_FK_dependent_first_collection_not_fixed_up_with_tracked_FK_match() { using var context = new EarlyLearningCenter(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -2317,7 +2317,7 @@ public void Can_set_set_to_Unchanged_with_inconsistent_FK_dependent_first_collec Assert.Equal(EntityState.Unchanged, context.Entry(product).State); } - [ConditionalFact] // Issue #1246 + [Fact] // Issue #1246 public void Can_set_set_to_Unchanged_with_inconsistent_FK_principal_first_reference_not_fixed_up_with_tracked_FK_match() { using var context = new EarlyLearningCenter(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -2381,7 +2381,7 @@ public void Can_set_set_to_Unchanged_with_inconsistent_FK_principal_first_refere Assert.Equal(EntityState.Unchanged, context.Entry(product).State); } - [ConditionalFact] // Issue #1246 + [Fact] // Issue #1246 public void Can_set_set_to_Unchanged_with_inconsistent_FK_dependent_first_reference_not_fixed_up_with_tracked_FK_match() { using var context = new EarlyLearningCenter(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -2444,7 +2444,7 @@ public void Can_set_set_to_Unchanged_with_inconsistent_FK_dependent_first_refere Assert.Equal(EntityState.Unchanged, context.Entry(product).State); } - [ConditionalTheory, InlineData(CascadeTiming.Immediate), InlineData(CascadeTiming.Never), + [Theory, InlineData(CascadeTiming.Immediate), InlineData(CascadeTiming.Never), InlineData(CascadeTiming.OnSaveChanges)] // Issue #17828 public void Can_reparent_optional_without_DetectChanges(CascadeTiming cascadeTiming) { @@ -2483,7 +2483,7 @@ public void Can_reparent_optional_without_DetectChanges(CascadeTiming cascadeTim Assert.Same(parent2, child.Parent77); } - [ConditionalTheory, InlineData(CascadeTiming.Immediate), InlineData(CascadeTiming.Never), + [Theory, InlineData(CascadeTiming.Immediate), InlineData(CascadeTiming.Never), InlineData(CascadeTiming.OnSaveChanges)] // Issue #17828 public void Can_reparent_required_without_DetectChanges(CascadeTiming cascadeTiming) { diff --git a/test/EFCore.Tests/DbContextTest.cs b/test/EFCore.Tests/DbContextTest.cs index cff89812c32..36fb81bdf12 100644 --- a/test/EFCore.Tests/DbContextTest.cs +++ b/test/EFCore.Tests/DbContextTest.cs @@ -13,7 +13,7 @@ namespace Microsoft.EntityFrameworkCore; public partial class DbContextTest { - [ConditionalFact] + [Fact] public void Set_throws_for_type_not_in_model() { var optionsBuilder = new DbContextOptionsBuilder(); @@ -27,7 +27,7 @@ public void Set_throws_for_type_not_in_model() Assert.Equal(CoreStrings.InvalidSetType(nameof(Category)), ex.Message); } - [ConditionalFact] + [Fact] public void Set_throws_for_type_not_in_model_same_type_with_different_namespace() { using var context = new EarlyLearningCenter(); @@ -38,7 +38,7 @@ public void Set_throws_for_type_not_in_model_same_type_with_different_namespace( typeof(DifferentNamespace.Category).DisplayName(), typeof(Category).DisplayName()), ex.Message); } - [ConditionalFact] + [Fact] public void Local_calls_DetectChanges() { var provider = @@ -74,7 +74,7 @@ public void Local_calls_DetectChanges() Assert.Equal(EntityState.Modified, entry.State); } - [ConditionalFact] + [Fact] public void Local_does_not_call_DetectChanges_when_disabled() { var provider = @@ -117,7 +117,7 @@ public void Local_does_not_call_DetectChanges_when_disabled() Assert.Equal(EntityState.Modified, entry.State); } - [ConditionalFact] + [Fact] public void Set_throws_for_shared_types() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -133,7 +133,7 @@ public void Set_throws_for_shared_types() Assert.Equal(CoreStrings.InvalidSetSharedType(typeof(Question).ShortDisplayName()), ex.Message); } - [ConditionalFact] + [Fact] public void SaveChanges_calls_DetectChanges() { var services = new ServiceCollection() @@ -160,7 +160,7 @@ public void SaveChanges_calls_DetectChanges() Assert.True(changeDetector.DetectChangesCalled); } - [ConditionalFact] + [Fact] public async Task SaveChangesAsync_with_canceled_token() { var loggerFactory = new ListLoggerFactory(); @@ -188,7 +188,7 @@ public async Task SaveChangesAsync_with_canceled_token() Assert.DoesNotContain(CoreEventId.SaveChangesFailed, loggerFactory.Log.Select(l => l.Id)); } - [ConditionalFact] + [Fact] public void Entry_methods_check_arguments() { var services = new ServiceCollection() @@ -280,7 +280,7 @@ public bool DetectComplexCollectionChanges(InternalEntryBase entry, IComplexProp => throw new NotImplementedException(); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Can_change_navigation_while_attaching_entities(bool async) { using (var context = new ActiveAddContext()) @@ -357,7 +357,7 @@ protected internal override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public void Context_can_build_model_using_DbSet_properties() { using var context = new EarlyLearningCenter(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -392,7 +392,7 @@ public void Context_can_build_model_using_DbSet_properties() guType.GetProperties().Select(p => p.Name).ToArray()); } - [ConditionalFact] + [Fact] public void Context_will_use_explicit_model_if_set_in_config() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -406,7 +406,7 @@ public void Context_will_use_explicit_model_if_set_in_config() context.Model.GetEntityTypes().Select(e => e.Name).ToArray()); } - [ConditionalFact] + [Fact] public void Context_initializes_all_DbSet_properties_with_setters() { using var context = new ContextWithSets(); @@ -428,7 +428,7 @@ public DbSet GetGus() => Gus; } - [ConditionalFact] + [Fact] public void Model_cannot_be_used_in_OnModelCreating() { var serviceProvider = new ServiceCollection() @@ -457,7 +457,7 @@ protected internal override void OnConfiguring(DbContextOptionsBuilder optionsBu .UseInternalServiceProvider(_serviceProvider); } - [ConditionalFact] + [Fact] public void Context_cannot_be_used_in_OnModelCreating() { var serviceProvider = new ServiceCollection() @@ -486,7 +486,7 @@ protected internal override void OnConfiguring(DbContextOptionsBuilder optionsBu .UseInternalServiceProvider(_serviceProvider); } - [ConditionalFact] + [Fact] public void Context_cannot_be_used_in_OnConfiguring() { var serviceProvider = new ServiceCollection() @@ -516,7 +516,7 @@ protected internal override void OnConfiguring(DbContextOptionsBuilder optionsBu } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task SaveChanges_calls_DetectChanges_by_default(bool async) { var provider = InMemoryTestHelpers.Instance.CreateServiceProvider(); @@ -561,7 +561,7 @@ public async Task SaveChanges_calls_DetectChanges_by_default(bool async) } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Auto_DetectChanges_for_SaveChanges_can_be_switched_off(bool async) { var provider = InMemoryTestHelpers.Instance.CreateServiceProvider(); @@ -619,7 +619,7 @@ protected internal override void OnConfiguring(DbContextOptionsBuilder optionsBu .UseInternalServiceProvider(_serviceProvider); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void DetectChanges_is_called_for_cascade_delete_unless_disabled(bool autoDetectChangesEnabled) { var detectedChangesFor = new List(); @@ -688,7 +688,7 @@ public void DetectChanges_is_called_for_cascade_delete_unless_disabled(bool auto } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Entry_calls_DetectChanges_by_default(bool useGenericOverload) { using var context = new ButTheHedgehogContext(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -722,7 +722,7 @@ public void Entry_calls_DetectChanges_by_default(bool useGenericOverload) Assert.Equal(EntityState.Modified, entry.State); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void Auto_DetectChanges_for_Entry_can_be_switched_off(bool useGenericOverload) { using var context = new ButTheHedgehogContext(InMemoryTestHelpers.Instance.CreateServiceProvider()); @@ -758,7 +758,7 @@ public void Auto_DetectChanges_for_Entry_can_be_switched_off(bool useGenericOver Assert.Equal(EntityState.Unchanged, entry.State); } - [ConditionalFact] + [Fact] public async Task Add_Attach_Remove_Update_do_not_call_DetectChanges() { var provider = @@ -1220,7 +1220,7 @@ public override void DetectChanges(IStateManager stateManager) } } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task It_throws_object_disposed_exception(bool async) { var context = new DbContext(new DbContextOptions()); @@ -1314,7 +1314,7 @@ public async Task It_throws_object_disposed_exception(bool async) Assert.Throws(() => ((IInfrastructure)context).Instance).Message); } - [ConditionalFact] + [Fact] public void It_throws_with_derived_name() { var context = new EarlyLearningCenter(); @@ -1363,7 +1363,7 @@ public void Dispose() } } - [ConditionalFact] + [Fact] public void Adding_entities_with_shadow_keys_should_not_throw() { using (var context = new NullShadowKeyContext()) diff --git a/test/EFCore.Tests/DbFunctionsTest.cs b/test/EFCore.Tests/DbFunctionsTest.cs index 3a39ec19dd7..3ee3bcf497e 100644 --- a/test/EFCore.Tests/DbFunctionsTest.cs +++ b/test/EFCore.Tests/DbFunctionsTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore; public class DbFunctionsTest { - [ConditionalFact] + [Fact] public void Like_on_client_throws() => Assert.Equal( CoreStrings.FunctionOnClient(nameof(DbFunctionsExtensions.Like)), diff --git a/test/EFCore.Tests/DbSetInitializerTest.cs b/test/EFCore.Tests/DbSetInitializerTest.cs index 5b4c29b3d40..7d386cd627f 100644 --- a/test/EFCore.Tests/DbSetInitializerTest.cs +++ b/test/EFCore.Tests/DbSetInitializerTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore; public class DbSetInitializerTest { - [ConditionalFact] + [Fact] public void Initializes_all_entity_set_properties_with_setters() { var setFinder = new FakeSetFinder(); diff --git a/test/EFCore.Tests/DbSetSourceTest.cs b/test/EFCore.Tests/DbSetSourceTest.cs index 5c5aa18ae9f..1ecc6942491 100644 --- a/test/EFCore.Tests/DbSetSourceTest.cs +++ b/test/EFCore.Tests/DbSetSourceTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore; public class DbSetSourceTest { - [ConditionalFact] + [Fact] public void Can_create_new_generic_DbSet() { var context = InMemoryTestHelpers.Instance.CreateContext(); @@ -19,7 +19,7 @@ public void Can_create_new_generic_DbSet() Assert.IsType>(set); } - [ConditionalFact] + [Fact] public void Always_creates_a_new_DbSet_instance() { var context = InMemoryTestHelpers.Instance.CreateContext(); @@ -29,7 +29,7 @@ public void Always_creates_a_new_DbSet_instance() Assert.NotSame(factorySource.Create(context, typeof(Random)), factorySource.Create(context, typeof(Random))); } - [ConditionalFact] + [Fact] public void Can_create_new_generic_DbSet_for_shared_type() { var context = InMemoryTestHelpers.Instance.CreateContext(); @@ -41,7 +41,7 @@ public void Can_create_new_generic_DbSet_for_shared_type() Assert.IsType>(set); } - [ConditionalFact] + [Fact] public void Always_creates_a_new_DbSet_instance_for_shared_type() { var context = InMemoryTestHelpers.Instance.CreateContext(); diff --git a/test/EFCore.Tests/DbSetTest.cs b/test/EFCore.Tests/DbSetTest.cs index 4302b850e7a..57d579f578b 100644 --- a/test/EFCore.Tests/DbSetTest.cs +++ b/test/EFCore.Tests/DbSetTest.cs @@ -12,7 +12,7 @@ namespace Microsoft.EntityFrameworkCore; public class DbSetTest { - [ConditionalFact] + [Fact] public void DbSets_are_cached() { DbSet set; @@ -30,7 +30,7 @@ public void DbSets_are_cached() } } - [ConditionalFact] + [Fact] public async Task Use_of_set_throws_if_context_is_disposed() { DbSet set; @@ -77,7 +77,7 @@ public async Task Use_of_set_throws_if_context_is_disposed() (await Assert.ThrowsAsync(() => set.ToListAsync())).Message); } - [ConditionalFact] + [Fact] public async Task Use_of_set_throws_if_obtained_from_disposed_context() { var context = new EarlyLearningCenter(); @@ -122,7 +122,7 @@ public async Task Use_of_set_throws_if_obtained_from_disposed_context() (await Assert.ThrowsAsync(() => set.ToListAsync())).Message); } - [ConditionalFact] + [Fact] public void Direct_use_of_Set_throws_if_context_disposed() { var context = new EarlyLearningCenter(); @@ -133,7 +133,7 @@ public void Direct_use_of_Set_throws_if_context_disposed() Assert.Throws(() => context.Set()).Message); } - [ConditionalFact] + [Fact] public void Use_of_LocalView_throws_if_context_is_disposed() { LocalView view; @@ -168,7 +168,7 @@ public void Use_of_LocalView_throws_if_context_is_disposed() Assert.Throws(() => view.GetEnumerator()).Message); } - [ConditionalFact] + [Fact] public void Using_ignored_entity_that_has_DbSet_on_context_throws_appropriately() { using var context = new IgnoredCntext(); @@ -196,23 +196,23 @@ private class IgnoredEntity public int Id { get; set; } } - [ConditionalFact] + [Fact] public Task Can_add_existing_entities_to_context_to_be_deleted() => TrackEntitiesTest((c, e) => c.Remove(e), (c, e) => c.Remove(e), EntityState.Deleted); - [ConditionalFact] + [Fact] public Task Can_add_new_entities_to_context_graph() => TrackEntitiesTest((c, e) => c.Add(e), (c, e) => c.Add(e), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_new_entities_to_context_graph_async() => TrackEntitiesTest((c, e) => c.AddAsync(e), (c, e) => c.AddAsync(e), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_existing_entities_to_context_to_be_attached_graph() => TrackEntitiesTest((c, e) => c.Attach(e), (c, e) => c.Attach(e), EntityState.Unchanged); - [ConditionalFact] + [Fact] public Task Can_add_existing_entities_to_context_to_be_updated_graph() => TrackEntitiesTest((c, e) => c.Update(e), (c, e) => c.Update(e), EntityState.Modified); @@ -272,35 +272,35 @@ private static async Task TrackEntitiesTest( Assert.Same(productEntry2.GetInfrastructure(), context.Entry(product2).GetInfrastructure()); } - [ConditionalFact] + [Fact] public Task Can_add_multiple_new_entities_to_set() => TrackMultipleEntitiesTest( (c, e) => c.Categories.AddRange(e[0], e[1]), (c, e) => c.Products.AddRange(e[0], e[1]), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_multiple_new_entities_to_set_async() => TrackMultipleEntitiesTest( (c, e) => c.Categories.AddRangeAsync(e[0], e[1]), (c, e) => c.Products.AddRangeAsync(e[0], e[1]), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_multiple_existing_entities_to_set_to_be_attached() => TrackMultipleEntitiesTest( (c, e) => c.Categories.AttachRange(e[0], e[1]), (c, e) => c.Products.AttachRange(e[0], e[1]), EntityState.Unchanged); - [ConditionalFact] + [Fact] public Task Can_add_multiple_existing_entities_to_set_to_be_updated() => TrackMultipleEntitiesTest( (c, e) => c.Categories.UpdateRange(e[0], e[1]), (c, e) => c.Products.UpdateRange(e[0], e[1]), EntityState.Modified); - [ConditionalFact] + [Fact] public Task Can_add_multiple_existing_entities_to_set_to_be_deleted() => TrackMultipleEntitiesTest( (c, e) => c.Categories.RemoveRange(e[0], e[1]), @@ -364,11 +364,11 @@ private static async Task TrackMultipleEntitiesTest( Assert.Equal(expectedState, context.Entry(product2).State); } - [ConditionalFact] + [Fact] public void Can_add_no_new_entities_to_set() => TrackNoEntitiesTest(c => c.Categories.AddRange(), c => c.Products.AddRange()); - [ConditionalFact] + [Fact] public async Task Can_add_no_new_entities_to_set_async() { using var context = new EarlyLearningCenter(); @@ -377,15 +377,15 @@ public async Task Can_add_no_new_entities_to_set_async() Assert.Empty(context.ChangeTracker.Entries()); } - [ConditionalFact] + [Fact] public void Can_add_no_existing_entities_to_set_to_be_attached() => TrackNoEntitiesTest(c => c.Categories.AttachRange(), c => c.Products.AttachRange()); - [ConditionalFact] + [Fact] public void Can_add_no_existing_entities_to_set_to_be_updated() => TrackNoEntitiesTest(c => c.Categories.UpdateRange(), c => c.Products.UpdateRange()); - [ConditionalFact] + [Fact] public void Can_add_no_existing_entities_to_set_to_be_deleted() => TrackNoEntitiesTest(c => c.Categories.RemoveRange(), c => c.Products.RemoveRange()); @@ -397,35 +397,35 @@ private static void TrackNoEntitiesTest(Action categoryAdde Assert.Empty(context.ChangeTracker.Entries()); } - [ConditionalFact] + [Fact] public Task Can_add_multiple_existing_entities_to_set_to_be_deleted_Enumerable() => TrackMultipleEntitiesTestEnumerable( (c, e) => c.Categories.RemoveRange(e), (c, e) => c.Products.RemoveRange(e), EntityState.Deleted); - [ConditionalFact] + [Fact] public Task Can_add_multiple_new_entities_to_set_Enumerable_graph() => TrackMultipleEntitiesTestEnumerable( (c, e) => c.Categories.AddRange(e), (c, e) => c.Products.AddRange(e), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_multiple_new_entities_to_set_Enumerable_graph_async() => TrackMultipleEntitiesTestEnumerable( (c, e) => c.Categories.AddRangeAsync(e), (c, e) => c.Products.AddRangeAsync(e), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_multiple_existing_entities_to_set_to_be_attached_Enumerable_graph() => TrackMultipleEntitiesTestEnumerable( (c, e) => c.Categories.AttachRange(e), (c, e) => c.Products.AttachRange(e), EntityState.Unchanged); - [ConditionalFact] + [Fact] public Task Can_add_multiple_existing_entities_to_set_to_be_updated_Enumerable_graph() => TrackMultipleEntitiesTestEnumerable( (c, e) => c.Categories.UpdateRange(e), @@ -491,15 +491,15 @@ await productAdder( Assert.Equal(expectedState, context.Entry(product2).State); } - [ConditionalFact] + [Fact] public void Can_add_no_existing_entities_to_set_to_be_deleted_Enumerable() => TrackNoEntitiesTestEnumerable((c, e) => c.Categories.RemoveRange(e), (c, e) => c.Products.RemoveRange(e)); - [ConditionalFact] + [Fact] public void Can_add_no_new_entities_to_set_Enumerable_graph() => TrackNoEntitiesTestEnumerable((c, e) => c.Categories.AddRange(e), (c, e) => c.Products.AddRange(e)); - [ConditionalFact] + [Fact] public async Task Can_add_no_new_entities_to_set_Enumerable_graph_async() { using var context = new EarlyLearningCenter(); @@ -508,11 +508,11 @@ public async Task Can_add_no_new_entities_to_set_Enumerable_graph_async() Assert.Empty(context.ChangeTracker.Entries()); } - [ConditionalFact] + [Fact] public void Can_add_no_existing_entities_to_set_to_be_attached_Enumerable_graph() => TrackNoEntitiesTestEnumerable((c, e) => c.Categories.AttachRange(e), (c, e) => c.Products.AttachRange(e)); - [ConditionalFact] + [Fact] public void Can_add_no_existing_entities_to_set_to_be_updated_Enumerable_graph() => TrackNoEntitiesTestEnumerable((c, e) => c.Categories.UpdateRange(e), (c, e) => c.Products.UpdateRange(e)); @@ -526,7 +526,7 @@ private static void TrackNoEntitiesTestEnumerable( Assert.Empty(context.ChangeTracker.Entries()); } - [ConditionalFact] + [Fact] public async Task Can_use_Add_to_change_entity_state() { await ChangeStateWithMethod((c, e) => c.Categories.Add(e), EntityState.Detached, EntityState.Added); @@ -536,7 +536,7 @@ public async Task Can_use_Add_to_change_entity_state() await ChangeStateWithMethod((c, e) => c.Categories.Add(e), EntityState.Added, EntityState.Added); } - [ConditionalFact] + [Fact] public async Task Can_use_Add_to_change_entity_state_async() { await ChangeStateWithMethod(async (c, e) => await c.Categories.AddAsync(e), EntityState.Detached, EntityState.Added); @@ -546,7 +546,7 @@ public async Task Can_use_Add_to_change_entity_state_async() await ChangeStateWithMethod(async (c, e) => await c.Categories.AddAsync(e), EntityState.Added, EntityState.Added); } - [ConditionalFact] + [Fact] public async Task Can_use_Attach_to_change_entity_state() { await ChangeStateWithMethod((c, e) => c.Categories.Attach(e), EntityState.Detached, EntityState.Unchanged); @@ -556,7 +556,7 @@ public async Task Can_use_Attach_to_change_entity_state() await ChangeStateWithMethod((c, e) => c.Categories.Attach(e), EntityState.Added, EntityState.Unchanged); } - [ConditionalFact] + [Fact] public async Task Can_use_Update_to_change_entity_state() { await ChangeStateWithMethod((c, e) => c.Categories.Update(e), EntityState.Detached, EntityState.Modified); @@ -566,7 +566,7 @@ public async Task Can_use_Update_to_change_entity_state() await ChangeStateWithMethod((c, e) => c.Categories.Update(e), EntityState.Added, EntityState.Modified); } - [ConditionalFact] + [Fact] public async Task Can_use_Remove_to_change_entity_state() { await ChangeStateWithMethod((c, e) => c.Categories.Remove(e), EntityState.Detached, EntityState.Deleted); @@ -605,7 +605,7 @@ private async Task ChangeStateWithMethod( Assert.Equal(expectedState, entry.State); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Can_add_new_entities_to_context_with_key_generation(bool async) { using var context = new EarlyLearningCenter(); @@ -636,7 +636,7 @@ public async Task Can_add_new_entities_to_context_with_key_generation(bool async Assert.Equal(EntityState.Added, categoryEntry.State); } - [ConditionalFact] + [Fact] public void Can_get_scoped_service_provider() { using var context = new EarlyLearningCenter(); @@ -645,7 +645,7 @@ public void Can_get_scoped_service_provider() ((IInfrastructure)context.Products).Instance); } - [ConditionalFact] + [Fact] public void Throws_when_using_with_IListSource() { using var context = new EarlyLearningCenter(); @@ -654,7 +654,7 @@ public void Throws_when_using_with_IListSource() Assert.Throws(() => ((IListSource)context.Gus).GetList()).Message); } - [ConditionalFact] + [Fact] public void Throws_when_using_query_with_IListSource() { using var context = new EarlyLearningCenter(); @@ -663,7 +663,7 @@ public void Throws_when_using_query_with_IListSource() Assert.Throws(() => ((IListSource)context.Gus.Distinct()).GetList()).Message); } - [ConditionalFact] + [Fact] public void Throws_when_using_Local_with_IListSource() { using var context = new EarlyLearningCenter(); @@ -672,7 +672,7 @@ public void Throws_when_using_Local_with_IListSource() Assert.Throws(() => ((IListSource)context.Gus.Local).GetList()).Message); } - [ConditionalFact] + [Fact] public void Can_enumerate_with_foreach() { using var context = new EarlyLearningCenter(); @@ -682,7 +682,7 @@ public void Can_enumerate_with_foreach() } } - [ConditionalFact] + [Fact] public async Task Can_enumerate_with_await_foreach() { using var context = new EarlyLearningCenter(); @@ -692,7 +692,7 @@ public async Task Can_enumerate_with_await_foreach() } } - [ConditionalFact] + [Fact] public async Task Can_enumerate_with_await_foreach_with_cancellation() { using var context = new EarlyLearningCenter(); diff --git a/test/EFCore.Tests/Design/MethodCallCodeFragmentTest.cs b/test/EFCore.Tests/Design/MethodCallCodeFragmentTest.cs index bc5ddd48864..48602aeeffa 100644 --- a/test/EFCore.Tests/Design/MethodCallCodeFragmentTest.cs +++ b/test/EFCore.Tests/Design/MethodCallCodeFragmentTest.cs @@ -5,14 +5,14 @@ namespace Microsoft.EntityFrameworkCore.Design; public class MethodCallCodeFragmentTest { - [ConditionalFact] + [Fact] public virtual void Ctor_throw_when_too_many_parameters_extension() { _ = new MethodCallCodeFragment(_extensionFuncMethodInfo, 1); Assert.Throws(() => new MethodCallCodeFragment(_extensionFuncMethodInfo, 1, 2)); } - [ConditionalFact] + [Fact] public virtual void Ctor_throw_when_too_many_parameters_instance() { _ = new MethodCallCodeFragment(_instanceFuncMethodInfo, 1); diff --git a/test/EFCore.Tests/Diagnostics/CoreEventIdTest.cs b/test/EFCore.Tests/Diagnostics/CoreEventIdTest.cs index 9fb0883cdb2..5705eb61d84 100644 --- a/test/EFCore.Tests/Diagnostics/CoreEventIdTest.cs +++ b/test/EFCore.Tests/Diagnostics/CoreEventIdTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.ChangeTracking.Internal; @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Diagnostics; public class CoreEventIdTest : EventIdTestBase { - [ConditionalFact] + [Fact] public void Every_eventId_has_a_logger_method_and_logs_when_level_enabled() { var propertyInfo = typeof(DateTime).GetTypeInfo().GetDeclaredProperty(nameof(DateTime.Now)); diff --git a/test/EFCore.Tests/Diagnostics/InterceptionResultTest.cs b/test/EFCore.Tests/Diagnostics/InterceptionResultTest.cs index 9e5ef88da9b..a5f5d356ae3 100644 --- a/test/EFCore.Tests/Diagnostics/InterceptionResultTest.cs +++ b/test/EFCore.Tests/Diagnostics/InterceptionResultTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore.Diagnostics; public class InterceptionResultTest { - [ConditionalFact] + [Fact] public void InterceptionResult_Result_throws_if_HasResult_is_false() => Assert.Equal( CoreStrings.NoInterceptionResult, diff --git a/test/EFCore.Tests/EFCore.Tests.csproj b/test/EFCore.Tests/EFCore.Tests.csproj index aa6260f3e87..5d6e4a26180 100644 --- a/test/EFCore.Tests/EFCore.Tests.csproj +++ b/test/EFCore.Tests/EFCore.Tests.csproj @@ -1,4 +1,4 @@ - + $(DefaultNetCoreTargetFramework) @@ -34,7 +34,6 @@ - diff --git a/test/EFCore.Tests/EFTest.cs b/test/EFCore.Tests/EFTest.cs index 196bd5dbcfd..f6b32450f74 100644 --- a/test/EFCore.Tests/EFTest.cs +++ b/test/EFCore.Tests/EFTest.cs @@ -5,13 +5,13 @@ namespace Microsoft.EntityFrameworkCore; public class EFTest { - [ConditionalFact] + [Fact] public void Property_throws_when_invoked_outside_of_query() => Assert.Equal( CoreStrings.PropertyMethodInvoked, Assert.Throws(() => EF.Property(new object(), "")).Message); - [ConditionalFact] + [Fact] public void CompiledQuery_throws_when_used_with_different_models() { using var context1 = new SwitchContext(); @@ -30,7 +30,7 @@ public void CompiledQuery_throws_when_used_with_different_models() _ = query(context1, new Bar()).ToList(); } - [ConditionalFact] + [Fact] public async Task CompiledQueryAsync_throws_when_used_with_different_models() { using var context1 = new SwitchContext(); diff --git a/test/EFCore.Tests/ExceptionTest.cs b/test/EFCore.Tests/ExceptionTest.cs index 0026c1840a4..cc59d197488 100644 --- a/test/EFCore.Tests/ExceptionTest.cs +++ b/test/EFCore.Tests/ExceptionTest.cs @@ -10,15 +10,15 @@ namespace Microsoft.EntityFrameworkCore; public class ExceptionTest { - [ConditionalFact] + [Fact] public void RetryLimitExceededException_exposes_public_empty_constructor() => new RetryLimitExceededException(); - [ConditionalFact] + [Fact] public void RetryLimitExceededException_exposes_public_string_constructor() => Assert.Equal("Foo", new RetryLimitExceededException("Foo").Message); - [ConditionalFact] + [Fact] public void RetryLimitExceededException_exposes_public_string_and_inner_exception_constructor() { var inner = new Exception(); @@ -29,15 +29,15 @@ public void RetryLimitExceededException_exposes_public_string_and_inner_exceptio Assert.Same(inner, ex.InnerException); } - [ConditionalFact] + [Fact] public void DbUpdateException_exposes_public_empty_constructor() => new DbUpdateException(); - [ConditionalFact] + [Fact] public void DbUpdateException_exposes_public_string_constructor() => Assert.Equal("Foo", new DbUpdateException("Foo").Message); - [ConditionalFact] + [Fact] public void DbUpdateException_exposes_public_string_and_inner_exception_constructor() { var inner = new Exception(); @@ -48,15 +48,15 @@ public void DbUpdateException_exposes_public_string_and_inner_exception_construc Assert.Same(inner, ex.InnerException); } - [ConditionalFact] + [Fact] public void DbUpdateConcurrencyException_exposes_public_empty_constructor() => new DbUpdateConcurrencyException(); - [ConditionalFact] + [Fact] public void DbUpdateConcurrencyException_exposes_public_string_constructor() => Assert.Equal("Foo", new DbUpdateConcurrencyException("Foo").Message); - [ConditionalFact] + [Fact] public void DbUpdateConcurrencyException_exposes_public_string_and_inner_exception_constructor() { var inner = new Exception(); @@ -67,7 +67,7 @@ public void DbUpdateConcurrencyException_exposes_public_string_and_inner_excepti Assert.Same(inner, ex.InnerException); } - [ConditionalFact] + [Fact] public void DbUpdateException_exposes_public_string_and_entries_constructor() { var entries = new List @@ -81,7 +81,7 @@ public void DbUpdateException_exposes_public_string_and_entries_constructor() Assert.Same(entries, exception.Entries); } - [ConditionalFact] + [Fact] public void DbUpdateException_exposes_public_string_and_inner_exception_and_entries_constructor() { var inner = new Exception(); diff --git a/test/EFCore.Tests/Extensions/EnumerableExtensionsTest.cs b/test/EFCore.Tests/Extensions/EnumerableExtensionsTest.cs index 70d1144113c..7fe183b32bc 100644 --- a/test/EFCore.Tests/Extensions/EnumerableExtensionsTest.cs +++ b/test/EFCore.Tests/Extensions/EnumerableExtensionsTest.cs @@ -7,27 +7,27 @@ namespace Microsoft.EntityFrameworkCore; public class EnumerableExtensionsTest { - [ConditionalFact] + [Fact] public void Order_by_ordinal_should_respect_case() => Assert.Equal(["A", "a", "b"], new[] { "b", "A", "a" }.OrderByOrdinal(s => s)); - [ConditionalFact] + [Fact] public void Join_empty_input_returns_empty_string() => Assert.Equal("", Array.Empty().Join()); - [ConditionalFact] + [Fact] public void Join_single_element_does_not_use_separator() => Assert.Equal("42", new object[] { 42 }.Join()); - [ConditionalFact] + [Fact] public void Join_should_use_comma_by_default() => Assert.Equal("42, bar", new object[] { 42, "bar" }.Join()); - [ConditionalFact] + [Fact] public void Join_should_use_explicit_separator_when_provided() => Assert.Equal("42-bar", new object[] { 42, "bar" }.Join("-")); - [ConditionalFact] + [Fact] public void Structural_sequence_equal_uses_structural_comparison_for_elements_() { var value1A = new byte[] { 1, 2, 3, 4 }; diff --git a/test/EFCore.Tests/Extensions/ExpressionExtensionsTest.cs b/test/EFCore.Tests/Extensions/ExpressionExtensionsTest.cs index af6806c5fd8..425a5ec0800 100644 --- a/test/EFCore.Tests/Extensions/ExpressionExtensionsTest.cs +++ b/test/EFCore.Tests/Extensions/ExpressionExtensionsTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore; public class ExpressionExtensionsTest { - [ConditionalFact] + [Fact] public void Get_property_access_should_return_property_info_when_valid_property_access_expression() { Expression> expression = d => d.Hour; @@ -19,7 +19,7 @@ public void Get_property_access_should_return_property_info_when_valid_property_ Assert.Equal("Hour", propertyInfo.Name); } - [ConditionalFact] + [Fact] public void Get_property_access_should_throw_when_not_property_access() { Expression> expression = d => 123; @@ -29,7 +29,7 @@ public void Get_property_access_should_throw_when_not_property_access() Assert.Throws(() => expression.GetPropertyAccess()).Message); } - [ConditionalFact] + [Fact] public void Get_property_access_should_throw_when_not_property_access_on_the_provided_argument() { var closure = DateTime.Now; @@ -40,7 +40,7 @@ public void Get_property_access_should_throw_when_not_property_access_on_the_pro Assert.Throws(() => expression.GetPropertyAccess()).Message); } - [ConditionalFact] + [Fact] public void Get_property_access_should_remove_convert() { Expression> expression = d => d.Hour; @@ -51,7 +51,7 @@ public void Get_property_access_should_remove_convert() Assert.Equal("Hour", propertyInfo.Name); } - [ConditionalFact] + [Fact] public void Get_property_access_list_should_return_property_info_collection() { Expression> expression = d => new { d.Date, d.Day }; @@ -64,7 +64,7 @@ public void Get_property_access_list_should_return_property_info_collection() Assert.Equal("Day", propertyInfos.Last().Name); } - [ConditionalFact] + [Fact] public void Get_property_access_should_handle_convert() { Expression> expression = d => d.Date; @@ -74,7 +74,7 @@ public void Get_property_access_should_handle_convert() Assert.NotNull(propertyInfos); } - [ConditionalFact] + [Fact] public void Get_property_access_list_should_handle_convert() { Expression> expression = d => new { d.Date, d.Day }; @@ -87,7 +87,7 @@ public void Get_property_access_list_should_handle_convert() Assert.Equal("Day", propertyInfos.Last().Name); } - [ConditionalFact] + [Fact] public void Get_property_access_list_should_throw_when_invalid_expression() { Expression> expression = d => new { P = d.AddTicks(23) }; @@ -97,7 +97,7 @@ public void Get_property_access_list_should_throw_when_invalid_expression() Assert.Throws(() => expression.GetPropertyAccessList()).Message); } - [ConditionalFact] + [Fact] public void Get_property_access_list_should_throw_when_property_access_not_on_the_provided_argument() { var closure = DateTime.Now; @@ -109,7 +109,7 @@ public void Get_property_access_list_should_throw_when_property_access_not_on_th Assert.Throws(() => expression.GetPropertyAccessList()).Message); } - [ConditionalFact] + [Fact] public void Get_member_access_should_return_property_info_when_valid_property_access_expression() { Expression> propertyExpression = d => d.Hour; @@ -120,7 +120,7 @@ public void Get_member_access_should_return_property_info_when_valid_property_ac Assert.Equal("Hour", memberInfo.Name); } - [ConditionalFact] + [Fact] public void Get_member_access_should_return_field_info_when_valid_field_access_expression() { Expression> fieldExpression = e => e.CompanyId; @@ -131,7 +131,7 @@ public void Get_member_access_should_return_field_info_when_valid_field_access_e Assert.Equal("CompanyId", memberInfo.Name); } - [ConditionalFact] + [Fact] public void Get_member_access_should_throw_when_not_member_access() { Expression> expression = e => 123; @@ -141,7 +141,7 @@ public void Get_member_access_should_throw_when_not_member_access() Assert.Throws(() => expression.GetMemberAccess()).Message); } - [ConditionalFact] + [Fact] public void Get_member_access_should_throw_when_not_member_access_on_the_provided_argument() { var closure = new ModelBuilderTest.EntityWithFields @@ -158,7 +158,7 @@ public void Get_member_access_should_throw_when_not_member_access_on_the_provide Assert.Throws(() => expression.GetMemberAccess()).Message); } - [ConditionalFact] + [Fact] public void Get_member_access_should_handle_convert() { // Note: CompanyId is an int, so we are converting int -> long @@ -170,7 +170,7 @@ public void Get_member_access_should_handle_convert() Assert.Equal("CompanyId", memberInfo.Name); } - [ConditionalFact] + [Fact] public void Get_member_access_list_should_handle_convert() { Expression> expression = e => new { e.Id, e.CompanyId }; @@ -183,7 +183,7 @@ public void Get_member_access_list_should_handle_convert() Assert.Equal("CompanyId", memberInfos.Last().Name); } - [ConditionalFact] + [Fact] public void Get_member_access_list_should_throw_when_invalid_expression() { Expression> expression = e => new { P = e.Id + e.CompanyId }; @@ -193,7 +193,7 @@ public void Get_member_access_list_should_throw_when_invalid_expression() Assert.Throws(() => expression.GetMemberAccessList()).Message); } - [ConditionalFact] + [Fact] public void Get_member_access_list_should_throw_when_member_access_not_on_the_provided_argument() { var closure = new ModelBuilderTest.EntityWithFields diff --git a/test/EFCore.Tests/Extensions/PropertyExtensionsTest.cs b/test/EFCore.Tests/Extensions/PropertyExtensionsTest.cs index de78b7aee0c..02c3dfffa57 100644 --- a/test/EFCore.Tests/Extensions/PropertyExtensionsTest.cs +++ b/test/EFCore.Tests/Extensions/PropertyExtensionsTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore; public class PropertyExtensionsTest { - [ConditionalFact] + [Fact] public virtual void Asking_for_type_mapping_before_finalize_throws() { var model = CreateModel(); @@ -21,7 +21,7 @@ public virtual void Asking_for_type_mapping_before_finalize_throws() Assert.Throws(() => property.GetTypeMapping()).Message); } - [ConditionalFact] + [Fact] public virtual void Properties_can_have_store_type_set() { var model = CreateModel(); @@ -38,7 +38,7 @@ public virtual void Properties_can_have_store_type_set() Assert.Null(property.GetProviderClrType()); } - [ConditionalFact] + [Fact] public virtual void Properties_can_have_value_converter_set() { var model = CreateModel(); @@ -56,7 +56,7 @@ public virtual void Properties_can_have_value_converter_set() Assert.Null(property.GetValueConverter()); } - [ConditionalFact] + [Fact] public virtual void Value_converter_type_is_checked() { var model = CreateModel(); @@ -75,7 +75,7 @@ public virtual void Value_converter_type_is_checked() Assert.Throws(() => property1.SetValueConverter(new CastingConverter())).Message); } - [ConditionalFact] + [Fact] public void Get_generation_property_returns_null_for_property_without_generator() { var model = CreateModel(); @@ -86,7 +86,7 @@ public void Get_generation_property_returns_null_for_property_without_generator( Assert.Null(property.FindGenerationProperty()); } - [ConditionalFact] + [Fact] public void Get_generation_property_returns_same_property_on_property_with_generator() { var model = CreateModel(); @@ -100,7 +100,7 @@ public void Get_generation_property_returns_same_property_on_property_with_gener Assert.Equal((IProperty)property, ((IProperty)property).FindGenerationProperty()); } - [ConditionalFact] + [Fact] public void Get_generation_property_returns_generation_property_from_foreign_key_chain() { var model = CreateModel(); @@ -123,7 +123,7 @@ public void Get_generation_property_returns_generation_property_from_foreign_key Assert.Equal((IProperty)firstProperty, ((IProperty)thirdProperty).FindGenerationProperty()); } - [ConditionalFact] + [Fact] public void Get_generation_property_returns_generation_property_from_foreign_key_tree() { var model = CreateModel(); @@ -154,7 +154,7 @@ public void Get_generation_property_returns_generation_property_from_foreign_key Assert.Equal((IProperty)rightId2, ((IProperty)endProperty).FindGenerationProperty()); } - [ConditionalFact] + [Fact] public void Get_generation_property_returns_generation_property_from_foreign_key_graph_with_cycle() { var model = CreateModel(); @@ -182,7 +182,7 @@ public void Get_generation_property_returns_generation_property_from_foreign_key Assert.Equal((IProperty)leafId1, ((IProperty)secondId1).FindGenerationProperty()); } - [ConditionalFact] + [Fact] public void Get_generation_property_for_one_to_one_FKs() { var model = BuildModel(); @@ -207,7 +207,7 @@ public void Get_generation_property_for_one_to_one_FKs() .FindGenerationProperty()); } - [ConditionalFact] + [Fact] public void Get_generation_property_for_one_to_many_identifying_FKs() { var model = BuildModel(); diff --git a/test/EFCore.Tests/Extensions/PropertyInfoExtensionsTest.cs b/test/EFCore.Tests/Extensions/PropertyInfoExtensionsTest.cs index c4d16a4e670..14b683c187d 100644 --- a/test/EFCore.Tests/Extensions/PropertyInfoExtensionsTest.cs +++ b/test/EFCore.Tests/Extensions/PropertyInfoExtensionsTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore; public class PropertyInfoExtensionsTest { - [ConditionalFact] + [Fact] public void IsStatic_identifies_static_properties() { Assert.True(typeof(KitKat).GetAnyProperty("Yummy").IsStatic()); diff --git a/test/EFCore.Tests/Extensions/QueryableExtensionsTest.cs b/test/EFCore.Tests/Extensions/QueryableExtensionsTest.cs index 663200e0b44..c65fc361aac 100644 --- a/test/EFCore.Tests/Extensions/QueryableExtensionsTest.cs +++ b/test/EFCore.Tests/Extensions/QueryableExtensionsTest.cs @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore; public class QueryableExtensionsTest { - [ConditionalFact] + [Fact] public void Include_on_non_ef_queryable_is_no_op() { var q = new List().AsQueryable(); @@ -20,7 +20,7 @@ public void Include_on_non_ef_queryable_is_no_op() Assert.Empty(q2); } - [ConditionalFact] + [Fact] public void AsTracking_on_non_ef_queryable_is_no_op() { var q = new List().AsQueryable(); @@ -29,7 +29,7 @@ public void AsTracking_on_non_ef_queryable_is_no_op() Assert.Empty(q2); } - [ConditionalFact] + [Fact] public void AsNoTracking_on_non_ef_queryable_is_no_op() { var q = new List().AsQueryable(); @@ -40,7 +40,7 @@ public void AsNoTracking_on_non_ef_queryable_is_no_op() // ReSharper disable MethodSupportsCancellation - [ConditionalFact] + [Fact] public void Extension_methods_call_provider_ExecuteAsync() { var cancellationTokenSource = new CancellationTokenSource(); @@ -191,7 +191,7 @@ IEnumerator IEnumerable.GetEnumerator() => throw new NotImplementedException(); } - [ConditionalFact] + [Fact] public async Task Extension_methods_throw_on_non_async_source() { await SourceNonAsyncQueryableTest(() => Source().AllAsync(e => true)); @@ -323,7 +323,7 @@ private static async Task SourceNonAsyncEnumerableTest(Func test) CoreStrings.IQueryableNotAsync(typeof(T)), (await Assert.ThrowsAsync(test)).Message); - [ConditionalFact] + [Fact] public async Task Extension_methods_validate_arguments() { // ReSharper disable AssignNullToNotNullAttribute diff --git a/test/EFCore.Tests/Extensions/ServiceProviderExtensionsTest.cs b/test/EFCore.Tests/Extensions/ServiceProviderExtensionsTest.cs index 0696f9d0e81..5a82026403c 100644 --- a/test/EFCore.Tests/Extensions/ServiceProviderExtensionsTest.cs +++ b/test/EFCore.Tests/Extensions/ServiceProviderExtensionsTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore; public class ServiceProviderExtensionsTest { - [ConditionalFact] + [Fact] public void GetRequiredService_throws_useful_exception_if_service_not_registered() { var serviceProvider = new ServiceCollection().BuildServiceProvider(validateScopes: true); @@ -15,7 +15,7 @@ public void GetRequiredService_throws_useful_exception_if_service_not_registered Assert.Throws(() => serviceProvider.GetRequiredService()); } - [ConditionalFact] + [Fact] public void Non_generic_GetRequiredService_throws_useful_exception_if_service_not_registered() { var serviceProvider = new ServiceCollection().BuildServiceProvider(validateScopes: true); @@ -23,7 +23,7 @@ public void Non_generic_GetRequiredService_throws_useful_exception_if_service_no Assert.Throws(() => serviceProvider.GetRequiredService(typeof(IPilkington))); } - [ConditionalFact] + [Fact] public void GetRequiredService_throws_useful_exception_if_resolution_fails() { var serviceCollection = new ServiceCollection(); @@ -36,7 +36,7 @@ public void GetRequiredService_throws_useful_exception_if_resolution_fails() Assert.Throws(() => serviceProvider.GetRequiredService()).Message); } - [ConditionalFact] + [Fact] public void Non_generic_GetRequiredService_throws_useful_exception_if_resolution_fails() { var serviceCollection = new ServiceCollection(); @@ -50,7 +50,7 @@ public void Non_generic_GetRequiredService_throws_useful_exception_if_resolution Assert.Throws(() => serviceProvider.GetRequiredService(typeof(IPilkington))).Message); } - [ConditionalFact] + [Fact] public void GetService_returns_null_if_service_not_registered() { var serviceProvider = new ServiceCollection().BuildServiceProvider(validateScopes: true); @@ -58,7 +58,7 @@ public void GetService_returns_null_if_service_not_registered() Assert.Null(serviceProvider.GetService()); } - [ConditionalFact] + [Fact] public void Non_generic_GetService_returns_null_if_service_not_registered() { var serviceProvider = new ServiceCollection().BuildServiceProvider(validateScopes: true); @@ -66,7 +66,7 @@ public void Non_generic_GetService_returns_null_if_service_not_registered() Assert.Null(serviceProvider.GetService(typeof(IPilkington))); } - [ConditionalFact] + [Fact] public void GetService_throws_useful_exception_if_resolution_fails() { var serviceCollection = new ServiceCollection(); @@ -79,7 +79,7 @@ public void GetService_throws_useful_exception_if_resolution_fails() Assert.Throws(() => serviceProvider.GetService()).Message); } - [ConditionalFact] + [Fact] public void Non_generic_GetService_throws_useful_exception_if_resolution_fails() { var serviceCollection = new ServiceCollection(); diff --git a/test/EFCore.Tests/Extensions/StringBuilderExtensionsTest.cs b/test/EFCore.Tests/Extensions/StringBuilderExtensionsTest.cs index e8c41838ea9..9f25c1d6f49 100644 --- a/test/EFCore.Tests/Extensions/StringBuilderExtensionsTest.cs +++ b/test/EFCore.Tests/Extensions/StringBuilderExtensionsTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore; public class StringBuilderExtensionsTest { - [ConditionalFact] + [Fact] public void AppendJoin_joins_values() { Assert.Equal("a:b:c", new StringBuilder().AppendJoin(["a", "b", "c"], ":").ToString()); diff --git a/test/EFCore.Tests/Extensions/TypeExtensionsTest.cs b/test/EFCore.Tests/Extensions/TypeExtensionsTest.cs index f6761fb8dc5..290dc46d61f 100644 --- a/test/EFCore.Tests/Extensions/TypeExtensionsTest.cs +++ b/test/EFCore.Tests/Extensions/TypeExtensionsTest.cs @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore; public class TypeExtensionsTest { - [ConditionalFact] + [Fact] public void GetSequenceType_finds_element_type() { Assert.Equal(typeof(int), typeof(IEnumerable).GetSequenceType()); @@ -19,7 +19,7 @@ public void GetSequenceType_finds_element_type() Assert.Equal(typeof(int), typeof(List).GetSequenceType()); } - [ConditionalFact] + [Fact] public void IsInteger_returns_true_only_for_integer_types() { Assert.True(typeof(long).IsInteger()); @@ -57,7 +57,7 @@ public CtorFixture(int frob) } } - [ConditionalFact] + [Fact] public void GetDeclaredConstructor_finds_ctor_no_args() { var constructorInfo = typeof(CtorFixture).GetDeclaredConstructor(null); @@ -66,11 +66,11 @@ public void GetDeclaredConstructor_finds_ctor_no_args() Assert.Empty(constructorInfo.GetParameters()); } - [ConditionalFact] + [Fact] public void GetDeclaredConstructor_returns_null_when_no_match() => Assert.Null(typeof(CtorFixture).GetDeclaredConstructor([typeof(string)])); - [ConditionalFact] + [Fact] public void GetDeclaredConstructor_finds_ctor_args() { var constructorInfo = typeof(CtorFixture).GetDeclaredConstructor([typeof(int)]); @@ -79,7 +79,7 @@ public void GetDeclaredConstructor_finds_ctor_args() Assert.Single(constructorInfo.GetParameters()); } - [ConditionalFact] + [Fact] public void IsNullableType_when_value_or_nullable_type() { Assert.True(typeof(string).IsNullableType()); @@ -88,11 +88,11 @@ public void IsNullableType_when_value_or_nullable_type() Assert.True(typeof(int?).IsNullableType()); } - [ConditionalFact] + [Fact] public void Element_type_should_return_input_type_when_not_sequence_type() => Assert.Equal(typeof(string), typeof(string)); - [ConditionalFact] + [Fact] public void Get_any_property_returns_any_property() { Assert.Same(typeof(TindersticksII), typeof(TindersticksII).GetAnyProperty("ElDiabloEnElOjo").DeclaringType); @@ -241,7 +241,7 @@ public override int Singing public static new int SleepySong { get; set; } } - [ConditionalFact] + [Fact] public void TryGetElementType_returns_element_type_for_given_interface() { Assert.Same(typeof(string), typeof(ICollection).TryGetElementType(typeof(ICollection<>))); @@ -252,25 +252,25 @@ public void TryGetElementType_returns_element_type_for_given_interface() Assert.Same(typeof(string), typeof(MultipleImplementor).TryGetElementType(typeof(IEnumerable<>))); } - [ConditionalFact] + [Fact] public void TryGetElementType_returns_element_type_for_given_class() { Assert.Same(typeof(string), typeof(Collection).TryGetElementType(typeof(Collection<>))); Assert.Same(typeof(int), typeof(List).TryGetElementType(typeof(List<>))); } - [ConditionalFact] + [Fact] public void TryGetElementType_returns_null_if_type_is_generic_type_definition() => Assert.Null(typeof(ICollection<>).TryGetElementType(typeof(ICollection<>))); - [ConditionalFact] + [Fact] public void TryGetElementType_returns_null_if_type_doesnt_implement_interface() { Assert.Null(typeof(ICollection).TryGetElementType(typeof(IObservable<>))); Assert.Null(typeof(Random).TryGetElementType(typeof(IObservable<>))); } - [ConditionalFact] + [Fact] public void TryGetElementType_returns_null_if_type_doesnt_implement_class() { Assert.Null(typeof(ICollection).TryGetElementType(typeof(List<>))); @@ -278,7 +278,7 @@ public void TryGetElementType_returns_null_if_type_doesnt_implement_class() } // CodePlex 2014 - [ConditionalFact] + [Fact] public void TryGetElementType_returns_null_when_ICollection_implemented_more_than_once() => Assert.Null(typeof(RoleCollection2014).TryGetElementType(typeof(ICollection<>))); @@ -330,7 +330,7 @@ private class Role2014 : IRole2014 public string Permissions { get; set; } } - [ConditionalFact] + [Fact] public void GetBaseTypes_return_all_base_types() { Assert.Equal(3, typeof(MultipleHierarchy).GetBaseTypes().Count()); @@ -339,7 +339,7 @@ public void GetBaseTypes_return_all_base_types() Assert.Contains(typeof(object), typeof(MultipleHierarchy).GetBaseTypes()); } - [ConditionalFact] + [Fact] public void GetBaseTypes_return_empty_if_no_base_type_exists() => Assert.False(typeof(object).GetBaseTypes().Any()); @@ -351,7 +351,7 @@ private class Base; // ReSharper restore InconsistentNaming - [ConditionalFact] + [Fact] public void Can_get_default_value_for_type() { Assert.False((bool)typeof(bool).GetDefaultValue()); @@ -404,7 +404,7 @@ private enum SomeEnum Default } - [ConditionalFact] + [Fact] public void GetConstructibleTypes_works() { var assembly = MockAssembly.Create( @@ -429,7 +429,7 @@ private class SomeGenericClass; private class SomeTypeWithoutDefaultCtor(int value); #pragma warning restore CS9113 - [ConditionalFact] + [Fact] public void GetNamespaces_works() { // Predefined Types @@ -451,7 +451,7 @@ public void GetNamespaces_works() typeof(Outer>).GetNamespaces().ToArray()); } - [ConditionalTheory, InlineData(typeof(int), "int"), InlineData(typeof(List), "System.Collections.Generic.List"), + [Theory, InlineData(typeof(int), "int"), InlineData(typeof(List), "System.Collections.Generic.List"), InlineData(typeof(Dictionary), "System.Collections.Generic.Dictionary"), InlineData( typeof(Dictionary>), "System.Collections.Generic.Dictionary>"), InlineData(typeof(List>), "System.Collections.Generic.List>"), InlineData( @@ -487,7 +487,7 @@ public void GetNamespaces_works() public void Can_pretty_print_CLR_full_name(Type type, string expected) => Assert.Equal(expected, type.DisplayName()); - [ConditionalTheory, InlineData(typeof(int), "int"), InlineData(typeof(List), "List"), + [Theory, InlineData(typeof(int), "int"), InlineData(typeof(List), "List"), InlineData(typeof(Dictionary), "Dictionary"), InlineData(typeof(Dictionary>), "Dictionary>"), InlineData(typeof(List>), "List>"), InlineData(typeof(A), "A"), InlineData(typeof(B), "B"), @@ -503,7 +503,7 @@ public void Can_pretty_print_CLR_full_name(Type type, string expected) public void Can_pretty_print_CLR_name(Type type, string expected) => Assert.Equal(expected, type.ShortDisplayName()); - [ConditionalTheory, InlineData(typeof(bool), "bool"), InlineData(typeof(byte), "byte"), InlineData(typeof(char), "char"), + [Theory, InlineData(typeof(bool), "bool"), InlineData(typeof(byte), "byte"), InlineData(typeof(char), "char"), InlineData(typeof(decimal), "decimal"), InlineData(typeof(double), "double"), InlineData(typeof(float), "float"), InlineData(typeof(int), "int"), InlineData(typeof(long), "long"), InlineData(typeof(object), "object"), InlineData(typeof(sbyte), "sbyte"), InlineData(typeof(short), "short"), InlineData(typeof(string), "string"), @@ -512,7 +512,7 @@ public void Can_pretty_print_CLR_name(Type type, string expected) public void Returns_common_name_for_built_in_types(Type type, string expected) => Assert.Equal(expected, type.DisplayName()); - [ConditionalTheory, InlineData(typeof(int[]), true, "int[]"), InlineData(typeof(string[][]), true, "string[][]"), + [Theory, InlineData(typeof(int[]), true, "int[]"), InlineData(typeof(string[][]), true, "string[][]"), InlineData(typeof(int[,]), true, "int[,]"), InlineData(typeof(bool[,,,]), true, "bool[,,,]"), InlineData(typeof(A[,][,,]), true, "Microsoft.EntityFrameworkCore.TypeExtensionsTest+A[,][,,]"), InlineData(typeof(List), true, "System.Collections.Generic.List"), @@ -520,9 +520,9 @@ public void Returns_common_name_for_built_in_types(Type type, string expected) public void Can_pretty_print_array_name(Type type, bool fullName, string expected) => Assert.Equal(expected, type.DisplayName(fullName)); - public static TheoryData OpenGenericsTestData { get; } = CreateOpenGenericsTestData(); + public static TheoryData OpenGenericsTestData { get; } = CreateOpenGenericsTestData(); - public static TheoryData CreateOpenGenericsTestData() + public static TheoryData CreateOpenGenericsTestData() { var openDictionaryType = typeof(Dictionary<,>); var genArgsDictionary = openDictionaryType.GetGenericArguments(); @@ -557,18 +557,10 @@ public static TheoryData CreateOpenGenericsTestData() }; } - [ConditionalFact] - public void Can_pretty_print_open_generics() - { - foreach (var testData in OpenGenericsTestData) - { - var type = (Type)testData[0]; - var fullName = (bool)testData[1]; - var expected = (string)testData[2]; - - Assert.Equal(expected, type.DisplayName(fullName)); - } - } + [Theory] + [MemberData(nameof(OpenGenericsTestData))] + public void Can_pretty_print_open_generics(Type type, bool fullName, string expected) + => Assert.Equal(expected, type.DisplayName(fullName)); private class A; diff --git a/test/EFCore.Tests/IEntityTypeConfigurationTest.cs b/test/EFCore.Tests/IEntityTypeConfigurationTest.cs index fc6afdad583..6fd2965ee43 100644 --- a/test/EFCore.Tests/IEntityTypeConfigurationTest.cs +++ b/test/EFCore.Tests/IEntityTypeConfigurationTest.cs @@ -1,11 +1,11 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore; public class IEntityTypeConfigurationTest { - [ConditionalFact] + [Fact] public void Configure_entity_not_already_in_model() { var builder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -17,7 +17,7 @@ public void Configure_entity_not_already_in_model() Assert.Equal(nameof(Customer.AlternateKey), entityType.GetKeys().Single().Properties.Single().Name); } - [ConditionalFact] + [Fact] public void Configure_entity_already_in_model() { var builder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -29,7 +29,7 @@ public void Configure_entity_already_in_model() Assert.Equal(nameof(Customer.AlternateKey), entityType.GetKeys().Single().Properties.Single().Name); } - [ConditionalFact] + [Fact] public void Override_config_in_entity_type_configuration() { var builder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -41,7 +41,7 @@ public void Override_config_in_entity_type_configuration() Assert.Equal(200, entityType.FindProperty(nameof(Customer.Name)).GetMaxLength()); } - [ConditionalFact] + [Fact] public void Override_config_after_entity_type_configuration() { var builder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -53,7 +53,7 @@ public void Override_config_after_entity_type_configuration() Assert.Equal(500, entityType.FindProperty(nameof(Customer.Name)).GetMaxLength()); } - [ConditionalFact] + [Fact] public void Apply_multiple_entity_type_configurations() { var builder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); diff --git a/test/EFCore.Tests/Infrastructure/AnnotatableBuilderTest.cs b/test/EFCore.Tests/Infrastructure/AnnotatableBuilderTest.cs index 799cc1d658b..9575d773897 100644 --- a/test/EFCore.Tests/Infrastructure/AnnotatableBuilderTest.cs +++ b/test/EFCore.Tests/Infrastructure/AnnotatableBuilderTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure; public class AnnotatableBuilderTest { - [ConditionalFact] + [Fact] public void Can_only_override_lower_source_annotation() { var builder = CreateAnnotatableBuilder(); @@ -22,7 +22,7 @@ public void Can_only_override_lower_source_annotation() Assert.Equal("2", metadata.GetAnnotations().Single().Value); } - [ConditionalFact] + [Fact] public void Can_only_override_existing_annotation_explicitly() { var builder = CreateAnnotatableBuilder(); @@ -38,7 +38,7 @@ public void Can_only_override_existing_annotation_explicitly() Assert.Equal("2", metadata.GetAnnotations().Single().Value); } - [ConditionalFact] + [Fact] public void Annotation_set_explicitly_can_not_be_removed_by_convention() { var builder = CreateAnnotatableBuilder(); diff --git a/test/EFCore.Tests/Infrastructure/AnnotatableTest.cs b/test/EFCore.Tests/Infrastructure/AnnotatableTest.cs index b60de65df5f..130bae74d23 100644 --- a/test/EFCore.Tests/Infrastructure/AnnotatableTest.cs +++ b/test/EFCore.Tests/Infrastructure/AnnotatableTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure; public class AnnotatableTest { - [ConditionalFact] + [Fact] public void Can_add_and_remove_annotation() { var annotatable = new Annotatable(); @@ -31,7 +31,7 @@ public void Can_add_and_remove_annotation() Assert.Null(annotatable.FindAnnotation("Foo")); } - [ConditionalFact] + [Fact] public void Added_annotation_type_is_consistent() { var annotatable = new Annotatable(); @@ -47,7 +47,7 @@ public void Added_annotation_type_is_consistent() Assert.Equal(typeof(ConventionAnnotation), conventionAnnotatable.FindAnnotation("Foo").GetType()); } - [ConditionalFact] + [Fact] public void Adding_duplicate_annotation_throws() { var annotatable = new Annotatable(); @@ -59,7 +59,7 @@ public void Adding_duplicate_annotation_throws() Assert.Throws(() => annotatable.AddAnnotation("Foo", "Bar")).Message); } - [ConditionalFact] + [Fact] public void Can_get_and_set_model_annotations() { IMutableAnnotatable annotatable = new Annotatable(); @@ -86,7 +86,7 @@ public void Can_get_and_set_model_annotations() Assert.Throws(() => annotatable.GetAnnotation("Foo")).Message); } - [ConditionalFact] + [Fact] public void Annotations_are_ordered_by_name() { var annotatable = new Annotatable(); @@ -97,7 +97,7 @@ public void Annotations_are_ordered_by_name() Assert.True(new[] { annotation2, annotation1 }.SequenceEqual(annotatable.GetAnnotations())); } - [ConditionalFact] + [Fact] public void Can_add_and_remove_runtime_annotation() { var annotatable = new Model().FinalizeModel(); @@ -125,7 +125,7 @@ public void Can_add_and_remove_runtime_annotation() Assert.Null(annotatable.FindRuntimeAnnotation("Foo")); } - [ConditionalFact] + [Fact] public void Adding_duplicate_runtime_annotation_throws() { var annotatable = new Model().FinalizeModel(); diff --git a/test/EFCore.Tests/Infrastructure/AnnotationTest.cs b/test/EFCore.Tests/Infrastructure/AnnotationTest.cs index 8a275fddc1b..bc554489e23 100644 --- a/test/EFCore.Tests/Infrastructure/AnnotationTest.cs +++ b/test/EFCore.Tests/Infrastructure/AnnotationTest.cs @@ -7,13 +7,13 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure; public class AnnotationTest { - [ConditionalFact] + [Fact] public void Members_check_arguments() => Assert.Equal( $"{AbstractionsStrings.ArgumentIsEmpty} (Parameter 'name')", Assert.Throws(() => new Annotation("", "Kake")).Message); - [ConditionalFact] + [Fact] public void Can_create_annotation() { var annotation = new Annotation("Foo", "Bar"); @@ -22,7 +22,7 @@ public void Can_create_annotation() Assert.Equal("Bar", annotation.Value); } - [ConditionalFact] + [Fact] public void NegativeNumberArguments_PrecisionAttribute_Throws() { Assert.Equal( diff --git a/test/EFCore.Tests/Infrastructure/CompiledModelProviderMismatchTest.cs b/test/EFCore.Tests/Infrastructure/CompiledModelProviderMismatchTest.cs index 07ed9cae9de..29279f44279 100644 --- a/test/EFCore.Tests/Infrastructure/CompiledModelProviderMismatchTest.cs +++ b/test/EFCore.Tests/Infrastructure/CompiledModelProviderMismatchTest.cs @@ -26,7 +26,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure; public class CompiledModelProviderMismatchTest { - [ConditionalFact] + [Fact] public void Compiled_model_with_mismatched_provider_is_skipped_and_warning_is_logged() { var serviceProvider = new ServiceCollection() @@ -45,7 +45,7 @@ public void Compiled_model_with_mismatched_provider_is_skipped_and_warning_is_lo Assert.Throws(() => context.Model).Message); } - [ConditionalFact] + [Fact] public void Compiled_model_with_matching_provider_is_used_when_multiple_attributes_exist() { var serviceProvider = new ServiceCollection() diff --git a/test/EFCore.Tests/Infrastructure/DatabaseFacadeTest.cs b/test/EFCore.Tests/Infrastructure/DatabaseFacadeTest.cs index 01d9644e689..b4c6ed36f5c 100644 --- a/test/EFCore.Tests/Infrastructure/DatabaseFacadeTest.cs +++ b/test/EFCore.Tests/Infrastructure/DatabaseFacadeTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure; public class DatabaseFacadeTest { - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Methods_delegate_to_configured_store_creator(bool async) { var creator = new FakeDatabaseCreator(); @@ -85,7 +85,7 @@ public Task CanConnectAsync(CancellationToken cancellationToken = default) } } - [ConditionalFact] + [Fact] public void Can_get_IServiceProvider() { using var context = InMemoryTestHelpers.Instance.CreateContext(); @@ -94,7 +94,7 @@ public void Can_get_IServiceProvider() ((IInfrastructure)context.Database).Instance); } - [ConditionalFact] + [Fact] public void Can_get_DatabaseCreator() { using var context = InMemoryTestHelpers.Instance.CreateContext(); @@ -103,14 +103,14 @@ public void Can_get_DatabaseCreator() context.Database.GetService()); } - [ConditionalFact] + [Fact] public void Can_get_Model() { using var context = InMemoryTestHelpers.Instance.CreateContext(); Assert.Same(context.GetService(), context.Database.GetService()); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Can_begin_transaction(bool async) { var transaction = new FakeDbContextTransaction(); @@ -234,7 +234,7 @@ public Task RollbackAsync(CancellationToken cancellationToken = default) => throw new NotImplementedException(); } - [ConditionalFact] + [Fact] public void Can_commit_transaction() { var manager = new FakeDbContextTransactionManager(new FakeDbContextTransaction()); @@ -247,7 +247,7 @@ public void Can_commit_transaction() Assert.Equal(1, manager.CommitCalls); } - [ConditionalFact] + [Fact] public async Task Can_commit_transaction_async() { var manager = new FakeDbContextTransactionManager(new FakeDbContextTransaction()); @@ -260,7 +260,7 @@ public async Task Can_commit_transaction_async() Assert.Equal(1, manager.CommitCalls); } - [ConditionalFact] + [Fact] public void Can_roll_back_transaction() { var manager = new FakeDbContextTransactionManager(new FakeDbContextTransaction()); @@ -273,7 +273,7 @@ public void Can_roll_back_transaction() Assert.Equal(1, manager.RollbackCalls); } - [ConditionalFact] + [Fact] public async Task Can_roll_back_transaction_async() { var manager = new FakeDbContextTransactionManager(new FakeDbContextTransaction()); @@ -286,7 +286,7 @@ public async Task Can_roll_back_transaction_async() Assert.Equal(1, manager.RollbackCalls); } - [ConditionalFact] + [Fact] public void Can_get_current_transaction() { var transaction = new FakeDbContextTransaction(); @@ -298,7 +298,7 @@ public void Can_get_current_transaction() Assert.Same(transaction, context.Database.CurrentTransaction); } - [ConditionalFact] + [Fact] public void Cannot_use_DatabaseFacade_after_dispose() { var context = InMemoryTestHelpers.Instance.CreateContext(); diff --git a/test/EFCore.Tests/Infrastructure/DbContextAttributeTest.cs b/test/EFCore.Tests/Infrastructure/DbContextAttributeTest.cs index f9cbf6f0817..41951f5f36a 100644 --- a/test/EFCore.Tests/Infrastructure/DbContextAttributeTest.cs +++ b/test/EFCore.Tests/Infrastructure/DbContextAttributeTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure; public class DbContextAttributeTest { - [ConditionalFact] + [Fact] public void Create_attribute() { var attribute = new DbContextAttribute(typeof(MyContext)); diff --git a/test/EFCore.Tests/Infrastructure/DbSetFinderTest.cs b/test/EFCore.Tests/Infrastructure/DbSetFinderTest.cs index f2b70d37acf..2c62ea9ab93 100644 --- a/test/EFCore.Tests/Infrastructure/DbSetFinderTest.cs +++ b/test/EFCore.Tests/Infrastructure/DbSetFinderTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure; public class DbSetFinderTest { - [ConditionalFact] + [Fact] public void All_non_static_DbSet_properties_are_discovered() { using var context = new The(); diff --git a/test/EFCore.Tests/Infrastructure/DiagnosticsLoggerTest.cs b/test/EFCore.Tests/Infrastructure/DiagnosticsLoggerTest.cs index 96643fe266c..108a8e169b3 100644 --- a/test/EFCore.Tests/Infrastructure/DiagnosticsLoggerTest.cs +++ b/test/EFCore.Tests/Infrastructure/DiagnosticsLoggerTest.cs @@ -8,20 +8,20 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure; public class DiagnosticsLoggerTest { - [ConditionalFact] + [Fact] public void Can_filter_for_messages_of_one_category() => FilterTest(c => c == DbLoggerCategory.Database.Command.Name, "SQL1", "SQL2"); - [ConditionalFact] + [Fact] public void Can_filter_for_messages_of_one_subcategory() => FilterTest(c => c.StartsWith(DbLoggerCategory.Database.Name, StringComparison.Ordinal), "DB1", "SQL1", "DB2", "SQL2"); - [ConditionalFact] + [Fact] public void Can_filter_for_all_EF_messages() => FilterTest( c => c.StartsWith(DbLoggerCategory.Name, StringComparison.Ordinal), "DB1", "SQL1", "Query1", "DB2", "SQL2", "Query2"); - [ConditionalFact] + [Fact] public void Can_get_all_messages() => FilterTest(c => true, "DB1", "SQL1", "Query1", "Random1", "DB2", "SQL2", "Query2", "Random2"); diff --git a/test/EFCore.Tests/Infrastructure/EntityFrameworkServicesBuilderTest.cs b/test/EFCore.Tests/Infrastructure/EntityFrameworkServicesBuilderTest.cs index 5cc41d50807..112a4a8df46 100644 --- a/test/EFCore.Tests/Infrastructure/EntityFrameworkServicesBuilderTest.cs +++ b/test/EFCore.Tests/Infrastructure/EntityFrameworkServicesBuilderTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure; public class EntityFrameworkServicesBuilderTest { - [ConditionalFact] + [Fact] public void Throws_when_adding_non_EF_service() { var serviceCollection = new ServiceCollection(); @@ -20,7 +20,7 @@ public void Throws_when_adding_non_EF_service() Assert.Throws(() => builder.TryAdd()).Message); } - [ConditionalFact] + [Fact] public void Throws_when_adding_EF_service() { var serviceCollection = new ServiceCollection(); @@ -32,35 +32,35 @@ public void Throws_when_adding_EF_service() => builder.TryAddProviderSpecificServices(s => s.TryAddScoped())).Message); } - [ConditionalFact] + [Fact] public void Can_register_scoped_service_with_concrete_implementation() => TestScoped(b => b.TryAdd()); - [ConditionalFact] + [Fact] public void Can_register_scoped_service_with_concrete_implementation_non_generic() => TestScoped(b => b.TryAdd(typeof(IConcurrencyDetector), typeof(FakeConcurrencyDetector))); - [ConditionalFact] + [Fact] public void Can_register_scoped_service_with_full_factory() => TestScoped(b => b.TryAdd(p => new FakeConcurrencyDetector())); - [ConditionalFact] + [Fact] public void Can_register_scoped_service_with_half_factory() => TestScoped(b => b.TryAdd(p => new FakeConcurrencyDetector())); - [ConditionalFact] + [Fact] public void Can_register_scoped_service_with_full_factory_non_generic() => TestScoped(b => b.TryAdd(typeof(IConcurrencyDetector), typeof(FakeConcurrencyDetector), p => new FakeConcurrencyDetector())); - [ConditionalFact] + [Fact] public void Can_register_scoped_service_with_half_factory_non_generic() => TestScoped(b => b.TryAdd(typeof(IConcurrencyDetector), typeof(IConcurrencyDetector), p => new FakeConcurrencyDetector())); - [ConditionalFact] + [Fact] public void Can_register_scoped_service_with_object_factory() => TestScoped(b => b.TryAdd(typeof(IConcurrencyDetector), typeof(object), p => new FakeConcurrencyDetector())); - [ConditionalFact] + [Fact] public void Cannot_register_scoped_with_instance() { var builder = new EntityFrameworkServicesBuilder(new ServiceCollection()); @@ -71,7 +71,7 @@ public void Cannot_register_scoped_with_instance() .Message); } - [ConditionalFact] + [Fact] public void Cannot_register_scoped_with_instance_non_generic() { var builder = new EntityFrameworkServicesBuilder(new ServiceCollection()); @@ -107,39 +107,39 @@ private static void TestScoped(Action tryAdd) } } - [ConditionalFact] + [Fact] public void Can_register_singleton_service_with_concrete_implementation() => TestSingleton(b => b.TryAdd()); - [ConditionalFact] + [Fact] public void Can_register_singleton_service_with_concrete_implementation_non_generic() => TestSingleton(b => b.TryAdd(typeof(IDbSetInitializer), typeof(FakeDbSetInitializer))); - [ConditionalFact] + [Fact] public void Can_register_singleton_service_with_full_factory() => TestSingleton(b => b.TryAdd(p => new FakeDbSetInitializer())); - [ConditionalFact] + [Fact] public void Can_register_singleton_service_with_half_factory() => TestSingleton(b => b.TryAdd(p => new FakeDbSetInitializer())); - [ConditionalFact] + [Fact] public void Can_register_singleton_service_with_full_factory_non_generic() => TestSingleton(b => b.TryAdd(typeof(IDbSetInitializer), typeof(FakeDbSetInitializer), p => new FakeDbSetInitializer())); - [ConditionalFact] + [Fact] public void Can_register_singleton_service_with_half_factory_non_generic() => TestSingleton(b => b.TryAdd(typeof(IDbSetInitializer), typeof(IDbSetInitializer), p => new FakeDbSetInitializer())); - [ConditionalFact] + [Fact] public void Can_register_singleton_service_with_object_factory() => TestSingleton(b => b.TryAdd(typeof(IDbSetInitializer), typeof(object), p => new FakeDbSetInitializer())); - [ConditionalFact] + [Fact] public void Can_register_singleton_with_instance() => TestSingleton(b => b.TryAdd(new FakeDbSetInitializer())); - [ConditionalFact] + [Fact] public void Can_register_singleton_with_instance_non_generic() => TestSingleton(b => b.TryAdd(typeof(IDbSetInitializer), new FakeDbSetInitializer())); @@ -168,19 +168,19 @@ private static void TestSingleton(Action tryAdd) } } - [ConditionalFact] + [Fact] public void Can_register_multiple_scoped_service_with_concrete_implementation() => TestMultipleScoped(b => b.TryAdd()); - [ConditionalFact] + [Fact] public void Can_register_multiple_scoped_service_with_concrete_implementation_non_generic() => TestMultipleScoped(b => b.TryAdd(typeof(IResettableService), typeof(FakeResetableService))); - [ConditionalFact] + [Fact] public void Can_register_multiple_scoped_service_with_full_factory() => TestMultipleScoped(b => b.TryAdd(p => new FakeResetableService())); - [ConditionalFact] + [Fact] public void Cannot_register_multiple_scoped_service_with_half_factory() { var builder = new EntityFrameworkServicesBuilder(new ServiceCollection()); @@ -191,11 +191,11 @@ public void Cannot_register_multiple_scoped_service_with_half_factory() .Message); } - [ConditionalFact] + [Fact] public void Can_register_multiple_scoped_service_with_full_factory_non_generic() => TestMultipleScoped(b => b.TryAdd(typeof(IResettableService), typeof(FakeResetableService), p => new FakeResetableService())); - [ConditionalFact] + [Fact] public void Cannot_register_multiple_scoped_service_with_half_factory_non_generic() { var builder = new EntityFrameworkServicesBuilder(new ServiceCollection()); @@ -207,7 +207,7 @@ public void Cannot_register_multiple_scoped_service_with_half_factory_non_generi .Message); } - [ConditionalFact] + [Fact] public void Cannot_register_multiple_scoped_service_with_object_factory() { var builder = new EntityFrameworkServicesBuilder(new ServiceCollection()); @@ -219,7 +219,7 @@ public void Cannot_register_multiple_scoped_service_with_object_factory() .Message); } - [ConditionalFact] + [Fact] public void Cannot_register_multiple_scoped_with_instance() { var builder = new EntityFrameworkServicesBuilder(new ServiceCollection()); @@ -230,7 +230,7 @@ public void Cannot_register_multiple_scoped_with_instance() .Message); } - [ConditionalFact] + [Fact] public void Cannot_register_multiple_scoped_with_instance_non_generic() { var builder = new EntityFrameworkServicesBuilder(new ServiceCollection()); diff --git a/test/EFCore.Tests/Infrastructure/IndentedStringBuilderTest.cs b/test/EFCore.Tests/Infrastructure/IndentedStringBuilderTest.cs index 68fda724971..92226821afa 100644 --- a/test/EFCore.Tests/Infrastructure/IndentedStringBuilderTest.cs +++ b/test/EFCore.Tests/Infrastructure/IndentedStringBuilderTest.cs @@ -9,7 +9,7 @@ public class IndentedStringBuilderTest { private static readonly string EOL = Environment.NewLine; - [ConditionalFact] + [Fact] public void Append_at_start_with_indent() { var indentedStringBuilder = new IndentedStringBuilder(); @@ -22,7 +22,7 @@ public void Append_at_start_with_indent() Assert.Equal(" Foo", indentedStringBuilder.ToString()); } - [ConditionalFact] + [Fact] public void Append_in_middle_when_no_new_line() { var indentedStringBuilder = new IndentedStringBuilder(); @@ -37,7 +37,7 @@ public void Append_in_middle_when_no_new_line() Assert.Equal("FooFoo", indentedStringBuilder.ToString()); } - [ConditionalFact] + [Fact] public void Append_in_middle_when_new_line() { var indentedStringBuilder = new IndentedStringBuilder(); @@ -53,7 +53,7 @@ public void Append_in_middle_when_new_line() Assert.Equal($"Foo{EOL} Foo{EOL}", indentedStringBuilder.ToString()); } - [ConditionalFact] + [Fact] public void Append_value_containing_end_of_line_no_indent() { var indentedStringBuilder = new IndentedStringBuilder(); @@ -63,7 +63,7 @@ public void Append_value_containing_end_of_line_no_indent() Assert.Equal($"Foo{EOL}Bar", indentedStringBuilder.ToString()); } - [ConditionalFact] + [Fact] public void Append_value_containing_end_of_line_with_indent() { var indentedStringBuilder = new IndentedStringBuilder(); @@ -77,7 +77,7 @@ public void Append_value_containing_end_of_line_with_indent() Assert.Equal($" Foo{EOL}Bar", indentedStringBuilder.ToString()); } - [ConditionalFact] + [Fact] public void Append_in_middle_value_containing_end_of_line_with_indent() { var indentedStringBuilder = new IndentedStringBuilder(); @@ -92,7 +92,7 @@ public void Append_in_middle_value_containing_end_of_line_with_indent() Assert.Equal($"xyzFoo{EOL}Bar", indentedStringBuilder.ToString()); } - [ConditionalFact] + [Fact] public void Append_line_at_start_with_indent() { var indentedStringBuilder = new IndentedStringBuilder(); @@ -105,7 +105,7 @@ public void Append_line_at_start_with_indent() Assert.Equal(" Foo" + EOL, indentedStringBuilder.ToString()); } - [ConditionalFact] + [Fact] public void Append_line_in_middle_when_no_new_line() { var indentedStringBuilder = new IndentedStringBuilder(); @@ -120,7 +120,7 @@ public void Append_line_in_middle_when_no_new_line() Assert.Equal($"Foo{EOL} Foo{EOL}", indentedStringBuilder.ToString()); } - [ConditionalFact] + [Fact] public void Append_line_with_indent_only() { var indentedStringBuilder = new IndentedStringBuilder(); @@ -133,7 +133,7 @@ public void Append_line_with_indent_only() Assert.Equal(Environment.NewLine, indentedStringBuilder.ToString()); } - [ConditionalFact] + [Fact] public void Append_line_value_containing_end_of_line_no_indent() { var indentedStringBuilder = new IndentedStringBuilder(); @@ -143,7 +143,7 @@ public void Append_line_value_containing_end_of_line_no_indent() Assert.Equal($"Foo{EOL}Bar{EOL}", indentedStringBuilder.ToString()); } - [ConditionalFact] + [Fact] public void Append_line_value_containing_end_of_line_with_indent() { var indentedStringBuilder = new IndentedStringBuilder(); @@ -157,7 +157,7 @@ public void Append_line_value_containing_end_of_line_with_indent() Assert.Equal($" Foo{EOL}Bar{EOL}", indentedStringBuilder.ToString()); } - [ConditionalFact] + [Fact] public void Append_line_in_middle_value_containing_end_of_line_with_indent_when_no_new_line() { var indentedStringBuilder = new IndentedStringBuilder(); @@ -172,7 +172,7 @@ public void Append_line_in_middle_value_containing_end_of_line_with_indent_when_ Assert.Equal($"xyzFoo{EOL}Bar{EOL}", indentedStringBuilder.ToString()); } - [ConditionalFact] + [Fact] public void Append_line_in_middle_value_containing_end_of_line_with_indent_when_new_line() { var indentedStringBuilder = new IndentedStringBuilder(); @@ -187,7 +187,7 @@ public void Append_line_in_middle_value_containing_end_of_line_with_indent_when_ Assert.Equal($"xyz{EOL} Foo{EOL}Bar{EOL}", indentedStringBuilder.ToString()); } - [ConditionalFact] + [Fact] public void Append_lines_at_start_with_indent() { var indentedStringBuilder = new IndentedStringBuilder(); @@ -200,7 +200,7 @@ public void Append_lines_at_start_with_indent() Assert.Equal(" Foo" + EOL, indentedStringBuilder.ToString()); } - [ConditionalFact] + [Fact] public void Append_lines_no_indent() { var indentedStringBuilder = new IndentedStringBuilder(); @@ -210,7 +210,7 @@ public void Append_lines_no_indent() Assert.Equal($"Foo{EOL}Bar{EOL}", indentedStringBuilder.ToString()); } - [ConditionalFact] + [Fact] public void Append_lines_with_indent() { var indentedStringBuilder = new IndentedStringBuilder(); @@ -224,7 +224,7 @@ public void Append_lines_with_indent() Assert.Equal($" Foo{EOL} Bar{EOL}", indentedStringBuilder.ToString()); } - [ConditionalFact] + [Fact] public void Append_lines_with_indent_with_skip_final_new_line() { var indentedStringBuilder = new IndentedStringBuilder(); @@ -238,7 +238,7 @@ public void Append_lines_with_indent_with_skip_final_new_line() Assert.Equal($" Foo{EOL} Bar", indentedStringBuilder.ToString()); } - [ConditionalFact] + [Fact] public void Append_lines_in_middle_with_indent_when_no_new_line() { var indentedStringBuilder = new IndentedStringBuilder(); @@ -253,7 +253,7 @@ public void Append_lines_in_middle_with_indent_when_no_new_line() Assert.Equal($"xyzFoo{EOL} Bar{EOL}", indentedStringBuilder.ToString()); } - [ConditionalFact] + [Fact] public void Append_lines_in_middle_with_indent_when_new_line() { var indentedStringBuilder = new IndentedStringBuilder(); diff --git a/test/EFCore.Tests/Infrastructure/Internal/ConcurrencyDetectorTest.cs b/test/EFCore.Tests/Infrastructure/Internal/ConcurrencyDetectorTest.cs index a1b0b089752..0756cb0b7f4 100644 --- a/test/EFCore.Tests/Infrastructure/Internal/ConcurrencyDetectorTest.cs +++ b/test/EFCore.Tests/Infrastructure/Internal/ConcurrencyDetectorTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure.Internal; public class ConcurrencyDetectorTest { - [ConditionalFact] + [Fact] public void MultipleContextOnSameThread_Should_Success() { var preparingContext = new Context(); diff --git a/test/EFCore.Tests/Infrastructure/InternalServiceCollectionMapTest.cs b/test/EFCore.Tests/Infrastructure/InternalServiceCollectionMapTest.cs index 8480e8cad4b..1b1b1398ea7 100644 --- a/test/EFCore.Tests/Infrastructure/InternalServiceCollectionMapTest.cs +++ b/test/EFCore.Tests/Infrastructure/InternalServiceCollectionMapTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure; public class InternalServiceCollectionMapTest { - [ConditionalFact] + [Fact] public void Can_patch_transient_service_with_concrete_implementation() { var serviceMap = CreateServiceMap(); @@ -19,7 +19,7 @@ public void Can_patch_transient_service_with_concrete_implementation() Can_patch_transient_service(serviceMap); } - [ConditionalFact] + [Fact] public void Can_patch_transient_service_with_delegate_implementation() { var serviceMap = CreateServiceMap(); @@ -30,7 +30,7 @@ public void Can_patch_transient_service_with_delegate_implementation() Can_patch_transient_service(serviceMap); } - [ConditionalFact] + [Fact] public void Can_patch_transient_service_with_service_typed_delegate_implementation() { var serviceMap = CreateServiceMap(); @@ -41,7 +41,7 @@ public void Can_patch_transient_service_with_service_typed_delegate_implementati Can_patch_transient_service(serviceMap); } - [ConditionalFact] + [Fact] public void Can_patch_transient_service_with_untyped_delegate_implementation() { var serviceMap = CreateServiceMap(); @@ -52,7 +52,7 @@ public void Can_patch_transient_service_with_untyped_delegate_implementation() Can_patch_transient_service(serviceMap); } - [ConditionalFact] + [Fact] public void Can_patch_transient_service_with_concrete_implementation_already_registered() { var serviceMap = CreateServiceMap(); @@ -86,7 +86,7 @@ private static FakeService Can_patch_transient_service(ServiceCollectionMap serv return service; } - [ConditionalFact] + [Fact] public void Can_patch_scoped_service_with_concrete_implementation() { var serviceMap = CreateServiceMap(); @@ -97,7 +97,7 @@ public void Can_patch_scoped_service_with_concrete_implementation() Can_patch_scoped_service(serviceMap); } - [ConditionalFact] + [Fact] public void Can_patch_scoped_service_with_delegate_implementation() { var serviceMap = CreateServiceMap(); @@ -108,7 +108,7 @@ public void Can_patch_scoped_service_with_delegate_implementation() Can_patch_scoped_service(serviceMap); } - [ConditionalFact] + [Fact] public void Can_patch_scoped_service_with_service_typed_delegate_implementation() { var serviceMap = CreateServiceMap(); @@ -119,7 +119,7 @@ public void Can_patch_scoped_service_with_service_typed_delegate_implementation( Can_patch_scoped_service(serviceMap); } - [ConditionalFact] + [Fact] public void Can_patch_scoped_service_with_untyped_delegate_implementation() { var serviceMap = CreateServiceMap(); @@ -130,7 +130,7 @@ public void Can_patch_scoped_service_with_untyped_delegate_implementation() Can_patch_scoped_service(serviceMap); } - [ConditionalFact] + [Fact] public void Can_patch_scoped_service_with_concrete_implementation_already_registered() { var serviceMap = CreateServiceMap(); @@ -164,7 +164,7 @@ private static FakeService Can_patch_scoped_service(ServiceCollectionMap service return service; } - [ConditionalFact] + [Fact] public void Can_patch_singleton_service_with_concrete_implementation() { var serviceMap = CreateServiceMap(); @@ -175,7 +175,7 @@ public void Can_patch_singleton_service_with_concrete_implementation() Can_patch_singleton_service(serviceMap); } - [ConditionalFact] + [Fact] public void Can_patch_singleton_service_with_delegate_implementation() { var serviceMap = CreateServiceMap(); @@ -186,7 +186,7 @@ public void Can_patch_singleton_service_with_delegate_implementation() Can_patch_singleton_service(serviceMap); } - [ConditionalFact] + [Fact] public void Can_patch_singleton_service_with_service_typed_delegate_implementation() { var serviceMap = CreateServiceMap(); @@ -197,7 +197,7 @@ public void Can_patch_singleton_service_with_service_typed_delegate_implementati Can_patch_singleton_service(serviceMap); } - [ConditionalFact] + [Fact] public void Can_patch_singleton_service_with_untyped_delegate_implementation() { var serviceMap = CreateServiceMap(); @@ -208,7 +208,7 @@ public void Can_patch_singleton_service_with_untyped_delegate_implementation() Can_patch_singleton_service(serviceMap); } - [ConditionalFact] + [Fact] public void Can_patch_singleton_service_with_concrete_implementation_already_registered() { var serviceMap = CreateServiceMap(); @@ -220,7 +220,7 @@ public void Can_patch_singleton_service_with_concrete_implementation_already_reg Assert.IsType(Can_patch_singleton_service(serviceMap)); } - [ConditionalFact] + [Fact] public void Can_patch_singleton_service_with_instance_registered() { var serviceMap = CreateServiceMap(); @@ -231,7 +231,7 @@ public void Can_patch_singleton_service_with_instance_registered() Assert.IsType(Can_patch_singleton_service(serviceMap)); } - [ConditionalFact] + [Fact] public void Can_patch_singleton_service_with_instance_registered_non_generic() { var serviceMap = CreateServiceMap(); @@ -263,7 +263,7 @@ private static FakeSingletonService Can_patch_singleton_service(ServiceCollectio return singletonService; } - [ConditionalFact] + [Fact] public void Throws_if_attempt_is_made_to_register_dependency_as_delegate() { var serviceCollection = new ServiceCollection(); @@ -277,7 +277,7 @@ public void Throws_if_attempt_is_made_to_register_dependency_as_delegate() .Message); } - [ConditionalFact] + [Fact] public void Throws_if_attempt_is_made_to_register_dependency_as_instance() { var serviceCollection = new ServiceCollection(); diff --git a/test/EFCore.Tests/Infrastructure/ModelSourceTest.cs b/test/EFCore.Tests/Infrastructure/ModelSourceTest.cs index 3fb099a22d9..93ab685a5e2 100644 --- a/test/EFCore.Tests/Infrastructure/ModelSourceTest.cs +++ b/test/EFCore.Tests/Infrastructure/ModelSourceTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Diagnostics.Internal; @@ -13,7 +13,7 @@ public class ModelSourceTest private readonly IServiceProvider _serviceProvider = new ServiceCollection() .AddEntityFrameworkInMemoryDatabase().BuildServiceProvider(validateScopes: true); - [ConditionalFact] + [Fact] public void OnModelCreating_is_only_called_once() { const int threadCount = 5; @@ -56,7 +56,7 @@ protected internal override void OnConfiguring(DbContextOptionsBuilder optionsBu .UseInMemoryDatabase(nameof(SlowContext)); } - [ConditionalFact] + [Fact] public void Adds_all_entities_based_on_all_distinct_entity_types_found() { var context = InMemoryTestHelpers.Instance.CreateContext( @@ -103,7 +103,7 @@ private class SetB public int Id { get; set; } } - [ConditionalFact] + [Fact] public void Caches_model_by_context_type() { var options = InMemoryTestHelpers.Instance.CreateOptions(); @@ -130,7 +130,7 @@ public void Caches_model_by_context_type() Assert.NotSame(model2, designModel2); } - [ConditionalFact] + [Fact] public void Model_from_options_is_preserved() { var options = InMemoryTestHelpers.Instance.CreateOptions(); @@ -163,7 +163,7 @@ public void Model_from_options_is_preserved() Assert.Equal(0, designTimeContext.OnModelCreatingCallCount); } - [ConditionalFact] + [Fact] public void Throws_for_model_from_options_with_different_version() { var model = (Model)InMemoryTestHelpers.Instance.CreateConventionBuilder().Model; @@ -181,7 +181,7 @@ public void Throws_for_model_from_options_with_different_version() Assert.Throws(() => context.Model).Message); } - [ConditionalFact] + [Fact] public void Does_not_throw_for_model_from_options_with_different_patch_version() { var productVersion = ProductInfo.GetVersion(); @@ -221,7 +221,7 @@ protected internal override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public void Stores_model_version_information_as_annotation_on_model() { var options = InMemoryTestHelpers.Instance.CreateOptions(); @@ -244,7 +244,7 @@ public void Stores_model_version_information_as_annotation_on_model() Assert.Null(model.FindRuntimeAnnotationValue(CoreAnnotationNames.DetailedErrorsEnabled)); } - [ConditionalFact] + [Fact] public void Detailed_errors_annotation_is_set_from_options() { using var context = new DetailedErrorsContext(_serviceProvider); @@ -266,7 +266,7 @@ protected internal override void OnModelCreating(ModelBuilder modelBuilder) private class Context2(DbContextOptions options) : DbContext(options); - [ConditionalFact] + [Fact] public void Compiled_model_provider_mismatch_warning_has_correct_message() { var definition = CoreResources.LogCompiledModelProviderMismatch( @@ -278,7 +278,7 @@ public void Compiled_model_provider_mismatch_warning_has_correct_message() Assert.Contains("Microsoft.EntityFrameworkCore.InMemory", message); } - [ConditionalFact] + [Fact] public void DbContextModelAttribute_stores_provider_name() { var attr = new DbContextModelAttribute(typeof(DbContext), typeof(object)) @@ -289,7 +289,7 @@ public void DbContextModelAttribute_stores_provider_name() Assert.Equal("TestProvider", attr.ProviderName); } - [ConditionalFact] + [Fact] public void DbContextModelAttribute_provider_name_defaults_to_null() { var attr = new DbContextModelAttribute(typeof(DbContext), typeof(object)); diff --git a/test/EFCore.Tests/Infrastructure/ModelValidatorTest.PropertyMapping.cs b/test/EFCore.Tests/Infrastructure/ModelValidatorTest.PropertyMapping.cs index 063fca9ce7c..2ce1016fcb0 100644 --- a/test/EFCore.Tests/Infrastructure/ModelValidatorTest.PropertyMapping.cs +++ b/test/EFCore.Tests/Infrastructure/ModelValidatorTest.PropertyMapping.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure; public partial class ModelValidatorTest { - [ConditionalFact] + [Fact] public virtual void Throws_when_added_property_is_not_of_primitive_type() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -24,7 +24,7 @@ public virtual void Throws_when_added_property_is_not_of_primitive_type() Assert.Throws(() => Validate(modelBuilder)).Message); } - [ConditionalFact] + [Fact] public virtual void Does_not_throw_when_added_shadow_property_by_convention_is_not_of_primitive_type() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -35,7 +35,7 @@ public virtual void Does_not_throw_when_added_shadow_property_by_convention_is_n Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Throws_when_primitive_type_property_is_not_added_or_ignored() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -47,7 +47,7 @@ public virtual void Throws_when_primitive_type_property_is_not_added_or_ignored( Assert.Throws(() => Validate(modelBuilder)).Message); } - [ConditionalFact] + [Fact] public virtual void Throws_when_nonprimitive_value_type_property_is_not_added_or_ignored() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -59,7 +59,7 @@ public virtual void Throws_when_nonprimitive_value_type_property_is_not_added_or Assert.Throws(() => Validate(modelBuilder)).Message); } - [ConditionalFact] + [Fact] public virtual void Does_not_throw_when_nonprimitive_value_type_property_type_is_ignored() { var modelBuilder = CreateConventionlessModelBuilder(configurationBuilder => configurationBuilder.IgnoreAny()); @@ -68,7 +68,7 @@ public virtual void Does_not_throw_when_nonprimitive_value_type_property_type_is Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Throws_when_keyless_type_property_is_not_added_or_ignored() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -82,7 +82,7 @@ public virtual void Throws_when_keyless_type_property_is_not_added_or_ignored() Assert.Throws(() => Validate(modelBuilder)).Message); } - [ConditionalFact] + [Fact] public virtual void Does_not_throw_when_primitive_type_property_is_added() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -92,7 +92,7 @@ public virtual void Does_not_throw_when_primitive_type_property_is_added() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Does_not_throw_when_primitive_type_property_is_ignored() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -102,7 +102,7 @@ public virtual void Does_not_throw_when_primitive_type_property_is_ignored() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Throws_when_navigation_is_not_added_or_ignored() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -115,7 +115,7 @@ public virtual void Throws_when_navigation_is_not_added_or_ignored() Assert.Throws(() => Validate(modelBuilder)).Message); } - [ConditionalFact] + [Fact] public virtual void Throws_when_navigation_to_owned_type_is_not_added_or_ignored() { var modelBuilder = CreateConventionModelBuilder(); @@ -129,7 +129,7 @@ public virtual void Throws_when_navigation_to_owned_type_is_not_added_or_ignored Assert.Throws(() => Validate(modelBuilder)).Message); } - [ConditionalFact] + [Fact] public virtual void Does_not_throw_when_navigation_is_added() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -146,7 +146,7 @@ public virtual void Does_not_throw_when_navigation_is_added() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Does_not_throw_when_navigation_is_ignored() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -156,7 +156,7 @@ public virtual void Does_not_throw_when_navigation_is_ignored() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Does_not_throw_when_navigation_type_is_ignored() { var modelBuilder = @@ -166,7 +166,7 @@ public virtual void Does_not_throw_when_navigation_type_is_ignored() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Does_not_throw_when_navigation_target_entity_is_ignored() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -176,7 +176,7 @@ public virtual void Does_not_throw_when_navigation_target_entity_is_ignored() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Does_not_throw_when_explicit_navigation_is_not_added() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -193,7 +193,7 @@ public virtual void Does_not_throw_when_explicit_navigation_is_not_added() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Throws_when_interface_type_property_is_not_added_or_ignored() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -207,7 +207,7 @@ public virtual void Throws_when_interface_type_property_is_not_added_or_ignored( Assert.Throws(() => Validate(modelBuilder)).Message); } - [ConditionalFact] + [Fact] public virtual void Does_not_throw_when_interface_collection_type_property_type_is_ignored() { var modelBuilder = CreateConventionlessModelBuilder(configurationBuilder => configurationBuilder.IgnoreAny()); @@ -216,7 +216,7 @@ public virtual void Does_not_throw_when_interface_collection_type_property_type_ Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Does_not_throw_when_interface_generic_type_property_type_is_ignored() { var modelBuilder = CreateConventionlessModelBuilder(configurationBuilder => configurationBuilder.IgnoreAny(typeof(IList<>))); @@ -225,7 +225,7 @@ public virtual void Does_not_throw_when_interface_generic_type_property_type_is_ Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Does_not_throw_when_interface_base_type_property_type_is_ignored() { var modelBuilder = @@ -235,7 +235,7 @@ public virtual void Does_not_throw_when_interface_base_type_property_type_is_ign Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Does_not_throw_when_non_candidate_property_is_not_added() { var modelBuilder = CreateConventionlessModelBuilder(); diff --git a/test/EFCore.Tests/Infrastructure/ModelValidatorTest.cs b/test/EFCore.Tests/Infrastructure/ModelValidatorTest.cs index 15de51f6f04..d28e484a8c1 100644 --- a/test/EFCore.Tests/Infrastructure/ModelValidatorTest.cs +++ b/test/EFCore.Tests/Infrastructure/ModelValidatorTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Collections; @@ -14,7 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure; public partial class ModelValidatorTest : ModelValidatorTestBase { - [ConditionalFact] // Issue #33913 + [Fact] // Issue #33913 public virtual void Detects_well_known_concrete_collections_mapped_as_entity_type() { Detects_well_known_concrete_collections_mapped_as_entity_type>(); @@ -41,7 +41,7 @@ public virtual void Detects_well_known_concrete_collections_mapped_as_entity_typ LoggerFactory.Clear(); } - [ConditionalFact] + [Fact] public void Logs_warning_when_non_collection_complex_property_has_collection_type() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -58,7 +58,7 @@ public void Logs_warning_when_non_collection_complex_property_has_collection_typ } #pragma warning disable EF8001 // Owned JSON entities are obsolete - [ConditionalFact] // Issue #33913 + [Fact] // Issue #33913 public virtual void Detects_well_known_concrete_collections_mapped_as_owned_entity_type() { var modelBuilder = CreateConventionModelBuilder(); @@ -86,7 +86,7 @@ protected class JsonbField public required string Value { get; set; } } - [ConditionalFact] + [Fact] public virtual void Detects_key_property_which_cannot_be_compared() { var modelBuilder = CreateConventionModelBuilder(); @@ -107,7 +107,7 @@ protected class WithNonComparableKey public NotComparable Id { get; set; } } - [ConditionalFact] + [Fact] public virtual void Detects_noncomparable_key_property_with_comparer() { var modelBuilder = CreateConventionModelBuilder(); @@ -123,7 +123,7 @@ public virtual void Detects_noncomparable_key_property_with_comparer() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_noncomparable_key_property_with_provider_comparer() { var modelBuilder = CreateConventionModelBuilder(); @@ -143,7 +143,7 @@ public virtual void Detects_noncomparable_key_property_with_provider_comparer() public class CustomValueComparer() : ValueComparer(false); // Doesn't implement IComparer - [ConditionalFact] + [Fact] public virtual void Detects_unique_index_property_which_cannot_be_compared() { var modelBuilder = CreateConventionModelBuilder(); @@ -165,7 +165,7 @@ protected class WithNonComparableUniqueIndex public NotComparable Index { get; set; } } - [ConditionalFact] + [Fact] public virtual void Ignores_normal_property_which_cannot_be_compared() { var modelBuilder = CreateConventionModelBuilder(); @@ -188,7 +188,7 @@ protected class WithNonComparableNormalProperty protected struct NotComparable; - [ConditionalFact] + [Fact] public virtual void Detects_custom_converter_for_collection_type_without_comparer() { var modelBuilder = CreateConventionModelBuilder(); @@ -210,7 +210,7 @@ public virtual void Detects_custom_converter_for_collection_type_without_compare modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Ignores_custom_converter_for_collection_type_with_comparer() { var modelBuilder = CreateConventionModelBuilder(); @@ -242,7 +242,7 @@ protected class WithCollectionConversion public string[] SomeStrings { get; set; } } - [ConditionalFact] + [Fact] public virtual void Throws_when_mapping_concrete_sealed_type_that_does_not_implement_IList() { var modelBuilder = CreateConventionModelBuilder(); @@ -262,7 +262,7 @@ protected class WithStringCollection public string SomeString { get; set; } } - [ConditionalFact] + [Fact] public virtual void Does_not_throw_when_mapping_an_IReadOnlyCollection() { var modelBuilder = CreateConventionModelBuilder(); @@ -282,7 +282,7 @@ protected class WithReadOnlyIntCollection public IReadOnlyCollection Tags { get; set; } } - [ConditionalFact] + [Fact] public virtual void Does_not_throw_when_mapping_an_IReadOnlyList() { var modelBuilder = CreateConventionModelBuilder(); @@ -302,7 +302,7 @@ protected class WithReadOnlyList public IReadOnlyList Tags { get; set; } } - [ConditionalFact] + [Fact] public virtual void Does_not_throw_for_non_generic_collection() { var modelBuilder = CreateConventionModelBuilder(); @@ -369,7 +369,7 @@ protected class WithNonGenericCollection public MyCollection Tags { get; set; } } - [ConditionalFact] + [Fact] public virtual void Ignores_binary_keys_and_strings_without_custom_comparer() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -398,7 +398,7 @@ protected class WithStringAndBinaryKey public string AString { get; set; } } - [ConditionalFact] + [Fact] public virtual void Detects_filter_on_derived_type() { var modelBuilder = CreateConventionModelBuilder(); @@ -413,7 +413,7 @@ public virtual void Detects_filter_on_derived_type() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_filter_on_owned_type() { var modelBuilder = CreateConventionModelBuilder(); @@ -428,7 +428,7 @@ public virtual void Detects_filter_on_owned_type() VerifyError(CoreStrings.BadFilterOwnedType(queryFilter, nameof(ReferencedEntity)), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_on_shadow_key_created_explicitly() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -446,7 +446,7 @@ public virtual void Passes_on_shadow_key_created_explicitly() LogLevel.Debug); } - [ConditionalFact] + [Fact] public virtual void Passes_on_shadow_primary_key_created_by_convention_in_dependent_type() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -464,7 +464,7 @@ public virtual void Passes_on_shadow_primary_key_created_by_convention_in_depend .GenerateMessage("A", "Key"), modelBuilder, LogLevel.Debug); } - [ConditionalFact] // Issue #33484 + [Fact] // Issue #33484 public virtual void Does_not_log_for_shadow_property_when_creating_indexer_property() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -479,7 +479,7 @@ public virtual void Does_not_log_for_shadow_property_when_creating_indexer_prope .GenerateMessage("Bag (Dictionary)", "Foo"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Warns_on_uniquified_shadow_key_due_to_wrong_type() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -506,7 +506,7 @@ public virtual void Warns_on_uniquified_shadow_key_due_to_wrong_type() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Warns_on_uniquified_shadow_key_due_to_unmapped_property() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -533,7 +533,7 @@ public virtual void Warns_on_uniquified_shadow_key_due_to_unmapped_property() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Warns_on_uniquified_shadow_key_due_to_use_in_another_relationship() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -566,7 +566,7 @@ public virtual void Warns_on_uniquified_shadow_key_due_to_use_in_another_relatio modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Warns_on_double_uniquified_shadow_key_due_to_wrong_type() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -594,7 +594,7 @@ public virtual void Warns_on_double_uniquified_shadow_key_due_to_wrong_type() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_shadow_key_referenced_by_foreign_key_by_convention() { var builder = CreateConventionlessModelBuilder(); @@ -630,7 +630,7 @@ public virtual void Detects_shadow_key_referenced_by_foreign_key_by_convention() builder); } - [ConditionalFact] + [Fact] public virtual void Detects_a_null_primary_key() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -646,7 +646,7 @@ public virtual void Detects_a_null_primary_key() VerifyError(CoreStrings.EntityRequiresKey(nameof(A)), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_key_property_with_value_generated_on_update() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -659,7 +659,7 @@ public virtual void Detects_key_property_with_value_generated_on_update() VerifyError(CoreStrings.MutableKeyProperty(nameof(A.Id)), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_key_property_with_value_generated_on_add_or_update() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -673,7 +673,7 @@ public virtual void Detects_key_property_with_value_generated_on_add_or_update() VerifyError(CoreStrings.MutableKeyProperty(nameof(A.Id)), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_identifying_relationship_cycle() { var modelBuilder = base.CreateConventionModelBuilder(); @@ -686,7 +686,7 @@ public virtual void Detects_identifying_relationship_cycle() VerifyError(CoreStrings.IdentifyingRelationshipCycle("A -> B -> C"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_on_relationship_cycle_for_property_configuration() { var modelBuilder = base.CreateConventionModelBuilder(); @@ -704,7 +704,7 @@ public virtual void Passes_on_relationship_cycle_for_property_configuration() Assert.Null(dId.GetProviderClrType()); } - [ConditionalFact] + [Fact] public virtual void Passes_on_multiple_relationship_cycles_for_property_configuration() { var modelBuilder = base.CreateConventionModelBuilder(); @@ -724,7 +724,7 @@ public virtual void Passes_on_multiple_relationship_cycles_for_property_configur Assert.Null(aId.GetProviderClrType()); } - [ConditionalFact] + [Fact] public virtual void Detects_conflicting_converter_and_provider_type_with_relationship_cycle() { var modelBuilder = base.CreateConventionModelBuilder(); @@ -749,7 +749,7 @@ public virtual void Detects_conflicting_converter_and_provider_type_with_relatio Assert.Throws(dId.GetProviderClrType).Message); } - [ConditionalFact] + [Fact] public virtual void Detects_conflicting_provider_types_with_relationship_cycle() { var modelBuilder = base.CreateConventionModelBuilder(); @@ -774,7 +774,7 @@ public virtual void Detects_conflicting_provider_types_with_relationship_cycle() Assert.Throws(dId.GetProviderClrType).Message); } - [ConditionalFact] + [Fact] public virtual void Detects_relationship_cycle_for_explicit_property_configuration() { var modelBuilder = base.CreateConventionModelBuilder(); @@ -799,7 +799,7 @@ public virtual void Detects_relationship_cycle_for_explicit_property_configurati modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_on_multiple_relationship_paths() { var modelBuilder = base.CreateConventionModelBuilder(); @@ -814,7 +814,7 @@ public virtual void Passes_on_multiple_relationship_paths() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_on_redundant_foreign_key() { var modelBuilder = base.CreateConventionModelBuilder(); @@ -826,7 +826,7 @@ public virtual void Passes_on_redundant_foreign_key() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_on_escapable_foreign_key_cycles() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -856,7 +856,7 @@ public virtual void Passes_on_escapable_foreign_key_cycles() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_on_escapable_foreign_key_cycles_not_starting_at_hub() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -887,7 +887,7 @@ public virtual void Passes_on_escapable_foreign_key_cycles_not_starting_at_hub() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_on_foreign_key_cycle_with_one_GenerateOnAdd() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -917,7 +917,7 @@ public virtual void Passes_on_foreign_key_cycle_with_one_GenerateOnAdd() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_on_double_reference_to_root_principal_property() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -947,7 +947,7 @@ public virtual void Passes_on_double_reference_to_root_principal_property() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_on_diamond_path_to_root_principal_property() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -982,7 +982,7 @@ public virtual void Passes_on_diamond_path_to_root_principal_property() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_on_correct_inheritance() { var modelBuilder = CreateConventionModelBuilder(); @@ -992,7 +992,7 @@ public virtual void Passes_on_correct_inheritance() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_skipped_base_type() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -1016,7 +1016,7 @@ public virtual void Detects_skipped_base_type() VerifyError(CoreStrings.InconsistentInheritance(nameof(F), nameof(A), nameof(D)), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_abstract_leaf_type() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -1035,7 +1035,7 @@ public virtual void Detects_abstract_leaf_type() VerifyError(CoreStrings.AbstractLeafEntityType(entityAbstract.DisplayName()), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_generic_leaf_type() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -1053,7 +1053,7 @@ public virtual void Detects_generic_leaf_type() VerifyError(CoreStrings.AbstractLeafEntityType(entityGeneric.DisplayName()), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_on_valid_many_to_many_navigations() { var modelBuilder = CreateConventionModelBuilder(); @@ -1083,7 +1083,7 @@ public virtual void Passes_on_valid_many_to_many_navigations() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_missing_foreign_key_for_skip_navigations() { var modelBuilder = CreateConventionModelBuilder(); @@ -1107,7 +1107,7 @@ public virtual void Detects_missing_foreign_key_for_skip_navigations() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_missing_inverse_skip_navigations() { var modelBuilder = CreateConventionModelBuilder(); @@ -1132,7 +1132,7 @@ public virtual void Detects_missing_inverse_skip_navigations() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_nonCollection_skip_navigations() { var modelBuilder = CreateConventionModelBuilder(); @@ -1152,7 +1152,7 @@ public virtual void Detects_nonCollection_skip_navigations() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_value_type_complex_collection() { var modelBuilder = CreateConventionModelBuilder(); @@ -1170,7 +1170,7 @@ protected class WithStructCollection public List Foo { get; set; } } - [ConditionalFact] + [Fact] public virtual void Detects_non_list_complex_collection() { var modelBuilder = CreateConventionModelBuilder(); @@ -1196,7 +1196,7 @@ protected class WithReadOnlyCollection public IReadOnlyCollection Tags { get; set; } } - [ConditionalFact] + [Fact] public virtual void Detects_shadow_complex_properties() { var modelBuilder = CreateConventionModelBuilder(); @@ -1211,7 +1211,7 @@ public virtual void Detects_shadow_complex_properties() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_shadow_properties_on_value_type_complex_types() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -1228,7 +1228,7 @@ public virtual void Detects_shadow_properties_on_value_type_complex_types() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_shadow_properties_on_complex_types() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -1245,7 +1245,7 @@ public virtual void Detects_shadow_properties_on_complex_types() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_discriminator_shadow_property_on_complex_types() { var modelBuilder = CreateConventionModelBuilder(); @@ -1267,7 +1267,7 @@ public virtual void Passes_for_discriminator_shadow_property_on_complex_types() Assert.True(discriminatorProperty.IsShadowProperty()); } - [ConditionalFact] + [Fact] public virtual void Detects_discriminator_property_on_complex_collection() { var modelBuilder = CreateConventionModelBuilder(); @@ -1289,7 +1289,7 @@ public virtual void Detects_discriminator_property_on_complex_collection() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_indexer_complex_properties() { var modelBuilder = CreateConventionModelBuilder(); @@ -1304,7 +1304,7 @@ public virtual void Detects_indexer_complex_properties() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_on_valid_owned_entity_types() { var builder = CreateConventionlessModelBuilder(); @@ -1327,7 +1327,7 @@ public virtual void Passes_on_valid_owned_entity_types() Validate(builder); } - [ConditionalFact] + [Fact] public virtual void Detects_entity_type_with_multiple_ownerships() { var builder = CreateConventionlessModelBuilder(); @@ -1359,7 +1359,7 @@ public virtual void Detects_entity_type_with_multiple_ownerships() builder); } - [ConditionalFact] + [Fact] public virtual void Detects_principal_owned_entity_type() { var builder = CreateConventionlessModelBuilder(); @@ -1395,7 +1395,7 @@ public virtual void Detects_principal_owned_entity_type() builder); } - [ConditionalFact] + [Fact] public virtual void Detects_non_owner_navigation_to_owned_entity_type() { var builder = CreateConventionlessModelBuilder(); @@ -1429,7 +1429,7 @@ public virtual void Detects_non_owner_navigation_to_owned_entity_type() builder); } - [ConditionalFact] + [Fact] public virtual void Detects_derived_owned_entity_type() { var builder = CreateConventionlessModelBuilder(); @@ -1468,7 +1468,7 @@ public virtual void Detects_derived_owned_entity_type() VerifyError(CoreStrings.OwnedDerivedType(nameof(D)), builder); } - [ConditionalFact] + [Fact] public virtual void Detects_owned_entity_type_without_ownership() { var builder = CreateConventionlessModelBuilder(); @@ -1484,7 +1484,7 @@ public virtual void Detects_owned_entity_type_without_ownership() VerifyError(CoreStrings.OwnerlessOwnedType(nameof(A)), builder); } - [ConditionalFact] + [Fact] public virtual void Detects_ForeignKey_on_inherited_generated_key_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -1501,7 +1501,7 @@ public virtual void Detects_ForeignKey_on_inherited_generated_key_property() nameof(Abstract)), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_ForeignKey_on_inherited_generated_key_property_abstract_base() { var modelBuilder = CreateConventionModelBuilder(); @@ -1511,7 +1511,7 @@ public virtual void Passes_for_ForeignKey_on_inherited_generated_key_property_ab Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_ForeignKey_on_inherited_generated_composite_key_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -1524,7 +1524,7 @@ public virtual void Passes_for_ForeignKey_on_inherited_generated_composite_key_p Validate(modelBuilder); } - [ConditionalTheory, InlineData(ChangeTrackingStrategy.ChangedNotifications), + [Theory, InlineData(ChangeTrackingStrategy.ChangedNotifications), InlineData(ChangeTrackingStrategy.ChangingAndChangedNotifications), InlineData(ChangeTrackingStrategy.ChangingAndChangedNotificationsWithOriginalValues)] public virtual void Detects_non_notifying_entities(ChangeTrackingStrategy changeTrackingStrategy) @@ -1543,7 +1543,7 @@ public virtual void Detects_non_notifying_entities(ChangeTrackingStrategy change modelBuilder); } - [ConditionalTheory, InlineData(ChangeTrackingStrategy.ChangingAndChangedNotifications), + [Theory, InlineData(ChangeTrackingStrategy.ChangingAndChangedNotifications), InlineData(ChangeTrackingStrategy.ChangingAndChangedNotificationsWithOriginalValues)] public virtual void Detects_changed_only_notifying_entities(ChangeTrackingStrategy changeTrackingStrategy) { @@ -1561,7 +1561,7 @@ public virtual void Detects_changed_only_notifying_entities(ChangeTrackingStrate modelBuilder); } - [ConditionalTheory, InlineData(ChangeTrackingStrategy.ChangedNotifications), + [Theory, InlineData(ChangeTrackingStrategy.ChangedNotifications), InlineData(ChangeTrackingStrategy.ChangingAndChangedNotifications), InlineData(ChangeTrackingStrategy.ChangingAndChangedNotificationsWithOriginalValues)] public virtual void Detects_complex_collections_with_notifications(ChangeTrackingStrategy changeTrackingStrategy) @@ -1587,7 +1587,7 @@ protected class WithFullNotificationCollection public List Foo { get; set; } } - [ConditionalTheory, InlineData(ChangeTrackingStrategy.ChangedNotifications), + [Theory, InlineData(ChangeTrackingStrategy.ChangedNotifications), InlineData(ChangeTrackingStrategy.ChangingAndChangedNotifications), InlineData(ChangeTrackingStrategy.ChangingAndChangedNotificationsWithOriginalValues)] public virtual void Detects_complex_properties_with_notifications(ChangeTrackingStrategy changeTrackingStrategy) @@ -1613,7 +1613,7 @@ protected class WithFullNotificationProperty public FullNotificationEntity Foo { get; set; } } - [ConditionalTheory, InlineData(ChangeTrackingStrategy.Snapshot), InlineData(ChangeTrackingStrategy.ChangedNotifications), + [Theory, InlineData(ChangeTrackingStrategy.Snapshot), InlineData(ChangeTrackingStrategy.ChangedNotifications), InlineData(ChangeTrackingStrategy.ChangingAndChangedNotifications), InlineData(ChangeTrackingStrategy.ChangingAndChangedNotificationsWithOriginalValues)] public virtual void Passes_for_fully_notifying_entities(ChangeTrackingStrategy changeTrackingStrategy) @@ -1630,7 +1630,7 @@ public virtual void Passes_for_fully_notifying_entities(ChangeTrackingStrategy c Validate(modelBuilder); } - [ConditionalTheory, InlineData(ChangeTrackingStrategy.Snapshot), InlineData(ChangeTrackingStrategy.ChangedNotifications)] + [Theory, InlineData(ChangeTrackingStrategy.Snapshot), InlineData(ChangeTrackingStrategy.ChangedNotifications)] public virtual void Passes_for_changed_only_entities_with_snapshot_or_changed_only_tracking( ChangeTrackingStrategy changeTrackingStrategy) { @@ -1646,7 +1646,7 @@ public virtual void Passes_for_changed_only_entities_with_snapshot_or_changed_on Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_non_notifying_entities_with_snapshot_tracking() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -1661,7 +1661,7 @@ public virtual void Passes_for_non_notifying_entities_with_snapshot_tracking() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_valid_seeds() { var modelBuilder = CreateConventionModelBuilder(); @@ -1673,7 +1673,7 @@ public virtual void Passes_for_valid_seeds() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_for_ignored_invalid_seeded_properties() { var modelBuilder = CreateConventionModelBuilder(); @@ -1703,7 +1703,7 @@ public virtual void Passes_for_ignored_invalid_seeded_properties() Assert.Equal(-2, data.Last().Values.Single()); } - [ConditionalFact] + [Fact] public virtual void Detects_derived_seeds() { var modelBuilder = CreateConventionModelBuilder(); @@ -1714,7 +1714,7 @@ public virtual void Detects_derived_seeds() new D { Id = 2, P0 = 3 })).Message); } - [ConditionalFact] + [Fact] public virtual void Detects_derived_seeds_for_owned_types() { var modelBuilder = CreateConventionModelBuilder(); @@ -1728,7 +1728,7 @@ public virtual void Detects_derived_seeds_for_owned_types() .OwnsOne(b => b.AnotherA)).Message); } - [ConditionalFact] + [Fact] public virtual void Detects_missing_required_values_in_seeds() { var modelBuilder = CreateConventionModelBuilder(); @@ -1744,7 +1744,7 @@ public virtual void Detects_missing_required_values_in_seeds() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Passes_on_missing_required_store_generated_values_in_seeds() { var modelBuilder = CreateConventionModelBuilder(); @@ -1758,7 +1758,7 @@ public virtual void Passes_on_missing_required_store_generated_values_in_seeds() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_missing_key_values_in_seeds() { var entity = new NonSignedIntegerKeyEntity(); @@ -1774,7 +1774,7 @@ public virtual void Detects_missing_key_values_in_seeds() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_missing_signed_integer_key_values_in_seeds() { var modelBuilder = CreateConventionModelBuilder(); @@ -1785,7 +1785,7 @@ public virtual void Detects_missing_signed_integer_key_values_in_seeds() modelBuilder); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual void Detects_duplicate_seeds(bool sensitiveDataLoggingEnabled) { var modelBuilder = CreateConventionModelBuilder(sensitiveDataLoggingEnabled: sensitiveDataLoggingEnabled); @@ -1802,7 +1802,7 @@ public virtual void Detects_duplicate_seeds(bool sensitiveDataLoggingEnabled) sensitiveDataLoggingEnabled); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual void Detects_incompatible_values(bool sensitiveDataLoggingEnabled) { var modelBuilder = CreateConventionModelBuilder(sensitiveDataLoggingEnabled: sensitiveDataLoggingEnabled); @@ -1820,7 +1820,7 @@ public virtual void Detects_incompatible_values(bool sensitiveDataLoggingEnabled sensitiveDataLoggingEnabled); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual void Detects_reference_navigations_in_seeds(bool sensitiveDataLoggingEnabled) { var modelBuilder = CreateConventionModelBuilder(sensitiveDataLoggingEnabled: sensitiveDataLoggingEnabled); @@ -1847,7 +1847,7 @@ public virtual void Detects_reference_navigations_in_seeds(bool sensitiveDataLog sensitiveDataLoggingEnabled); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual void Detects_reference_navigations_in_seeds2(bool sensitiveDataLoggingEnabled) { var modelBuilder = CreateConventionModelBuilder(sensitiveDataLoggingEnabled: sensitiveDataLoggingEnabled); @@ -1876,7 +1876,7 @@ public virtual void Detects_reference_navigations_in_seeds2(bool sensitiveDataLo sensitiveDataLoggingEnabled); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual void Detects_collection_navigations_in_seeds(bool sensitiveDataLoggingEnabled) { var modelBuilder = CreateConventionModelBuilder(sensitiveDataLoggingEnabled: sensitiveDataLoggingEnabled); @@ -1908,7 +1908,7 @@ public virtual void Detects_collection_navigations_in_seeds(bool sensitiveDataLo sensitiveDataLoggingEnabled); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public virtual void Detects_complex_properties_in_seeds(bool sensitiveDataLoggingEnabled) { var modelBuilder = CreateConventionModelBuilder(sensitiveDataLoggingEnabled: sensitiveDataLoggingEnabled); @@ -1932,7 +1932,7 @@ public virtual void Detects_complex_properties_in_seeds(bool sensitiveDataLoggin sensitiveDataLoggingEnabled); } - [ConditionalFact] + [Fact] public virtual void Throws_on_two_properties_sharing_a_field() { var modelBuilder = CreateConventionModelBuilder(); @@ -1944,7 +1944,7 @@ public virtual void Throws_on_two_properties_sharing_a_field() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Throws_on_property_using_a_field_mapped_as_another_property() { var modelBuilder = CreateConventionModelBuilder(); @@ -1957,7 +1957,7 @@ public virtual void Throws_on_property_using_a_field_mapped_as_another_property( modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_missing_discriminator_property() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -1973,7 +1973,7 @@ public virtual void Detects_missing_discriminator_property() VerifyError(CoreStrings.NoDiscriminatorProperty(entityA.DisplayName()), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_incompatible_discriminator_value() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -1994,7 +1994,7 @@ public virtual void Detects_incompatible_discriminator_value() VerifyError(CoreStrings.DiscriminatorValueIncompatible("1", nameof(A), "int"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_missing_discriminator_value_on_base() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -2015,7 +2015,7 @@ public virtual void Detects_missing_discriminator_value_on_base() VerifyError(CoreStrings.NoDiscriminatorValue(entityA.DisplayName()), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_missing_discriminator_value_on_leaf() { var modelBuilder = CreateConventionlessModelBuilder(); @@ -2036,7 +2036,7 @@ public virtual void Detects_missing_discriminator_value_on_leaf() VerifyError(CoreStrings.NoDiscriminatorValue(entityGeneric.DisplayName()), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_missing_non_hierarchy_discriminator_value() { var modelBuilder = CreateConventionModelBuilder(); @@ -2045,7 +2045,7 @@ public virtual void Detects_missing_non_hierarchy_discriminator_value() VerifyError(CoreStrings.NoDiscriminatorValue(typeof(A).Name), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_missing_non_string_discriminator_values() { var modelBuilder = CreateConventionModelBuilder(); @@ -2057,7 +2057,7 @@ public virtual void Detects_missing_non_string_discriminator_values() VerifyError(CoreStrings.NoDiscriminatorValue(typeof(C).Name), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Does_not_detect_missing_discriminator_values_when_using_default_discriminator_name_with_non_string_type() { var modelBuilder = CreateConventionModelBuilder(); @@ -2071,7 +2071,7 @@ public virtual void Does_not_detect_missing_discriminator_values_when_using_defa Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_missing_complex_type_discriminator_values() { var modelBuilder = CreateConventionModelBuilder(); @@ -2081,7 +2081,7 @@ public virtual void Detects_missing_complex_type_discriminator_values() VerifyError(CoreStrings.NoDiscriminatorValue("B.A#A"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_incompatible_complex_type_discriminator_value() { var modelBuilder = CreateConventionModelBuilder(); @@ -2093,7 +2093,7 @@ public virtual void Detects_incompatible_complex_type_discriminator_value() VerifyError(CoreStrings.DiscriminatorValueIncompatible("1", "B.A#A", "int?"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_duplicate_discriminator_values() { var modelBuilder = CreateConventionModelBuilder(); @@ -2105,7 +2105,7 @@ public virtual void Detects_duplicate_discriminator_values() VerifyError(CoreStrings.DuplicateDiscriminatorValue(typeof(C).Name, 1, typeof(A).Name), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Required_navigation_with_query_filter_on_one_side_issues_a_warning() { var modelBuilder = CreateConventionModelBuilder(); @@ -2119,7 +2119,7 @@ public virtual void Required_navigation_with_query_filter_on_one_side_issues_a_w VerifyWarning(message, modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Optional_navigation_with_query_filter_on_one_side_doesnt_issue_a_warning() { var modelBuilder = CreateConventionModelBuilder(); @@ -2132,7 +2132,7 @@ public virtual void Optional_navigation_with_query_filter_on_one_side_doesnt_iss VerifyLogDoesNotContain(message, modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Required_navigation_with_query_filter_on_both_sides_doesnt_issue_a_warning() { var modelBuilder = CreateConventionModelBuilder(); @@ -2146,7 +2146,7 @@ public virtual void Required_navigation_with_query_filter_on_both_sides_doesnt_i VerifyLogDoesNotContain(message, modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Required_navigation_on_derived_type_with_query_filter_on_both_sides_doesnt_issue_a_warning() { var modelBuilder = CreateConventionModelBuilder(); @@ -2160,7 +2160,7 @@ public virtual void Required_navigation_on_derived_type_with_query_filter_on_bot VerifyLogDoesNotContain(message, modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Required_navigation_targeting_derived_type_with_no_query_filter_issues_a_warning() { var modelBuilder = CreateConventionModelBuilder(); @@ -2173,7 +2173,7 @@ public virtual void Required_navigation_targeting_derived_type_with_no_query_fil VerifyWarning(message, modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Required_navigation_on_owned_type_with_query_filter_on_owner_doesnt_issue_a_warning() { var modelBuilder = CreateConventionModelBuilder(); @@ -2190,7 +2190,7 @@ public virtual void Required_navigation_on_owned_type_with_query_filter_on_owner VerifyLogDoesNotContain(message, modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Shared_type_inheritance_throws() { var modelBuilder = CreateConventionModelBuilder(); @@ -2200,7 +2200,7 @@ public virtual void Shared_type_inheritance_throws() VerifyError(CoreStrings.SharedTypeDerivedType("Shared2 (C)"), modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Seeding_keyless_entity_throws() { var modelBuilder = CreateConventionModelBuilder(); @@ -2245,7 +2245,7 @@ protected class NonSignedIntegerKeyEntity public uint Id { get; set; } } - [ConditionalFact] + [Fact] public virtual void Detects_key_property_not_auto_loaded() { var modelBuilder = CreateConventionModelBuilder(); @@ -2265,7 +2265,7 @@ public virtual void Detects_key_property_not_auto_loaded() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_alternate_key_property_not_auto_loaded() { var modelBuilder = CreateConventionModelBuilder(); @@ -2286,7 +2286,7 @@ public virtual void Detects_alternate_key_property_not_auto_loaded() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_foreign_key_property_not_auto_loaded() { var modelBuilder = CreateConventionModelBuilder(); @@ -2313,7 +2313,7 @@ public virtual void Detects_foreign_key_property_not_auto_loaded() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_concurrency_token_not_auto_loaded() { var modelBuilder = CreateConventionModelBuilder(); @@ -2333,7 +2333,7 @@ public virtual void Detects_concurrency_token_not_auto_loaded() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_discriminator_not_auto_loaded() { var modelBuilder = CreateConventionModelBuilder(); @@ -2354,7 +2354,7 @@ public virtual void Detects_discriminator_not_auto_loaded() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Allows_non_key_property_not_auto_loaded() { var modelBuilder = CreateConventionModelBuilder(); @@ -2372,7 +2372,7 @@ public virtual void Allows_non_key_property_not_auto_loaded() Validate(modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_constructor_bound_property_not_auto_loaded() { var modelBuilder = CreateConventionModelBuilder(); @@ -2392,7 +2392,7 @@ public virtual void Detects_constructor_bound_property_not_auto_loaded() modelBuilder); } - [ConditionalFact] + [Fact] public virtual void Detects_derived_constructor_bound_property_not_auto_loaded() { var modelBuilder = CreateConventionModelBuilder(); diff --git a/test/EFCore.Tests/Infrastructure/ServiceCollectionMapTest.cs b/test/EFCore.Tests/Infrastructure/ServiceCollectionMapTest.cs index 56b0788f542..bc906fb1168 100644 --- a/test/EFCore.Tests/Infrastructure/ServiceCollectionMapTest.cs +++ b/test/EFCore.Tests/Infrastructure/ServiceCollectionMapTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure; public class ServiceCollectionMapTest { - [ConditionalFact] + [Fact] public void Can_add_delegate_services() { #pragma warning disable IDE0039 // Use local function @@ -39,7 +39,7 @@ private void AddServiceDelegateTest( Assert.Equal(lifetime, descriptor.Lifetime); } - [ConditionalFact] + [Fact] public void Can_add_concrete_services() { AddServiceConcreteTest(m => m.TryAddTransient(), ServiceLifetime.Transient); @@ -63,7 +63,7 @@ private void AddServiceConcreteTest( Assert.Equal(lifetime, descriptor.Lifetime); } - [ConditionalFact] + [Fact] public void Can_add_instance_services() { var instance = new FakeService(); @@ -85,7 +85,7 @@ private void AddServiceInstanceTest( Assert.Equal(ServiceLifetime.Singleton, descriptor.Lifetime); } - [ConditionalFact] + [Fact] public void Existing_services_are_not_replaced() { ExistingServiceTest(m => m.TryAddTransient()); @@ -120,7 +120,7 @@ private void ExistingServiceTest(Func(() => new StructuredJsonPathSegment("")); } - [ConditionalFact] + [Fact] public void StructuredJsonPath_root() { var path = StructuredJsonPath.Root; @@ -41,7 +41,7 @@ public void StructuredJsonPath_root() Assert.Equal("$", path.ToString()); } - [ConditionalFact] + [Fact] public void StructuredJsonPath_simple_property() { var path = new StructuredJsonPath([new StructuredJsonPathSegment("Address")], []); @@ -49,7 +49,7 @@ public void StructuredJsonPath_simple_property() Assert.Equal("$.Address", path.ToString()); } - [ConditionalFact] + [Fact] public void StructuredJsonPath_nested_properties() { var path = new StructuredJsonPath( @@ -58,7 +58,7 @@ public void StructuredJsonPath_nested_properties() Assert.Equal("$.Address.City", path.ToString()); } - [ConditionalFact] + [Fact] public void StructuredJsonPath_root_array_index() { var path = new StructuredJsonPath( @@ -67,7 +67,7 @@ public void StructuredJsonPath_root_array_index() Assert.Equal("$[3].Name", path.ToString()); } - [ConditionalFact] + [Fact] public void StructuredJsonPath_with_array_index() { var path = new StructuredJsonPath( @@ -76,7 +76,7 @@ public void StructuredJsonPath_with_array_index() Assert.Equal("$.Items[3].Name", path.ToString()); } - [ConditionalFact] + [Fact] public void StructuredJsonPath_with_multiple_array_indices() { var path = new StructuredJsonPath( @@ -91,7 +91,7 @@ public void StructuredJsonPath_with_multiple_array_indices() Assert.Equal("$.Orders[1].Items[2].Name", path.ToString()); } - [ConditionalFact] + [Fact] public void StructuredJsonPath_array_only() { var path = new StructuredJsonPath( @@ -100,7 +100,7 @@ [new StructuredJsonPathSegment("Items"), StructuredJsonPathSegment.Array], Assert.Equal("$.Items[0]", path.ToString()); } - [ConditionalFact] + [Fact] public void StructuredJsonPath_AppendTo_builds_same_as_ToString() { var path = new StructuredJsonPath( diff --git a/test/EFCore.Tests/LoggerCategoryTest.cs b/test/EFCore.Tests/LoggerCategoryTest.cs index b0f23a56302..5248572a81e 100644 --- a/test/EFCore.Tests/LoggerCategoryTest.cs +++ b/test/EFCore.Tests/LoggerCategoryTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore; public class DbLoggerCategoryTest { - [ConditionalFact] + [Fact] public void Logger_categories_have_the_correct_names() { Assert.Equal("Microsoft.EntityFrameworkCore.Database", DbLoggerCategory.Database.Name); @@ -21,7 +21,7 @@ public void Logger_categories_have_the_correct_names() Assert.Equal("Microsoft.EntityFrameworkCore.Update", DbLoggerCategory.Update.Name); } - [ConditionalFact] + [Fact] public void DbLoggerCategory_instances_generate_the_correct_names() { Assert.Equal(DbLoggerCategory.Database.Name, new DbLoggerCategory.Database()); diff --git a/test/EFCore.Tests/Metadata/Builders/MetadataBuilderTest.cs b/test/EFCore.Tests/Metadata/Builders/MetadataBuilderTest.cs index 711bcead189..9e70bdfcc31 100644 --- a/test/EFCore.Tests/Metadata/Builders/MetadataBuilderTest.cs +++ b/test/EFCore.Tests/Metadata/Builders/MetadataBuilderTest.cs @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders; public class MetadataBuilderTest { - [ConditionalFact] + [Fact] public void Can_write_model_builder_extension() { var builder = CreateModelBuilder(); @@ -27,7 +27,7 @@ public void Can_write_model_builder_extension() Assert.Equal("V2.Metadata", model["Metadata"]); } - [ConditionalFact] + [Fact] public void Can_write_entity_builder_extension() { var builder = CreateModelBuilder(); @@ -46,7 +46,7 @@ public void Can_write_entity_builder_extension() Assert.Equal("V2.Metadata", entityType["Metadata"]); } - [ConditionalFact] + [Fact] public void Can_write_entity_builder_extension_and_use_with_generic_builder() { var builder = CreateModelBuilder(); @@ -65,7 +65,7 @@ public void Can_write_entity_builder_extension_and_use_with_generic_builder() Assert.Equal("V2.Metadata", entityType["Metadata"]); } - [ConditionalFact] + [Fact] public void Can_write_generic_entity_builder_extension() { var builder = CreateModelBuilder(); @@ -84,7 +84,7 @@ public void Can_write_generic_entity_builder_extension() Assert.Equal("V2.Metadata", entityType["Metadata"]); } - [ConditionalFact] + [Fact] public void Can_write_key_builder_extension() { var builder = CreateModelBuilder(); @@ -104,7 +104,7 @@ public void Can_write_key_builder_extension() Assert.Equal("V2.Metadata", key["Metadata"]); } - [ConditionalFact] + [Fact] public void Can_write_property_builder_extension() { var builder = CreateModelBuilder(); @@ -124,7 +124,7 @@ public void Can_write_property_builder_extension() Assert.Equal("V2.Metadata", property["Metadata"]); } - [ConditionalFact] + [Fact] public void Can_write_index_builder_extension() { var builder = CreateModelBuilder(); @@ -144,7 +144,7 @@ public void Can_write_index_builder_extension() Assert.Equal("V2.Metadata", index["Metadata"]); } - [ConditionalFact] + [Fact] public void Can_write_one_to_many_builder_extension() { var builder = CreateModelBuilder(); @@ -165,7 +165,7 @@ public void Can_write_one_to_many_builder_extension() Assert.Equal("V2.Metadata", foreignKey["Metadata"]); } - [ConditionalFact] + [Fact] public void Can_write_many_to_one_builder_extension() { var builder = CreateModelBuilder(); @@ -186,7 +186,7 @@ public void Can_write_many_to_one_builder_extension() Assert.Equal("V2.Metadata", foreignKey["Metadata"]); } - [ConditionalFact] + [Fact] public void Can_write_one_to_one_builder_extension() { var builder = CreateModelBuilder(); @@ -208,7 +208,7 @@ public void Can_write_one_to_one_builder_extension() Assert.Equal("V2.Metadata", foreignKey["Metadata"]); } - [ConditionalFact] + [Fact] public void Can_write_model_builder_extension_with_common_name() { var builder = CreateModelBuilder(); @@ -225,7 +225,7 @@ public void Can_write_model_builder_extension_with_common_name() Assert.Equal("V2.Metadata", model["Metadata"]); } - [ConditionalFact] + [Fact] public void Can_write_entity_builder_extension_with_common_name() { var builder = CreateModelBuilder(); @@ -244,7 +244,7 @@ public void Can_write_entity_builder_extension_with_common_name() Assert.Equal("V2.Metadata", entityType["Metadata"]); } - [ConditionalFact] + [Fact] public void Can_write_entity_builder_extension_and_use_with_generic_builder_with_common_name() { var builder = CreateModelBuilder(); @@ -263,7 +263,7 @@ public void Can_write_entity_builder_extension_and_use_with_generic_builder_with Assert.Equal("V2.Metadata", entityType["Metadata"]); } - [ConditionalFact] + [Fact] public void Can_write_generic_entity_builder_extension_with_common_name() { var builder = CreateModelBuilder(); @@ -282,7 +282,7 @@ public void Can_write_generic_entity_builder_extension_with_common_name() Assert.Equal("V2.Metadata", entityType["Metadata"]); } - [ConditionalFact] + [Fact] public void Can_write_key_builder_extension_with_common_name() { var builder = CreateModelBuilder(); @@ -302,7 +302,7 @@ public void Can_write_key_builder_extension_with_common_name() Assert.Equal("V2.Metadata", key["Metadata"]); } - [ConditionalFact] + [Fact] public void Can_write_property_builder_extension_with_common_name() { var builder = CreateModelBuilder(); @@ -322,7 +322,7 @@ public void Can_write_property_builder_extension_with_common_name() Assert.Equal("V2.Metadata", property["Metadata"]); } - [ConditionalFact] + [Fact] public void Can_write_index_builder_extension_with_common_name() { var builder = CreateModelBuilder(); @@ -342,7 +342,7 @@ public void Can_write_index_builder_extension_with_common_name() Assert.Equal("V2.Metadata", index["Metadata"]); } - [ConditionalFact] + [Fact] public void Can_write_one_to_many_builder_extension_with_common_name() { var builder = CreateModelBuilder(); @@ -363,7 +363,7 @@ public void Can_write_one_to_many_builder_extension_with_common_name() Assert.Equal("V2.Metadata", foreignKey["Metadata"]); } - [ConditionalFact] + [Fact] public void Can_write_many_to_one_builder_extension_with_common_name() { var builder = CreateModelBuilder(); @@ -384,7 +384,7 @@ public void Can_write_many_to_one_builder_extension_with_common_name() Assert.Equal("V2.Metadata", foreignKey["Metadata"]); } - [ConditionalFact] + [Fact] public void Can_write_one_to_one_builder_extension_with_common_name() { var builder = CreateModelBuilder(); diff --git a/test/EFCore.Tests/Metadata/Conventions/BackingFieldConventionTest.cs b/test/EFCore.Tests/Metadata/Conventions/BackingFieldConventionTest.cs index 28c0637752c..e33db3e9caa 100644 --- a/test/EFCore.Tests/Metadata/Conventions/BackingFieldConventionTest.cs +++ b/test/EFCore.Tests/Metadata/Conventions/BackingFieldConventionTest.cs @@ -18,55 +18,55 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class BackingFieldConventionTest { - [ConditionalFact] + [Fact] public void Auto_property_name_matching_field_is_used_as_first_preference() => FieldMatchTest("ComfortablyNumb", "k__BackingField"); - [ConditionalFact] + [Fact] public void Property_name_matching_field_is_used_as_next_preference() => FieldMatchTest("IsThereAnybodyOutThere", "IsThereAnybodyOutThere"); - [ConditionalFact] + [Fact] public void Camel_case_matching_field_is_used_as_next_preference() => FieldMatchTest("Breathe", "breathe"); - [ConditionalFact] + [Fact] public void Camel_case_matching_field_is_not_used_if_type_is_not_compatible() => FieldMatchTest("OnTheRun", "_onTheRun"); - [ConditionalFact] + [Fact] public void Underscore_camel_case_matching_field_is_used_as_next_preference() => FieldMatchTest("Time", "_time"); - [ConditionalFact] + [Fact] public void Underscore_suffix_camel_case_matching_field_is_used_as_next_preference() => FieldMatchTest("Time", "_time"); - [ConditionalFact] + [Fact] public void Underscore_camel_case_matching_field_is_not_used_if_type_is_not_compatible() => FieldMatchTest("TheGreatGigInTheSky", "_TheGreatGigInTheSky"); - [ConditionalFact] + [Fact] public void Underscore_matching_field_is_used_as_next_preference() => FieldMatchTest("Money", "_Money"); - [ConditionalFact] + [Fact] public void Underscore_matching_field_is_not_used_if_type_is_not_compatible() => FieldMatchTest("UsAndThem", "m_usAndThem"); - [ConditionalFact] + [Fact] public void M_Underscore_camel_case_matching_field_is_used_as_next_preference() => FieldMatchTest("AnyColourYouLike", "m_anyColourYouLike"); - [ConditionalFact] + [Fact] public void M_underscore_camel_case_matching_field_is_not_used_if_type_is_not_compatible() => FieldMatchTest("BrainDamage", "m_BrainDamage"); - [ConditionalFact] + [Fact] public void M_underscore_matching_field_is_used_as_next_preference() => FieldMatchTest("Eclipse", "m_Eclipse"); - [ConditionalFact] + [Fact] public void M_underscore_matching_field_is_not_used_if_type_is_not_compatible() { var entityType = CreateModel().AddEntityType(typeof(TheDarkSideOfTheMoon)); @@ -78,47 +78,47 @@ public void M_underscore_matching_field_is_not_used_if_type_is_not_compatible() Assert.Null(property.GetFieldName()); } - [ConditionalFact] + [Fact] public void Property_name_matching_field_is_used_as_first_preference_for_field_only() => FieldMatchTest("IsThereAnybodyOutThere", "IsThereAnybodyOutThere"); - [ConditionalFact] + [Fact] public void Camel_case_matching_field_is_not_used_as_next_preference_for_field_only() => FieldMatchTest("Breathe", null); - [ConditionalFact] + [Fact] public void Camel_case_matching_field_is_not_used_if_type_is_not_compatible_for_field_only() => FieldMatchTest("OnTheRun", null); - [ConditionalFact] + [Fact] public void Underscore_camel_case_matching_field_is_not_used_as_next_preference_for_field_only() => FieldMatchTest("Time", null); - [ConditionalFact] + [Fact] public void Underscore_camel_case_matching_field_is_not_used_if_type_is_not_compatible_for_field_only() => FieldMatchTest("TheGreatGigInTheSky", null); - [ConditionalFact] + [Fact] public void Underscore_matching_field_is_not_used_as_next_preference_for_field_only() => FieldMatchTest("Money", null); - [ConditionalFact] + [Fact] public void Underscore_matching_field_is_not_used_if_type_is_not_compatible_for_field_only() => FieldMatchTest("UsAndThem", null); - [ConditionalFact] + [Fact] public void M_underscore_camel_case_matching_field_is_not_used_as_next_preference_for_field_only() => FieldMatchTest("AnyColourYouLike", null); - [ConditionalFact] + [Fact] public void M_underscore_camel_case_matching_field_is_not_used_if_type_is_not_compatible_for_field_only() => FieldMatchTest("BrainDamage", null); - [ConditionalFact] + [Fact] public void M_underscore_matching_field_is_not_used_as_next_preference_for_field_only() => FieldMatchTest("Eclipse", null); - [ConditionalFact] + [Fact] public void M_underscore_matching_field_is_not_used_if_type_is_not_compatible_for_field_only() { var entityType = CreateModel().AddEntityType(typeof(TheDarkerSideOfTheMoon)); @@ -141,7 +141,7 @@ private void FieldMatchTest(string propertyName, string fieldName) Assert.Equal(fieldName, property.GetFieldName()); } - [ConditionalFact] + [Fact] public void Field_in_base_type_is_matched() { var entityType = CreateModel().AddEntityType(typeof(TheDarkSide)); @@ -153,7 +153,7 @@ public void Field_in_base_type_is_matched() Assert.Equal("_theGreatGigInTheSky", property.GetFieldName()); } - [ConditionalFact] + [Fact] public void Matched_field_on_base_class_is_found() { var entityType = CreateModel().AddEntityType(typeof(TheDarkSide)); @@ -165,7 +165,7 @@ public void Matched_field_on_base_class_is_found() Assert.Equal("_onBase", property.GetFieldName()); } - [ConditionalFact] + [Fact] public void Multiple_matches_throws() { var entityType = CreateModel().AddEntityType(typeof(AlwaysLookOnTheBrightSideOfLife)); @@ -178,7 +178,7 @@ public void Multiple_matches_throws() Assert.Throws(() => Validate(property)).Message); } - [ConditionalFact] + [Fact] public void Object_field_non_object_property_matches_and_throws_ambiguous() { var entityType = CreateModel().AddEntityType(typeof(HesNotTheMessiah)); @@ -191,7 +191,7 @@ public void Object_field_non_object_property_matches_and_throws_ambiguous() Assert.Throws(() => Validate(property)).Message); } - [ConditionalFact] + [Fact] public void Object_property_non_object_field_matches_and_throws_ambiguous() { var entityType = CreateModel().AddEntityType(typeof(HesAVeryNaughtyBoy)); @@ -204,7 +204,7 @@ public void Object_property_non_object_field_matches_and_throws_ambiguous() Assert.Throws(() => Validate(property)).Message); } - [ConditionalFact] + [Fact] public void Explicitly_set_FieldInfo_is_used() { var entityType = CreateModel().AddEntityType(typeof(AlwaysLookOnTheBrightSideOfLife)); @@ -219,7 +219,7 @@ public void Explicitly_set_FieldInfo_is_used() Assert.Equal("m_onTheRun", property.GetFieldName()); } - [ConditionalFact] + [Fact] public void FieldInfo_set_by_annotation_is_used() { var entityType = ((IConventionModel)CreateModel()).AddEntityType(typeof(AlwaysLookOnTheBrightSideOfLife)); @@ -234,7 +234,7 @@ public void FieldInfo_set_by_annotation_is_used() Assert.Equal("m_onTheRun", property.GetFieldName()); } - [ConditionalFact] + [Fact] public void Backing_field_is_not_discovered_for_indexer_property() { var entityType = CreateModel().AddEntityType(typeof(IndexedClass)); @@ -246,7 +246,7 @@ public void Backing_field_is_not_discovered_for_indexer_property() Assert.Null(property.GetFieldName()); } - [ConditionalFact] + [Fact] public void Setting_field_on_indexer_property_throws() { var entityType = CreateModel().AddEntityType(typeof(IndexedClass)); diff --git a/test/EFCore.Tests/Metadata/Conventions/BaseTypeDiscoveryConventionTest.cs b/test/EFCore.Tests/Metadata/Conventions/BaseTypeDiscoveryConventionTest.cs index c1eb2a95d17..c49e38d72a6 100644 --- a/test/EFCore.Tests/Metadata/Conventions/BaseTypeDiscoveryConventionTest.cs +++ b/test/EFCore.Tests/Metadata/Conventions/BaseTypeDiscoveryConventionTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class BaseTypeDiscoveryConventionTest { - [ConditionalFact] + [Fact] public void Discovers_parent_type() { var entityBuilderA = CreateInternalEntityTypeBuilder(); @@ -21,7 +21,7 @@ public void Discovers_parent_type() Assert.Same(entityBuilderB.Metadata, entityBuilderC.Metadata.BaseType); } - [ConditionalFact] + [Fact] public void Discovers_grandparent_type() { var entityBuilderA = CreateInternalEntityTypeBuilder(); @@ -33,7 +33,7 @@ public void Discovers_grandparent_type() Assert.Same(entityBuilderA.Metadata, entityBuilderC.Metadata.BaseType); } - [ConditionalFact] + [Fact] public void Discovers_parent_type_if_base_type_set() { var entityBuilderA = CreateInternalEntityTypeBuilder(); diff --git a/test/EFCore.Tests/Metadata/Conventions/CascadeDeleteConventionTest.cs b/test/EFCore.Tests/Metadata/Conventions/CascadeDeleteConventionTest.cs index 143e86ef595..622c925835f 100644 --- a/test/EFCore.Tests/Metadata/Conventions/CascadeDeleteConventionTest.cs +++ b/test/EFCore.Tests/Metadata/Conventions/CascadeDeleteConventionTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // ReSharper disable UnusedAutoPropertyAccessor.Local @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class CascadeDeleteConventionTest { - [ConditionalFact] + [Fact] public void Cascade_delete_is_set_when_required_FK_is_added() { var modelBuilder = CreateModelBuilder(); @@ -27,7 +27,7 @@ public void Cascade_delete_is_set_when_required_FK_is_added() Assert.Equal(DeleteBehavior.Cascade, fk.DeleteBehavior); } - [ConditionalFact] + [Fact] public void Cascade_delete_is_not_set_when_optional_FK_is_added() { var modelBuilder = CreateModelBuilder(); @@ -39,7 +39,7 @@ public void Cascade_delete_is_not_set_when_optional_FK_is_added() Assert.Equal(DeleteBehavior.ClientSetNull, fk.DeleteBehavior); } - [ConditionalFact] + [Fact] public void Cascade_delete_is_set_when_optional_FK_is_made_required() { var modelBuilder = CreateModelBuilder(); @@ -55,7 +55,7 @@ public void Cascade_delete_is_set_when_optional_FK_is_made_required() Assert.Equal(DeleteBehavior.Cascade, fk.DeleteBehavior); } - [ConditionalFact] + [Fact] public void Cascade_delete_is_not_set_when_required_FK_is_made_optional() { var modelBuilder = CreateModelBuilder(); @@ -75,7 +75,7 @@ public void Cascade_delete_is_not_set_when_required_FK_is_made_optional() Assert.Equal(DeleteBehavior.ClientSetNull, fk.DeleteBehavior); } - [ConditionalFact] + [Fact] public void Cascade_delete_is_not_changed_when_set_explicitly_on_added_FK() { var modelBuilder = CreateModelBuilder(); @@ -89,7 +89,7 @@ public void Cascade_delete_is_not_changed_when_set_explicitly_on_added_FK() Assert.Equal(DeleteBehavior.Cascade, fk.DeleteBehavior); } - [ConditionalFact] + [Fact] public void Cascade_delete_is_not_changed_when_set_explicitly_on_FK() { var modelBuilder = CreateModelBuilder(); diff --git a/test/EFCore.Tests/Metadata/Conventions/ConstructorBindingConventionTest.cs b/test/EFCore.Tests/Metadata/Conventions/ConstructorBindingConventionTest.cs index 4b613ab34e7..8547a18070c 100644 --- a/test/EFCore.Tests/Metadata/Conventions/ConstructorBindingConventionTest.cs +++ b/test/EFCore.Tests/Metadata/Conventions/ConstructorBindingConventionTest.cs @@ -16,7 +16,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class ConstructorBindingConventionTest { - [ConditionalFact] + [Fact] public void Can_bind_parameterless_constructor() { var constructorBinding = GetBinding(); @@ -28,7 +28,7 @@ public void Can_bind_parameterless_constructor() private class BlogParameterless : Blog; - [ConditionalFact] + [Fact] public void Binds_to_parameterless_constructor_if_no_services() { var constructorBinding = GetBinding(); @@ -61,7 +61,7 @@ public BlogSeveralNoServices(string title, Guid? shadow, bool dummy, int id) } } - [ConditionalFact] + [Fact] public void Binds_to_least_parameters_if_no_services() { var constructorBinding = GetBinding(); @@ -96,7 +96,7 @@ public BlogSeveral(string title, Guid? shadow, bool dummy, int id) } } - [ConditionalFact] + [Fact] public void Binds_to_zero_scalars_one_service() { var constructorBinding = GetBinding(); @@ -147,7 +147,7 @@ public BlogOneService(ILazyLoader loader, string title, Guid? shadow, bool dummy } } - [ConditionalFact] + [Fact] public void Binds_to_least_scalars_one_service() { var constructorBinding = GetBinding(); @@ -199,7 +199,7 @@ public BlogSeveralOneService(ILazyLoader loader, string title, Guid? shadow, boo } } - [ConditionalFact] + [Fact] public void Binds_to_zero_scalars_two_services() { var constructorBinding = GetBinding(); @@ -283,7 +283,7 @@ public BlogTwoServices(DbContext context, ILazyLoader loader, string title, Guid } } - [ConditionalFact] + [Fact] public void Binds_to_least_scalars_two_services() { var constructorBinding = GetBinding(); @@ -360,7 +360,7 @@ public BlogSeveralTwoServices(DbContext context, ILazyLoader loader, string titl } } - [ConditionalFact] + [Fact] public void Throws_if_two_constructors_with_same_number_of_parameters_could_be_used() => Assert.Equal( CoreStrings.ConstructorConflict( @@ -368,7 +368,7 @@ public void Throws_if_two_constructors_with_same_number_of_parameters_could_be_u "BlogConflict(string, Guid?)"), Assert.Throws(() => GetBinding()).Message); - [ConditionalFact] + [Fact] public void Does_not_throw_if_explicit_binding_has_been_set() { var constructorBinding = GetBinding(e => ((EntityType)e).ConstructorBinding = new ConstructorBinding( @@ -409,7 +409,7 @@ public BlogConflict(string title, Guid? shadow, bool dummy, int id) } } - [ConditionalFact] + [Fact] public void Resolves_properties_with_different_kinds_of_name() { var constructorBinding = GetBinding(); @@ -464,7 +464,7 @@ public BlogSpanner( } } - [ConditionalFact] + [Fact] public void Binds_to_partial_set_of_parameters_that_resolve() { var constructorBinding = GetBinding(); @@ -488,7 +488,7 @@ public void Binds_to_partial_set_of_parameters_that_resolve() private class BlogWeirdScience(string content, int follows) : Blog; #pragma warning restore CS9113 - [ConditionalFact] + [Fact] public void Binds_to_context() { var constructorBinding = GetBinding(); @@ -516,7 +516,7 @@ public void Binds_to_context() private class BlogWithContext(int id, DbContext context) : Blog; #pragma warning restore CS9113 - [ConditionalFact] + [Fact] public void Binds_to_context_typed() { var constructorBinding = GetBinding(); @@ -540,7 +540,7 @@ public void Binds_to_context_typed() private class BlogWithTypedContext(TypedContext context) : Blog; #pragma warning restore CS9113 - [ConditionalFact] + [Fact] public void Binds_to_ILazyLoader() { var constructorBinding = GetBinding(); @@ -564,7 +564,7 @@ public void Binds_to_ILazyLoader() private class BlogWithLazyLoader(ILazyLoader loader) : Blog; #pragma warning restore CS9113 - [ConditionalFact] + [Fact] public void Binds_to_delegate_parameter_called_lazyLoader() { var constructorBinding = GetBinding(); @@ -588,7 +588,7 @@ public void Binds_to_delegate_parameter_called_lazyLoader() private class BlogWithLazyLoaderMethod(Action lazyLoader) : Blog; #pragma warning restore CS9113 - [ConditionalFact] + [Fact] public void Binds_to_IEntityType() { var constructorBinding = GetBinding(); @@ -611,7 +611,7 @@ public void Binds_to_IEntityType() private class BlogWithEntityType(IEntityType entityType) : Blog; #pragma warning restore CS9113 - [ConditionalFact] + [Fact] public void Does_not_bind_to_delegate_parameter_not_called_lazyLoader() { var constructorBinding = GetBinding(); @@ -638,7 +638,7 @@ public BlogWithOtherMethod(Action loader) private class TypedContext : DbContext; - [ConditionalFact] + [Fact] public void Throws_if_no_usable_constructor() { var constructors = new[] @@ -678,7 +678,7 @@ public BlogNone(string title, Guid? shadow, bool dummy, int id, string descripti } } - [ConditionalFact] + [Fact] public void Throws_if_no_usable_constructor_due_to_bad_type() => Assert.Equal( CoreStrings.ConstructorNotFound( @@ -693,7 +693,7 @@ public void Throws_if_no_usable_constructor_due_to_bad_type() private class BlogBadType(Guid shadow, int id) : Blog; #pragma warning restore CS9113 - [ConditionalFact] + [Fact] public void Throws_in_validation_if_field_not_found() { using var context = new NoFieldContext(); diff --git a/test/EFCore.Tests/Metadata/Conventions/ConventionDispatcherTest.cs b/test/EFCore.Tests/Metadata/Conventions/ConventionDispatcherTest.cs index 60187f77bfa..9c425420afd 100644 --- a/test/EFCore.Tests/Metadata/Conventions/ConventionDispatcherTest.cs +++ b/test/EFCore.Tests/Metadata/Conventions/ConventionDispatcherTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class ConventionDispatcherTest { - [ConditionalFact] + [Fact] public void Infinite_recursion_throws() { var conventions = new ConventionSet(); @@ -35,7 +35,7 @@ public void ProcessPropertyAdded( => ((IMutableEntityType)propertyBuilder.Metadata.DeclaringType).AddProperty("TempProperty" + _count++, typeof(int)); } - [InlineData(false), InlineData(true), ConditionalTheory] + [InlineData(false), InlineData(true), Theory] public void OnModelInitialized_calls_conventions_in_order(bool useBuilder) { var conventions = new ConventionSet(); @@ -83,7 +83,7 @@ public void ProcessModelInitialized(IConventionModelBuilder modelBuilder, IConve } } - [InlineData(false), InlineData(true), ConditionalTheory] + [InlineData(false), InlineData(true), Theory] public void OnModelFinalized_calls_conventions_in_order(bool useBuilder) { var conventions = new ConventionSet(); @@ -133,7 +133,7 @@ public void ProcessModelFinalizing(IConventionModelBuilder modelBuilder, IConven } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnModelAnnotationChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -226,7 +226,7 @@ public void ProcessModelAnnotationChanged( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void ModelEmbeddedDiscriminatorName_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -314,7 +314,7 @@ public void ProcessEmbeddedDiscriminatorName( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnEntityTypeAdded_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -383,7 +383,7 @@ public void ProcessEntityTypeAdded( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnEntityTypeIgnored_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -484,7 +484,7 @@ public void ProcessEntityTypeRemoved( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnEntityTypeMemberIgnored_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -561,7 +561,7 @@ public void ProcessEntityTypeMemberIgnored( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnBaseTypeChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -654,7 +654,7 @@ public void ProcessEntityTypeBaseTypeChanged( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnDiscriminatorPropertySet_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -744,7 +744,7 @@ public void ProcessDiscriminatorPropertySet( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnPrimaryKeyChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -844,7 +844,7 @@ public void ProcessEntityTypePrimaryKeyChanged( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnEntityTypeAnnotationChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -936,7 +936,7 @@ public void ProcessEntityTypeAnnotationChanged( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnForeignKeyAdded_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -1010,7 +1010,7 @@ public void ProcessForeignKeyAdded( } } - [InlineData(false), InlineData(true), ConditionalTheory] + [InlineData(false), InlineData(true), Theory] public void OnForeignKeyRemoved_calls_conventions_in_order(bool useScope) { var conventions = new ConventionSet(); @@ -1082,7 +1082,7 @@ public void ProcessForeignKeyRemoved( } } - [InlineData(false), InlineData(true), ConditionalTheory] + [InlineData(false), InlineData(true), Theory] public void OnForeignKeyPrincipalEndChanged_calls_conventions_in_order(bool useScope) { var conventions = new ConventionSet(); @@ -1206,7 +1206,7 @@ public void ProcessForeignKeyPrincipalEndChanged( } } - [InlineData(false), InlineData(true), ConditionalTheory] + [InlineData(false), InlineData(true), Theory] public void OnForeignKeyPropertiesChangedConvention_calls_conventions_in_order(bool useScope) { var conventions = new ConventionSet(); @@ -1286,7 +1286,7 @@ public void ProcessForeignKeyPropertiesChanged( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnForeignKeyUniquenessChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -1382,7 +1382,7 @@ public void ProcessForeignKeyUniquenessChanged( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnForeignKeyRequirednessChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -1478,7 +1478,7 @@ public void ProcessForeignKeyRequirednessChanged( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnForeignKeyDependentRequirednessChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -1576,7 +1576,7 @@ public void ProcessForeignKeyDependentRequirednessChanged( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnForeignKeyOwnershipChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -1674,7 +1674,7 @@ public void ProcessForeignKeyOwnershipChanged( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnForeignKeyAnnotationChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -1780,7 +1780,7 @@ public void ProcessForeignKeyAnnotationChanged( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnForeignKeyNullNavigationSet_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -1856,7 +1856,7 @@ public void ProcessForeignKeyNullNavigationSet( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnNavigationAdded_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -1944,7 +1944,7 @@ public void ProcessNavigationAdded( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnNavigationAnnotationChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -2044,7 +2044,7 @@ public virtual void ProcessNavigationAnnotationChanged( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnNavigationRemoved_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -2135,7 +2135,7 @@ public void ProcessNavigationRemoved( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnSkipNavigationAdded_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -2204,7 +2204,7 @@ public void ProcessSkipNavigationAdded( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnSkipNavigationAnnotationChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -2303,7 +2303,7 @@ public virtual void ProcessSkipNavigationAnnotationChanged( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnSkipNavigationForeignKeyChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -2394,7 +2394,7 @@ public virtual void ProcessSkipNavigationForeignKeyChanged( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnSkipNavigationInverseChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -2482,7 +2482,7 @@ public virtual void ProcessSkipNavigationInverseChanged( } } - [InlineData(false), InlineData(true), ConditionalTheory] + [InlineData(false), InlineData(true), Theory] public void OnSkipNavigationRemoved_calls_conventions_in_order(bool useScope) { var conventions = new ConventionSet(); @@ -2551,7 +2551,7 @@ public void ProcessSkipNavigationRemoved( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnTriggerAdded_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -2617,7 +2617,7 @@ public void ProcessTriggerAdded(IConventionTriggerBuilder triggerBuilder, IConve } } - [InlineData(false), InlineData(true), ConditionalTheory] + [InlineData(false), InlineData(true), Theory] public void OnTriggerRemoved_calls_conventions_in_order(bool useScope) { var conventions = new ConventionSet(); @@ -2684,7 +2684,7 @@ public void ProcessTriggerRemoved( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnKeyAdded_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -2753,7 +2753,7 @@ public void ProcessKeyAdded(IConventionKeyBuilder keyBuilder, IConventionContext } } - [InlineData(false), InlineData(true), ConditionalTheory] + [InlineData(false), InlineData(true), Theory] public void OnKeyRemoved_calls_conventions_in_order(bool useScope) { var conventions = new ConventionSet(); @@ -2815,7 +2815,7 @@ public void ProcessKeyRemoved( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnKeyAnnotationChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -2912,7 +2912,7 @@ public void ProcessKeyAnnotationChanged( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnIndexAdded_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -2980,7 +2980,7 @@ public void ProcessIndexAdded(IConventionIndexBuilder indexBuilder, IConventionC } } - [InlineData(false), InlineData(true), ConditionalTheory] + [InlineData(false), InlineData(true), Theory] public void OnIndexRemoved_calls_conventions_in_order(bool useScope) { var conventions = new ConventionSet(); @@ -3047,7 +3047,7 @@ public void ProcessIndexRemoved( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnIndexUniquenessChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -3140,7 +3140,7 @@ public void ProcessIndexUniquenessChanged( } #nullable enable - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnIndexSortOrderChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -3232,7 +3232,7 @@ public void ProcessIndexSortOrderChanged( } #nullable restore - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnIndexAnnotationChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -3328,7 +3328,7 @@ public void ProcessIndexAnnotationChanged( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnPropertyAdded_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -3425,7 +3425,7 @@ public void ProcessPropertyAdded( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnPropertyNullabilityChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -3556,7 +3556,7 @@ public void ProcessPropertyNullabilityChanged( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnPropertyAutoLoadChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -3687,7 +3687,7 @@ public void ProcessPropertyAutoLoadChanged( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnPropertyFieldChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -3784,7 +3784,7 @@ public void ProcessPropertyFieldChanged( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnPropertyElementTypeChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -3879,7 +3879,7 @@ public void ProcessPropertyElementTypeChanged( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnPropertyAnnotationChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -3975,7 +3975,7 @@ public void ProcessPropertyAnnotationChanged( } } - [InlineData(false), InlineData(true), ConditionalTheory] + [InlineData(false), InlineData(true), Theory] public void OnPropertyRemoved_calls_conventions_in_order(bool useScope) { var conventions = new ConventionSet(); @@ -4043,7 +4043,7 @@ public void ProcessPropertyRemoved( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnComplexTypePropertyAdded_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -4120,7 +4120,7 @@ public void OnComplexTypePropertyAdded_calls_conventions_in_order(bool useBuilde Assert.Empty(entityBuilder.Metadata.GetProperties()); } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnComplexTypePropertyNullabilityChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -4231,7 +4231,7 @@ public void OnComplexTypePropertyNullabilityChanged_calls_conventions_in_order(b Assert.Empty(convention3.Calls); } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnComplexTypePropertyFieldChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -4305,7 +4305,7 @@ public void OnComplexTypePropertyFieldChanged_calls_conventions_in_order(bool us Assert.Empty(convention3.Calls); } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnComplexTypePropertyAnnotationChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -4376,7 +4376,7 @@ public void OnComplexTypePropertyAnnotationChanged_calls_conventions_in_order(bo Assert.Equal(new[] { "bar", null }, convention1.Calls); } - [InlineData(false), InlineData(true), ConditionalTheory] + [InlineData(false), InlineData(true), Theory] public void OnComplexTypePropertyRemoved_calls_conventions_in_order(bool useScope) { var conventions = new ConventionSet(); @@ -4421,7 +4421,7 @@ public void OnComplexTypePropertyRemoved_calls_conventions_in_order(bool useScop Assert.Empty(convention3.Calls); } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnComplexPropertyAdded_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -4521,7 +4521,7 @@ public void ProcessComplexPropertyAdded( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnComplexPropertyNullabilityChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -4652,7 +4652,7 @@ public void ProcessComplexPropertyNullabilityChanged( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnComplexPropertyFieldChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -4750,7 +4750,7 @@ public void ProcessComplexPropertyFieldChanged( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnComplexPropertyAnnotationChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -4846,7 +4846,7 @@ public void ProcessComplexPropertyAnnotationChanged( } } - [InlineData(false), InlineData(true), ConditionalTheory] + [InlineData(false), InlineData(true), Theory] public void OnComplexPropertyRemoved_calls_conventions_in_order(bool useScope) { var conventions = new ConventionSet(); @@ -4914,7 +4914,7 @@ public void ProcessComplexPropertyRemoved( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnComplexTypeAnnotationChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -5011,7 +5011,7 @@ public void ProcessComplexTypeAnnotationChanged( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnComplexTypeMemberIgnored_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -5107,7 +5107,7 @@ public void ProcessComplexTypeMemberIgnored( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnElementTypeAnnotationChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); @@ -5204,7 +5204,7 @@ public void ProcessElementTypeAnnotationChanged( } } - [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), ConditionalTheory] + [InlineData(false, false), InlineData(true, false), InlineData(false, true), InlineData(true, true), Theory] public void OnElementTypeNullabilityChanged_calls_conventions_in_order(bool useBuilder, bool useScope) { var conventions = new ConventionSet(); diff --git a/test/EFCore.Tests/Metadata/Conventions/ConventionSetBuilderTests.cs b/test/EFCore.Tests/Metadata/Conventions/ConventionSetBuilderTests.cs index c959423f25f..00c255af178 100644 --- a/test/EFCore.Tests/Metadata/Conventions/ConventionSetBuilderTests.cs +++ b/test/EFCore.Tests/Metadata/Conventions/ConventionSetBuilderTests.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.ComponentModel.DataAnnotations.Schema; @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class ConventionSetBuilderTests { - [ConditionalFact] + [Fact] public void Can_create_a_model_builder_with_given_conventions_only() { var convention = new TestEntityTypeAddedConvention(); @@ -33,8 +33,10 @@ public void ProcessEntityTypeAdded( => Applied = true; } - [ConditionalFact] - public virtual IReadOnlyModel Can_build_a_model_with_default_conventions_without_DI() + [Fact] +#pragma warning disable xUnit1028 // Test method returns non-void; return value used by overrides + public virtual IMutableModel Can_build_a_model_with_default_conventions_without_DI() +#pragma warning restore xUnit1028 { var modelBuilder = new ModelBuilder(GetConventionSet()); modelBuilder.Entity(); @@ -45,8 +47,10 @@ public virtual IReadOnlyModel Can_build_a_model_with_default_conventions_without return model; } - [ConditionalFact] - public virtual IReadOnlyModel Can_build_a_model_with_default_conventions_without_DI_new() + [Fact] +#pragma warning disable xUnit1028 // Test method returns non-void; return value used by overrides + public virtual IMutableModel Can_build_a_model_with_default_conventions_without_DI_new() +#pragma warning restore xUnit1028 { var modelBuilder = GetModelBuilder(); modelBuilder.Entity(); @@ -57,7 +61,7 @@ public virtual IReadOnlyModel Can_build_a_model_with_default_conventions_without return model; } - [ConditionalFact] + [Fact] public virtual void Can_add_remove_and_replace_conventions() { var conventionSet = GetConventionSet(); diff --git a/test/EFCore.Tests/Metadata/Conventions/DeleteBehaviorAttributeConventionTest.cs b/test/EFCore.Tests/Metadata/Conventions/DeleteBehaviorAttributeConventionTest.cs index 033ada9fc42..6e223d06959 100644 --- a/test/EFCore.Tests/Metadata/Conventions/DeleteBehaviorAttributeConventionTest.cs +++ b/test/EFCore.Tests/Metadata/Conventions/DeleteBehaviorAttributeConventionTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // ReSharper disable UnusedAutoPropertyAccessor.Local @@ -14,7 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class DeleteBehaviorAttributeConventionTest { - [ConditionalFact] + [Fact] public void Without_attribute_preserve_default_behavior() { var modelBuilder = CreateModelBuilder(); @@ -29,7 +29,7 @@ public void Without_attribute_preserve_default_behavior() Assert.Equal(DeleteBehavior.ClientSetNull, fk.DeleteBehavior); } - [ConditionalFact] + [Fact] public void Correctly_set_restrict_delete_behavior_on_foreign_key() { var modelBuilder = CreateModelBuilder(); @@ -44,7 +44,7 @@ public void Correctly_set_restrict_delete_behavior_on_foreign_key() Assert.Equal(DeleteBehavior.Restrict, fk.DeleteBehavior); } - [ConditionalFact] + [Fact] public void Correctly_set_set_default_delete_behavior_on_foreign_key() { var modelBuilder = CreateModelBuilder(); @@ -59,7 +59,7 @@ public void Correctly_set_set_default_delete_behavior_on_foreign_key() Assert.Equal(DeleteBehavior.SetDefault, fk.DeleteBehavior); } - [ConditionalFact] + [Fact] public void Correctly_set_client_set_default_delete_behavior_on_foreign_key() { var modelBuilder = CreateModelBuilder(); @@ -74,7 +74,7 @@ public void Correctly_set_client_set_default_delete_behavior_on_foreign_key() Assert.Equal(DeleteBehavior.ClientSetDefault, fk.DeleteBehavior); } - [ConditionalFact] + [Fact] public void Correctly_set_delete_behavior_on_compound_foreign_key() { var modelBuilder = CreateModelBuilder(); @@ -91,7 +91,7 @@ public void Correctly_set_delete_behavior_on_compound_foreign_key() Assert.Equal(DeleteBehavior.Cascade, fk.DeleteBehavior); } - [ConditionalFact] + [Fact] public void Correctly_set_delete_behavior_on_two_different_foreign_keys() { var modelBuilder = CreateModelBuilder(); @@ -113,7 +113,7 @@ public void Correctly_set_delete_behavior_on_two_different_foreign_keys() Assert.Equal(DeleteBehavior.Cascade, fk_Two.DeleteBehavior); } - [ConditionalFact] + [Fact] public void Throw_InvalidOperationException_if_attribute_was_set_on_one_of_foreign_keys_properties() { var modelBuilder = CreateModelBuilder(); @@ -126,7 +126,7 @@ public void Throw_InvalidOperationException_if_attribute_was_set_on_one_of_forei ); } - [ConditionalFact] + [Fact] public void Throw_InvalidOperationException_if_attribute_was_set_on_random_property() { var modelBuilder = CreateModelBuilder(); @@ -139,7 +139,7 @@ public void Throw_InvalidOperationException_if_attribute_was_set_on_random_prope ); } - [ConditionalFact] + [Fact] public void Throw_InvalidOperationException_if_attribute_was_set_on_principal_navigation_property() { var modelBuilder = CreateModelBuilder(); @@ -154,7 +154,7 @@ public void Throw_InvalidOperationException_if_attribute_was_set_on_principal_na ); } - [ConditionalFact] + [Fact] public void Throw_InvalidOperationException_if_attribute_was_set_on_principal_one_to_one_relationship() { var modelBuilder = CreateModelBuilder(); diff --git a/test/EFCore.Tests/Metadata/Conventions/DerivedTypeDiscoveryConventionTest.cs b/test/EFCore.Tests/Metadata/Conventions/DerivedTypeDiscoveryConventionTest.cs index 866e6bc7c3e..0db1fe96e4b 100644 --- a/test/EFCore.Tests/Metadata/Conventions/DerivedTypeDiscoveryConventionTest.cs +++ b/test/EFCore.Tests/Metadata/Conventions/DerivedTypeDiscoveryConventionTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class DerivedTypeDiscoveryConventionTest { - [ConditionalFact] + [Fact] public void Discovers_child_types() { var entityBuilderC = CreateInternalEntityTypeBuilder(); @@ -32,7 +32,7 @@ public void Discovers_child_types() Assert.Same(entityBuilderB.Metadata, entityBuilderC.Metadata.BaseType); } - [ConditionalFact] + [Fact] public void Discovers_child_type_when_grandchild_type_exists() { var entityBuilderB = CreateInternalEntityTypeBuilder(); @@ -55,7 +55,7 @@ public void Discovers_child_type_when_grandchild_type_exists() Assert.Same(entityBuilderB.Metadata, entityBuilderC.Metadata.BaseType); } - [ConditionalFact] + [Fact] public void Discovers_child_type_if_base_type_set() { var entityBuilderA = CreateInternalEntityTypeBuilder(); diff --git a/test/EFCore.Tests/Metadata/Conventions/DiscriminatorConventionTest.cs b/test/EFCore.Tests/Metadata/Conventions/DiscriminatorConventionTest.cs index b12f0a31e03..ce3cb38b9e4 100644 --- a/test/EFCore.Tests/Metadata/Conventions/DiscriminatorConventionTest.cs +++ b/test/EFCore.Tests/Metadata/Conventions/DiscriminatorConventionTest.cs @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class DiscriminatorConventionTest { - [ConditionalFact] + [Fact] public void Sets_discriminator_for_two_level_hierarchy() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -38,7 +38,7 @@ public void Sets_discriminator_for_two_level_hierarchy() Assert.Null(((IReadOnlyEntityType)entityTypeBuilder.Metadata).FindDiscriminatorProperty()); } - [ConditionalFact] + [Fact] public void Sets_discriminator_for_three_level_hierarchy() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -81,7 +81,7 @@ public void Sets_discriminator_for_three_level_hierarchy() Assert.Equal(typeof(DerivedEntity).Name, derivedTypeBuilder.Metadata.GetDiscriminatorValue()); } - [ConditionalFact] + [Fact] public void Uses_explicit_discriminator_if_compatible() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -101,7 +101,7 @@ public void Uses_explicit_discriminator_if_compatible() Assert.Equal(typeof(Entity).Name, entityTypeBuilder.Metadata.GetDiscriminatorValue()); } - [ConditionalFact] + [Fact] public void Does_nothing_if_explicit_discriminator_is_not_compatible() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -121,7 +121,7 @@ public void Does_nothing_if_explicit_discriminator_is_not_compatible() Assert.Null(entityTypeBuilder.Metadata[CoreAnnotationNames.DiscriminatorValue]); } - [ConditionalFact] + [Fact] public void Does_nothing_if_explicit_discriminator_set_on_derived_type() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); diff --git a/test/EFCore.Tests/Metadata/Conventions/EntityTypeAttributeConventionTest.cs b/test/EFCore.Tests/Metadata/Conventions/EntityTypeAttributeConventionTest.cs index f86d07789de..f12bf810961 100644 --- a/test/EFCore.Tests/Metadata/Conventions/EntityTypeAttributeConventionTest.cs +++ b/test/EFCore.Tests/Metadata/Conventions/EntityTypeAttributeConventionTest.cs @@ -14,7 +14,7 @@ public class EntityTypeAttributeConventionTest { #region NotMappedAttribute - [ConditionalFact] + [Fact] public void NotMappedAttribute_overrides_configuration_from_convention_source() { var modelBuilder = new InternalModelBuilder(new Model()); @@ -26,7 +26,7 @@ public void NotMappedAttribute_overrides_configuration_from_convention_source() Assert.Empty(modelBuilder.Metadata.GetEntityTypes()); } - [ConditionalFact] + [Fact] public void NotMappedAttribute_does_not_override_configuration_from_explicit_source() { var modelBuilder = new InternalModelBuilder(new Model()); @@ -38,7 +38,7 @@ public void NotMappedAttribute_does_not_override_configuration_from_explicit_sou Assert.Single(modelBuilder.Metadata.GetEntityTypes()); } - [ConditionalFact] + [Fact] public void NotMappedAttribute_ignores_entityTypes_with_conventional_builder() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -52,7 +52,7 @@ public void NotMappedAttribute_ignores_entityTypes_with_conventional_builder() #region OwnedAttribute - [ConditionalFact] + [Fact] public void OwnedAttribute_configures_entity_as_owned() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -64,7 +64,7 @@ public void OwnedAttribute_configures_entity_as_owned() modelBuilder.Model.FindEntityType(typeof(Customer)).FindNavigation(nameof(Customer.Address)).ForeignKey.IsOwnership); } - [ConditionalFact] + [Fact] public void Entity_marked_with_OwnedAttribute_cannot_be_configured_as_regular_entity() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -79,7 +79,7 @@ public void Entity_marked_with_OwnedAttribute_cannot_be_configured_as_regular_en #region KeylessAttribute - [ConditionalFact] + [Fact] public void KeylessAttribute_overrides_configuration_from_convention() { var modelBuilder = new InternalModelBuilder(new Model()); @@ -96,7 +96,7 @@ public void KeylessAttribute_overrides_configuration_from_convention() Assert.True(entityBuilder.Metadata.IsKeyless); } - [ConditionalFact] + [Fact] public void KeylessAttribute_can_be_overriden_using_explicit_configuration() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -111,7 +111,7 @@ public void KeylessAttribute_can_be_overriden_using_explicit_configuration() Assert.NotNull(entityBuilder.Metadata.FindPrimaryKey()); } - [ConditionalFact] + [Fact] public void KeyAttribute_does_not_override_keyless_attribute() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); diff --git a/test/EFCore.Tests/Metadata/Conventions/EntityTypeConfigurationAttributeConventionTest.cs b/test/EFCore.Tests/Metadata/Conventions/EntityTypeConfigurationAttributeConventionTest.cs index bc52004886b..53114febf22 100644 --- a/test/EFCore.Tests/Metadata/Conventions/EntityTypeConfigurationAttributeConventionTest.cs +++ b/test/EFCore.Tests/Metadata/Conventions/EntityTypeConfigurationAttributeConventionTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Metadata.Internal; @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class EntityTypeConfigurationAttributeConventionTest { - [ConditionalFact] + [Fact] public void EntityTypeConfigurationAttribute_should_apply_configuration_to_EntityType() { var builder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -18,7 +18,7 @@ public void EntityTypeConfigurationAttribute_should_apply_configuration_to_Entit Assert.Equal(1000, entityType.FindProperty(nameof(Customer.Name)).GetMaxLength()); } - [ConditionalFact] + [Fact] public void EntityTypeConfigurationAttribute_should_apply_configuration_to_EntityType_Generic() { var builder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -29,7 +29,7 @@ public void EntityTypeConfigurationAttribute_should_apply_configuration_to_Entit Assert.Equal(1000, entityType.FindProperty(nameof(CustomerGeneric.Name)).GetMaxLength()); } - [ConditionalFact] + [Fact] public void EntityTypeConfigurationAttribute_should_throw_when_configuration_is_wrong_type() { var builder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -39,7 +39,7 @@ public void EntityTypeConfigurationAttribute_should_throw_when_configuration_is_ Assert.Throws(() => builder.Entity()).Message); } - [ConditionalFact] + [Fact] public void EntityTypeConfigurationAttribute_should_throw_when_configuration_is_for_wrong_entity_type() { var builder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); diff --git a/test/EFCore.Tests/Metadata/Conventions/ForeignKeyIndexConventionTest.cs b/test/EFCore.Tests/Metadata/Conventions/ForeignKeyIndexConventionTest.cs index 405ac777db2..a610ed99fa9 100644 --- a/test/EFCore.Tests/Metadata/Conventions/ForeignKeyIndexConventionTest.cs +++ b/test/EFCore.Tests/Metadata/Conventions/ForeignKeyIndexConventionTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // ReSharper disable ClassNeverInstantiated.Local @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class ForeignKeyIndexConventionTest { - [ConditionalFact] + [Fact] public void Does_not_override_foreign_key_index_uniqueness_when_referenced_key_changes() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); diff --git a/test/EFCore.Tests/Metadata/Conventions/ForeignKeyPropertyDiscoveryConventionTest.cs b/test/EFCore.Tests/Metadata/Conventions/ForeignKeyPropertyDiscoveryConventionTest.cs index bc0f2814a9e..05ef2020d3c 100644 --- a/test/EFCore.Tests/Metadata/Conventions/ForeignKeyPropertyDiscoveryConventionTest.cs +++ b/test/EFCore.Tests/Metadata/Conventions/ForeignKeyPropertyDiscoveryConventionTest.cs @@ -16,7 +16,7 @@ public class ForeignKeyPropertyDiscoveryConventionTest { private readonly InternalModelBuilder _model = BuildModel(); - [ConditionalFact] + [Fact] public void Does_not_override_explicit_foreign_key_created_using_given_property() { var dependentTypeBuilder = DependentType.Builder; @@ -47,7 +47,7 @@ public void Does_not_override_explicit_foreign_key_created_using_given_property( ValidateModel(); } - [ConditionalFact] + [Fact] public void Does_not_override_explicit_composite_foreign_key_created_using_given_properties() { var dependentTypeBuilder = DependentTypeWithCompositeKey.Builder; @@ -83,7 +83,7 @@ public void Does_not_override_explicit_composite_foreign_key_created_using_given ValidateModel(); } - [ConditionalFact] + [Fact] public void Returns_same_builder_if_no_matching_clr_properties_found() { var relationshipBuilder = DependentType.Builder.HasRelationship( @@ -104,7 +104,7 @@ public void Returns_same_builder_if_no_matching_clr_properties_found() ValidateModel(); } - [ConditionalFact] + [Fact] public void Matches_navigation_plus_PK_name_property() { var dependentTypeBuilder = DependentType.Builder; @@ -133,7 +133,7 @@ public void Matches_navigation_plus_PK_name_property() ValidateModel(); } - [ConditionalFact] + [Fact] public void Matches_navigation_plus_PK_name_properties() { var dependentTypeBuilder = DependentTypeWithCompositeKey.Builder; @@ -169,7 +169,7 @@ public void Matches_navigation_plus_PK_name_properties() ValidateModel(); } - [ConditionalFact] + [Fact] public void Matches_navigation_plus_Id_property() { var dependentTypeBuilder = DependentType.Builder; @@ -197,7 +197,7 @@ public void Matches_navigation_plus_Id_property() ValidateModel(); } - [ConditionalFact] + [Fact] public void Matches_principal_type_plus_PK_name_property() { var dependentTypeBuilder = DependentType.Builder; @@ -223,7 +223,7 @@ public void Matches_principal_type_plus_PK_name_property() ValidateModel(); } - [ConditionalFact] + [Fact] public void Matches_principal_type_plus_Id_property() { var dependentTypeBuilder = DependentType.Builder; @@ -248,7 +248,7 @@ public void Matches_principal_type_plus_Id_property() ValidateModel(); } - [ConditionalFact] + [Fact] public void Matches_principal_type_plus_PK_name_properties() { var dependentTypeBuilder = DependentTypeWithCompositeKey.Builder; @@ -279,7 +279,7 @@ public void Matches_principal_type_plus_PK_name_properties() ValidateModel(); } - [ConditionalFact] + [Fact] public void Does_not_match_PK_name_property() { var dependentTypeBuilder = DependentType.Builder; @@ -302,7 +302,7 @@ public void Does_not_match_PK_name_property() ValidateModel(); } - [ConditionalFact] + [Fact] public void Matches_key_Id_property() { var dependentTypeBuilder = DependentType.Builder; @@ -329,7 +329,7 @@ public void Matches_key_Id_property() ValidateModel(); } - [ConditionalFact] + [Fact] public void Does_not_match_non_key_Id_property() { var relationshipBuilder = DependentType.Builder.HasRelationship( @@ -352,7 +352,7 @@ public void Does_not_match_non_key_Id_property() ValidateModel(); } - [ConditionalFact] + [Fact] public void Does_not_match_PK_name_properties() { var dependentTypeBuilder = DependentTypeWithCompositeKey.Builder; @@ -380,7 +380,7 @@ public void Does_not_match_PK_name_properties() ValidateModel(); } - [ConditionalFact] + [Fact] public void Does_not_match_PK_name_properties_if_subset_of_dependent_PK_and_contains_id() { var dependentTypeBuilder = DependentTypeWithCompositeKey.Builder; @@ -415,7 +415,7 @@ public void Does_not_match_PK_name_properties_if_subset_of_dependent_PK_and_cont ValidateModel(); } - [ConditionalFact] + [Fact] public void Matches_PK_name_properties_if_subset_of_dependent_PK() { var dependentTypeBuilder = DependentType.Builder; @@ -445,7 +445,7 @@ public void Matches_PK_name_properties_if_subset_of_dependent_PK() ValidateModel(); } - [ConditionalFact] + [Fact] public void Matches_dependent_PK_for_unique_FK_set_by_higher_source_than_convention() { var dependentTypeBuilder = DependentType.Builder; @@ -471,7 +471,7 @@ public void Matches_dependent_PK_for_unique_FK_set_by_higher_source_than_convent ValidateModel(); } - [ConditionalFact] + [Fact] public void Does_not_match_principal_type_plus_PK_name_property_of_different_type() { var dependentTypeBuilder = DependentType.Builder; @@ -505,7 +505,7 @@ public void Does_not_match_principal_type_plus_PK_name_property_of_different_typ ValidateModel(); } - [ConditionalFact] + [Fact] public void Does_not_match_dependent_PK_for_non_unique_FK() { var dependentTypeBuilder = DependentType.Builder; @@ -525,7 +525,7 @@ public void Does_not_match_dependent_PK_for_non_unique_FK() ValidateModel(); } - [ConditionalFact] + [Fact] public void Does_not_match_non_nullable_dependent_PK_for_optional_unique_FK() { var fkProperty = DependentType.FindPrimaryKey().Properties.Single(); @@ -547,7 +547,7 @@ public void Does_not_match_non_nullable_dependent_PK_for_optional_unique_FK() ValidateModel(); } - [ConditionalFact] + [Fact] public void Does_not_match_dependent_PK_for_self_ref() { var relationshipBuilder = PrincipalType.Builder.HasRelationship(PrincipalType, ConfigurationSource.Convention) @@ -565,7 +565,7 @@ public void Does_not_match_dependent_PK_for_self_ref() ValidateModel(); } - [ConditionalFact] + [Fact] public void Does_not_match_for_convention_identifying_FK() { var derivedType = PrincipalType.Builder.ModelBuilder.Entity(typeof(DerivedPrincipalEntity), ConfigurationSource.Convention); @@ -588,7 +588,7 @@ public void Does_not_match_for_convention_identifying_FK() ValidateModel(); } - [ConditionalFact] + [Fact] public void Matches_composite_dependent_PK_for_unique_FK() { var dependentTypeBuilder = DependentTypeWithCompositeKey.Builder; @@ -616,7 +616,7 @@ public void Matches_composite_dependent_PK_for_unique_FK() ValidateModel(); } - [ConditionalFact] + [Fact] public void Does_not_match_composite_dependent_PK_for_unique_FK_on_derived_type() { var modelBuilder = new InternalModelBuilder(new Model()); @@ -657,7 +657,7 @@ public void Does_not_match_composite_dependent_PK_for_unique_FK_on_derived_type( ValidateModel(); } - [ConditionalFact] + [Fact] public void Does_not_match_composite_dependent_PK_for_non_unique_FK() { DependentTypeWithCompositeKey.Builder.PrimaryKey( @@ -687,7 +687,7 @@ public void Does_not_match_composite_dependent_PK_for_non_unique_FK() ValidateModel(); } - [ConditionalFact] + [Fact] public void Does_not_match_composite_dependent_PK_for_unique_FK_if_count_mismatched() { var fkProperty1 = DependentTypeWithCompositeKey.FindPrimaryKey().Properties[0]; @@ -714,7 +714,7 @@ public void Does_not_match_composite_dependent_PK_for_unique_FK_if_count_mismatc ValidateModel(); } - [ConditionalFact] + [Fact] public void Does_not_match_composite_dependent_PK_for_unique_FK_if_order_mismatched() { var fkProperty1 = DependentTypeWithCompositeKey.FindPrimaryKey().Properties[0]; @@ -745,7 +745,7 @@ public void Does_not_match_composite_dependent_PK_for_unique_FK_if_order_mismatc ValidateModel(); } - [ConditionalFact] + [Fact] public void Does_not_match_properties_with_different_base_names() { var dependentTypeBuilder = DependentTypeWithCompositeKey.Builder; @@ -769,7 +769,7 @@ public void Does_not_match_properties_with_different_base_names() ValidateModel(); } - [ConditionalFact] + [Fact] public void Does_not_match_if_a_foreign_key_on_the_best_candidate_property_already_exists() { var dependentTypeBuilder = DependentType.Builder; @@ -808,7 +808,7 @@ public void Does_not_match_if_a_foreign_key_on_the_best_candidate_property_alrea Assert.Throws(ValidateModel).Message); } - [ConditionalFact] + [Fact] public void Does_not_match_if_a_foreign_key_on_the_best_candidate_property_already_configured_explicitly() { var dependentTypeBuilder = DependentType.Builder; @@ -846,7 +846,7 @@ public void Does_not_match_if_a_foreign_key_on_the_best_candidate_property_alrea ValidateModel(); } - [ConditionalFact] + [Fact] public void Logs_warning_if_foreign_key_property_names_are_order_dependent() { var relationshipBuilder = DependentType.Builder.HasRelationship( @@ -877,7 +877,7 @@ public void Logs_warning_if_foreign_key_property_names_are_order_dependent() nameof(DependentEntity), nameof(PrincipalEntity), nameof(DependentEntity)), logEntry.Message); } - [ConditionalFact] + [Fact] public void Inverts_if_principal_entity_type_can_have_non_pk_fk_property() { var fkProperty = DependentType.Builder.Property( @@ -902,7 +902,7 @@ public void Inverts_if_principal_entity_type_can_have_non_pk_fk_property() ValidateModel(); } - [ConditionalFact] + [Fact] public void Does_not_invert_if_weak_entity_type_can_have_non_pk_fk_property() { var fkProperty = DependentType.Builder.Property(DependentEntity.PrincipalEntityPeEKaYProperty, ConfigurationSource.Convention) @@ -928,7 +928,7 @@ public void Does_not_invert_if_weak_entity_type_can_have_non_pk_fk_property() ValidateModel(); } - [ConditionalFact] + [Fact] public void Does_not_invert_if_both_entity_types_can_have_non_pk_fk_property() { var dependentTypeBuilder = DependentType.Builder; @@ -950,7 +950,7 @@ public void Does_not_invert_if_both_entity_types_can_have_non_pk_fk_property() ValidateModel(); } - [ConditionalFact] + [Fact] public void Does_not_invert_if_principal_entity_type_owns_the_weak_entity_type() { PrincipalType.Builder.Property(nameof(PrincipalEntity.DependentEntityKayPee), ConfigurationSource.Convention); @@ -975,7 +975,7 @@ public void Does_not_invert_if_principal_entity_type_owns_the_weak_entity_type() ValidateModel(); } - [ConditionalFact] + [Fact] public void Does_nothing_if_matching_shadow_property_added() { var relationshipBuilder = DependentType.Builder.HasRelationship(PrincipalType, "SomeNav", null, ConfigurationSource.Convention); @@ -1000,7 +1000,7 @@ public void Does_nothing_if_matching_shadow_property_added() ValidateModel(); } - [ConditionalFact] + [Fact] public void Sets_foreign_key_if_matching_non_shadow_property_added() { var relationshipBuilder = DependentType.Builder.HasRelationship(PrincipalType, "SomeNav", null, ConfigurationSource.Convention); @@ -1026,7 +1026,7 @@ public void Sets_foreign_key_if_matching_non_shadow_property_added() ValidateModel(); } - [ConditionalFact] + [Fact] public void Inverts_and_sets_foreign_key_if_matching_non_shadow_property_added_on_principal_type() { var relationshipBuilder = PrincipalType.Builder @@ -1056,7 +1056,7 @@ public void Inverts_and_sets_foreign_key_if_matching_non_shadow_property_added_o ValidateModel(); } - [ConditionalFact] + [Fact] public void Throws_on_ambiguous_relationship() { var dependentTypeBuilder = DependentType.Builder; diff --git a/test/EFCore.Tests/Metadata/Conventions/IndexAttributeConventionTest.cs b/test/EFCore.Tests/Metadata/Conventions/IndexAttributeConventionTest.cs index 6376c97539c..e3e6e84b10b 100644 --- a/test/EFCore.Tests/Metadata/Conventions/IndexAttributeConventionTest.cs +++ b/test/EFCore.Tests/Metadata/Conventions/IndexAttributeConventionTest.cs @@ -14,7 +14,7 @@ public class IndexAttributeConventionTest { #region IndexAttribute - [ConditionalFact] + [Fact] public void IndexAttribute_overrides_configuration_from_convention() { var modelBuilder = new InternalModelBuilder(new Model()); @@ -47,7 +47,7 @@ public void IndexAttribute_overrides_configuration_from_convention() prop1 => Assert.Equal("B", prop1.Name)); } - [ConditionalFact] + [Fact] public void IndexAttribute_can_be_overriden_using_explicit_configuration() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -73,7 +73,7 @@ public void IndexAttribute_can_be_overriden_using_explicit_configuration() } [InlineData(typeof(EntityWithInvalidNullIndexProperty)), InlineData(typeof(EntityWithInvalidEmptyIndexProperty)), - InlineData(typeof(EntityWithInvalidWhiteSpaceIndexProperty)), ConditionalTheory] + InlineData(typeof(EntityWithInvalidWhiteSpaceIndexProperty)), Theory] public void IndexAttribute_properties_cannot_include_whitespace(Type entityTypeWithInvalidIndex) { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -83,7 +83,7 @@ public void IndexAttribute_properties_cannot_include_whitespace(Type entityTypeW Assert.Throws(() => modelBuilder.Entity(entityTypeWithInvalidIndex)).Message); } - [ConditionalFact] + [Fact] public void IndexAttribute_AllDescending_is_applied() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -94,7 +94,7 @@ public void IndexAttribute_AllDescending_is_applied() Assert.Equal([], allDescendingIndex.IsDescending); } - [ConditionalFact] + [Fact] public void IndexAttribute_can_be_applied_more_than_once_per_entity_type() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -125,7 +125,7 @@ public void IndexAttribute_can_be_applied_more_than_once_per_entity_type() prop1 => Assert.Equal("C", prop1.Name)); } - [ConditionalFact] + [Fact] public void IndexAttribute_can_be_inherited_from_base_entity_type() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -149,7 +149,7 @@ public void IndexAttribute_can_be_inherited_from_base_entity_type() prop1 => Assert.Equal("B", prop1.Name)); } - [ConditionalFact] + [Fact] public virtual void IndexAttribute_without_name_and_an_ignored_property_causes_error() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -163,7 +163,7 @@ public virtual void IndexAttribute_without_name_and_an_ignored_property_causes_e Assert.Throws(() => modelBuilder.Model.FinalizeModel()).Message); } - [ConditionalFact] + [Fact] public virtual void IndexAttribute_with_name_and_an_ignored_property_causes_error() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -178,7 +178,7 @@ public virtual void IndexAttribute_with_name_and_an_ignored_property_causes_erro Assert.Throws(() => modelBuilder.Model.FinalizeModel()).Message); } - [ConditionalFact] + [Fact] public virtual void IndexAttribute_without_name_and_non_existent_property_causes_error() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -192,7 +192,7 @@ public virtual void IndexAttribute_without_name_and_non_existent_property_causes Assert.Throws(() => modelBuilder.Model.FinalizeModel()).Message); } - [ConditionalFact] + [Fact] public virtual void IndexAttribute_with_name_and_non_existent_property_causes_error() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -207,7 +207,7 @@ public virtual void IndexAttribute_with_name_and_non_existent_property_causes_er Assert.Throws(() => modelBuilder.Model.FinalizeModel()).Message); } - [ConditionalFact] + [Fact] public void IndexAttribute_index_replicated_to_derived_type_when_base_type_changes() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -253,7 +253,7 @@ public void IndexAttribute_index_replicated_to_derived_type_when_base_type_chang modelBuilder.Model.FinalizeModel(); } - [ConditionalFact] + [Fact] public void IndexAttribute_index_is_created_when_missing_property_added() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -275,7 +275,7 @@ public void IndexAttribute_index_is_created_when_missing_property_added() prop1 => Assert.Equal("Y", prop1.Name)); } - [ConditionalFact] + [Fact] public void IndexAttribute_index_is_created_when_index_on_private_property() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); diff --git a/test/EFCore.Tests/Metadata/Conventions/KeyDiscoveryConventionTest.cs b/test/EFCore.Tests/Metadata/Conventions/KeyDiscoveryConventionTest.cs index e88837d7ae4..b7ef4b39e10 100644 --- a/test/EFCore.Tests/Metadata/Conventions/KeyDiscoveryConventionTest.cs +++ b/test/EFCore.Tests/Metadata/Conventions/KeyDiscoveryConventionTest.cs @@ -14,7 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class KeyDiscoveryConventionTest { - [ConditionalFact] + [Fact] public void Primary_key_is_not_set_when_zero_key_properties() { var entityBuilder = CreateInternalEntityBuilder(); @@ -25,7 +25,7 @@ public void Primary_key_is_not_set_when_zero_key_properties() Assert.Null(key); } - [ConditionalFact] + [Fact] public void Primary_key_is_set_when_shadow_property_not_defined_by_convention_matches() { var entityBuilder = CreateInternalEntityBuilder(); @@ -38,7 +38,7 @@ public void Primary_key_is_set_when_shadow_property_not_defined_by_convention_ma Assert.Equal(["Id"], key.Properties.Select(p => p.Name)); } - [ConditionalFact] + [Fact] public void Primary_key_is_not_set_when_shadow_property_defined_by_convention_matches() { var entityBuilder = CreateInternalEntityBuilder(); @@ -55,7 +55,7 @@ private class EntityWithId public int Id { get; set; } } - [ConditionalFact] + [Fact] public void DiscoverKeyProperties_discovers_id() { var entityBuilder = CreateInternalEntityBuilder(); @@ -72,7 +72,7 @@ private class EntityWithTypeId public int EntityWithTypeIdId { get; set; } } - [ConditionalFact] + [Fact] public void DiscoverKeyProperties_discovers_type_id() { var entityBuilder = CreateInternalEntityBuilder(); @@ -90,7 +90,7 @@ private class EntityWithIdAndTypeId public int EntityWithIdAndTypeIdId { get; set; } } - [ConditionalFact] + [Fact] public void DiscoverKeyProperties_prefers_id_over_type_id() { var entityBuilder = CreateInternalEntityBuilder(); @@ -108,7 +108,7 @@ private class EntityWithMultipleIds public int Id { get; set; } } - [ConditionalFact] + [Fact] public void DiscoverKeyProperties_does_not_discover_key_when_multiple_ids() { var entityBuilder = CreateInternalEntityBuilder(); diff --git a/test/EFCore.Tests/Metadata/Conventions/ManyToManyJoinEntityTypeConventionTest.cs b/test/EFCore.Tests/Metadata/Conventions/ManyToManyJoinEntityTypeConventionTest.cs index a594937576b..7c49d367d14 100644 --- a/test/EFCore.Tests/Metadata/Conventions/ManyToManyJoinEntityTypeConventionTest.cs +++ b/test/EFCore.Tests/Metadata/Conventions/ManyToManyJoinEntityTypeConventionTest.cs @@ -16,7 +16,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class ManyToManyJoinEntityTypeConventionTest { - [ConditionalFact] + [Fact] public void Join_entity_type_is_created_for_self_join() { var modelBuilder = CreateInternalModeBuilder(); @@ -41,7 +41,7 @@ public void Join_entity_type_is_created_for_self_join() Assert.Equal("ManyToManySelfManyToManySelf", joinEntityType.Name); } - [ConditionalFact] + [Fact] public void Join_entity_type_is_not_created_when_no_inverse_skip_navigation() { var modelBuilder = CreateInternalModeBuilder(); @@ -69,7 +69,7 @@ public void Join_entity_type_is_not_created_when_no_inverse_skip_navigation() et => et.IsImplicitlyCreatedJoinEntityType); } - [ConditionalFact] + [Fact] public void Join_entity_type_is_not_created_when_skip_navigation_is_not_collection() { var modelBuilder = CreateInternalModeBuilder(); @@ -98,7 +98,7 @@ public void Join_entity_type_is_not_created_when_skip_navigation_is_not_collecti et => et.IsImplicitlyCreatedJoinEntityType); } - [ConditionalFact] + [Fact] public void Join_entity_type_is_not_created_when_inverse_skip_navigation_is_not_collection() { var modelBuilder = CreateInternalModeBuilder(); @@ -127,7 +127,7 @@ public void Join_entity_type_is_not_created_when_inverse_skip_navigation_is_not_ et => et.IsImplicitlyCreatedJoinEntityType); } - [ConditionalFact] + [Fact] public void Join_entity_type_is_not_created_when_skip_navigation_already_in_use() { var modelBuilder = CreateInternalModeBuilder(); @@ -163,7 +163,7 @@ public void Join_entity_type_is_not_created_when_skip_navigation_already_in_use( et => et.IsImplicitlyCreatedJoinEntityType); } - [ConditionalFact] + [Fact] public void Join_entity_type_is_not_created_when_inverse_skip_navigation_already_in_use() { var modelBuilder = CreateInternalModeBuilder(); @@ -199,7 +199,7 @@ public void Join_entity_type_is_not_created_when_inverse_skip_navigation_already et => et.IsImplicitlyCreatedJoinEntityType); } - [ConditionalFact] + [Fact] public void Join_entity_type_is_created() { var modelBuilder = CreateInternalModeBuilder(); diff --git a/test/EFCore.Tests/Metadata/Conventions/ModelCleanupConventionTest.cs b/test/EFCore.Tests/Metadata/Conventions/ModelCleanupConventionTest.cs index 4007ac2b3d6..b41c80f50a0 100644 --- a/test/EFCore.Tests/Metadata/Conventions/ModelCleanupConventionTest.cs +++ b/test/EFCore.Tests/Metadata/Conventions/ModelCleanupConventionTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class ModelCleanupConventionTest { - [ConditionalFact] + [Fact] public void Unreachable_entity_types_are_removed() { var principalEntityBuilder = CreateInternalEntityBuilder(); @@ -26,7 +26,7 @@ public void Unreachable_entity_types_are_removed() Assert.Equal(nameof(OneToOnePrincipal), modelBuilder.Metadata.GetEntityTypes().Single().DisplayName()); } - [ConditionalFact] + [Fact] public void Reachable_entity_types_are_not_removed() { var principalEntityBuilder = CreateInternalEntityBuilder(); @@ -40,7 +40,7 @@ public void Reachable_entity_types_are_not_removed() Assert.Equal(2, modelBuilder.Metadata.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Navigationless_foreign_keys_are_removed() { var principalEntityBuilder = CreateInternalEntityBuilder(); diff --git a/test/EFCore.Tests/Metadata/Conventions/NavigationAttributeConventionTest.cs b/test/EFCore.Tests/Metadata/Conventions/NavigationAttributeConventionTest.cs index aaa9db5e137..3f3113d334d 100644 --- a/test/EFCore.Tests/Metadata/Conventions/NavigationAttributeConventionTest.cs +++ b/test/EFCore.Tests/Metadata/Conventions/NavigationAttributeConventionTest.cs @@ -19,7 +19,7 @@ public class NavigationAttributeConventionTest { #region NotMappedAttribute - [ConditionalFact] + [Fact] public void NotMappedAttribute_overrides_configuration_from_convention_source() { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -45,7 +45,7 @@ public void NotMappedAttribute_overrides_configuration_from_convention_source() Assert.Contains(dependentEntityTypeBuilder.Metadata.GetNavigations(), nav => nav.Name == nameof(BlogDetails.Blog)); } - [ConditionalFact] + [Fact] public void NotMappedAttribute_does_not_override_configuration_from_explicit_source() { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -66,7 +66,7 @@ public void NotMappedAttribute_does_not_override_configuration_from_explicit_sou Assert.Contains(dependentEntityTypeBuilder.Metadata.GetNavigations(), nav => nav.Name == nameof(BlogDetails.Blog)); } - [ConditionalFact] + [Fact] public void NotMappedAttribute_ignores_navigation_with_conventional_builder() { var modelBuilder = CreateModelBuilder(); @@ -81,7 +81,7 @@ public void NotMappedAttribute_ignores_navigation_with_conventional_builder() #region RequiredAttribute - [ConditionalFact] + [Fact] public void RequiredAttribute_overrides_configuration_from_convention_source() { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -107,7 +107,7 @@ public void RequiredAttribute_overrides_configuration_from_convention_source() Assert.Contains(dependentEntityTypeBuilder.Metadata.GetNavigations(), nav => nav.Name == nameof(Post.Blog)); } - [ConditionalFact] + [Fact] public void RequiredAttribute_does_not_override_configuration_from_explicit_source() { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -132,7 +132,7 @@ public void RequiredAttribute_does_not_override_configuration_from_explicit_sour Assert.Contains(dependentEntityTypeBuilder.Metadata.GetNavigations(), nav => nav.Name == nameof(Post.Blog)); } - [ConditionalFact] + [Fact] public void RequiredAttribute_does_not_set_is_required_for_collection_navigation() { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -160,7 +160,7 @@ public void RequiredAttribute_does_not_set_is_required_for_collection_navigation nameof(Principal), nameof(Principal.Dependents)), logEntry.Message); } - [ConditionalFact] + [Fact] public void RequiredAttribute_does_nothing_when_principal_end_is_ambiguous() { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -186,7 +186,7 @@ public void RequiredAttribute_does_nothing_when_principal_end_is_ambiguous() Assert.Empty(ListLoggerFactory.Log); } - [ConditionalFact] + [Fact] public void RequiredAttribute_sets_is_required_with_conventional_builder() { var modelBuilder = CreateModelBuilder(); @@ -198,7 +198,7 @@ public void RequiredAttribute_sets_is_required_with_conventional_builder() .IsRequired); } - [ConditionalFact] + [Fact] public void RequiredAttribute_does_not_configure_skip_navigations() { var postEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -236,7 +236,7 @@ public void RequiredAttribute_does_not_configure_skip_navigations() #region InversePropertyAttribute - [ConditionalFact] + [Fact] public void InversePropertyAttribute_overrides_configuration_from_convention_source() { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -262,7 +262,7 @@ public void InversePropertyAttribute_overrides_configuration_from_convention_sou Validate(dependentEntityTypeBuilder); } - [ConditionalFact] + [Fact] public void InversePropertyAttribute_does_not_override_configuration_from_explicit_source() { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -288,7 +288,7 @@ public void InversePropertyAttribute_does_not_override_configuration_from_explic Validate(dependentEntityTypeBuilder); } - [ConditionalFact] + [Fact] public void InversePropertyAttribute_does_not_configure_ambiguous_navigations() { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -337,7 +337,7 @@ public void InversePropertyAttribute_does_not_configure_ambiguous_navigations() nameof(AmbiguousPrincipal.Dependent)), logEntry.Message); } - [ConditionalFact] + [Fact] public void InversePropertyAttribute_does_not_configure_non_ownership_navigation() { var principalEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -374,7 +374,7 @@ public void InversePropertyAttribute_does_not_configure_non_ownership_navigation nameof(Principal.Dependents)), logEntry.Message); } - [ConditionalFact] + [Fact] public void InversePropertyAttribute_throws_if_self_navigation() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -385,7 +385,7 @@ public void InversePropertyAttribute_throws_if_self_navigation() Assert.Throws(() => RunEntityTypeConventions(entityTypeBuilder)).Message); } - [ConditionalFact] + [Fact] public void InversePropertyAttribute_throws_if_navigation_does_not_exist() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -396,7 +396,7 @@ public void InversePropertyAttribute_throws_if_navigation_does_not_exist() Assert.Throws(() => RunEntityTypeConventions(entityTypeBuilder)).Message); } - [ConditionalFact] + [Fact] public void InversePropertyAttribute_throws_if_navigation_return_type_is_wrong() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -406,7 +406,7 @@ public void InversePropertyAttribute_throws_if_navigation_return_type_is_wrong() Assert.Throws(() => RunEntityTypeConventions(entityTypeBuilder)).Message); } - [ConditionalFact] + [Fact] public void InversePropertyAttribute_throws_if_inverse_properties_are_not_pointing_at_each_other() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -421,7 +421,7 @@ public void InversePropertyAttribute_throws_if_inverse_properties_are_not_pointi #region ForeignKeyAttribute - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void ForeignKeyAttribute_overrides_configuration_from_convention_source(bool useNavigation) { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -453,7 +453,7 @@ public void ForeignKeyAttribute_overrides_configuration_from_convention_source(b Assert.Equal("PrincipalFk", relationshipBuilder.Metadata.Properties.First().Name); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void ForeignKeyAttribute_does_not_override_configuration_from_explicit_source(bool useNavigation) { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -485,7 +485,7 @@ public void ForeignKeyAttribute_does_not_override_configuration_from_explicit_so Assert.Equal("PrincipalId", relationshipBuilder.Metadata.Properties.First().Name); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void ForeignKeyAttribute_sets_foreign_key_properties_when_applied_on_dependent_to_principal_navigation(bool useNavigation) { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -517,7 +517,7 @@ public void ForeignKeyAttribute_sets_foreign_key_properties_when_applied_on_depe Assert.Equal("PrincipalFk", relationshipBuilder.Metadata.Properties.First().Name); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void ForeignKeyAttribute_sets_foreign_key_properties_when_applied_on_principal_to_dependent_navigation(bool useNavigation) { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -549,7 +549,7 @@ public void ForeignKeyAttribute_sets_foreign_key_properties_when_applied_on_prin Assert.Equal("PrincipalAnotherFk", relationshipBuilder.Metadata.Properties.First().Name); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void ForeignKeyAttribute_sets_foreign_key_properties_when_applied_on_property_on_dependent_side(bool useNavigation) { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -581,7 +581,7 @@ public void ForeignKeyAttribute_sets_foreign_key_properties_when_applied_on_prop Assert.Equal("PrincipalAnotherFk", relationshipBuilder.Metadata.Properties.First().Name); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void ForeignKeyAttribute_on_field_sets_foreign_key_properties_when_applied_on_property_on_dependent_side(bool useNavigation) { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -613,7 +613,7 @@ public void ForeignKeyAttribute_on_field_sets_foreign_key_properties_when_applie Assert.Equal("_principalFieldAnotherFk", relationshipBuilder.Metadata.Properties.First().Name); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void ForeignKeyAttribute_sets_foreign_key_properties_after_inverting_when_applied_on_property_on_principal_side( bool useNavigation) { @@ -650,7 +650,7 @@ public void ForeignKeyAttribute_sets_foreign_key_properties_after_inverting_when Assert.Equal(typeof(Principal), relationshipBuilder.Metadata.PrincipalEntityType.ClrType); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void ForeignKeyAttribute_sets_composite_foreign_key_properties_when_applied_on_navigation(bool useNavigation) { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -686,7 +686,7 @@ public void ForeignKeyAttribute_sets_composite_foreign_key_properties_when_appli p => Assert.Equal("PrincipalFk", p.Name)); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void ForeignKeyAttribute_throws_when_values_on_property_and_navigation_in_entity_type_do_not_match(bool useNavigation) { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -708,7 +708,7 @@ public void ForeignKeyAttribute_throws_when_values_on_property_and_navigation_in ).Message); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void ForeignKeyAttribute_throws_when_defining_composite_foreign_key_using_attribute_on_properties(bool useNavigation) { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -730,7 +730,7 @@ public void ForeignKeyAttribute_throws_when_defining_composite_foreign_key_using ).Message); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void ForeignKeyAttribute_throws_when_property_list_on_navigation_is_in_incorrect_format(bool useNavigation) { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -753,7 +753,7 @@ public void ForeignKeyAttribute_throws_when_property_list_on_navigation_is_in_in ).Message); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void ForeignKeyAttribute_throws_when_same_set_of_properties_are_pointed_by_multiple_navigations(bool useNavigation) { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -775,7 +775,7 @@ public void ForeignKeyAttribute_throws_when_same_set_of_properties_are_pointed_b ).Message); } - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public void ForeignKeyAttribute_throws_when_specified_on_principal_property_with_collection(bool useNavigation) { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -892,7 +892,7 @@ private void Validate(InternalEntityTypeBuilder entityTypeBuilder) #region BackingFieldAttribute - [ConditionalFact] + [Fact] public void BackingFieldAttribute_overrides_configuration_from_convention_source() { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -912,7 +912,7 @@ public void BackingFieldAttribute_overrides_configuration_from_convention_source Assert.Equal("_backingFieldFromAttribute", navigationBuilder.Metadata.GetFieldName()); } - [ConditionalFact] + [Fact] public void BackingFieldAttribute_does_not_override_configuration_from_explicit_source() { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -938,7 +938,7 @@ public void BackingFieldAttribute_does_not_override_configuration_from_explicit_ #region DeleteBehaviorAttribute - [ConditionalFact] + [Fact] public void DeleteBehaviorAttribute_overrides_configuration_from_convention_source() { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -961,7 +961,7 @@ public void DeleteBehaviorAttribute_overrides_configuration_from_convention_sour Assert.Equal(DeleteBehavior.Restrict, foreignKey.DeleteBehavior); } - [ConditionalFact] + [Fact] public void DeleteBehaviorAttribute_does_not_override_configuration_from_explicit_source() { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -999,7 +999,7 @@ InternalNavigationBuilder navigationBuilder #endregion - [ConditionalFact] + [Fact] public void Navigation_attribute_convention_runs_for_private_property() { var modelBuilder = CreateModelBuilder(); diff --git a/test/EFCore.Tests/Metadata/Conventions/NonNullableNavigationConventionTest.cs b/test/EFCore.Tests/Metadata/Conventions/NonNullableNavigationConventionTest.cs index db63b877f35..82c19ad200d 100644 --- a/test/EFCore.Tests/Metadata/Conventions/NonNullableNavigationConventionTest.cs +++ b/test/EFCore.Tests/Metadata/Conventions/NonNullableNavigationConventionTest.cs @@ -12,7 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class NonNullableNavigationConventionTest { - [ConditionalFact] + [Fact] public void Non_nullability_does_not_override_configuration_from_explicit_source() { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -37,7 +37,7 @@ public void Non_nullability_does_not_override_configuration_from_explicit_source Assert.Contains(dependentEntityTypeBuilder.Metadata.GetNavigations(), nav => nav.Name == nameof(Post.Blog)); } - [ConditionalFact] + [Fact] public void Non_nullability_does_not_override_configuration_from_data_annotation() { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -62,7 +62,7 @@ public void Non_nullability_does_not_override_configuration_from_data_annotation Assert.Contains(dependentEntityTypeBuilder.Metadata.GetNavigations(), nav => nav.Name == nameof(Post.Blog)); } - [ConditionalFact] + [Fact] public void Non_nullability_does_not_set_is_required_for_collection_navigation() { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -86,7 +86,7 @@ public void Non_nullability_does_not_set_is_required_for_collection_navigation() Assert.Empty(ListLoggerFactory.Log); } - [ConditionalFact] + [Fact] public void Non_nullability_does_not_set_is_required_for_navigation_to_dependent() { var dependentEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -110,7 +110,7 @@ public void Non_nullability_does_not_set_is_required_for_navigation_to_dependent Assert.False(relationshipBuilder.Metadata.IsRequired); } - [ConditionalFact] + [Fact] public void Non_nullability_sets_is_required_with_conventional_builder() { var modelBuilder = CreateModelBuilder(); diff --git a/test/EFCore.Tests/Metadata/Conventions/NonNullableReferencePropertyConventionTest.cs b/test/EFCore.Tests/Metadata/Conventions/NonNullableReferencePropertyConventionTest.cs index 36fdb155d42..4142deb3c28 100644 --- a/test/EFCore.Tests/Metadata/Conventions/NonNullableReferencePropertyConventionTest.cs +++ b/test/EFCore.Tests/Metadata/Conventions/NonNullableReferencePropertyConventionTest.cs @@ -12,7 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class NonNullableReferencePropertyConventionTest { - [ConditionalFact] + [Fact] public void Non_nullability_does_not_override_configuration_from_explicit_source() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -26,7 +26,7 @@ public void Non_nullability_does_not_override_configuration_from_explicit_source Assert.True(propertyBuilder.Metadata.IsNullable); } - [ConditionalFact] + [Fact] public void Non_nullability_does_not_override_configuration_from_data_annotation_source() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -40,7 +40,7 @@ public void Non_nullability_does_not_override_configuration_from_data_annotation Assert.True(propertyBuilder.Metadata.IsNullable); } - [ConditionalFact] + [Fact] public void Non_nullability_sets_is_nullable_with_conventional_builder() { var modelBuilder = CreateModelBuilder(); @@ -49,7 +49,7 @@ public void Non_nullability_sets_is_nullable_with_conventional_builder() Assert.False(entityTypeBuilder.Property(e => e.NonNullable).Metadata.IsNullable); } - [ConditionalTheory] + [Theory] [InlineData(typeof(A), nameof(A.NonNullable), false)] [InlineData(typeof(A), nameof(A.Nullable), true)] [InlineData(typeof(A), nameof(A.NonNullablePropertyMaybeNull), true)] @@ -84,7 +84,7 @@ public void Reference_nullability_sets_is_nullable_correctly(Type type, string p Assert.Equal(expectedNullable, entityTypeBuilder.Property(propertyName).Metadata.IsNullable); } - [ConditionalFact] + [Fact] public void Dictionary_indexer_is_not_configured_as_non_nullable() { var modelBuilder = CreateModelBuilder(); @@ -93,7 +93,7 @@ public void Dictionary_indexer_is_not_configured_as_non_nullable() Assert.True(entityTypeBuilder.Property("b").Metadata.IsNullable); } - [ConditionalFact] + [Fact] public void Primitive_collection_with_non_nullable_element() { var modelBuilder = CreateModelBuilder(); @@ -103,7 +103,7 @@ public void Primitive_collection_with_non_nullable_element() entityTypeBuilder.PrimitiveCollection(a => a.PrimitiveCollectionWithNonNullableElement).ElementType().Metadata.IsNullable); } - [ConditionalFact] + [Fact] public void Primitive_collection_with_nullable_element() { var modelBuilder = CreateModelBuilder(); diff --git a/test/EFCore.Tests/Metadata/Conventions/PrimaryKeyAttributeConventionTest.cs b/test/EFCore.Tests/Metadata/Conventions/PrimaryKeyAttributeConventionTest.cs index b80bfd1be6e..e01de2e572d 100644 --- a/test/EFCore.Tests/Metadata/Conventions/PrimaryKeyAttributeConventionTest.cs +++ b/test/EFCore.Tests/Metadata/Conventions/PrimaryKeyAttributeConventionTest.cs @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class PrimaryKeyAttributeConventionTest { - [ConditionalFact] + [Fact] public void PrimaryKeyAttribute_overrides_configuration_from_convention() { var modelBuilder = new InternalModelBuilder(new Model()); @@ -37,7 +37,7 @@ public void PrimaryKeyAttribute_overrides_configuration_from_convention() prop1 => Assert.Equal("B", prop1.Name)); } - [ConditionalFact] + [Fact] public void PrimaryKeyAttribute_can_be_overriden_using_explicit_configuration() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -54,7 +54,7 @@ public void PrimaryKeyAttribute_can_be_overriden_using_explicit_configuration() prop0 => Assert.Equal("A", prop0.Name)); } - [ConditionalFact] + [Fact] public void PrimaryKeyAttribute_with_null_properties_array_throws() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -63,7 +63,7 @@ public void PrimaryKeyAttribute_with_null_properties_array_throws() } [InlineData(typeof(EntityWithInvalidNullAdditionalProperty)), InlineData(typeof(EntityWithInvalidEmptyPrimaryKeyProperty)), - InlineData(typeof(EntityWithInvalidWhiteSpacePrimaryKeyProperty)), ConditionalTheory] + InlineData(typeof(EntityWithInvalidWhiteSpacePrimaryKeyProperty)), Theory] public void PrimaryKeyAttribute_properties_cannot_include_whitespace(Type entityTypeWithInvalidPrimaryKey) { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -73,7 +73,7 @@ public void PrimaryKeyAttribute_properties_cannot_include_whitespace(Type entity Assert.Throws(() => modelBuilder.Entity(entityTypeWithInvalidPrimaryKey)).Message); } - [ConditionalFact] + [Fact] public void PrimaryKeyAttribute_can_be_inherited_from_base_entity_type() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -94,7 +94,7 @@ public void PrimaryKeyAttribute_can_be_inherited_from_base_entity_type() prop1 => Assert.Equal("B", prop1.Name)); } - [ConditionalFact] + [Fact] public virtual void PrimaryKeyAttribute_on_ignored_property_causes_error() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -105,7 +105,7 @@ public virtual void PrimaryKeyAttribute_on_ignored_property_causes_error() Assert.Throws(() => modelBuilder.Model.FinalizeModel()).Message); } - [ConditionalFact] + [Fact] public virtual void PrimaryKeyAttribute_with_non_existent_property_causes_error() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -119,7 +119,7 @@ public virtual void PrimaryKeyAttribute_with_non_existent_property_causes_error( Assert.Throws(() => modelBuilder.Model.FinalizeModel()).Message); } - [ConditionalFact] + [Fact] public virtual void PrimaryKeyAttribute_and_KeylessAttribute_on_same_type() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -129,7 +129,7 @@ public virtual void PrimaryKeyAttribute_and_KeylessAttribute_on_same_type() Assert.Throws(() => modelBuilder.Entity()).Message); } - [ConditionalFact] + [Fact] public void PrimaryKeyAttribute_primaryKey_replicated_to_derived_type_when_base_type_changes() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -167,7 +167,7 @@ public void PrimaryKeyAttribute_primaryKey_replicated_to_derived_type_when_base_ modelBuilder.Model.FinalizeModel(); } - [ConditionalFact] + [Fact] public void PrimaryKeyAttribute_primaryKey_is_created_when_missing_property_added() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -186,7 +186,7 @@ public void PrimaryKeyAttribute_primaryKey_is_created_when_missing_property_adde prop1 => Assert.Equal("Y", prop1.Name)); } - [ConditionalFact] + [Fact] public void PrimaryKeyAttribute_primaryKey_is_created_when_primaryKey_on_private_property() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); diff --git a/test/EFCore.Tests/Metadata/Conventions/PropertyAttributeConventionTest.cs b/test/EFCore.Tests/Metadata/Conventions/PropertyAttributeConventionTest.cs index 63d3ab5eece..89247948f95 100644 --- a/test/EFCore.Tests/Metadata/Conventions/PropertyAttributeConventionTest.cs +++ b/test/EFCore.Tests/Metadata/Conventions/PropertyAttributeConventionTest.cs @@ -17,7 +17,7 @@ public class PropertyAttributeConventionTest { #region ConcurrencyCheckAttribute - [ConditionalFact] + [Fact] public void ConcurrencyCheckAttribute_overrides_configuration_from_convention_source() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -31,7 +31,7 @@ public void ConcurrencyCheckAttribute_overrides_configuration_from_convention_so Assert.True(propertyBuilder.Metadata.IsConcurrencyToken); } - [ConditionalFact] + [Fact] public void ConcurrencyCheckAttribute_does_not_override_configuration_from_explicit_source() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -45,7 +45,7 @@ public void ConcurrencyCheckAttribute_does_not_override_configuration_from_expli Assert.False(propertyBuilder.Metadata.IsConcurrencyToken); } - [ConditionalFact] + [Fact] public void ConcurrencyCheckAttribute_sets_concurrency_token_with_conventional_builder() { var modelBuilder = CreateModelBuilder(); @@ -54,7 +54,7 @@ public void ConcurrencyCheckAttribute_sets_concurrency_token_with_conventional_b Assert.True(entityTypeBuilder.Property(e => e.RowVersion).Metadata.IsConcurrencyToken); } - [ConditionalFact] + [Fact] public void ConcurrencyCheckAttribute_on_field_sets_concurrency_token_with_conventional_builder() { var modelBuilder = CreateModelBuilder(); @@ -67,7 +67,7 @@ public void ConcurrencyCheckAttribute_on_field_sets_concurrency_token_with_conve #region DatabaseGeneratedAttribute - [ConditionalFact] + [Fact] public void DatabaseGeneratedAttribute_overrides_configuration_from_convention_source() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -81,7 +81,7 @@ public void DatabaseGeneratedAttribute_overrides_configuration_from_convention_s Assert.Equal(ValueGenerated.OnAddOrUpdate, propertyBuilder.Metadata.ValueGenerated); } - [ConditionalFact] + [Fact] public void DatabaseGeneratedAttribute_does_not_override_configuration_from_explicit_source() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -95,7 +95,7 @@ public void DatabaseGeneratedAttribute_does_not_override_configuration_from_expl Assert.Equal(ValueGenerated.Never, propertyBuilder.Metadata.ValueGenerated); } - [ConditionalFact] + [Fact] public void DatabaseGeneratedAttribute_sets_store_generated_pattern_with_conventional_builder() { var modelBuilder = CreateModelBuilder(); @@ -104,7 +104,7 @@ public void DatabaseGeneratedAttribute_sets_store_generated_pattern_with_convent Assert.Equal(ValueGenerated.OnAddOrUpdate, entityTypeBuilder.Property(e => e.Id).Metadata.ValueGenerated); } - [ConditionalFact] + [Fact] public void DatabaseGeneratedAttribute_in_field_sets_store_generated_pattern_with_conventional_builder() { var modelBuilder = CreateModelBuilder(); @@ -117,7 +117,7 @@ public void DatabaseGeneratedAttribute_in_field_sets_store_generated_pattern_wit #region KeyAttribute - [ConditionalFact] + [Fact] public void KeyAttribute_overrides_configuration_from_convention_source() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -132,7 +132,7 @@ public void KeyAttribute_overrides_configuration_from_convention_source() Assert.Equal("MyPrimaryKey", entityTypeBuilder.Metadata.FindPrimaryKey().Properties[0].Name); } - [ConditionalFact] + [Fact] public void KeyAttribute_does_not_override_configuration_from_explicit_source() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -147,7 +147,7 @@ public void KeyAttribute_does_not_override_configuration_from_explicit_source() Assert.Equal("Id", entityTypeBuilder.Metadata.FindPrimaryKey().Properties[0].Name); } - [ConditionalFact] + [Fact] public void KeyAttribute_sets_primary_key_for_single_property() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -162,7 +162,7 @@ public void KeyAttribute_sets_primary_key_for_single_property() Assert.Equal("MyPrimaryKey", entityTypeBuilder.Metadata.FindPrimaryKey().Properties[0].Name); } - [ConditionalFact] + [Fact] public void KeyAttribute_throws_when_setting_composite_primary_key() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -188,7 +188,7 @@ public void KeyAttribute_throws_when_setting_composite_primary_key() Assert.Throws(() => Validate(entityTypeBuilder)).Message); } - [ConditionalFact] + [Fact] public void KeyAttribute_does_not_throw_when_setting_composite_primary_key_if_fluent_api_used() { var model = new MyContext().Model; @@ -198,7 +198,7 @@ public void KeyAttribute_does_not_throw_when_setting_composite_primary_key_if_fl Assert.Equal("Id", model.FindEntityType(typeof(B)).FindPrimaryKey().Properties[1].Name); } - [ConditionalFact] + [Fact] public void KeyAttribute_does_not_throw_when_setting_composite_primary_key_with_PrimaryKey_attribute() { var model = new MyContext().Model; @@ -208,7 +208,7 @@ public void KeyAttribute_does_not_throw_when_setting_composite_primary_key_with_ Assert.Equal("Id", model.FindEntityType(typeof(B2)).FindPrimaryKey().Properties[1].Name); } - [ConditionalFact] + [Fact] public void KeyAttribute_throws_when_setting_key_in_derived_type() { var derivedEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -224,7 +224,7 @@ public void KeyAttribute_throws_when_setting_key_in_derived_type() .Message); } - [ConditionalFact] + [Fact] public void KeyAttribute_does_not_throw_when_setting_key_in_derived_type_when_base_has_PrimaryKeyAttribute() { var derivedEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -236,7 +236,7 @@ public void KeyAttribute_does_not_throw_when_setting_key_in_derived_type_when_ba Validate(derivedEntityTypeBuilder); } - [ConditionalFact] + [Fact] public void KeyAttribute_allows_composite_key_with_inheritance() { var derivedEntityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -251,7 +251,7 @@ public void KeyAttribute_allows_composite_key_with_inheritance() Assert.Equal(2, baseEntityTypeBuilder.Metadata.FindPrimaryKey().Properties.Count); } - [ConditionalFact] + [Fact] public void KeyAttribute_on_field_sets_primary_key() { var modelBuilder = CreateModelBuilder(); @@ -265,7 +265,7 @@ public void KeyAttribute_on_field_sets_primary_key() #region MaxLengthAttribute - [ConditionalFact] + [Fact] public void MaxLengthAttribute_overrides_configuration_from_convention_source() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -279,7 +279,7 @@ public void MaxLengthAttribute_overrides_configuration_from_convention_source() Assert.Equal(10, propertyBuilder.Metadata.GetMaxLength()); } - [ConditionalFact] + [Fact] public void MaxLengthAttribute_overrides_unbounded_configuration_from_convention_source() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -293,7 +293,7 @@ public void MaxLengthAttribute_overrides_unbounded_configuration_from_convention Assert.Equal(10, propertyBuilder.Metadata.GetMaxLength()); } - [ConditionalFact] + [Fact] public void MaxLengthAttribute_does_not_override_configuration_from_explicit_source() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -307,7 +307,7 @@ public void MaxLengthAttribute_does_not_override_configuration_from_explicit_sou Assert.Equal(100, propertyBuilder.Metadata.GetMaxLength()); } - [ConditionalFact] + [Fact] public void MaxLengthAttribute_sets_max_length_with_conventional_builder() { var modelBuilder = CreateModelBuilder(); @@ -316,7 +316,7 @@ public void MaxLengthAttribute_sets_max_length_with_conventional_builder() Assert.Equal(10, entityTypeBuilder.Property(e => e.MaxLengthProperty).Metadata.GetMaxLength()); } - [ConditionalFact] + [Fact] public void MaxLengthAttribute_on_field_sets_max_length_with_conventional_builder() { var modelBuilder = CreateModelBuilder(); @@ -329,7 +329,7 @@ public void MaxLengthAttribute_on_field_sets_max_length_with_conventional_builde #region NotMappedAttribute - [ConditionalFact] + [Fact] public void NotMappedAttribute_overrides_configuration_from_convention_source() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -340,7 +340,7 @@ public void NotMappedAttribute_overrides_configuration_from_convention_source() Assert.DoesNotContain(entityTypeBuilder.Metadata.GetProperties(), p => p.Name == "IgnoredProperty"); } - [ConditionalFact] + [Fact] public void NotMappedAttribute_does_not_override_configuration_from_explicit_source() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -351,7 +351,7 @@ public void NotMappedAttribute_does_not_override_configuration_from_explicit_sou Assert.Contains(entityTypeBuilder.Metadata.GetProperties(), p => p.Name == "IgnoredProperty"); } - [ConditionalFact] + [Fact] public void NotMappedAttribute_ignores_property_with_conventional_builder() { var modelBuilder = CreateModelBuilder(); @@ -360,7 +360,7 @@ public void NotMappedAttribute_ignores_property_with_conventional_builder() Assert.DoesNotContain(entityTypeBuilder.Metadata.GetProperties(), p => p.Name == "IgnoredProperty"); } - [ConditionalFact] + [Fact] public void NotMappedAttribute_on_field_does_not_ignore_property_with_conventional_builder() { var modelBuilder = CreateModelBuilder(); @@ -371,7 +371,7 @@ public void NotMappedAttribute_on_field_does_not_ignore_property_with_convention Assert.Contains(entityTypeBuilder.Metadata.GetProperties(), p => p.Name == "IgnoredProperty"); } - [ConditionalFact] + [Fact] public void NotMappedAttribute_on_field_overrides_configuration_from_convention_source() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -386,7 +386,7 @@ public void NotMappedAttribute_on_field_overrides_configuration_from_convention_ #region RequiredAttribute - [ConditionalFact] + [Fact] public void RequiredAttribute_overrides_configuration_from_convention_source() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -400,7 +400,7 @@ public void RequiredAttribute_overrides_configuration_from_convention_source() Assert.False(propertyBuilder.Metadata.IsNullable); } - [ConditionalFact] + [Fact] public void RequiredAttribute_does_not_override_configuration_from_explicit_source() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -414,7 +414,7 @@ public void RequiredAttribute_does_not_override_configuration_from_explicit_sour Assert.True(propertyBuilder.Metadata.IsNullable); } - [ConditionalFact] + [Fact] public void RequiredAttribute_sets_is_nullable_with_conventional_builder() { var modelBuilder = CreateModelBuilder(); @@ -423,7 +423,7 @@ public void RequiredAttribute_sets_is_nullable_with_conventional_builder() Assert.False(entityTypeBuilder.Property(e => e.Name).Metadata.IsNullable); } - [ConditionalFact] + [Fact] public void RequiredAttribute_on_field_sets_is_nullable_with_conventional_builder() { var modelBuilder = CreateModelBuilder(); @@ -436,7 +436,7 @@ public void RequiredAttribute_on_field_sets_is_nullable_with_conventional_builde #region StringLengthAttribute - [ConditionalFact] + [Fact] public void StringLengthAttribute_overrides_configuration_from_convention_source() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -450,7 +450,7 @@ public void StringLengthAttribute_overrides_configuration_from_convention_source Assert.Equal(20, propertyBuilder.Metadata.GetMaxLength()); } - [ConditionalFact] + [Fact] public void StringLengthAttribute_does_not_override_configuration_from_explicit_source() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -464,7 +464,7 @@ public void StringLengthAttribute_does_not_override_configuration_from_explicit_ Assert.Equal(100, propertyBuilder.Metadata.GetMaxLength()); } - [ConditionalFact] + [Fact] public void StringLengthAttribute_sets_max_length_with_conventional_builder() { var modelBuilder = CreateModelBuilder(); @@ -473,7 +473,7 @@ public void StringLengthAttribute_sets_max_length_with_conventional_builder() Assert.Equal(20, entityTypeBuilder.Property(e => e.StringLengthProperty).Metadata.GetMaxLength()); } - [ConditionalFact] + [Fact] public void StringLengthAttribute_on_field_sets_max_length_with_conventional_builder() { var modelBuilder = CreateModelBuilder(); @@ -486,7 +486,7 @@ public void StringLengthAttribute_on_field_sets_max_length_with_conventional_bui #region TimestampAttribute - [ConditionalTheory, InlineData("Timestamp"), InlineData("LongTimestamp"), InlineData("ULongTimestamp")] + [Theory, InlineData("Timestamp"), InlineData("LongTimestamp"), InlineData("ULongTimestamp")] public void TimestampAttribute_overrides_configuration_from_convention_source(string propertyName) { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -503,7 +503,7 @@ public void TimestampAttribute_overrides_configuration_from_convention_source(st Assert.True(propertyBuilder.Metadata.IsConcurrencyToken); } - [ConditionalTheory, InlineData("Timestamp"), InlineData("LongTimestamp"), InlineData("ULongTimestamp")] + [Theory, InlineData("Timestamp"), InlineData("LongTimestamp"), InlineData("ULongTimestamp")] public void TimestampAttribute_does_not_override_configuration_from_explicit_source(string propertyName) { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -520,7 +520,7 @@ public void TimestampAttribute_does_not_override_configuration_from_explicit_sou Assert.False(propertyBuilder.Metadata.IsConcurrencyToken); } - [ConditionalFact] + [Fact] public void TimestampAttribute_sets_concurrency_token_with_conventional_builder() { var modelBuilder = CreateModelBuilder(); @@ -530,7 +530,7 @@ public void TimestampAttribute_sets_concurrency_token_with_conventional_builder( Assert.True(entityTypeBuilder.Property(e => e.Timestamp).Metadata.IsConcurrencyToken); } - [ConditionalFact] + [Fact] public void TimestampAttribute_on_field_sets_concurrency_token_with_conventional_builder() { var modelBuilder = CreateModelBuilder(); @@ -544,7 +544,7 @@ public void TimestampAttribute_on_field_sets_concurrency_token_with_conventional #region BackingFieldAttribute - [ConditionalFact] + [Fact] public void BackingFieldAttribute_overrides_configuration_from_convention_source() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -558,7 +558,7 @@ public void BackingFieldAttribute_overrides_configuration_from_convention_source Assert.Equal("_backingFieldForAttribute", propertyBuilder.Metadata.GetFieldName()); } - [ConditionalFact] + [Fact] public void BackingFieldAttribute_does_not_override_configuration_from_explicit_source() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -578,7 +578,7 @@ public void BackingFieldAttribute_does_not_override_configuration_from_explicit_ #region UnicodeAttribute - [ConditionalFact] + [Fact] public void UnicodeAttribute_overrides_configuration_from_convention_source() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -592,7 +592,7 @@ public void UnicodeAttribute_overrides_configuration_from_convention_source() Assert.True(propertyBuilder.Metadata.IsUnicode()); } - [ConditionalFact] + [Fact] public void UnicodeAttribute_does_not_override_configuration_from_explicit_source() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -606,7 +606,7 @@ public void UnicodeAttribute_does_not_override_configuration_from_explicit_sourc Assert.False(propertyBuilder.Metadata.IsUnicode()); } - [ConditionalFact] + [Fact] public void UnicodeAttribute_sets_unicode_with_conventional_builder() { var modelBuilder = CreateModelBuilder(); @@ -616,7 +616,7 @@ public void UnicodeAttribute_sets_unicode_with_conventional_builder() Assert.False(entityTypeBuilder.Property(e => e.NonUnicodeProperty).Metadata.IsUnicode()); } - [ConditionalFact] + [Fact] public void UnicodeAttribute_on_field_sets_unicode_with_conventional_builder() { var modelBuilder = CreateModelBuilder(); @@ -630,7 +630,7 @@ public void UnicodeAttribute_on_field_sets_unicode_with_conventional_builder() #region PrecisionAttribute - [ConditionalFact] + [Fact] public void PrecisionAttribute_overrides_configuration_from_convention_source() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -646,7 +646,7 @@ public void PrecisionAttribute_overrides_configuration_from_convention_source() Assert.Equal(2, propertyBuilder.Metadata.GetScale()); } - [ConditionalFact] + [Fact] public void PrecisionAttribute_does_not_override_configuration_from_explicit_source() { var entityTypeBuilder = CreateInternalEntityTypeBuilder(); @@ -662,7 +662,7 @@ public void PrecisionAttribute_does_not_override_configuration_from_explicit_sou Assert.Equal(5, propertyBuilder.Metadata.GetScale()); } - [ConditionalFact] + [Fact] public void PrecisionAttribute_sets_precision_with_conventional_builder() { var modelBuilder = CreateModelBuilder(); @@ -672,7 +672,7 @@ public void PrecisionAttribute_sets_precision_with_conventional_builder() Assert.Equal(2, entityTypeBuilder.Property(e => e.DecimalProperty).Metadata.GetScale()); } - [ConditionalFact] + [Fact] public void PrecisionAttribute_on_field_sets_precision_with_conventional_builder() { var modelBuilder = CreateModelBuilder(); @@ -684,7 +684,7 @@ public void PrecisionAttribute_on_field_sets_precision_with_conventional_builder #endregion - [ConditionalFact] + [Fact] public void Property_attribute_convention_runs_for_private_property() { var modelBuilder = CreateModelBuilder(); diff --git a/test/EFCore.Tests/Metadata/Conventions/PropertyDiscoveryConventionTest.cs b/test/EFCore.Tests/Metadata/Conventions/PropertyDiscoveryConventionTest.cs index b53e5bfa810..c398b284f85 100644 --- a/test/EFCore.Tests/Metadata/Conventions/PropertyDiscoveryConventionTest.cs +++ b/test/EFCore.Tests/Metadata/Conventions/PropertyDiscoveryConventionTest.cs @@ -47,7 +47,7 @@ protected internal override void OnConfiguring(DbContextOptionsBuilder optionsBu .UseInMemoryDatabase(nameof(WithPrivatesContext)); } - [ConditionalFact] + [Fact] public void Properties_with_private_setters_on_unmapped_base_types_are_discovered() { using var context = new WithPrivatesContext(); @@ -78,7 +78,7 @@ public void Properties_with_private_setters_on_unmapped_base_types_are_discovere context.SaveChanges(); } - [ConditionalFact] + [Fact] public void Can_save_and_query_using_entities_with_private_setters_on_base_types() { int id; @@ -136,7 +136,7 @@ public int this[int index] } } - [ConditionalFact] + [Fact] public void IsValidProperty_returns_false_when_invalid() { var entityBuilder = CreateInternalEntityBuilder(); @@ -194,7 +194,7 @@ private enum Enum1 Default } - [ConditionalFact] + [Fact] public void IsPrimitiveProperty_returns_true_when_supported_type() { var entityBuilder = CreateInternalEntityBuilder(); @@ -213,7 +213,7 @@ private class EntityWithNoPrimitives public object Object { get; set; } } - [ConditionalFact] + [Fact] public void IsPrimitiveProperty_returns_false_when_unsupported_type() { var entityBuilder = CreateInternalEntityBuilder(); diff --git a/test/EFCore.Tests/Metadata/Conventions/QueryFilterRewritingConventionTest.cs b/test/EFCore.Tests/Metadata/Conventions/QueryFilterRewritingConventionTest.cs index 15790ff48fb..037cb3b1532 100644 --- a/test/EFCore.Tests/Metadata/Conventions/QueryFilterRewritingConventionTest.cs +++ b/test/EFCore.Tests/Metadata/Conventions/QueryFilterRewritingConventionTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // ReSharper disable InconsistentNaming @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class QueryFilterRewritingConventionTest { - [ConditionalFact] + [Fact] public virtual void QueryFilter_containing_db_set_with_not_included_type() { var modelBuilder = new InternalModelBuilder(new Model()); @@ -24,7 +24,7 @@ public virtual void QueryFilter_containing_db_set_with_not_included_type() Assert.Throws(() => RunConvention(modelBuilder)).Message); } - [ConditionalFact] + [Fact] public virtual void QueryFilter_containing_db_set_with_shared_type_without_name() { var modelBuilder = new InternalModelBuilder(new Model()); @@ -38,7 +38,7 @@ public virtual void QueryFilter_containing_db_set_with_shared_type_without_name( Assert.Throws(() => RunConvention(modelBuilder)).Message); } - [ConditionalFact] + [Fact] public virtual void QueryFilter_containing_db_set_of_incorrect_type() { var modelBuilder = new InternalModelBuilder(new Model()); @@ -52,7 +52,7 @@ public virtual void QueryFilter_containing_db_set_of_incorrect_type() Assert.Throws(() => RunConvention(modelBuilder)).Message); } - [ConditionalFact] + [Fact] public virtual void QueryFilter_containing_db_set_of_owned() { var modelBuilder = new InternalModelBuilder(new Model()); diff --git a/test/EFCore.Tests/Metadata/Conventions/RelationshipDiscoveryConventionTest.cs b/test/EFCore.Tests/Metadata/Conventions/RelationshipDiscoveryConventionTest.cs index 88174a1e5c4..5c6ced55c5a 100644 --- a/test/EFCore.Tests/Metadata/Conventions/RelationshipDiscoveryConventionTest.cs +++ b/test/EFCore.Tests/Metadata/Conventions/RelationshipDiscoveryConventionTest.cs @@ -18,7 +18,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class RelationshipDiscoveryConventionTest { - [ConditionalFact] + [Fact] public void Entity_type_is_not_discovered_if_ignored() { var entityBuilder = CreateInternalEntityBuilder(); @@ -32,7 +32,7 @@ public void Entity_type_is_not_discovered_if_ignored() Assert.Equal(entityBuilder.Metadata.ClrType, entityBuilder.Metadata.Model.GetEntityTypes().Single().ClrType); } - [ConditionalFact] + [Fact] public void Entity_type_is_not_discovered_if_navigation_is_ignored() { var entityBuilder = CreateInternalEntityBuilder(); @@ -46,7 +46,7 @@ public void Entity_type_is_not_discovered_if_navigation_is_ignored() Assert.Equal(entityBuilder.Metadata.ClrType, entityBuilder.Metadata.Model.GetEntityTypes().Single().ClrType); } - [ConditionalFact] + [Fact] public void One_to_one_bidirectional_is_discovered() { var entityBuilder = CreateInternalEntityBuilder(); @@ -57,7 +57,7 @@ public void One_to_one_bidirectional_is_discovered() Assert.Equal(2, entityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void One_to_many_unidirectional_is_upgraded_to_one_to_one_bidirectional() { var principalEntityBuilder = CreateInternalEntityBuilder(); @@ -75,7 +75,7 @@ public void One_to_many_unidirectional_is_upgraded_to_one_to_one_bidirectional() Assert.Equal(2, principalEntityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Two_one_to_many_unidirectional_are_upgraded_to_one_to_one_bidirectional() { var principalEntityBuilder = CreateInternalEntityBuilder(); @@ -97,7 +97,7 @@ public void Two_one_to_many_unidirectional_are_upgraded_to_one_to_one_bidirectio Assert.Equal(2, principalEntityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void One_to_many_unidirectional_is_not_upgraded_to_one_to_one_bidirectional_if_higher_source() { var principalEntityBuilder = CreateInternalEntityBuilder(); @@ -114,7 +114,7 @@ public void One_to_many_unidirectional_is_not_upgraded_to_one_to_one_bidirection Assert.Equal(2, principalEntityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void One_to_many_unidirectional_is_discovered() { var entityBuilder = CreateInternalEntityBuilder(OneToManyPrincipal.IgnoreNavigation); @@ -125,7 +125,7 @@ public void One_to_many_unidirectional_is_discovered() Assert.Equal(2, entityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void One_to_many_unidirectional_is_upgraded_to_one_to_many_bidirectional() { var principalEntityBuilder = CreateInternalEntityBuilder(); @@ -142,7 +142,7 @@ public void One_to_many_unidirectional_is_upgraded_to_one_to_many_bidirectional( Assert.Equal(2, principalEntityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void One_to_many_unidirectional_is_not_upgraded_to_one_to_many_bidirectional_if_higher_source() { var principalEntityBuilder = CreateInternalEntityBuilder(); @@ -159,7 +159,7 @@ public void One_to_many_unidirectional_is_not_upgraded_to_one_to_many_bidirectio Assert.Equal(2, principalEntityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void One_to_many_bidirectional_is_discovered() { var entityBuilder = CreateInternalEntityBuilder(); @@ -170,7 +170,7 @@ public void One_to_many_bidirectional_is_discovered() Assert.Equal(2, entityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Many_to_one_unidirectional_is_discovered() { var entityBuilder = CreateInternalEntityBuilder(OneToManyDependent.IgnoreNavigation); @@ -181,7 +181,7 @@ public void Many_to_one_unidirectional_is_discovered() Assert.Equal(2, entityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Many_to_one_unidirectional_is_upgraded_to_many_to_one_bidirectional() { var principalEntityBuilder = CreateInternalEntityBuilder(); @@ -198,7 +198,7 @@ public void Many_to_one_unidirectional_is_upgraded_to_many_to_one_bidirectional( Assert.Equal(2, principalEntityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Many_to_one_unidirectional_is_not_upgraded_to_many_to_one_bidirectional_if_higher_source() { var principalEntityBuilder = CreateInternalEntityBuilder(); @@ -215,7 +215,7 @@ public void Many_to_one_unidirectional_is_not_upgraded_to_many_to_one_bidirectio Assert.Equal(2, principalEntityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Many_to_one_bidirectional_is_discovered() { var entityBuilder = CreateInternalEntityBuilder(); @@ -226,7 +226,7 @@ public void Many_to_one_bidirectional_is_discovered() Assert.Equal(2, entityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Many_to_many_skip_navigations_are_discovered_if_self_join() { var modelBuilder = CreateInternalModeBuilder(); @@ -245,7 +245,7 @@ public void Many_to_many_skip_navigations_are_discovered_if_self_join() Assert.Same(navigationOnManyToManySecond.Inverse, navigationOnManyToManyFirst); } - [ConditionalFact] + [Fact] public void Many_to_many_skip_navigations_are_not_discovered_if_relationship_should_be_on_ancestors() { var modelBuilder = CreateInternalModeBuilder(); @@ -261,7 +261,7 @@ public void Many_to_many_skip_navigations_are_not_discovered_if_relationship_sho Assert.Empty(derivedManyToManySecond.Metadata.GetSkipNavigations()); } - [ConditionalFact] + [Fact] public void Many_to_many_bidirectional_sets_up_skip_navigations() { var modelBuilder = CreateInternalModeBuilder(); @@ -281,7 +281,7 @@ public void Many_to_many_bidirectional_sets_up_skip_navigations() Assert.Same(navigationOnManyToManySecond.Inverse, navigationOnManyToManyFirst); } - [ConditionalFact] + [Fact] public void Ambiguous_navigations_are_not_discovered() { var entityBuilder = CreateInternalEntityBuilder(MultipleNavigationsSecond.IgnoreCollectionNavigation); @@ -293,7 +293,7 @@ public void Ambiguous_navigations_are_not_discovered() Assert.Equal(2, entityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Existing_relationship_is_removed_if_ambiguous() { var entityBuilderFirst = @@ -312,7 +312,7 @@ public void Existing_relationship_is_removed_if_ambiguous() Assert.Equal(2, entityBuilderFirst.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Existing_relationship_removes_ambiguity_if_higher_source() { var entityBuilderFirst = @@ -335,7 +335,7 @@ public void Existing_relationship_removes_ambiguity_if_higher_source() Assert.Equal(2, entityBuilderFirst.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Navigations_are_not_discovered_if_ambiguous_inverse() { var entityBuilderFirst = CreateInternalEntityBuilder( @@ -351,7 +351,7 @@ public void Navigations_are_not_discovered_if_ambiguous_inverse() Assert.Equal(2, entityBuilderFirst.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Existing_relationship_is_removed_if_ambiguous_inverse() { var entityBuilderFirst = @@ -379,7 +379,7 @@ public void Existing_relationship_is_removed_if_ambiguous_inverse() "{'MultipleNavigationsSecond', 'MultipleNavigationsSeconds'}"), logEntry.Message); } - [ConditionalFact] + [Fact] public void Existing_relationship_removes_ambiguity_in_inverse_if_higher_source() { var entityBuilderFirst = @@ -402,7 +402,7 @@ public void Existing_relationship_removes_ambiguity_in_inverse_if_higher_source( Assert.Equal(2, entityBuilderFirst.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Multiple_navigations_to_same_entity_type_are_discovered() { var entityBuilder = CreateInternalEntityBuilder( @@ -436,7 +436,7 @@ public void Multiple_navigations_to_same_entity_type_are_discovered() Assert.Empty(secondEntityType.GetNavigations()); } - [ConditionalFact] + [Fact] public void Navigations_to_base_and_derived_are_discovered() { var entityBuilder = CreateInternalEntityBuilder( @@ -460,7 +460,7 @@ public void Navigations_to_base_and_derived_are_discovered() Assert.Equal(3, entityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Navigations_to_base_and_derived_are_discovered_if_inverse_from_base() { var entityBuilder = CreateInternalEntityBuilder( @@ -483,7 +483,7 @@ public void Navigations_to_base_and_derived_are_discovered_if_inverse_from_base( Assert.Equal(3, entityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Navigations_to_derived_and_base_are_discovered_if_inverse_from_base() { var entityBuilder = CreateInternalEntityBuilder( @@ -506,7 +506,7 @@ public void Navigations_to_derived_and_base_are_discovered_if_inverse_from_base( Assert.Equal(3, entityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Navigations_to_base_and_derived_are_discovered_if_inverse_from_derived() { var entityBuilder = CreateInternalEntityBuilder( @@ -529,7 +529,7 @@ public void Navigations_to_base_and_derived_are_discovered_if_inverse_from_deriv Assert.Equal(3, entityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Navigation_pairs_to_base_and_derived_are_discovered() { var entityBuilder = CreateInternalEntityBuilder(); @@ -552,7 +552,7 @@ public void Navigation_pairs_to_base_and_derived_are_discovered() Assert.Equal(4, entityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Navigation_to_base_is_discovered() { var entityBuilder = CreateInternalEntityBuilder( @@ -570,7 +570,7 @@ public void Navigation_to_base_is_discovered() Assert.Equal(2, entityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Existing_navigation_to_derived_is_promoted() { var entityBuilder = CreateInternalEntityBuilder( @@ -594,7 +594,7 @@ public void Existing_navigation_to_derived_is_promoted() Assert.Equal(3, entityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Existing_navigation_from_derived_is_promoted() { var entityBuilder = CreateInternalEntityBuilder( @@ -618,7 +618,7 @@ public void Existing_navigation_from_derived_is_promoted() Assert.Equal(3, entityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Navigation_from_derived_is_not_discovered_if_ambiguous() { var entityBuilder = CreateInternalEntityBuilder( @@ -638,7 +638,7 @@ public void Navigation_from_derived_is_not_discovered_if_ambiguous() Assert.Equal(3, entityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Existing_relationship_to_base_removes_ambiguity() { var entityBuilder = CreateInternalEntityBuilder( @@ -661,7 +661,7 @@ public void Existing_relationship_to_base_removes_ambiguity() Assert.Equal(3, entityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Navigation_to_derived_is_not_discovered_if_inverse_ambiguous() { var entityBuilder = CreateInternalEntityBuilder( @@ -681,7 +681,7 @@ public void Navigation_to_derived_is_not_discovered_if_inverse_ambiguous() Assert.Equal(3, entityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Existing_relationship_to_base_removes_ambiguity_in_derived_inverse() { var entityBuilder = CreateInternalEntityBuilder( @@ -704,7 +704,7 @@ public void Existing_relationship_to_base_removes_ambiguity_in_derived_inverse() Assert.Equal(3, entityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Navigation_to_derived_is_discovered() { var entityBuilder = CreateInternalEntityBuilder( @@ -725,7 +725,7 @@ public void Navigation_to_derived_is_discovered() Assert.Equal(3, entityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Navigation_to_derived_is_discovered_if_inverse_inherited() { var entityBuilder = CreateInternalEntityBuilder( @@ -746,7 +746,7 @@ public void Navigation_to_derived_is_discovered_if_inverse_inherited() Assert.Equal(3, entityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Navigation_to_base_is_not_discovered_if_base_ignored() { var entityBuilder = CreateInternalEntityBuilder( @@ -764,7 +764,7 @@ public void Navigation_to_base_is_not_discovered_if_base_ignored() Assert.Equal(2, entityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Navigation_to_derived_is_discovered_if_base_ignored() { var entityBuilder = CreateInternalEntityBuilder( @@ -782,7 +782,7 @@ public void Navigation_to_derived_is_discovered_if_base_ignored() Assert.Equal(2, entityBuilder.Metadata.Model.GetEntityTypes().Count()); } - [ConditionalFact] + [Fact] public void Does_not_throw_on_shadow_entity_types() { var entityBuilder = new InternalModelBuilder(new Model()) @@ -791,7 +791,7 @@ public void Does_not_throw_on_shadow_entity_types() Assert.Same(entityBuilder, RunConvention(entityBuilder)); } - [ConditionalFact] + [Fact] public void Bidirectional_ambiguous_cardinality_is_discovered() { var entityBuilder = CreateInternalEntityBuilder(); @@ -808,7 +808,7 @@ public void Bidirectional_ambiguous_cardinality_is_discovered() Assert.True(fk.IsUnique); } - [ConditionalFact] + [Fact] public void Unidirectional_ambiguous_cardinality_is_discovered() { var entityBuilder = CreateInternalEntityBuilder( @@ -826,7 +826,7 @@ public void Unidirectional_ambiguous_cardinality_is_discovered() Assert.False(fk.IsUnique); } - [ConditionalFact] + [Fact] public void One_to_one_bidirectional_self_ref_is_discovered() { var entityBuilder = CreateInternalEntityBuilder(SelfRef.IgnoreNavigation3, SelfRef.IgnoreNavigation4); @@ -836,7 +836,7 @@ public void One_to_one_bidirectional_self_ref_is_discovered() VerifySelfRef(entityBuilder.Metadata.FindNavigation(nameof(SelfRef.SelfRef1)), nameof(SelfRef.SelfRef2), unique: true); } - [ConditionalFact] + [Fact] public void One_to_many_unidirectional_self_ref_is_discovered() { var entityBuilder = CreateInternalEntityBuilder( @@ -847,7 +847,7 @@ public void One_to_many_unidirectional_self_ref_is_discovered() VerifySelfRef(entityBuilder.Metadata.FindNavigation(nameof(SelfRef.SelfRef1)), expectedInverseName: null, unique: false); } - [ConditionalFact] + [Fact] public void One_to_many_unidirectional_self_ref_is_upgraded_to_one_to_one_bidirectional() { var entityBuilder = CreateInternalEntityBuilder(SelfRef.IgnoreNavigation3, SelfRef.IgnoreNavigation4); @@ -859,7 +859,7 @@ public void One_to_many_unidirectional_self_ref_is_upgraded_to_one_to_one_bidire VerifySelfRef(entityBuilder.Metadata.FindNavigation(nameof(SelfRef.SelfRef1)), nameof(SelfRef.SelfRef2), unique: true); } - [ConditionalFact] + [Fact] public void One_to_many_unidirectional_self_ref_is_not_upgraded_to_one_to_one_bidirectional_if_higher_source() { var entityBuilder = CreateInternalEntityBuilder(SelfRef.IgnoreNavigation3, SelfRef.IgnoreNavigation4); @@ -877,7 +877,7 @@ public void One_to_many_unidirectional_self_ref_is_not_upgraded_to_one_to_one_bi singleRelationship: false); } - [ConditionalFact] + [Fact] public void Ambiguous_self_ref_is_not_discovered() { var entityBuilder = CreateInternalEntityBuilder(SelfRef.IgnoreNavigation4); @@ -889,7 +889,7 @@ public void Ambiguous_self_ref_is_not_discovered() Assert.Empty(entityBuilder.Metadata.GetProperties()); } - [ConditionalFact] + [Fact] public void Existing_unidirectional_self_ref_is_removed_if_ambiguous() { var entityBuilder = CreateInternalEntityBuilder(SelfRef.IgnoreNavigation4); @@ -903,7 +903,7 @@ public void Existing_unidirectional_self_ref_is_removed_if_ambiguous() Assert.Empty(entityBuilder.Metadata.GetProperties()); } - [ConditionalFact] + [Fact] public void Existing_unidirectional_self_ref_removes_ambiguity_if_higher_source() { var entityBuilder = CreateInternalEntityBuilder(SelfRef.IgnoreNavigation4); @@ -920,7 +920,7 @@ public void Existing_unidirectional_self_ref_removes_ambiguity_if_higher_source( unique: false, singleRelationship: false); } - [ConditionalFact] + [Fact] public void Existing_bidirectional_self_ref_is_removed_if_ambiguous() { var entityBuilder = CreateInternalEntityBuilder(); @@ -941,7 +941,7 @@ public void Existing_bidirectional_self_ref_is_removed_if_ambiguous() nameof(SelfRef), nameof(SelfRef), "{'SelfRef1'}", "{'SelfRef2', 'SelfRef3', 'SelfRef4'}"), logEntry.Message); } - [ConditionalFact] + [Fact] public void Existing_bidirectional_self_ref_removes_ambiguity_if_higher_source() { var entityBuilder = CreateInternalEntityBuilder(); @@ -959,7 +959,7 @@ public void Existing_bidirectional_self_ref_removes_ambiguity_if_higher_source() unique: false, singleRelationship: false); } - [ConditionalFact] + [Fact] public void Navigation_to_abstract_is_discovered() { var entityBuilder = CreateInternalEntityBuilder(); @@ -978,7 +978,7 @@ public void Navigation_to_abstract_is_discovered() Assert.Single(entityType.GetNavigations()); } - [ConditionalFact] + [Fact] public void Collection_navigation_without_setter_is_discovered() { var entityBuilder = CreateInternalEntityBuilder(); @@ -992,7 +992,7 @@ public void Collection_navigation_without_setter_is_discovered() Assert.Equal(ReadOnlyCollectionNavigationEntity.NavigationProperty.Name, entityType.GetNavigations().First().Name); } - [ConditionalFact] + [Fact] public void Does_not_discover_nonNavigation_properties() { var entityBuilder = CreateInternalEntityBuilder(); diff --git a/test/EFCore.Tests/Metadata/Conventions/ServicePropertyDiscoveryConventionTest.cs b/test/EFCore.Tests/Metadata/Conventions/ServicePropertyDiscoveryConventionTest.cs index 5e1d009f1c1..00b1ca61213 100644 --- a/test/EFCore.Tests/Metadata/Conventions/ServicePropertyDiscoveryConventionTest.cs +++ b/test/EFCore.Tests/Metadata/Conventions/ServicePropertyDiscoveryConventionTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. #nullable enable @@ -17,7 +17,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; public class ServicePropertyDiscoveryConventionTest { - [ConditionalFact] + [Fact] public void Finds_service_properties_in_hierarchy() { using (var context = new ServicePropertiesContext()) @@ -104,7 +104,7 @@ private static void ValidateServiceProperty(IEntityType ent Assert.Equal(typeof(TService), binding.ServiceType); } - [ConditionalFact] + [Fact] public void Finds_one_service_property() { var entityType = RunConvention(); @@ -116,7 +116,7 @@ public void Finds_one_service_property() Assert.Equal(typeof(ILazyLoader), binding.ServiceType); } - [ConditionalFact] + [Fact] public void Does_not_find_service_property_configured_as_property() { var entityType = new Model().AddEntityType(typeof(BlogOneService), owned: false, ConfigurationSource.Explicit); @@ -129,7 +129,7 @@ public void Does_not_find_service_property_configured_as_property() Assert.Null(entityType.FindServiceProperty(nameof(BlogOneService.Loader))); } - [ConditionalFact] + [Fact] public void Does_not_find_service_property_configured_as_navigation() { var model = new Model(); @@ -144,7 +144,7 @@ public void Does_not_find_service_property_configured_as_navigation() Assert.Null(entityType.FindServiceProperty(nameof(BlogOneService.Loader))); } - [ConditionalFact] + [Fact] public void Finds_service_property_duplicate_ignored() { var entityType = RunConvention(); diff --git a/test/EFCore.Tests/Metadata/Conventions/ValueGeneratorConventionTest.cs b/test/EFCore.Tests/Metadata/Conventions/ValueGeneratorConventionTest.cs index 441f5a4bb47..c7e1a02f791 100644 --- a/test/EFCore.Tests/Metadata/Conventions/ValueGeneratorConventionTest.cs +++ b/test/EFCore.Tests/Metadata/Conventions/ValueGeneratorConventionTest.cs @@ -31,7 +31,7 @@ private enum Eenom #region RequiresValueGenerator - [ConditionalFact] + [Fact] public void RequiresValueGenerator_flag_is_set_for_key_properties_that_use_value_generation() { var modelBuilder = CreateInternalModelBuilder(); @@ -55,7 +55,7 @@ public void RequiresValueGenerator_flag_is_set_for_key_properties_that_use_value Assert.Equal(ValueGenerated.Never, keyProperties[1].ValueGenerated); } - [ConditionalFact] + [Fact] public void RequiresValueGenerator_flag_is_not_set_for_foreign_key() { var modelBuilder = CreateInternalModelBuilder(); @@ -82,7 +82,7 @@ public void RequiresValueGenerator_flag_is_not_set_for_foreign_key() Assert.Equal(ValueGenerated.Never, keyProperties[0].ValueGenerated); } - [ConditionalFact] + [Fact] public void RequiresValueGenerator_flag_is_set_for_property_which_are_not_part_of_any_foreign_key() { var modelBuilder = CreateInternalModelBuilder(); @@ -111,7 +111,7 @@ public void RequiresValueGenerator_flag_is_set_for_property_which_are_not_part_o Assert.False(keyProperties[1].RequiresValueGenerator()); } - [ConditionalFact] + [Fact] public void RequiresValueGenerator_flag_is_not_set_for_properties_which_are_part_of_a_foreign_key() { var modelBuilder = CreateInternalModelBuilder(); @@ -139,7 +139,7 @@ public void RequiresValueGenerator_flag_is_not_set_for_properties_which_are_part Assert.Equal(ValueGenerated.Never, keyProperties[0].ValueGenerated); } - [ConditionalFact] + [Fact] public void KeyConvention_does_not_override_ValueGenerated_when_configured_explicitly() { var modelBuilder = CreateInternalModelBuilder(); @@ -159,7 +159,7 @@ public void KeyConvention_does_not_override_ValueGenerated_when_configured_expli Assert.Equal(ValueGenerated.OnAdd, keyProperties[0].ValueGenerated); } - [ConditionalFact] + [Fact] public void RequiresValueGenerator_flag_is_turned_off_when_foreign_key_is_added() { var modelBuilder = CreateInternalModelBuilder(); @@ -190,7 +190,7 @@ public void RequiresValueGenerator_flag_is_turned_off_when_foreign_key_is_added( Assert.Equal(ValueGenerated.Never, keyProperties[0].ValueGenerated); } - [ConditionalFact] + [Fact] public void RequiresValueGenerator_flag_is_set_when_foreign_key_is_removed() { var modelBuilder = CreateInternalModelBuilder(); @@ -232,7 +232,7 @@ public void RequiresValueGenerator_flag_is_set_when_foreign_key_is_removed() #region Identity - [ConditionalFact] + [Fact] public void Identity_is_set_for_primary_key() { var modelBuilder = CreateInternalModelBuilder(); @@ -248,7 +248,7 @@ public void Identity_is_set_for_primary_key() Assert.Equal(ValueGenerated.OnAdd, property.ValueGenerated); } - [ConditionalFact] + [Fact] public void Identity_is_not_set_for_non_primary_key() { var modelBuilder = CreateInternalModelBuilder(); @@ -264,7 +264,7 @@ public void Identity_is_not_set_for_non_primary_key() Assert.Equal(ValueGenerated.Never, property.ValueGenerated); } - [ConditionalFact] + [Fact] public void Identity_not_set_when_composite_primary_key() { var modelBuilder = CreateInternalModelBuilder(); @@ -281,7 +281,7 @@ public void Identity_not_set_when_composite_primary_key() Assert.Equal(ValueGenerated.Never, keyProperties[1].ValueGenerated); } - [ConditionalFact] + [Fact] public void Identity_not_set_when_primary_key_property_is_string() { var modelBuilder = CreateInternalModelBuilder(); @@ -296,7 +296,7 @@ public void Identity_not_set_when_primary_key_property_is_string() Assert.False(property.RequiresValueGenerator()); } - [ConditionalFact] + [Fact] public void Identity_not_set_when_primary_key_property_is_byte_array() { var modelBuilder = CreateInternalModelBuilder(); @@ -311,7 +311,7 @@ public void Identity_not_set_when_primary_key_property_is_byte_array() Assert.False(property.RequiresValueGenerator()); } - [ConditionalFact] + [Fact] public void Identity_not_set_when_primary_key_property_is_enum() { var modelBuilder = CreateInternalModelBuilder(); @@ -326,7 +326,7 @@ public void Identity_not_set_when_primary_key_property_is_enum() Assert.False(property.RequiresValueGenerator()); } - [ConditionalFact] + [Fact] public void Identity_is_recomputed_when_primary_key_is_changed() { var modelBuilder = CreateInternalModelBuilder(); @@ -357,7 +357,7 @@ public void Identity_is_recomputed_when_primary_key_is_changed() Assert.Equal(ValueGenerated.OnAdd, ((IReadOnlyProperty)numberProperty).ValueGenerated); } - [ConditionalFact] + [Fact] public void Convention_does_not_override_None_when_configured_explicitly() { var modelBuilder = CreateInternalModelBuilder(); @@ -376,7 +376,7 @@ public void Convention_does_not_override_None_when_configured_explicitly() Assert.Equal(ValueGenerated.Never, property.ValueGenerated); } - [ConditionalFact] + [Fact] public void Identity_is_removed_when_foreign_key_is_added() { var modelBuilder = CreateInternalModelBuilder(); @@ -403,7 +403,7 @@ public void Identity_is_removed_when_foreign_key_is_added() Assert.Equal(ValueGenerated.Never, ((IReadOnlyProperty)property).ValueGenerated); } - [ConditionalFact] + [Fact] public void Identity_is_added_when_foreign_key_is_removed_and_key_is_primary_key() { var modelBuilder = CreateInternalModelBuilder(); diff --git a/test/EFCore.Tests/Metadata/Internal/ClrCollectionAccessorFactoryTest.cs b/test/EFCore.Tests/Metadata/Internal/ClrCollectionAccessorFactoryTest.cs index fd69a320102..e140f902312 100644 --- a/test/EFCore.Tests/Metadata/Internal/ClrCollectionAccessorFactoryTest.cs +++ b/test/EFCore.Tests/Metadata/Internal/ClrCollectionAccessorFactoryTest.cs @@ -18,107 +18,107 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; public class ClrCollectionAccessorFactoryTest { - [ConditionalFact] + [Fact] public void Delegate_accessor_is_returned_for_IEnumerable_navigation() => AccessorTest("AsIEnumerable", e => e.AsIEnumerable); - [ConditionalFact] + [Fact] public void Delegate_accessor_is_returned_for_ICollection_navigation() => AccessorTest("AsICollection", e => e.AsICollection); - [ConditionalFact] + [Fact] public void Delegate_accessor_is_returned_for_interface_navigation_derived_from_ICollection() => AccessorTest("AsIList", e => e.AsIList); - [ConditionalFact] + [Fact] public void Delegate_accessor_is_returned_for_concrete_generic_type_navigation() => AccessorTest("AsList", e => e.AsList); - [ConditionalFact] + [Fact] public void Delegate_accessor_is_returned_for_concrete_non_generic_type_navigation() => AccessorTest("AsMyCollection", e => e.AsMyCollection); - [ConditionalFact] + [Fact] public void Delegate_accessor_is_returned_when_no_setter() => AccessorTest("WithNoSetter", e => e.WithNoSetter); - [ConditionalFact] + [Fact] public void Delegate_accessor_is_returned_when_no_backing_field_found() => AccessorTest("NoBackingFound", e => e.NoBackingFound); - [ConditionalFact] + [Fact] public void Delegate_accessor_is_returned_when_no_public_constructor() => AccessorTest("AsMyPrivateCollection", e => e.AsMyPrivateCollection); - [ConditionalFact] + [Fact] public void Delegate_accessor_is_returned_when_no_internal_constructor() => AccessorTest("AsMyInternalCollection", e => e.AsMyInternalCollection); - [ConditionalFact] + [Fact] public void Delegate_accessor_is_returned_when_no_parameterless_constructor() => AccessorTest("AsMyUnavailableCollection", e => e.AsMyUnavailableCollection); - [ConditionalFact] + [Fact] public void Delegate_accessor_is_returned_when_auto_prop() => AccessorTest("AutoProp", e => e.AutoProp); - [ConditionalFact] + [Fact] public void Delegate_accessor_is_returned_when_read_only_prop() => AccessorTest("ReadOnlyProp", e => e.ReadOnlyProp); - [ConditionalFact] + [Fact] public void Delegate_accessor_is_returned_when_read_only_auto_prop() => AccessorTest("ReadOnlyAutoProp", e => e.ReadOnlyAutoProp); - [ConditionalFact] + [Fact] public void Delegate_accessor_is_returned_when_read_only_field_prop() => AccessorTest("ReadOnlyFieldProp", e => e.ReadOnlyFieldProp); - [ConditionalFact] + [Fact] public void Delegate_accessor_is_returned_when_write_only_prop() => AccessorTest("WriteOnlyProp", e => e.ReadWriteOnlyProp); - [ConditionalFact] + [Fact] public void Delegate_accessor_is_returned_when_prop_no_field_found() => AccessorTest("FullPropNoField", e => e.FullPropNoField); - [ConditionalFact] + [Fact] public void Delegate_accessor_is_returned_when_read_only_prop_no_field_found() => AccessorTest("ReadOnlyPropNoField", e => e.ReadOnlyPropNoField); - [ConditionalFact] + [Fact] public void Delegate_accessor_handles_uninitialized_collections_with_no_setter() => AccessorTest("WithNoSetter", e => e.WithNoSetter, initializeCollections: false); - [ConditionalFact] + [Fact] public void Delegate_accessor_handles_uninitialized_collections() => AccessorTest("AsICollection", e => e.AsICollection, initializeCollections: false); - [ConditionalFact] + [Fact] public void Delegate_accessor_handles_uninitialized_collections_for_interface_navigation_derived_from_ICollection() => AccessorTest("AsIList", e => e.AsIList, initializeCollections: false); - [ConditionalFact] + [Fact] public void Delegate_accessor_handles_uninitialized_collections_for_concrete_generic_type_navigation() => AccessorTest("AsList", e => e.AsList, initializeCollections: false); - [ConditionalFact] + [Fact] public void Delegate_accessor_handles_uninitialized_collections_for_concrete_non_generic_type_navigation() => AccessorTest("AsMyCollection", e => e.AsMyCollection, initializeCollections: false); - [ConditionalFact] + [Fact] public void Delegate_accessor_handles_uninitialized_collections_auto_prop() => AccessorTest("AutoProp", e => e.AutoProp, initializeCollections: false); - [ConditionalFact] + [Fact] public void Delegate_accessor_handles_uninitialized_collections_read_only_prop() => AccessorTest("ReadOnlyProp", e => e.ReadOnlyProp, initializeCollections: false); - [ConditionalFact] + [Fact] public void Delegate_accessor_handles_uninitialized_collections_write_only_prop() => AccessorTest("WriteOnlyProp", e => e.ReadWriteOnlyProp, initializeCollections: false); - [ConditionalFact] + [Fact] public void Delegate_accessor_handles_uninitialized_collections_prop_no_field_found() => AccessorTest("FullPropNoField", e => e.FullPropNoField, initializeCollections: false); @@ -147,7 +147,7 @@ private void AccessorTest( Assert.Empty(reader(entity)); } - [ConditionalFact] + [Fact] public void Delegate_accessor_always_creates_collections_that_use_reference_equality_comparer() { IMutableModel model = new Model(); @@ -181,7 +181,7 @@ public void Delegate_accessor_always_creates_collections_that_use_reference_equa Assert.Equal(1, entity.AsICollectionWithCustomComparer.Count); } - [ConditionalFact] + [Fact] public void Creating_accessor_for_navigation_without_getter_and_no_backing_field_throws() { var navigation = CreateNavigation("WriteOnlyPropNoField"); @@ -191,19 +191,19 @@ public void Creating_accessor_for_navigation_without_getter_and_no_backing_field Assert.Throws(() => ClrCollectionAccessorFactory.Instance.Create(navigation)).Message); } - [ConditionalFact] + [Fact] public void Add_for_enumerable_backed_by_non_collection_throws() => Enumerable_backed_by_non_collection_throws((a, e, v) => a.Add(e, v, forMaterialization: false)); - [ConditionalFact] + [Fact] public void Contains_for_enumerable_backed_by_non_collection_throws() => Enumerable_backed_by_non_collection_throws((a, e, v) => a.Contains(e, v)); - [ConditionalFact] + [Fact] public void Remove_for_enumerable_backed_by_non_collection_throws() => Enumerable_backed_by_non_collection_throws((a, e, v) => a.Remove(e, v)); - [ConditionalFact] + [Fact] public void GetOrCreate_for_enumerable_backed_by_non_collection_throws() => Enumerable_backed_by_non_collection_throws((a, e, v) => a.GetOrCreate(e, forMaterialization: false)); @@ -220,7 +220,7 @@ private void Enumerable_backed_by_non_collection_throws(Action(() => test(accessor, entity, value)).Message); } - [ConditionalFact] + [Fact] public void Creating_accessor_for_array_navigation_throws() { var navigation = CreateNavigation("AsArray"); @@ -230,7 +230,7 @@ public void Creating_accessor_for_array_navigation_throws() Assert.Throws(() => ClrCollectionAccessorFactory.Instance.Create(navigation)).Message); } - [ConditionalFact] + [Fact] public void Initialization_for_navigation_without_backing_field_throws() { var accessor = ClrCollectionAccessorFactory.Instance.Create(CreateNavigation("NoBackingFound")); @@ -241,7 +241,7 @@ public void Initialization_for_navigation_without_backing_field_throws() new MyEntity(false), new MyOtherEntity(), forMaterialization: false)).Message); } - [ConditionalFact] + [Fact] public void Initialization_for_read_only_navigation_without_backing_field_throws() { var accessor = ClrCollectionAccessorFactory.Instance.Create(CreateNavigation("ReadOnlyPropNoField")); @@ -252,15 +252,15 @@ public void Initialization_for_read_only_navigation_without_backing_field_throws new MyEntity(false), new MyOtherEntity(), forMaterialization: false)).Message); } - [ConditionalFact] + [Fact] public void Initialization_for_read_only_auto_prop_navigation() => AccessorTest("ReadOnlyAutoProp", e => e.ReadOnlyAutoProp, initializeCollections: false); - [ConditionalFact] + [Fact] public void Initialization_for_read_only_navigation_backed_by_readonly_field() => AccessorTest("ReadOnlyFieldProp", e => e.ReadOnlyFieldProp, initializeCollections: false); - [ConditionalFact] + [Fact] public void Initialization_for_navigation_with_private_constructor_throws() { var accessor = ClrCollectionAccessorFactory.Instance.Create(CreateNavigation("AsMyPrivateCollection")); @@ -271,7 +271,7 @@ public void Initialization_for_navigation_with_private_constructor_throws() new MyEntity(false), new MyOtherEntity(), forMaterialization: false)).Message); } - [ConditionalFact] + [Fact] public void Initialization_for_navigation_with_internal_constructor_throws() { var accessor = ClrCollectionAccessorFactory.Instance.Create(CreateNavigation("AsMyInternalCollection")); @@ -282,7 +282,7 @@ public void Initialization_for_navigation_with_internal_constructor_throws() new MyEntity(false), new MyOtherEntity(), forMaterialization: false)).Message); } - [ConditionalFact] + [Fact] public void Initialization_for_navigation_without_parameterless_constructor_throws() { var accessor = ClrCollectionAccessorFactory.Instance.Create(CreateNavigation("AsMyUnavailableCollection")); diff --git a/test/EFCore.Tests/Metadata/Internal/ClrPropertyGetterFactoryTest.cs b/test/EFCore.Tests/Metadata/Internal/ClrPropertyGetterFactoryTest.cs index 4b7db850dcf..a7e0f2ed3cc 100644 --- a/test/EFCore.Tests/Metadata/Internal/ClrPropertyGetterFactoryTest.cs +++ b/test/EFCore.Tests/Metadata/Internal/ClrPropertyGetterFactoryTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; public class ClrPropertyGetterFactoryTest { - [ConditionalFact] + [Fact] public void Property_is_returned_if_it_implements_IClrPropertyGetter() { var property = new FakeProperty(); @@ -143,7 +143,7 @@ public bool IsCollection => throw new NotImplementedException(); } - [ConditionalFact] + [Fact] public void Delegate_getter_is_returned_for_IProperty_property() { var modelBuilder = CreateModelBuilder(); @@ -157,13 +157,13 @@ public void Delegate_getter_is_returned_for_IProperty_property() new Customer { Id = 7 })); } - [ConditionalFact] + [Fact] public void Delegate_getter_is_returned_for_property_info() => Assert.Equal( 7, ClrPropertyGetterFactory.Instance.Create(typeof(Customer).GetAnyProperty("Id")).GetClrValueUsingContainingEntity( new Customer { Id = 7 })); - [ConditionalFact] + [Fact] public void Delegate_getter_is_returned_for_IProperty_struct_property() { var modelBuilder = CreateModelBuilder(); @@ -177,14 +177,14 @@ public void Delegate_getter_is_returned_for_IProperty_struct_property() new Customer { Id = 7, Fuel = new Fuel(1.0) })); } - [ConditionalFact] + [Fact] public void Delegate_getter_is_returned_for_struct_property_info() => Assert.Equal( new Fuel(1.0), ClrPropertyGetterFactory.Instance.Create(typeof(Customer).GetAnyProperty("Fuel")).GetClrValueUsingContainingEntity( new Customer { Id = 7, Fuel = new Fuel(1.0) })); - [ConditionalFact] + [Fact] public void Delegate_getter_is_returned_for_index_property() { var modelBuilder = CreateModelBuilder(); @@ -203,7 +203,7 @@ public void Delegate_getter_is_returned_for_index_property() .GetClrValueUsingContainingEntity(new IndexedClass { Id = 7 })); } - [ConditionalFact] + [Fact] public void Delegate_getter_is_returned_for_IProperty_complex_property() { var modelBuilder = CreateModelBuilder(); diff --git a/test/EFCore.Tests/Metadata/Internal/ClrPropertySetterFactoryTest.cs b/test/EFCore.Tests/Metadata/Internal/ClrPropertySetterFactoryTest.cs index 3dcd1f67d8b..de7bfda23d1 100644 --- a/test/EFCore.Tests/Metadata/Internal/ClrPropertySetterFactoryTest.cs +++ b/test/EFCore.Tests/Metadata/Internal/ClrPropertySetterFactoryTest.cs @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; public class ClrPropertySetterFactoryTest { - [ConditionalFact] + [Fact] public void Property_is_returned_if_it_implements_IClrPropertySetter() { var property = new FakeProperty(); @@ -136,7 +136,7 @@ public PropertyAccessMode GetPropertyAccessMode() => throw new NotImplementedException(); } - [ConditionalFact] + [Fact] public void Delegate_setter_is_returned_for_IProperty_property() { var entityType = CreateModel().AddEntityType(typeof(Customer)); @@ -149,7 +149,7 @@ public void Delegate_setter_is_returned_for_IProperty_property() Assert.Equal(77, customer.Id); } - [ConditionalFact] + [Fact] public void Delegate_setter_is_returned_for_property_type_and_name() { var customer = new Customer { Id = 7 }; @@ -159,7 +159,7 @@ public void Delegate_setter_is_returned_for_property_type_and_name() Assert.Equal(77, customer.Id); } - [ConditionalFact] + [Fact] public void Delegate_setter_can_set_value_type_property() { var entityType = CreateModel().AddEntityType(typeof(Customer)); @@ -172,7 +172,7 @@ public void Delegate_setter_can_set_value_type_property() Assert.Equal(1, customer.Id); } - [ConditionalFact] + [Fact] public void Delegate_setter_can_set_reference_type_property() { var entityType = CreateModel().AddEntityType(typeof(Customer)); @@ -185,7 +185,7 @@ public void Delegate_setter_can_set_reference_type_property() Assert.Equal("MyString", customer.Content); } - [ConditionalFact] + [Fact] public void Delegate_setter_can_set_nullable_property() { var entityType = CreateModel().AddEntityType(typeof(Customer)); @@ -198,7 +198,7 @@ public void Delegate_setter_can_set_nullable_property() Assert.Equal(3, customer.OptionalInt); } - [ConditionalFact] + [Fact] public void Delegate_setter_can_set_nullable_property_with_null_value() { var entityType = CreateModel().AddEntityType(typeof(Customer)); @@ -211,7 +211,7 @@ public void Delegate_setter_can_set_nullable_property_with_null_value() Assert.Null(customer.OptionalInt); } - [ConditionalFact] + [Fact] public void Delegate_setter_can_set_enum_property() { var entityType = CreateModel().AddEntityType(typeof(Customer)); @@ -224,7 +224,7 @@ public void Delegate_setter_can_set_enum_property() Assert.Equal(Flag.One, customer.Flag); } - [ConditionalFact] + [Fact] public void Delegate_setter_can_set_nullable_enum_property() { var entityType = CreateModel().AddEntityType(typeof(Customer)); @@ -237,7 +237,7 @@ public void Delegate_setter_can_set_nullable_enum_property() Assert.Equal(Flag.Two, customer.OptionalFlag); } - [ConditionalFact] + [Fact] public void Delegate_setter_can_set_on_virtual_privatesetter_property_override_singlebasetype() { var entityType = CreateModel().AddEntityType(typeof(ConcreteEntity1)); @@ -249,7 +249,7 @@ public void Delegate_setter_can_set_on_virtual_privatesetter_property_override_s Assert.Equal(100, entity.VirtualPrivateProperty_Override); } - [ConditionalFact] + [Fact] public void Delegate_setter_can_set_on_virtual_privatesetter_property_override_multiplebasetypes() { var entityType = CreateModel().AddEntityType(typeof(ConcreteEntity2)); @@ -261,7 +261,7 @@ public void Delegate_setter_can_set_on_virtual_privatesetter_property_override_m Assert.Equal(100, entity.VirtualPrivateProperty_Override); } - [ConditionalFact] + [Fact] public void Delegate_setter_can_set_on_virtual_privatesetter_property_no_override_singlebasetype() { var entityType = CreateModel().AddEntityType(typeof(ConcreteEntity1)); @@ -273,7 +273,7 @@ public void Delegate_setter_can_set_on_virtual_privatesetter_property_no_overrid Assert.Equal(100, entity.VirtualPrivateProperty_NoOverride); } - [ConditionalFact] + [Fact] public void Delegate_setter_can_set_on_virtual_privatesetter_property_no_override_multiplebasetypes() { var entityType = CreateModel().AddEntityType(typeof(ConcreteEntity2)); @@ -285,7 +285,7 @@ public void Delegate_setter_can_set_on_virtual_privatesetter_property_no_overrid Assert.Equal(100, entity.VirtualPrivateProperty_NoOverride); } - [ConditionalFact] + [Fact] public void Delegate_setter_can_set_on_privatesetter_property_singlebasetype() { var entityType = CreateModel().AddEntityType(typeof(ConcreteEntity1)); @@ -296,7 +296,7 @@ public void Delegate_setter_can_set_on_privatesetter_property_singlebasetype() Assert.Equal(100, entity.PrivateProperty); } - [ConditionalFact] + [Fact] public void Delegate_setter_can_set_on_privatesetter_property_multiplebasetypes() { var entityType = CreateModel().AddEntityType(typeof(ConcreteEntity2)); @@ -307,7 +307,7 @@ public void Delegate_setter_can_set_on_privatesetter_property_multiplebasetypes( Assert.Equal(100, entity.PrivateProperty); } - [ConditionalFact] + [Fact] public void Delegate_setter_throws_if_no_setter_found() { var entityType = CreateModel().AddEntityType(typeof(ConcreteEntity1)); @@ -321,7 +321,7 @@ public void Delegate_setter_throws_if_no_setter_found() Assert.Throws(() => ClrPropertySetterFactory.Instance.Create((IProperty)property)); } - [ConditionalFact] + [Fact] public void Delegate_setter_can_set_index_properties() { var entityType = CreateModel().AddEntityType(typeof(IndexedClass)); diff --git a/test/EFCore.Tests/Metadata/Internal/CollectionTypeFactoryTest.cs b/test/EFCore.Tests/Metadata/Internal/CollectionTypeFactoryTest.cs index 6a87188c3b8..47ea059c558 100644 --- a/test/EFCore.Tests/Metadata/Internal/CollectionTypeFactoryTest.cs +++ b/test/EFCore.Tests/Metadata/Internal/CollectionTypeFactoryTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; public class CollectionTypeFactoryTest { - [ConditionalFact] + [Fact] public void Returns_given_type_if_public_parameterless_constructor_available() { var factory = CollectionTypeFactory.Instance; @@ -25,19 +25,19 @@ public void Returns_given_type_if_public_parameterless_constructor_available() factory.TryFindTypeToInstantiate(typeof(object), typeof(ObservableHashSet), false)); } - [ConditionalFact] + [Fact] public void Returns_ObservableHashSet_if_notifying_and_assignable() => Assert.Same( typeof(ObservableHashSet), CollectionTypeFactory.Instance.TryFindTypeToInstantiate(typeof(DummyNotifying), typeof(ICollection), false)); - [ConditionalFact] + [Fact] public void Returns_ObservableHashSet_if_full_notification_required() => Assert.Same( typeof(ObservableHashSet), CollectionTypeFactory.Instance.TryFindTypeToInstantiate(typeof(object), typeof(ICollection), true)); - [ConditionalFact] + [Fact] public void Returns_HashSet_if_assignable() { var factory = CollectionTypeFactory.Instance; @@ -47,13 +47,13 @@ public void Returns_HashSet_if_assignable() Assert.Same(typeof(HashSet), factory.TryFindTypeToInstantiate(typeof(object), typeof(IEnumerable), false)); } - [ConditionalFact] + [Fact] public void Returns_List_if_assignable() => Assert.Same( typeof(List), CollectionTypeFactory.Instance.TryFindTypeToInstantiate(typeof(object), typeof(IList), false)); - [ConditionalFact] + [Fact] public void Returns_null_when_no_usable_concrete_type_found() { var factory = CollectionTypeFactory.Instance; diff --git a/test/EFCore.Tests/Metadata/Internal/ConfigurationSourceExtensionsTest.cs b/test/EFCore.Tests/Metadata/Internal/ConfigurationSourceExtensionsTest.cs index d6b404eb6b8..88383270b90 100644 --- a/test/EFCore.Tests/Metadata/Internal/ConfigurationSourceExtensionsTest.cs +++ b/test/EFCore.Tests/Metadata/Internal/ConfigurationSourceExtensionsTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; public class ConfigurationSourceExtensionsTest { - [ConditionalFact] + [Fact] public void Overrides_returns_expected_value() { Assert.True(ConfigurationSource.Explicit.Overrides(ConfigurationSource.Explicit)); @@ -19,7 +19,7 @@ public void Overrides_returns_expected_value() Assert.True(ConfigurationSource.Convention.Overrides(ConfigurationSource.Convention)); } - [ConditionalFact] + [Fact] public void Max_returns_expected_value() { Assert.Equal(ConfigurationSource.Explicit, ConfigurationSource.Explicit.Max(ConfigurationSource.Convention)); diff --git a/test/EFCore.Tests/Metadata/Internal/EntityTypeTest.BaseType.cs b/test/EFCore.Tests/Metadata/Internal/EntityTypeTest.BaseType.cs index 13d94f1e9ab..5a45778cff8 100644 --- a/test/EFCore.Tests/Metadata/Internal/EntityTypeTest.BaseType.cs +++ b/test/EFCore.Tests/Metadata/Internal/EntityTypeTest.BaseType.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // ReSharper disable InconsistentNaming @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; public partial class EntityTypeTest { - [ConditionalFact] + [Fact] public void Can_configure_base_type() { var model = (IConventionModel)CreateModel(); @@ -21,7 +21,7 @@ public void Can_configure_base_type() Assert.Same(finalModel.FindEntityType(typeof(A).Name), finalModel.FindEntityType(typeof(B).Name).BaseType); } - [ConditionalFact] + [Fact] public void Circular_inheritance_should_throw() { var model = CreateModel(); @@ -54,7 +54,7 @@ public void Circular_inheritance_should_throw() Assert.Throws(() => a.BaseType = d).Message); } - [ConditionalFact] + [Fact] public void Setting_CLR_base_for_shadow_entity_type_should_throw() { var model = CreateModel(); @@ -68,7 +68,7 @@ public void Setting_CLR_base_for_shadow_entity_type_should_throw() Assert.Throws(() => b.BaseType = a).Message); } - [ConditionalFact] + [Fact] public void Setting_shadow_base_for_CLR_entity_type_should_throw() { var model = CreateModel(); @@ -82,7 +82,7 @@ public void Setting_shadow_base_for_CLR_entity_type_should_throw() Assert.Throws(() => b.BaseType = a).Message); } - [ConditionalFact] + [Fact] public void Setting_not_assignable_base_should_throw() { var model = CreateModel(); @@ -95,7 +95,7 @@ public void Setting_not_assignable_base_should_throw() Assert.Throws(() => a.BaseType = b).Message); } - [ConditionalFact] + [Fact] public void Setting_base_type_for_owned_throws() { var model = CreateModel(); @@ -109,7 +109,7 @@ public void Setting_base_type_for_owned_throws() .Message); } - [ConditionalFact] + [Fact] public void Can_get_root_type() { var model = CreateEmptyModel(); @@ -124,7 +124,7 @@ public void Can_get_root_type() Assert.Same(a, c.GetRootType()); } - [ConditionalFact] + [Fact] public void Can_get_derived_types() { var model = CreateEmptyModel(); @@ -141,7 +141,7 @@ public void Can_get_derived_types() Assert.Equal([b, d], a.GetDirectlyDerivedTypes().ToArray()); } - [ConditionalFact] + [Fact] public void Can_determine_whether_IsAssignableFrom() { var model = CreateEmptyModel(); @@ -161,7 +161,7 @@ public void Can_determine_whether_IsAssignableFrom() Assert.False(b.IsAssignableFrom(d)); } - [ConditionalFact] + [Fact] public void Setting_discriminator_on_non_root_type_throws() { var modelBuilder = new ModelBuilder(); @@ -181,7 +181,7 @@ public void Setting_discriminator_on_non_root_type_throws() Assert.Throws(() => derivedType.SetDiscriminatorProperty(property)).Message); } - [ConditionalFact] + [Fact] public void Setting_discriminator_from_different_entity_type_throws() { var modelBuilder = new ModelBuilder(); @@ -201,7 +201,7 @@ public void Setting_discriminator_from_different_entity_type_throws() Assert.Throws(() => otherType.SetDiscriminatorProperty(property)).Message); } - [ConditionalFact] + [Fact] public void Can_get_and_set_discriminator_value() { var modelBuilder = new ModelBuilder(); @@ -224,7 +224,7 @@ public void Can_get_and_set_discriminator_value() Assert.Null(entityType.GetDiscriminatorValue()); } - [ConditionalFact] + [Fact] public void Properties_on_base_type_should_be_inherited() { var model = CreateModel(); @@ -264,7 +264,7 @@ public void Properties_on_base_type_should_be_inherited() Assert.Same(b.FindProperty("E"), a.FindProperty("E")); } - [ConditionalFact] + [Fact] public void Properties_added_to_base_type_should_be_inherited() { var model = CreateModel(); @@ -300,7 +300,7 @@ public void Properties_added_to_base_type_should_be_inherited() Assert.Equal([0, 1, 2, 3], c.GetProperties().Select(p => p.GetIndex())); } - [ConditionalFact] + [Fact] public void Properties_on_base_type_are_listed_before_derived_properties() { var model = CreateModel(); @@ -317,7 +317,7 @@ public void Properties_on_base_type_are_listed_before_derived_properties() Assert.Equal([property1, property2, property3, property4], childType.GetProperties()); } - [ConditionalFact] + [Fact] public void Properties_should_be_updated_when_base_type_changes() { var model = CreateModel(); @@ -358,7 +358,7 @@ public void Properties_should_be_updated_when_base_type_changes() Assert.Equal([0, 1], d.GetProperties().Select(p => p.GetIndex())); } - [ConditionalFact] + [Fact] public void Adding_property_throws_when_parent_type_has_property_with_same_name() { var model = CreateModel(); @@ -374,7 +374,7 @@ public void Adding_property_throws_when_parent_type_has_property_with_same_name( Assert.Throws(() => b.AddProperty("G")).Message); } - [ConditionalFact] + [Fact] public void Adding_property_throws_when_grandparent_type_has_property_with_same_name() { var model = CreateModel(); @@ -393,7 +393,7 @@ public void Adding_property_throws_when_grandparent_type_has_property_with_same_ Assert.Throws(() => d.AddProperty("G")).Message); } - [ConditionalFact] + [Fact] public void Adding_property_throws_when_child_type_has_property_with_same_name() { var model = CreateModel(); @@ -410,7 +410,7 @@ public void Adding_property_throws_when_child_type_has_property_with_same_name() Assert.Throws(() => a.AddProperty(A.GProperty)).Message); } - [ConditionalFact] + [Fact] public void Adding_property_throws_when_grandchild_type_has_property_with_same_name() { var model = CreateModel(); @@ -430,7 +430,7 @@ public void Adding_property_throws_when_grandchild_type_has_property_with_same_n Assert.Throws(() => a.AddProperty(A.GProperty)).Message); } - [ConditionalFact] + [Fact] public void Setting_base_type_throws_when_parent_contains_duplicate_property() { var model = CreateModel(); @@ -446,7 +446,7 @@ public void Setting_base_type_throws_when_parent_contains_duplicate_property() Assert.Throws(() => b.BaseType = a).Message); } - [ConditionalFact] + [Fact] public void Setting_base_type_throws_when_grandparent_contains_duplicate_property() { var model = CreateModel(); @@ -467,7 +467,7 @@ public void Setting_base_type_throws_when_grandparent_contains_duplicate_propert Assert.Throws(() => d.BaseType = c).Message); } - [ConditionalFact] + [Fact] public void Setting_base_type_throws_when_grandchild_contain_duplicate_property() { var model = CreateModel(); @@ -488,7 +488,7 @@ public void Setting_base_type_throws_when_grandchild_contain_duplicate_property( Assert.Throws(() => c.BaseType = a).Message); } - [ConditionalFact] + [Fact] public void Keys_on_base_type_should_be_inherited() { var model = CreateModel(); @@ -531,7 +531,7 @@ public void Keys_on_base_type_should_be_inherited() Assert.Same(b.FindKey(b.FindProperty("G")), a.FindKey(a.FindProperty("G"))); } - [ConditionalFact] + [Fact] public void Keys_added_to_base_type_should_be_inherited() { var model = CreateModel(); @@ -560,7 +560,7 @@ public void Keys_added_to_base_type_should_be_inherited() Assert.Equal(new[] { "G", "E", "F" }, b.GetProperties().Select(p => p.Name).ToArray()); } - [ConditionalFact] + [Fact] public void Keys_should_be_updated_when_base_type_changes() { var model = CreateModel(); @@ -589,7 +589,7 @@ public void Keys_should_be_updated_when_base_type_changes() Assert.Equal(new[] { "F" }, b.GetProperties().Select(p => p.Name).ToArray()); } - [ConditionalFact] + [Fact] public void Adding_keys_throws_when_there_is_a_parent_type() { var model = CreateModel(); @@ -606,7 +606,7 @@ public void Adding_keys_throws_when_there_is_a_parent_type() Assert.Throws(() => b.AddKey(b.AddProperty("E"))).Message); } - [ConditionalFact] + [Fact] public void Setting_base_type_throws_when_child_contains_key() { var model = CreateModel(); @@ -631,7 +631,7 @@ public void Setting_base_type_throws_when_child_contains_key() Assert.Throws(() => b.BaseType = a).Message); } - [ConditionalFact] + [Fact] public void Setting_base_type_throws_on_keyless_type() { var model = CreateModel(); @@ -645,7 +645,7 @@ public void Setting_base_type_throws_on_keyless_type() Assert.Throws(() => b.BaseType = a).Message); } - [ConditionalFact] + [Fact] public void HasNoKey_on_derived_type_throws() { var model = CreateModel(); @@ -659,7 +659,7 @@ public void HasNoKey_on_derived_type_throws() Assert.Throws(() => b.IsKeyless = true).Message); } - [ConditionalFact] + [Fact] public void Navigations_on_base_type_should_be_inherited() { var model = CreateModel(); @@ -694,7 +694,7 @@ public void Navigations_on_base_type_should_be_inherited() Assert.Same(customerType.FindNavigation("Orders"), specialCustomerType.FindNavigation("Orders")); } - [ConditionalFact] + [Fact] public void Navigations_added_to_base_type_should_be_inherited() { var model = CreateModel(); @@ -722,7 +722,7 @@ public void Navigations_added_to_base_type_should_be_inherited() Assert.Equal(new[] { "Orders", "DerivedOrders" }, specialCustomerType.GetNavigations().Select(p => p.Name).ToArray()); } - [ConditionalFact] + [Fact] public void Navigations_should_be_updated_when_base_type_changes() { var model = CreateModel(); @@ -750,7 +750,7 @@ public void Navigations_should_be_updated_when_base_type_changes() new[] { nameof(SpecialCustomer.DerivedOrders) }, specialCustomerType.GetNavigations().Select(p => p.Name).ToArray()); } - [ConditionalFact] + [Fact] public void Adding_navigation_throws_when_parent_type_has_navigation_with_same_name() { var model = CreateModel(); @@ -775,7 +775,7 @@ public void Adding_navigation_throws_when_parent_type_has_navigation_with_same_n specialCustomerForeignKey.SetPrincipalToDependent(Customer.OrdersProperty)).Message); } - [ConditionalFact] + [Fact] public void Adding_navigation_throws_when_grandparent_type_has_navigation_with_same_name() { var model = CreateModel(); @@ -804,7 +804,7 @@ public void Adding_navigation_throws_when_grandparent_type_has_navigation_with_s Assert.Equal("Orders", ((IReadOnlyEntityType)verySpecialCustomerType).GetNavigations().Single().Name); } - [ConditionalFact] + [Fact] public void Adding_navigation_throws_when_child_type_has_navigation_with_same_name() { var model = CreateModel(); @@ -829,7 +829,7 @@ public void Adding_navigation_throws_when_child_type_has_navigation_with_same_na customerForeignKey.SetPrincipalToDependent("Orders")).Message); } - [ConditionalFact] + [Fact] public void Adding_navigation_throws_when_grandchild_type_has_navigation_with_same_name() { var model = CreateModel(); @@ -860,7 +860,7 @@ public void Adding_navigation_throws_when_grandchild_type_has_navigation_with_sa Assert.Equal(nameof(Customer.Orders), ((IReadOnlyEntityType)verySpecialCustomerType).GetNavigations().Single().Name); } - [ConditionalFact] + [Fact] public void Setting_base_type_throws_when_parent_contains_duplicate_navigation() { var model = CreateModel(); @@ -891,7 +891,7 @@ public void Setting_base_type_throws_when_parent_contains_duplicate_navigation() Assert.Throws(() => specialOrderType.BaseType = orderType).Message); } - [ConditionalFact] + [Fact] public void Setting_base_type_throws_when_grandparent_contains_duplicate_navigation() { var model = CreateModel(); @@ -924,7 +924,7 @@ public void Setting_base_type_throws_when_grandparent_contains_duplicate_navigat Assert.Throws(() => specialOrderType.BaseType = orderType).Message); } - [ConditionalFact] + [Fact] public void Setting_base_type_throws_when_grandchild_contain_duplicate_navigation() { var model = CreateModel(); @@ -957,7 +957,7 @@ public void Setting_base_type_throws_when_grandchild_contain_duplicate_navigatio Assert.Throws(() => verySpecialOrderType.BaseType = specialOrderType).Message); } - [ConditionalFact] + [Fact] public void ForeignKeys_on_base_type_should_be_inherited() { var model = CreateModel(); @@ -991,7 +991,7 @@ public void ForeignKeys_on_base_type_should_be_inherited() Assert.Same(customerForeignKey, specialOrderType.FindForeignKey(foreignKeyProperty, customerKey, customerType)); } - [ConditionalFact] + [Fact] public void ForeignKeys_added_to_base_type_should_be_inherited() { var model = CreateModel(); @@ -1025,7 +1025,7 @@ public void ForeignKeys_added_to_base_type_should_be_inherited() specialOrderType.GetForeignKeys().Select(fk => fk.Properties.Select(p => p.Name).ToArray()).ToArray()); } - [ConditionalFact] + [Fact] public void ForeignKeys_should_be_updated_when_base_type_changes() { var model = CreateModel(); @@ -1053,7 +1053,7 @@ public void ForeignKeys_should_be_updated_when_base_type_changes() specialOrderType.GetForeignKeys().Select(fk => fk.Properties.Select(p => p.Name).ToArray()).ToArray()); } - [ConditionalFact] + [Fact] public void Can_add_a_foreign_key_targeting_different_entity_type() { var model = CreateModel(); @@ -1078,7 +1078,7 @@ public void Can_add_a_foreign_key_targeting_different_entity_type() Assert.Equal([fk1, fk2], orderType.GetForeignKeys().ToArray()); } - [ConditionalFact] + [Fact] public void Adding_foreignKey_throws_when_parent_type_has_foreignKey_on_same_properties() { var model = CreateModel(); @@ -1104,7 +1104,7 @@ public void Adding_foreignKey_throws_when_parent_type_has_foreignKey_on_same_pro .Message); } - [ConditionalFact] + [Fact] public void Adding_foreignKey_throws_when_grandparent_type_has_foreignKey_on_same_properties() { var model = CreateModel(); @@ -1134,7 +1134,7 @@ public void Adding_foreignKey_throws_when_grandparent_type_has_foreignKey_on_sam .Message); } - [ConditionalFact] + [Fact] public void Adding_foreignKey_throws_when_child_type_has_foreignKey_on_same_properties() { var model = CreateModel(); @@ -1159,7 +1159,7 @@ public void Adding_foreignKey_throws_when_child_type_has_foreignKey_on_same_prop Assert.Throws(() => orderType.AddForeignKey(foreignKeyProperty, customerKey, customerType)).Message); } - [ConditionalFact] + [Fact] public void Adding_foreignKey_throws_when_grandchild_type_has_foreignKey_on_same_properties() { var model = CreateModel(); @@ -1187,7 +1187,7 @@ public void Adding_foreignKey_throws_when_grandchild_type_has_foreignKey_on_same Assert.Throws(() => orderType.AddForeignKey(foreignKeyProperty, customerKey, customerType)).Message); } - [ConditionalFact] + [Fact] public void Can_add_a_key_if_any_properties_are_part_of_derived_foreign_key() { var model = CreateModel(); @@ -1202,7 +1202,7 @@ public void Can_add_a_key_if_any_properties_are_part_of_derived_foreign_key() Assert.NotNull(baseType.AddKey([fkProperty])); } - [ConditionalFact] + [Fact] public void Can_add_a_foreign_key_if_any_properties_are_part_of_inherited_key() { var model = CreateModel(); @@ -1217,7 +1217,7 @@ public void Can_add_a_foreign_key_if_any_properties_are_part_of_inherited_key() Assert.NotNull(entityType.AddForeignKey([fkProperty, idProperty], key, entityType)); } - [ConditionalFact] + [Fact] public void Can_add_a_foreign_key_if_any_properties_are_part_of_inherited_key_with_value_generation() { var model = CreateModel(); @@ -1233,7 +1233,7 @@ public void Can_add_a_foreign_key_if_any_properties_are_part_of_inherited_key_wi Assert.NotNull(entityType.AddForeignKey([fkProperty, idProperty], key, entityType)); } - [ConditionalFact] + [Fact] public void Index_on_base_type_should_be_inherited() { var model = CreateModel(); @@ -1264,7 +1264,7 @@ public void Index_on_base_type_should_be_inherited() Assert.Same(index, specialOrderType.FindIndex(indexProperty)); } - [ConditionalFact] + [Fact] public void Index_added_to_base_type_should_be_inherited() { var model = CreateModel(); @@ -1295,7 +1295,7 @@ public void Index_added_to_base_type_should_be_inherited() specialOrderType.GetIndexes().Select(fk => fk.Properties.Select(p => p.Name).ToArray()).ToArray()); } - [ConditionalFact] + [Fact] public void Indexes_should_be_updated_when_base_type_changes() { var model = CreateModel(); @@ -1320,7 +1320,7 @@ public void Indexes_should_be_updated_when_base_type_changes() specialOrderType.GetIndexes().Select(fk => fk.Properties.Select(p => p.Name).ToArray()).ToArray()); } - [ConditionalFact] + [Fact] public void Adding_an_index_throws_if_properties_were_removed() { var model = CreateModel(); @@ -1333,7 +1333,7 @@ public void Adding_an_index_throws_if_properties_were_removed() Assert.Throws(() => entityType.AddIndex([idProperty])).Message); } - [ConditionalFact] + [Fact] public void Adding_an_index_throws_if_duplicate_properties() { var model = CreateModel(); @@ -1346,7 +1346,7 @@ public void Adding_an_index_throws_if_duplicate_properties() Assert.Throws(() => entityType.AddIndex([idProperty, idProperty])).Message); } - [ConditionalFact] + [Fact] public void Adding_an_index_throws_when_parent_type_has_index_on_same_properties() { var model = CreateModel(); @@ -1363,7 +1363,7 @@ public void Adding_an_index_throws_when_parent_type_has_index_on_same_properties Assert.Throws(() => specialOrderType.AddIndex(indexProperty)).Message); } - [ConditionalFact] + [Fact] public void Adding_an_index_throws_when_grandparent_type_has_index_on_same_properties() { var model = CreateModel(); @@ -1383,7 +1383,7 @@ public void Adding_an_index_throws_when_grandparent_type_has_index_on_same_prope Assert.Throws(() => verySpecialOrderType.AddIndex(indexProperty)).Message); } - [ConditionalFact] + [Fact] public void Adding_an_index_throws_when_child_type_has_index_on_same_properties() { var model = CreateModel(); @@ -1400,7 +1400,7 @@ public void Adding_an_index_throws_when_child_type_has_index_on_same_properties( Assert.Throws(() => orderType.AddIndex(indexProperty)).Message); } - [ConditionalFact] + [Fact] public void Adding_an_index_throws_when_grandchild_type_has_index_on_same_properties() { var model = CreateModel(); diff --git a/test/EFCore.Tests/Metadata/Internal/EntityTypeTest.cs b/test/EFCore.Tests/Metadata/Internal/EntityTypeTest.cs index 7180c5b7039..7e6327fb34a 100644 --- a/test/EFCore.Tests/Metadata/Internal/EntityTypeTest.cs +++ b/test/EFCore.Tests/Metadata/Internal/EntityTypeTest.cs @@ -17,7 +17,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; public partial class EntityTypeTest { - [ConditionalFact] + [Fact] public void Throws_when_model_is_readonly() { var model = CreateModel(); @@ -85,7 +85,7 @@ public void Throws_when_model_is_readonly() Assert.Throws(() => entityTypeA.AddData([new { }])).Message); } - [ConditionalFact] + [Fact] public void Display_name_is_prettified_CLR_name() { Assert.Equal("EntityTypeTest", CreateModel().AddEntityType(typeof(EntityTypeTest)).DisplayName()); @@ -93,26 +93,26 @@ public void Display_name_is_prettified_CLR_name() Assert.Equal("List", CreateModel().AddEntityType(typeof(List)).DisplayName()); } - [ConditionalFact] + [Fact] public void Display_name_is_entity_type_name_when_no_CLR_type() => Assert.Equal( "Everything.Is+Awesome> (Dictionary)", CreateModel().AddEntityType("Everything.Is+Awesome>").DisplayName()); - [ConditionalFact] + [Fact] public void Display_name_is_prettified_for_owned_shared_type() => Assert.Equal( "Is.We#re.Living#Our.Dream", CreateModel().AddEntityType("Everything.Is.We#re.Living#Our.Dream", typeof(Dictionary)) .DisplayName()); - [ConditionalFact] + [Fact] public void Display_name_is_entity_type_name_when_shared_entity_type() => Assert.Equal( "Everything.Is+PostTag (Dictionary)", CreateModel().AddEntityType("Everything.Is+PostTag", typeof(Dictionary)).DisplayName()); - [ConditionalFact] + [Fact] public void Name_is_prettified_CLR_full_name() { Assert.Equal( @@ -125,7 +125,7 @@ public void Name_is_prettified_CLR_full_name() CreateModel().AddEntityType(typeof(List)).Name); } - [ConditionalFact] + [Fact] public void Can_get_proper_table_name_for_generic_entityType() { var entityType = CreateEmptyModel().AddEntityType(typeof(A)); @@ -135,7 +135,7 @@ public void Can_get_proper_table_name_for_generic_entityType() entityType.DisplayName()); } - [ConditionalFact] + [Fact] public void Invalid_filter_expressions_throws() { var model = CreateModel(); @@ -155,7 +155,7 @@ public void Invalid_filter_expressions_throws() Assert.Throws(() => entityTypeA.SetQueryFilter(badExpression2)).Message); } - [ConditionalFact] + [Fact] public void Can_set_reset_and_clear_primary_key() { var model = CreateModel(); @@ -193,7 +193,7 @@ public void Can_set_reset_and_clear_primary_key() Assert.Equal(2, entityType.GetKeys().Count()); } - [ConditionalFact] + [Fact] public void Setting_primary_key_throws_if_properties_from_different_type() { var model = CreateModel(); @@ -206,7 +206,7 @@ public void Setting_primary_key_throws_if_properties_from_different_type() Assert.Throws(() => entityType1.SetPrimaryKey(idProperty)).Message); } - [ConditionalFact] + [Fact] public void Can_get_set_reset_and_clear_primary_key() { var model = CreateModel(); @@ -244,7 +244,7 @@ public void Can_get_set_reset_and_clear_primary_key() Assert.Equal(2, entityType.GetKeys().Count()); } - [ConditionalFact] + [Fact] public void Can_clear_the_primary_key_if_it_is_referenced_from_a_foreign_key() { var model = CreateModel(); @@ -263,7 +263,7 @@ public void Can_clear_the_primary_key_if_it_is_referenced_from_a_foreign_key() Assert.Same(customerPk, fk.PrincipalKey); } - [ConditionalFact] + [Fact] public void Can_change_the_primary_key_if_it_is_referenced_from_a_foreign_key() { var model = CreateModel(); @@ -283,7 +283,7 @@ public void Can_change_the_primary_key_if_it_is_referenced_from_a_foreign_key() Assert.Same(customerPk, fk.PrincipalKey); } - [ConditionalFact] + [Fact] public void Can_add_and_get_a_key() { var model = CreateModel(); @@ -307,7 +307,7 @@ public void Can_add_and_get_a_key() Assert.Contains(key2, entityType.GetKeys()); } - [ConditionalFact] + [Fact] public void Adding_a_key_throws_if_properties_from_different_type() { var model = CreateModel(); @@ -320,7 +320,7 @@ public void Adding_a_key_throws_if_properties_from_different_type() Assert.Throws(() => entityType1.AddKey(idProperty)).Message); } - [ConditionalFact] + [Fact] public void Adding_a_key_throws_if_duplicated() { var model = CreateModel(); @@ -337,7 +337,7 @@ public void Adding_a_key_throws_if_duplicated() Assert.Throws(() => entityType.AddKey([idProperty, nameProperty])).Message); } - [ConditionalFact] + [Fact] public void Adding_a_key_throws_if_duplicated_properties() { var model = CreateModel(); @@ -350,7 +350,7 @@ public void Adding_a_key_throws_if_duplicated_properties() Assert.Throws(() => entityType.AddKey([idProperty, idProperty])).Message); } - [ConditionalFact] + [Fact] public void Adding_a_key_throws_if_properties_were_removed() { var model = CreateModel(); @@ -363,7 +363,7 @@ public void Adding_a_key_throws_if_properties_were_removed() Assert.Throws(() => entityType.AddKey([idProperty])).Message); } - [ConditionalFact] + [Fact] public void Adding_a_key_throws_if_same_as_primary() { var model = CreateModel(); @@ -380,7 +380,7 @@ public void Adding_a_key_throws_if_same_as_primary() Assert.Throws(() => entityType.AddKey([idProperty, nameProperty])).Message); } - [ConditionalFact] + [Fact] public void Can_remove_keys() { var model = CreateModel(); @@ -416,7 +416,7 @@ public void Can_remove_keys() Assert.Empty(idProperty.GetContainingKeys()); } - [ConditionalFact] + [Fact] public void Removing_a_key_from_wrong_type_throws() { var model = CreateModel(); @@ -441,7 +441,7 @@ public void Removing_a_key_from_wrong_type_throws() Assert.Throws(() => orderType.RemoveKey(customerKey.Properties)).Message); } - [ConditionalFact] + [Fact] public void Removing_a_key_throws_if_it_referenced_from_a_foreign_key_in_the_model() { var model = CreateModel(); @@ -462,7 +462,7 @@ public void Removing_a_key_throws_if_it_referenced_from_a_foreign_key_in_the_mod Assert.Throws(() => customerType.RemoveKey(customerKey.Properties)).Message); } - [ConditionalFact] + [Fact] public void Keys_are_ordered_by_property_count_then_property_names() { var model = CreateModel(); @@ -481,7 +481,7 @@ public void Keys_are_ordered_by_property_count_then_property_names() Assert.True(new[] { k1, k2, k3, k4 }.SequenceEqual(customerType.GetKeys())); } - [ConditionalFact] + [Fact] public void Store_computed_values_are_ignored_before_and_after_save_by_default() { var model = CreateModel(); @@ -507,7 +507,7 @@ public void Store_computed_values_are_ignored_before_and_after_save_by_default() Assert.Equal(PropertySaveBehavior.Save, nameProperty.GetAfterSaveBehavior()); } - [ConditionalFact] + [Fact] public void Store_computed_values_are_ignored_after_save_by_default() { var model = CreateModel(); @@ -533,7 +533,7 @@ public void Store_computed_values_are_ignored_after_save_by_default() Assert.Equal(PropertySaveBehavior.Throw, nameProperty.GetAfterSaveBehavior()); } - [ConditionalFact] + [Fact] public void Key_properties_must_throw_after_save() { var model = CreateModel(); @@ -550,7 +550,7 @@ public void Key_properties_must_throw_after_save() Assert.Throws(() => nameProperty.SetAfterSaveBehavior(PropertySaveBehavior.Save)).Message); } - [ConditionalFact] + [Fact] public void Can_add_a_foreign_key() { var model = CreateModel(); @@ -575,7 +575,7 @@ public void Can_add_a_foreign_key() Assert.Equal([fk1, fk2], orderType.GetForeignKeys().ToArray()); } - [ConditionalFact] + [Fact] public void Can_add_a_foreign_key_targeting_different_key() { var model = CreateModel(); @@ -600,7 +600,7 @@ public void Can_add_a_foreign_key_targeting_different_key() Assert.Equal([fk2, fk1], orderType.GetForeignKeys().ToArray()); } - [ConditionalFact] + [Fact] public void Adding_a_foreign_key_throws_if_duplicate() { var model = CreateModel(); @@ -620,7 +620,7 @@ public void Adding_a_foreign_key_throws_if_duplicate() Assert.Throws(() => orderType.AddForeignKey(customerFk1, customerKey, customerType)).Message); } - [ConditionalFact] + [Fact] public void Adding_a_foreign_key_throws_if_duplicated_properties() { var model = CreateModel(); @@ -641,7 +641,7 @@ public void Adding_a_foreign_key_throws_if_duplicated_properties() [customerFk1, customerFk1], customerKey, customerType)).Message); } - [ConditionalFact] + [Fact] public void Adding_a_foreign_key_throws_if_properties_from_different_type() { var model = CreateModel(); @@ -656,7 +656,7 @@ public void Adding_a_foreign_key_throws_if_properties_from_different_type() [fkProperty], entityType2.AddKey(idProperty), entityType2)).Message); } - [ConditionalFact] + [Fact] public void Adding_a_foreign_key_throws_if_properties_were_removed() { var model = CreateModel(); @@ -671,7 +671,7 @@ public void Adding_a_foreign_key_throws_if_properties_were_removed() Assert.Throws(() => entityType.AddForeignKey([fkProperty], key, entityType)).Message); } - [ConditionalFact] + [Fact] public void Adding_a_foreign_key_throws_if_key_was_removed() { var model = CreateModel(); @@ -686,7 +686,7 @@ public void Adding_a_foreign_key_throws_if_key_was_removed() Assert.Throws(() => entityType.AddForeignKey([fkProperty], key, entityType)).Message); } - [ConditionalFact] + [Fact] public void Adding_a_foreign_key_throws_if_related_entity_is_from_different_model() { var dependentEntityType = CreateModel().AddEntityType(typeof(Customer)); @@ -700,7 +700,7 @@ public void Adding_a_foreign_key_throws_if_related_entity_is_from_different_mode [fkProperty], principalEntityType.AddKey(idProperty), principalEntityType)).Message); } - [ConditionalFact] + [Fact] public void Can_get_or_add_a_foreign_key() { var model = CreateModel(); @@ -736,7 +736,7 @@ private static IMutableModel BuildModel() return model; } - [ConditionalFact] + [Fact] public void Can_remove_foreign_keys() { var model = CreateModel(); @@ -773,7 +773,7 @@ public void Can_remove_foreign_keys() Assert.Empty(orderType.GetForeignKeys()); } - [ConditionalFact] + [Fact] public void Can_remove_a_foreign_key_if_it_is_referenced_from_a_navigation_in_the_model() { var model = CreateModel(); @@ -793,7 +793,7 @@ public void Can_remove_a_foreign_key_if_it_is_referenced_from_a_navigation_in_th Assert.Empty(customerType.GetNavigations()); } - [ConditionalFact] + [Fact] public void Removing_a_foreign_key_throws_if_referenced_from_skip_navigation() { var model = CreateModel(); @@ -816,7 +816,7 @@ public void Removing_a_foreign_key_throws_if_referenced_from_skip_navigation() Assert.Throws(() => joinEntity.RemoveForeignKey(foreignKey)).Message); } - [ConditionalFact] + [Fact] public void Foreign_keys_are_ordered_by_property_count_then_property_names() { var model = CreateModel(); @@ -842,7 +842,7 @@ public void Foreign_keys_are_ordered_by_property_count_then_property_names() Assert.True(new[] { fk1, fk2, fk3, fk4 }.SequenceEqual(orderType.GetForeignKeys())); } - [ConditionalFact] + [Fact] public void Can_get_referencing_foreign_keys() { var entityType = CreateEmptyModel().AddEntityType("Customer"); @@ -853,7 +853,7 @@ public void Can_get_referencing_foreign_keys() Assert.Same(fk, entityType.GetReferencingForeignKeys().Single()); } - [ConditionalFact] + [Fact] public void Can_add_and_remove_navigations() { var model = CreateModel(); @@ -897,7 +897,7 @@ public void Can_add_and_remove_navigations() Assert.Empty(((IReadOnlyEntityType)customerType).GetNavigations()); } - [ConditionalFact] + [Fact] public void Can_add_new_navigations_or_get_existing_navigations() { var model = CreateModel(); @@ -920,7 +920,7 @@ public void Can_add_new_navigations_or_get_existing_navigations() Assert.True(customerNavigation.IsOnDependent); } - [ConditionalFact] + [Fact] public void Can_get_navigation_and_can_try_get_navigation() { var model = CreateModel(); @@ -938,7 +938,7 @@ public void Can_get_navigation_and_can_try_get_navigation() Assert.Null(orderType.FindNavigation("Nose")); } - [ConditionalFact] + [Fact] public void Adding_a_new_navigation_with_a_name_that_conflicts_with_a_property_throws() { var model = CreateModel(); @@ -956,7 +956,7 @@ public void Adding_a_new_navigation_with_a_name_that_conflicts_with_a_property_t Assert.Throws(() => customerForeignKey.SetDependentToPrincipal("Customer")).Message); } - [ConditionalFact] + [Fact] public void Adding_a_new_navigation_with_a_name_that_conflicts_with_a_service_property_throws() { var model = CreateModel(); @@ -974,7 +974,7 @@ public void Adding_a_new_navigation_with_a_name_that_conflicts_with_a_service_pr Assert.Throws(() => customerForeignKey.SetDependentToPrincipal(nameof(Order.Customer))).Message); } - [ConditionalFact] + [Fact] public void Can_add_a_navigation_to_shadow_entity() { var model = CreateModel(); @@ -988,7 +988,7 @@ public void Can_add_a_navigation_to_shadow_entity() Assert.NotNull(customerForeignKey.SetDependentToPrincipal("Customer")); } - [ConditionalFact] + [Fact] public void Adding_a_navigation_on_non_shadow_entity_type_pointing_to_a_shadow_entity_type_throws() { var model = CreateModel(); @@ -1005,7 +1005,7 @@ public void Adding_a_navigation_on_non_shadow_entity_type_pointing_to_a_shadow_e Assert.Throws(() => customerForeignKey.SetDependentToPrincipal(Order.CustomerProperty)).Message); } - [ConditionalFact] + [Fact] public void Collection_navigation_properties_must_be_IEnumerables_of_the_target_type() { var model = CreateModel(); @@ -1023,7 +1023,7 @@ public void Collection_navigation_properties_must_be_IEnumerables_of_the_target_ .Message); } - [ConditionalFact] + [Fact] public void Collection_navigation_properties_cannot_be_IEnumerables_of_derived_target_type() { var model = CreateModel(); @@ -1045,7 +1045,7 @@ public void Collection_navigation_properties_cannot_be_IEnumerables_of_derived_t .Message); } - [ConditionalFact] + [Fact] public void Collection_navigation_properties_can_be_IEnumerables_of_base_target_type() { var model = CreateModel(); @@ -1067,7 +1067,7 @@ public void Collection_navigation_properties_can_be_IEnumerables_of_base_target_ Assert.Same(ordersNavigation, customerForeignKey.PrincipalToDependent); } - [ConditionalFact] + [Fact] public void Reference_navigation_properties_must_be_of_the_target_type() { var model = CreateModel(); @@ -1084,7 +1084,7 @@ public void Reference_navigation_properties_must_be_of_the_target_type() Assert.Throws(() => customerForeignKey.SetDependentToPrincipal(Order.RelatedOrderProperty)).Message); } - [ConditionalFact] + [Fact] public void Reference_navigation_properties_cannot_be_of_derived_type() { var model = CreateModel(); @@ -1102,7 +1102,7 @@ public void Reference_navigation_properties_cannot_be_of_derived_type() .Message); } - [ConditionalFact] + [Fact] public void Reference_navigation_properties_can_be_of_base_type() { var model = CreateModel(); @@ -1123,7 +1123,7 @@ public void Reference_navigation_properties_can_be_of_base_type() Assert.Same(customerType, customerNavigation.TargetEntityType); } - [ConditionalFact] + [Fact] public void Can_create_self_referencing_navigations() { var model = CreateModel(); @@ -1141,7 +1141,7 @@ public void Can_create_self_referencing_navigations() Assert.Same(fk.DependentToPrincipal, navigationToPrincipal); } - [ConditionalFact] + [Fact] public void Throws_when_adding_same_self_referencing_navigation_twice() { var model = CreateModel(); @@ -1158,7 +1158,7 @@ public void Throws_when_adding_same_self_referencing_navigation_twice() Assert.Throws(() => fk.SetDependentToPrincipal(SelfRef.SelfRef1Property)).Message); } - [ConditionalFact] + [Fact] public void Navigations_are_ordered_by_name() { var model = CreateModel(); @@ -1180,7 +1180,7 @@ public void Navigations_are_ordered_by_name() Assert.True(new[] { navigation1, navigation2 }.SequenceEqual(((IReadOnlyEntityType)customerType).GetNavigations())); } - [ConditionalFact] + [Fact] public void Can_get_one_to_many_inverses() { var model = BuildProductModel(); @@ -1192,7 +1192,7 @@ public void Can_get_one_to_many_inverses() Assert.Same(products, category.Inverse); } - [ConditionalFact] + [Fact] public void Can_get_one_to_one_inverses() { var model = BuildProductModel(); @@ -1204,7 +1204,7 @@ public void Can_get_one_to_one_inverses() Assert.Same(product, category.Inverse); } - [ConditionalFact] + [Fact] public void Can_get_target_ends() { var model = BuildProductModel(); @@ -1219,7 +1219,7 @@ public void Can_get_target_ends() Assert.Same(categoryType, category.TargetEntityType); } - [ConditionalFact] + [Fact] public void Returns_null_when_no_inverse() { var products = BuildProductModel(createCategory: false).FindEntityType(typeof(Category)).GetNavigations() @@ -1295,7 +1295,7 @@ private static IReadOnlyModel BuildProductModel( return model; } - [ConditionalFact] + [Fact] public void Can_add_and_remove_skip_navigation() { var model = CreateModel(); @@ -1345,7 +1345,7 @@ public void Can_add_and_remove_skip_navigation() Assert.Empty(orderEntity.GetSkipNavigations()); } - [ConditionalFact] + [Fact] public void Adding_skip_navigation_with_a_name_that_conflicts_with_another_skip_navigation_throws() { var model = CreateModel(); @@ -1369,7 +1369,7 @@ public void Adding_skip_navigation_with_a_name_that_conflicts_with_another_skip_ nameof(Order.Products), null, null, productEntity, true, false)).Message); } - [ConditionalFact] + [Fact] public void Adding_skip_navigation_with_a_name_that_conflicts_with_a_navigation_throws() { var model = CreateModel(); @@ -1394,7 +1394,7 @@ public void Adding_skip_navigation_with_a_name_that_conflicts_with_a_navigation_ nameof(Order.Products), null, null, productEntity, true, false)).Message); } - [ConditionalFact] + [Fact] public void Adding_skip_navigation_with_a_name_that_conflicts_with_a_property_throws() { var model = CreateModel(); @@ -1416,7 +1416,7 @@ public void Adding_skip_navigation_with_a_name_that_conflicts_with_a_property_th nameof(Order.Products), null, null, productEntity, true, false)).Message); } - [ConditionalFact] + [Fact] public void Adding_skip_navigation_with_a_name_that_conflicts_with_a_service_property_throws() { var model = CreateModel(); @@ -1438,7 +1438,7 @@ public void Adding_skip_navigation_with_a_name_that_conflicts_with_a_service_pro nameof(Order.Products), null, null, productEntity, true, false)).Message); } - [ConditionalFact] + [Fact] public void Adding_CLR_skip_navigation_targetting_a_shadow_entity_type_throws() { var model = CreateModel(); @@ -1458,7 +1458,7 @@ public void Adding_CLR_skip_navigation_targetting_a_shadow_entity_type_throws() nameof(Order.Products), null, Order.ProductsProperty, productEntity, true, false)).Message); } - [ConditionalFact] + [Fact] public void Adding_CLR_skip_navigation_to_a_mismatched_entity_type_throws() { var model = CreateModel(); @@ -1477,7 +1477,7 @@ public void Adding_CLR_skip_navigation_to_a_mismatched_entity_type_throws() nameof(Order.Products), null, Order.ProductsProperty, productEntity, true, false)).Message); } - [ConditionalFact] + [Fact] public void Adding_CLR_collection_skip_navigation_with_mismatched_target_entity_type_throws() { var model = CreateModel(); @@ -1496,7 +1496,7 @@ public void Adding_CLR_collection_skip_navigation_with_mismatched_target_entity_ nameof(Order.Products), null, Order.ProductsProperty, orderEntity, true, false)).Message); } - [ConditionalFact] + [Fact] public void Adding_CLR_reference_skip_navigation_with_mismatched_target_entity_type_throws() { var model = CreateModel(); @@ -1515,7 +1515,7 @@ public void Adding_CLR_reference_skip_navigation_with_mismatched_target_entity_t nameof(Order.Products), null, Order.ProductsProperty, orderEntity, false, false)).Message); } - [ConditionalFact] + [Fact] public void Adding_skip_navigation_with_a_mismatched_memberinfo_throws() { var model = CreateModel(); @@ -1535,7 +1535,7 @@ public void Adding_skip_navigation_with_a_mismatched_memberinfo_throws() nameof(Order.Products), null, Order.RelatedOrderProperty, productEntity, true, false)).Message); } - [ConditionalFact] + [Fact] public void Can_add_retrieve_and_remove_indexes() { var model = CreateModel(); @@ -1585,7 +1585,7 @@ public void Can_add_retrieve_and_remove_indexes() Assert.Empty(property1.GetContainingIndexes()); } - [ConditionalFact] + [Fact] public void AddIndex_throws_if_not_from_same_entity() { var model = CreateModel(); @@ -1600,7 +1600,7 @@ public void AddIndex_throws_if_not_from_same_entity() Assert.Throws(() => entityType2.AddIndex([property1, property2])).Message); } - [ConditionalFact] + [Fact] public void AddIndex_throws_if_duplicate_properties() { var model = CreateModel(); @@ -1617,7 +1617,7 @@ public void AddIndex_throws_if_duplicate_properties() Assert.Throws(() => entityType.AddIndex([property1, property2])).Message); } - [ConditionalFact] + [Fact] public void AddIndex_throws_if_duplicate_name() { var model = CreateModel(); @@ -1635,7 +1635,7 @@ public void AddIndex_throws_if_duplicate_name() Assert.Throws(() => entityType.AddIndex([property2], "NamedIndex")).Message); } - [ConditionalFact] + [Fact] public void Can_add_multiple_named_indexes_on_the_same_properties() { var model = CreateModel(); @@ -1647,7 +1647,7 @@ public void Can_add_multiple_named_indexes_on_the_same_properties() entityType.AddIndex([property1, property2], "Index2"); } - [ConditionalFact] + [Fact] public void RemoveIndex_throws_if_incorrect_properties() { var model = CreateModel(); @@ -1669,7 +1669,7 @@ public void RemoveIndex_throws_if_incorrect_properties() Assert.Throws(() => entityType.RemoveIndex(anotherIndex)).Message); } - [ConditionalFact] + [Fact] public void RemoveIndex_throws_if_incorrect_name() { var model = CreateModel(); @@ -1689,7 +1689,7 @@ public void RemoveIndex_throws_if_incorrect_name() Assert.Throws(() => entityType.RemoveIndex(anotherIndex)).Message); } - [ConditionalFact] + [Fact] public void Can_remove_named_index_by_name() { var model = CreateModel(); @@ -1704,7 +1704,7 @@ public void Can_remove_named_index_by_name() Assert.Empty(entityType.GetIndexes()); } - [ConditionalFact] + [Fact] public void Can_add_and_remove_properties() { var model = CreateModel(); @@ -1737,7 +1737,7 @@ public void Can_add_and_remove_properties() Assert.Empty(entityType.GetProperties()); } - [ConditionalFact] + [Fact] public void Can_add_new_properties_or_get_existing_properties_using_PropertyInfo_or_name() { var model = CreateModel(); @@ -1768,7 +1768,7 @@ public void Can_add_new_properties_or_get_existing_properties_using_PropertyInfo Assert.True(new[] { idProperty, nameProperty }.SequenceEqual(entityType.GetProperties())); } - [ConditionalFact] + [Fact] public void Can_add_new_properties_using_name_of_property_in_base_class() { var model = CreateModel(); @@ -1784,7 +1784,7 @@ public void Can_add_new_properties_using_name_of_property_in_base_class() Assert.Null(property.FieldInfo); } - [ConditionalFact] + [Fact] public void Can_add_new_properties_using_name_of_field_in_base_class() { var model = CreateModel(); @@ -1823,7 +1823,7 @@ public DateTime Date } } - [ConditionalFact] + [Fact] public void AddProperty_throws_for_wrong_entity_type() { var entityType = CreateModel().AddEntityType(typeof(Order)); @@ -1834,7 +1834,7 @@ public void AddProperty_throws_for_wrong_entity_type() Assert.Throws(() => entityType.AddProperty(Customer.NameProperty)).Message); } - [ConditionalFact] + [Fact] public void AddProperty_throws_if_no_clr_property_or_field() { var entityType = CreateModel().AddEntityType(typeof(Customer)); @@ -1844,7 +1844,7 @@ public void AddProperty_throws_if_no_clr_property_or_field() Assert.Throws(() => entityType.AddProperty("_foo")).Message); } - [ConditionalFact] + [Fact] public void AddProperty_throws_if_clr_type_does_not_match() { var entityType = CreateModel().AddEntityType(typeof(Customer)); @@ -1855,7 +1855,7 @@ public void AddProperty_throws_if_clr_type_does_not_match() Assert.Throws(() => entityType.AddProperty(nameof(Customer.Name), typeof(int))).Message); } - [ConditionalFact] + [Fact] public void AddProperty_throws_if_name_does_not_match() { var entityType = CreateModel().AddEntityType(typeof(Customer)); @@ -1867,7 +1867,7 @@ public void AddProperty_throws_if_name_does_not_match() entityType.AddProperty(nameof(Customer.Id), typeof(int), Customer.NameProperty)).Message); } - [ConditionalFact] + [Fact] public void AddProperty_ignores_clr_type_if_implicit() { var entityType = (IConventionEntityType)CreateModel().AddEntityType(typeof(Customer)); @@ -1877,7 +1877,7 @@ public void AddProperty_ignores_clr_type_if_implicit() Assert.Equal(typeof(string), property.ClrType); } - [ConditionalFact] + [Fact] public void RemoveProperty_throws_when_called_on_wrong_entity_type() { var model = CreateModel(); @@ -1891,7 +1891,7 @@ public void RemoveProperty_throws_when_called_on_wrong_entity_type() Assert.Throws(() => orderType.RemoveProperty(customerPk)).Message); } - [ConditionalFact] + [Fact] public void Cannot_remove_property_when_used_by_primary_key() { var model = CreateModel(); @@ -1905,7 +1905,7 @@ public void Cannot_remove_property_when_used_by_primary_key() Assert.Throws(() => entityType.RemoveProperty(property.Name)).Message); } - [ConditionalFact] + [Fact] public void Cannot_remove_property_when_used_by_non_primary_key() { var model = CreateModel(); @@ -1919,7 +1919,7 @@ public void Cannot_remove_property_when_used_by_non_primary_key() Assert.Throws(() => entityType.RemoveProperty(property.Name)).Message); } - [ConditionalFact] + [Fact] public void Cannot_remove_property_when_used_by_foreign_key() { var model = CreateModel(); @@ -1935,7 +1935,7 @@ public void Cannot_remove_property_when_used_by_foreign_key() Assert.Throws(() => orderType.RemoveProperty(customerFk.Name)).Message); } - [ConditionalFact] + [Fact] public void Cannot_remove_property_when_used_by_an_index() { var model = CreateModel(); @@ -1949,7 +1949,7 @@ public void Cannot_remove_property_when_used_by_an_index() Assert.Throws(() => entityType.RemoveProperty(property.Name)).Message); } - [ConditionalFact] + [Fact] public void Properties_are_ordered_by_name() { var model = CreateModel(); @@ -1961,7 +1961,7 @@ public void Properties_are_ordered_by_name() Assert.Equal([property1, property2], entityType.GetProperties()); } - [ConditionalFact] + [Fact] public void Primary_key_properties_precede_others() { var model = CreateModel(); @@ -1975,7 +1975,7 @@ public void Primary_key_properties_precede_others() Assert.Equal([pkProperty, aProperty], entityType.GetProperties()); } - [ConditionalFact] + [Fact] public void Composite_primary_key_properties_are_listed_in_key_order() { var model = CreateModel(); @@ -1990,7 +1990,7 @@ public void Composite_primary_key_properties_are_listed_in_key_order() Assert.Equal([pkProperty1, pkProperty2, aProperty], entityType.GetProperties()); } - [ConditionalFact] + [Fact] public void Properties_are_properly_ordered_when_primary_key_changes() { var model = CreateModel(); @@ -2008,7 +2008,7 @@ public void Properties_are_properly_ordered_when_primary_key_changes() Assert.Equal([aProperty, bProperty], entityType.GetProperties()); } - [ConditionalFact] + [Fact] public void Can_get_property_and_can_try_get_property() { var model = CreateModel(); @@ -2023,7 +2023,7 @@ public void Can_get_property_and_can_try_get_property() Assert.Null(entityType.FindProperty("Nose")); } - [ConditionalFact] + [Fact] public void Shadow_properties_have_CLR_flag_set_to_false() { var model = CreateModel(); @@ -2038,7 +2038,7 @@ public void Shadow_properties_have_CLR_flag_set_to_false() Assert.True(entityType.FindProperty("Mane_").IsShadowProperty()); } - [ConditionalFact] + [Fact] public void Adding_a_new_property_with_a_name_that_already_exists_throws() { var model = CreateModel(); @@ -2050,7 +2050,7 @@ public void Adding_a_new_property_with_a_name_that_already_exists_throws() Assert.Throws(() => entityType.AddProperty("Id")).Message); } - [ConditionalFact] + [Fact] public void Adding_a_new_property_with_a_name_that_conflicts_with_a_navigation_throws() { var model = CreateModel(); @@ -2068,7 +2068,7 @@ public void Adding_a_new_property_with_a_name_that_conflicts_with_a_navigation_t Assert.Throws(() => orderType.AddProperty("Customer")).Message); } - [ConditionalFact] + [Fact] public void Adding_a_new_property_with_a_name_that_conflicts_with_a_service_property_throws() { var model = CreateModel(); @@ -2086,7 +2086,7 @@ public void Adding_a_new_property_with_a_name_that_conflicts_with_a_service_prop Assert.Throws(() => orderType.AddServiceProperty(Order.CustomerProperty)).Message); } - [ConditionalFact] + [Fact] public void Adding_a_new_service_property_with_a_name_that_conflicts_with_a_property_throws() { var model = CreateModel(); @@ -2098,7 +2098,7 @@ public void Adding_a_new_service_property_with_a_name_that_conflicts_with_a_prop Assert.Throws(() => entityType.AddServiceProperty(Customer.OrdersProperty)).Message); } - [ConditionalFact] + [Fact] public void Adding_a_new_service_property_with_a_name_that_conflicts_with_a_navigation_throws() { var model = CreateModel(); @@ -2116,7 +2116,7 @@ public void Adding_a_new_service_property_with_a_name_that_conflicts_with_a_navi Assert.Throws(() => orderType.AddServiceProperty(Order.CustomerProperty)).Message); } - [ConditionalFact] + [Fact] public void Adding_a_new_service_property_with_a_name_that_already_exists_throws() { var model = CreateModel(); @@ -2128,7 +2128,7 @@ public void Adding_a_new_service_property_with_a_name_that_already_exists_throws Assert.Throws(() => entityType.AddServiceProperty(Customer.OrdersProperty)).Message); } - [ConditionalFact] + [Fact] public void Can_add_indexed_property() { var model = CreateModel(); @@ -2161,7 +2161,7 @@ public void Can_add_indexed_property() Assert.Empty(conventionEntityType.GetProperties()); } - [ConditionalFact] + [Fact] public void FindProperty_return_null_when_passed_indexer_property_info() { var model = CreateModel(); @@ -2178,7 +2178,7 @@ public void FindProperty_return_null_when_passed_indexer_property_info() Assert.Null(((IConventionEntityType)entityType).FindProperty(indexerPropertyInfo)); } - [ConditionalFact] + [Fact] public void AddIndexerProperty_throws_when_entitytype_does_not_have_indexer() { var model = CreateModel(); @@ -2194,7 +2194,7 @@ public void AddIndexerProperty_throws_when_entitytype_does_not_have_indexer() .Message); } - [ConditionalFact] + [Fact] public void AddIndexerProperty_throws_when_entitytype_have_property_with_same_name() { var model = CreateModel(); @@ -2210,7 +2210,7 @@ public void AddIndexerProperty_throws_when_entitytype_have_property_with_same_na Assert.Throws(() => entityType.AddIndexerProperty("Name", typeof(string))).Message); } - [ConditionalFact] + [Fact] public void Can_get_property_indexes() { var modelBuilder = new ModelBuilder(); @@ -2234,7 +2234,7 @@ public void Can_get_property_indexes() Assert.Equal(2, entityType.ShadowPropertyCount); } - [ConditionalFact] + [Fact] public void Attempting_to_set_store_generated_value_for_non_generated_property_throws() { using var context = new Levels(); @@ -2249,7 +2249,7 @@ public void Attempting_to_set_store_generated_value_for_non_generated_property_t Assert.Throws(() => internalEntityEntry.SetStoreGeneratedValue(property, null)).Message); } - [ConditionalFact] + [Fact] public void Indexes_for_derived_types_are_calculated_correctly() { using var context = new Levels(); @@ -2424,7 +2424,7 @@ protected internal override void OnModelCreating(ModelBuilder modelBuilder) } } - [ConditionalFact] + [Fact] public void Can_get_all_properties_and_navigations() { var entityType = CreateEmptyModel().AddEntityType(nameof(SelfRef)); @@ -2441,7 +2441,7 @@ public void Can_get_all_properties_and_navigations() ((IRuntimeEntityType)entityType).GetSnapshottableMembers().ToArray()); } - [ConditionalFact] + [Fact] public void Indexes_for_owned_collection_types_are_calculated_correctly() { using var context = new SideBySide(); @@ -2539,7 +2539,7 @@ private class ChildEntity public string Name { get; set; } } - [ConditionalFact] + [Fact] public void Indexes_are_ordered_by_property_count_then_property_names() { var model = CreateModel(); @@ -2558,7 +2558,7 @@ public void Indexes_are_ordered_by_property_count_then_property_names() Assert.True(new[] { i1, i2, i3, i4 }.SequenceEqual(customerType.GetIndexes())); } - [ConditionalFact] + [Fact] public void Change_tracking_from_model_is_used_by_default_regardless_of_CLR_type() { var model = BuildFullNotificationEntityModel(); @@ -2571,7 +2571,7 @@ public void Change_tracking_from_model_is_used_by_default_regardless_of_CLR_type Assert.Equal(ChangeTrackingStrategy.ChangedNotifications, entityType.GetChangeTrackingStrategy()); } - [ConditionalFact] + [Fact] public void Change_tracking_from_model_is_used_by_default_for_shadow_entities() { var model = CreateModel(); @@ -2584,7 +2584,7 @@ public void Change_tracking_from_model_is_used_by_default_for_shadow_entities() Assert.Equal(ChangeTrackingStrategy.ChangedNotifications, entityType.GetChangeTrackingStrategy()); } - [ConditionalFact] + [Fact] public void Change_tracking_can_be_set_to_anything_for_full_notification_entities() { var model = BuildFullNotificationEntityModel(); @@ -2607,7 +2607,7 @@ public void Change_tracking_can_be_set_to_anything_for_full_notification_entitie Assert.Equal(ChangeTrackingStrategy.ChangingAndChangedNotificationsWithOriginalValues, entityType.GetChangeTrackingStrategy()); } - [ConditionalFact] + [Fact] public void Change_tracking_can_be_set_to_snapshot_or_changed_only_for_changed_only_entities() { var model = CreateModel(); @@ -2636,7 +2636,7 @@ public void Change_tracking_can_be_set_to_snapshot_or_changed_only_for_changed_o .Message); } - [ConditionalFact] + [Fact] public void Change_tracking_can_be_set_to_snapshot_only_for_non_notifying_entities() { var model = CreateModel(); @@ -2667,7 +2667,7 @@ public void Change_tracking_can_be_set_to_snapshot_only_for_non_notifying_entiti .Message); } - [ConditionalFact] + [Fact] public void Entity_type_with_deeply_nested_owned_shared_types_builds_correctly() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -2830,7 +2830,7 @@ private class FirstTest private class SpecialistStaff; - [ConditionalFact] + [Fact] public void All_properties_have_original_value_indexes_when_using_snapshot_change_tracking() { var model = BuildFullNotificationEntityModel(); @@ -2848,7 +2848,7 @@ public void All_properties_have_original_value_indexes_when_using_snapshot_chang Assert.Equal(6, entityType.OriginalValueCount); } - [ConditionalFact] + [Fact] public void All_relationship_properties_have_relationship_indexes_when_using_snapshot_change_tracking() { var model = BuildFullNotificationEntityModel(); @@ -2868,7 +2868,7 @@ public void All_relationship_properties_have_relationship_indexes_when_using_sna Assert.Equal(4, entityType.RelationshipPropertyCount); } - [ConditionalFact] + [Fact] public void All_properties_have_original_value_indexes_when_using_changed_only_tracking() { var model = BuildFullNotificationEntityModel(); @@ -2886,7 +2886,7 @@ public void All_properties_have_original_value_indexes_when_using_changed_only_t Assert.Equal(6, entityType.OriginalValueCount); } - [ConditionalFact] + [Fact] public void Collections_dont_have_relationship_indexes_when_using_changed_only_change_tracking() { var model = BuildFullNotificationEntityModel(); @@ -2906,7 +2906,7 @@ public void Collections_dont_have_relationship_indexes_when_using_changed_only_c Assert.Equal(3, entityType.RelationshipPropertyCount); } - [ConditionalFact] + [Fact] public void Only_concurrency_index_and_key_properties_have_original_value_indexes_when_using_full_notifications() { var model = BuildFullNotificationEntityModel(); @@ -2924,7 +2924,7 @@ public void Only_concurrency_index_and_key_properties_have_original_value_indexe Assert.Equal(4, entityType.OriginalValueCount); } - [ConditionalFact] + [Fact] public void Collections_dont_have_relationship_indexes_when_using_full_notifications() { var model = BuildFullNotificationEntityModel(); @@ -2944,7 +2944,7 @@ public void Collections_dont_have_relationship_indexes_when_using_full_notificat Assert.Equal(3, entityType.RelationshipPropertyCount); } - [ConditionalFact] + [Fact] public void All_properties_have_original_value_indexes_when_full_notifications_with_original_values() { var model = BuildFullNotificationEntityModel(); @@ -2962,7 +2962,7 @@ public void All_properties_have_original_value_indexes_when_full_notifications_w Assert.Equal(6, entityType.OriginalValueCount); } - [ConditionalFact] + [Fact] public void Collections_dont_have_relationship_indexes_when_full_notifications_with_original_values() { var model = BuildFullNotificationEntityModel(); @@ -2982,7 +2982,7 @@ public void Collections_dont_have_relationship_indexes_when_full_notifications_w Assert.Equal(3, entityType.RelationshipPropertyCount); } - [ConditionalFact] + [Fact] public void ShortName_on_compiler_generated_type1() { var model = CreateModel(); @@ -2994,7 +2994,7 @@ public void ShortName_on_compiler_generated_type1() Assert.Equal(typeName, entityType.ShortName()); } - [ConditionalFact] + [Fact] public void ShortName_on_compiler_generated_type2() { var model = CreateModel(); @@ -3013,7 +3013,7 @@ public void ShortName_on_compiler_generated_type2() Assert.Equal(typeName[2..], entityType.ShortName()); } - [ConditionalFact] + [Fact] public void ShortName_on_compiler_generated_type3() { var model = CreateModel(); @@ -3032,7 +3032,7 @@ public void ShortName_on_compiler_generated_type3() Assert.Equal("__AnonymousType01Child", entityType.ShortName()); } - [ConditionalTheory] + [Theory] // file class MyEntity in Program.cs [InlineData("F1234ABCD__MyEntity", "MyEntity")] // file class declared in a file whose name itself contains "__" @@ -3058,7 +3058,7 @@ public void ShortName_on_file_scoped_type(string clrName, string expectedShortNa Assert.Equal(expectedShortName, entityType.ShortName()); } - [ConditionalTheory] + [Theory] // Regular type — no `<` prefix, no transformation [InlineData("Foo", "Foo")] // Type whose user-chosen name contains "__" but is not file-scoped — no `<` prefix, no transformation @@ -3084,7 +3084,7 @@ public void ShortName_unchanged_for_regular_types(string clrName, string expecte Assert.Equal(expectedShortName, entityType.ShortName()); } - [ConditionalTheory] + [Theory] // file class MyEntity in Program.cs [InlineData("F1234ABCD__MyEntity", "MyEntity")] // file class declared in a file whose name itself contains "__" @@ -3122,7 +3122,7 @@ public void DisplayName_on_file_scoped_type(string clrName, string expectedDispl Assert.Equal(expectedDisplayName, entityType.DisplayName()); } - [ConditionalTheory] + [Theory] // Regular type — no `<` prefix, no transformation [InlineData("Foo", "Foo")] // Type whose user-chosen name contains "__" but is not file-scoped @@ -3158,7 +3158,7 @@ public void DisplayName_unchanged_for_non_file_scoped_types(string clrName, stri Assert.Equal(expectedDisplayName, entityType.DisplayName()); } - [ConditionalTheory] + [Theory] // Has `>F` signature but no `__` separator — file-scoped sentinel is incomplete, leave alone [InlineData("F1234ABCD", "F1234ABCD")] // `<` but no closing `>` — incomplete sentinel, leave alone @@ -3185,7 +3185,7 @@ public void DisplayName_handles_malformed_or_incomplete_file_scoped_inputs_safel Assert.Equal(expectedDisplayName, entityType.DisplayName()); } - [ConditionalFact] + [Fact] public void DisplayName_unchanged_for_well_known_types() { Assert.Equal("EntityTypeTest", CreateModel().AddEntityType(typeof(EntityTypeTest)).DisplayName()); diff --git a/test/EFCore.Tests/Metadata/Internal/ForeignKeyTest.cs b/test/EFCore.Tests/Metadata/Internal/ForeignKeyTest.cs index 009fed59e90..d469cea551d 100644 --- a/test/EFCore.Tests/Metadata/Internal/ForeignKeyTest.cs +++ b/test/EFCore.Tests/Metadata/Internal/ForeignKeyTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; public class ForeignKeyTest { - [ConditionalFact] + [Fact] public void Throws_when_model_is_readonly() { var model = CreateModel(); @@ -54,7 +54,7 @@ public void Throws_when_model_is_readonly() Assert.Throws(() => foreignKey.SetProperties([principalProp], key)).Message); } - [ConditionalFact] + [Fact] public void Can_create_foreign_key() { var entityType = (IConventionEntityType)CreateModel().AddEntityType("E"); @@ -78,7 +78,7 @@ public void Can_create_foreign_key() Assert.Equal(ConfigurationSource.DataAnnotation, foreignKey.GetConfigurationSource()); } - [ConditionalFact] + [Fact] public void Constructor_throws_when_referenced_key_not_on_referenced_entity() { var model = CreateModel(); @@ -95,7 +95,7 @@ public void Constructor_throws_when_referenced_key_not_on_referenced_entity() [fk], principalKey, principalEntityType)).Message); } - [ConditionalFact] + [Fact] public void Constructor_throws_when_principal_and_dependent_property_count_do_not_match() { var model = CreateModel(); @@ -116,7 +116,7 @@ public void Constructor_throws_when_principal_and_dependent_property_count_do_no .Message); } - [ConditionalFact] + [Fact] public void Constructor_throws_when_principal_and_dependent_property_types_do_not_match() { var dependentEntityType = CreateModel().AddEntityType("D"); @@ -139,7 +139,7 @@ public void Constructor_throws_when_principal_and_dependent_property_types_do_no .Message); } - [ConditionalFact] + [Fact] public void Can_create_foreign_key_with_non_pk_principal() { var entityType = CreateModel().AddEntityType("E"); @@ -159,7 +159,7 @@ public void Can_create_foreign_key_with_non_pk_principal() Assert.Same(principalKey, foreignKey.PrincipalKey); } - [ConditionalFact] + [Fact] public void IsRequired_and_IsUnique_false_when_dependent_property_not_nullable() { var entityType = CreateModel().AddEntityType("E"); @@ -174,7 +174,7 @@ public void IsRequired_and_IsUnique_false_when_dependent_property_not_nullable() Assert.False(foreignKey.IsUnique); } - [ConditionalFact] + [Fact] public void IsRequired_and_IsUnique_false_when_dependent_property_nullable() { var entityType = CreateModel().AddEntityType("E"); @@ -189,7 +189,7 @@ public void IsRequired_and_IsUnique_false_when_dependent_property_nullable() Assert.False(foreignKey.IsUnique); } - [ConditionalFact] + [Fact] public void IsRequired_false_when_no_part_of_composite_FK_is_nullable() { var entityType = CreateModel().AddEntityType("E"); @@ -211,7 +211,7 @@ public void IsRequired_false_when_no_part_of_composite_FK_is_nullable() Assert.False(foreignKey.IsRequired); } - [ConditionalFact] + [Fact] public void Setting_IsRequired_to_true_does_not_configure_FK_properties_as_non_nullable() { var entityType = CreateModel().AddEntityType("E"); @@ -232,7 +232,7 @@ public void Setting_IsRequired_to_true_does_not_configure_FK_properties_as_non_n Assert.True(dependentProp2.IsNullable); } - [ConditionalFact] + [Fact] public void Setting_IsRequired_to_false_will_not_configure_FK_properties_as_nullable() { var entityType = CreateModel().AddEntityType("E"); @@ -255,7 +255,7 @@ public void Setting_IsRequired_to_false_will_not_configure_FK_properties_as_null Assert.False(dependentProp2.IsNullable); } - [ConditionalFact] + [Fact] public void IsRequiredDependent_throws_for_incompatible_uniqueness() { var foreignKey = CreateOneToManyFK(); @@ -346,7 +346,7 @@ public class OneToManyDependent : NavigationBase public class DerivedOneToManyDependent : OneToManyDependent; - [ConditionalFact] + [Fact] public void Throws_when_setting_navigation_to_principal_on_wrong_FK() { var foreignKey1 = CreateOneToManyFK(); @@ -368,7 +368,7 @@ public void Throws_when_setting_navigation_to_principal_on_wrong_FK() => foreignKey2.SetDependentToPrincipal(OneToManyDependent.DeceptionProperty)).Message); } - [ConditionalFact] + [Fact] public void Throws_when_setting_navigation_to_dependent_on_wrong_FK() { var foreignKey1 = CreateOneToManyFK(); @@ -390,7 +390,7 @@ public void Throws_when_setting_navigation_to_dependent_on_wrong_FK() => foreignKey2.SetDependentToPrincipal(OneToManyDependent.DeceptionProperty)).Message); } - [ConditionalFact] + [Fact] public void IsUnique_throws_for_incompatible_navigation() { var foreignKey = CreateOneToManyFK(); @@ -404,7 +404,7 @@ public void IsUnique_throws_for_incompatible_navigation() Assert.Throws(() => foreignKey.IsUnique = true).Message); } - [ConditionalFact] + [Fact] public void IsUnique_throws_for_incompatible_required_dependent() { var foreignKey = CreateOneToManyFK(); @@ -449,7 +449,7 @@ private class SelfRef public int? SelfRefId { get; set; } } - [ConditionalFact] + [Fact] public void IsSelfReferencing_returns_true_for_self_ref_foreign_keys() { var fk = CreateSelfRefFK(); @@ -457,7 +457,7 @@ public void IsSelfReferencing_returns_true_for_self_ref_foreign_keys() Assert.True(fk.IsSelfReferencing()); } - [ConditionalFact] + [Fact] public void IsSelfReferencing_returns_true_for_non_pk_self_ref_foreign_keys() { var fk = CreateSelfRefFK(useAltKey: true); @@ -465,7 +465,7 @@ public void IsSelfReferencing_returns_true_for_non_pk_self_ref_foreign_keys() Assert.True(fk.IsSelfReferencing()); } - [ConditionalFact] + [Fact] public void IsSelfReferencing_returns_false_for_same_hierarchy_foreign_keys() { var fk = CreateOneToManySameHierarchyFK(); @@ -473,7 +473,7 @@ public void IsSelfReferencing_returns_false_for_same_hierarchy_foreign_keys() Assert.False(fk.IsSelfReferencing()); } - [ConditionalFact] + [Fact] public void IsSelfReferencing_returns_false_for_same_base_foreign_keys() { var fk = CreateOneToManySameBaseFK(); @@ -481,7 +481,7 @@ public void IsSelfReferencing_returns_false_for_same_base_foreign_keys() Assert.False(fk.IsSelfReferencing()); } - [ConditionalFact] + [Fact] public void IsSelfReferencing_returns_false_for_non_hierarchical_foreign_keys() { var fk = CreateOneToManyFK(); @@ -489,7 +489,7 @@ public void IsSelfReferencing_returns_false_for_non_hierarchical_foreign_keys() Assert.False(fk.IsSelfReferencing()); } - [ConditionalFact] + [Fact] public void IsBaseLinking_returns_true_for_self_ref_foreign_keys() { var fk = CreateSelfRefFK(); @@ -497,7 +497,7 @@ public void IsBaseLinking_returns_true_for_self_ref_foreign_keys() Assert.True(fk.IsBaseLinking()); } - [ConditionalFact] + [Fact] public void IsBaseLinking_returns_false_for_non_pk_self_ref_foreign_keys() { var fk = CreateSelfRefFK(useAltKey: true); @@ -505,7 +505,7 @@ public void IsBaseLinking_returns_false_for_non_pk_self_ref_foreign_keys() Assert.False(fk.IsBaseLinking()); } - [ConditionalFact] + [Fact] public void IsBaseLinking_returns_true_for_same_hierarchy_foreign_keys() { var fk = CreateOneToManySameHierarchyFK(); @@ -513,7 +513,7 @@ public void IsBaseLinking_returns_true_for_same_hierarchy_foreign_keys() Assert.True(fk.IsBaseLinking()); } - [ConditionalFact] + [Fact] public void IsBaseLinking_returns_true_for_same_base_foreign_keys() { var fk = CreateOneToManySameBaseFK(); @@ -521,7 +521,7 @@ public void IsBaseLinking_returns_true_for_same_base_foreign_keys() Assert.True(fk.IsBaseLinking()); } - [ConditionalFact] + [Fact] public void IsSelfPrimaryKeyReferencing_returns_false_for_non_hierarchical_foreign_keys() { var fk = CreateOneToManyFK(); @@ -529,7 +529,7 @@ public void IsSelfPrimaryKeyReferencing_returns_false_for_non_hierarchical_forei Assert.False(fk.IsBaseLinking()); } - [ConditionalFact] + [Fact] public void Can_change_cascade_delete_flag() { var entityType = CreateModel().AddEntityType("E"); @@ -560,7 +560,7 @@ public void Can_change_cascade_delete_flag() Assert.Equal(DeleteBehavior.ClientSetNull, foreignKey.DeleteBehavior); } - [ConditionalFact] + [Fact] public void Can_change_cascade_ownership() { var entityType = CreateModel().AddOwnedEntityType("E"); @@ -587,7 +587,7 @@ public void Can_change_cascade_ownership() Assert.Throws(() => foreignKey.SetPrincipalToDependent((string)null)).Message); } - [ConditionalFact] + [Fact] public void IsOwnership_throws_when_no_navigation() { var entityType = CreateModel().AddOwnedEntityType("E"); @@ -608,7 +608,7 @@ public void IsOwnership_throws_when_no_navigation() Assert.Throws(() => foreignKey.IsOwnership = true).Message); } - [ConditionalFact] + [Fact] public void Can_find_targets_for_non_hierarchical_foreign_keys() { var fk = CreateOneToManyFK(); @@ -626,7 +626,7 @@ public void Can_find_targets_for_non_hierarchical_foreign_keys() Assert.Equal([fk.PrincipalToDependent], fk.FindNavigationsToInHierarchy(fk.DeclaringEntityType)); } - [ConditionalFact] + [Fact] public void Can_find_targets_for_same_base_foreign_keys() { var fk = CreateOneToManySameBaseFK(); @@ -681,7 +681,7 @@ public void Can_find_targets_for_same_base_foreign_keys() Assert.Equal(new[] { fk.PrincipalToDependent }.Where(n => n != null), fk.FindNavigationsToInHierarchy(derivedDependent)); } - [ConditionalFact] + [Fact] public void Can_find_targets_for_self_ref_foreign_keys() { var fk = CreateSelfRefFK(); @@ -716,7 +716,7 @@ public void Can_find_targets_for_self_ref_foreign_keys() fk.FindNavigationsToInHierarchy(fk.DeclaringEntityType).ToArray()); } - [ConditionalFact] + [Fact] public void Can_finding_targets_for_same_hierarchy_foreign_keys() { var fk = CreateOneToManySameHierarchyFK(); @@ -742,7 +742,7 @@ public void Can_finding_targets_for_same_hierarchy_foreign_keys() fk.FindNavigationsToInHierarchy(fk.DeclaringEntityType)); } - [ConditionalFact] + [Fact] public void Finding_targets_throws_for_entity_types_not_in_the_relationship() { var fk = CreateOneToManyFK(); diff --git a/test/EFCore.Tests/Metadata/Internal/IndexTest.cs b/test/EFCore.Tests/Metadata/Internal/IndexTest.cs index 08ed0239c51..520f6d36fe3 100644 --- a/test/EFCore.Tests/Metadata/Internal/IndexTest.cs +++ b/test/EFCore.Tests/Metadata/Internal/IndexTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; public class IndexTest { - [ConditionalFact] + [Fact] public void Throws_when_model_is_readonly() { var model = CreateModel(); @@ -32,7 +32,7 @@ public void Throws_when_model_is_readonly() Assert.Throws(() => index.IsUnique = false).Message); } - [ConditionalFact] + [Fact] public void Gets_expected_default_values() { var entityType = ((IConventionModel)CreateModel()).AddEntityType(typeof(Customer)); @@ -46,7 +46,7 @@ public void Gets_expected_default_values() Assert.Equal(ConfigurationSource.Convention, index.GetConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_set_unique() { var entityType = CreateModel().AddEntityType(typeof(Customer)); @@ -60,7 +60,7 @@ public void Can_set_unique() Assert.True(index.IsUnique); } - [ConditionalFact] + [Fact] public void IsDescending_all_ascending_is_normalized_to_null() { var entityType = CreateModel().AddEntityType(typeof(Customer)); @@ -74,7 +74,7 @@ public void IsDescending_all_ascending_is_normalized_to_null() Assert.Null(index.IsDescending); } - [ConditionalFact] + [Fact] public void IsDescending_all_descending_is_normalized_to_empty() { var entityType = CreateModel().AddEntityType(typeof(Customer)); @@ -88,7 +88,7 @@ public void IsDescending_all_descending_is_normalized_to_empty() Assert.Equal([], index.IsDescending); } - [ConditionalFact] + [Fact] public void IsDescending_invalid_number_of_columns_throws() { var entityType = CreateModel().AddEntityType(typeof(Customer)); diff --git a/test/EFCore.Tests/Metadata/Internal/InternalEntityTypeBuilderTest.cs b/test/EFCore.Tests/Metadata/Internal/InternalEntityTypeBuilderTest.cs index 7b56e19f017..37db13cf63a 100644 --- a/test/EFCore.Tests/Metadata/Internal/InternalEntityTypeBuilderTest.cs +++ b/test/EFCore.Tests/Metadata/Internal/InternalEntityTypeBuilderTest.cs @@ -14,7 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; public class InternalEntityTypeBuilderTest { - [ConditionalFact] + [Fact] public void Relationship_returns_same_instance_for_same_navigations() { var modelBuilder = CreateModelBuilder(); @@ -42,7 +42,7 @@ public void Relationship_returns_same_instance_for_same_navigations() ConfigurationSource.Convention)); } - [ConditionalFact] + [Fact] public void Can_add_relationship_if_principal_entity_has_no_PK() { var modelBuilder = CreateModelBuilder(); @@ -64,7 +64,7 @@ public void Can_add_relationship_if_principal_entity_has_no_PK() Assert.True(fkProperty.IsShadowProperty()); } - [ConditionalFact] + [Fact] public void Collection_navigation_to_principal_throws() { var modelBuilder = CreateModelBuilder(); @@ -82,7 +82,7 @@ public void Collection_navigation_to_principal_throws() targetIsPrincipal: true)).Message); } - [ConditionalFact] + [Fact] public void Can_add_relationship_if_principal_entity_PK_name_contains_principal_entity_name() { var modelBuilder = CreateModelBuilder(); @@ -106,7 +106,7 @@ public void Can_add_relationship_if_principal_entity_PK_name_contains_principal_ Assert.True(fkProperty.IsShadowProperty()); } - [ConditionalFact] + [Fact] public void Can_add_relationship_if_principal_entity_PK_name_contains_principal_navigation_name() { var modelBuilder = CreateModelBuilder(); @@ -131,7 +131,7 @@ public void Can_add_relationship_if_principal_entity_PK_name_contains_principal_ Assert.True(fkProperty.IsShadowProperty()); } - [ConditionalFact] + [Fact] public void Can_add_relationship_if_navigation_to_dependent_ignored_at_lower_source() { var modelBuilder = CreateModelBuilder(); @@ -147,7 +147,7 @@ public void Can_add_relationship_if_navigation_to_dependent_ignored_at_lower_sou ConfigurationSource.DataAnnotation)); } - [ConditionalFact] + [Fact] public void Can_add_relationship_if_navigation_to_principal_ignored_at_lower_source() { var modelBuilder = CreateModelBuilder(); @@ -163,7 +163,7 @@ public void Can_add_relationship_if_navigation_to_principal_ignored_at_lower_sou ConfigurationSource.DataAnnotation)); } - [ConditionalFact] + [Fact] public void Can_add_relationship_on_property_bag() { var modelBuilder = CreateModelBuilder(); @@ -192,7 +192,7 @@ public void Can_add_relationship_on_property_bag() Assert.Same(dependentEntityBuilder.Metadata.FindIndexerPropertyInfo(), skipNavigationBuilder.Metadata.PropertyInfo); } - [ConditionalFact] + [Fact] public void ForeignKey_creates_shadow_properties_if_corresponding_principal_key_property_is_non_shadow() { var modelBuilder = CreateModelBuilder(); @@ -211,7 +211,7 @@ public void ForeignKey_creates_shadow_properties_if_corresponding_principal_key_ Assert.Equal(shadowProperty, relationshipBuilder.Metadata.Properties.First()); } - [ConditionalFact] + [Fact] public void ForeignKey_creates_shadow_properties_if_principal_type_does_not_have_primary_key() { var modelBuilder = CreateModelBuilder(); @@ -229,7 +229,7 @@ public void ForeignKey_creates_shadow_properties_if_principal_type_does_not_have Assert.Equal(1, relationshipBuilder.Metadata.PrincipalKey.Properties.Count); } - [ConditionalFact] + [Fact] public void ForeignKey_does_not_create_shadow_properties_if_corresponding_principal_key_properties_has_different_count() { var modelBuilder = CreateModelBuilder(); @@ -247,7 +247,7 @@ public void ForeignKey_does_not_create_shadow_properties_if_corresponding_princi ConfigurationSource.Convention)).Message); } - [ConditionalFact] + [Fact] public void ForeignKey_creates_shadow_properties_if_corresponding_principal_key_property_is_shadow() { var modelBuilder = CreateModelBuilder(); @@ -268,7 +268,7 @@ public void ForeignKey_creates_shadow_properties_if_corresponding_principal_key_ Assert.Equal(shadowProperty, relationshipBuilder.Metadata.Properties.First()); } - [ConditionalFact] + [Fact] public void ForeignKey_promotes_derived_foreign_key_of_lower_or_equal_source() { var modelBuilder = CreateModelBuilder(); @@ -306,7 +306,7 @@ public void ForeignKey_promotes_derived_foreign_key_of_lower_or_equal_source() Assert.True(foreignKeyBuilder.Metadata.IsUnique); } - [ConditionalFact] + [Fact] public void ForeignKey_returns_inherited_foreign_key_of_lower_or_equal_source() { var modelBuilder = CreateModelBuilder(); @@ -340,7 +340,7 @@ public void ForeignKey_returns_inherited_foreign_key_of_lower_or_equal_source() ConfigurationSource.Convention)); } - [ConditionalFact] + [Fact] public void ForeignKey_matches_existing_foreign_key_if_same_or_no_principal_key_specified_or_lower_source() { var modelBuilder = CreateModelBuilder(); @@ -380,7 +380,7 @@ public void ForeignKey_matches_existing_foreign_key_if_same_or_no_principal_key_ Assert.Equal(2, dependentEntityBuilder.Metadata.GetForeignKeys().Count()); } - [ConditionalFact] + [Fact] public void Promotes_derived_relationship() { var modelBuilder = CreateModelBuilder(); @@ -414,7 +414,7 @@ public void Promotes_derived_relationship() Assert.Same(relationship.Metadata.PrincipalKey, principalEntityBuilder.Metadata.GetKeys().Single()); } - [ConditionalFact] + [Fact] public void Returns_inherited_relationship_of_lower_or_equal_source() { var modelBuilder = CreateModelBuilder(); @@ -451,7 +451,7 @@ public void Returns_inherited_relationship_of_lower_or_equal_source() Assert.Same(relationshipBuilder.Metadata, dependentEntityBuilder.Metadata.GetForeignKeys().Single()); } - [ConditionalFact] + [Fact] public void Does_not_add_index_on_foreign_key_properties_by_convention() { var modelBuilder = CreateModelBuilder(); @@ -467,7 +467,7 @@ public void Does_not_add_index_on_foreign_key_properties_by_convention() Assert.Empty(dependentEntityBuilder.Metadata.GetIndexes()); } - [ConditionalFact] + [Fact] public void Can_create_foreign_key_on_mix_of_inherited_properties() { var modelBuilder = CreateModelBuilder(); @@ -496,7 +496,7 @@ public void Can_create_foreign_key_on_mix_of_inherited_properties() t2 => Assert.Same(derivedEntityBuilder.Metadata, t2.DeclaringType)); } - [ConditionalFact] + [Fact] public void Can_only_remove_lower_or_equal_source_relationship() { var modelBuilder = CreateModelBuilder(); @@ -521,7 +521,7 @@ public void Can_only_remove_lower_or_equal_source_relationship() Assert.Empty(dependentEntityBuilder.Metadata.GetForeignKeys()); } - [ConditionalFact] + [Fact] public void Removing_a_relationship_from_the_wrong_entity_type_throws() { var modelBuilder = CreateModelBuilder(); @@ -543,7 +543,7 @@ public void Removing_a_relationship_from_the_wrong_entity_type_throws() .Message); } - [ConditionalFact] + [Fact] public void Removing_relationship_removes_unused_contained_shadow_properties() { var modelBuilder = CreateModelBuilder(); @@ -566,7 +566,7 @@ public void Removing_relationship_removes_unused_contained_shadow_properties() Assert.Empty(dependentEntityBuilder.Metadata.GetForeignKeys()); } - [ConditionalFact] + [Fact] public void Removing_relationship_does_not_remove_contained_shadow_properties_if_referenced_elsewhere() { Test_removing_relationship_does_not_remove_contained_shadow_properties_if_referenced_elsewhere((entityBuilder, property) @@ -611,7 +611,7 @@ private void Test_removing_relationship_does_not_remove_contained_shadow_propert foreignKey => foreignKey.Properties.SequenceEqual(relationshipBuilder.Metadata.Properties)); } - [ConditionalFact] + [Fact] public void Index_returns_same_instance_for_clr_properties() { var modelBuilder = CreateModelBuilder(); @@ -625,7 +625,7 @@ public void Index_returns_same_instance_for_clr_properties() entityBuilder.HasIndex([Order.IdProperty.Name, Order.CustomerIdProperty.Name], ConfigurationSource.DataAnnotation)); } - [ConditionalFact] + [Fact] public void Index_returns_same_instance_for_property_names() { var modelBuilder = CreateModelBuilder(); @@ -639,7 +639,7 @@ public void Index_returns_same_instance_for_property_names() indexBuilder, entityBuilder.HasIndex([Order.IdProperty, Order.CustomerIdProperty], ConfigurationSource.Explicit)); } - [ConditionalFact] + [Fact] public void Index_returns_same_instance_if_asked_for_twice() { var modelBuilder = CreateModelBuilder(); @@ -654,7 +654,7 @@ public void Index_returns_same_instance_if_asked_for_twice() entityBuilder.HasIndex([Order.IdProperty, Order.CustomerIdProperty], ConfigurationSource.Explicit)); } - [ConditionalFact] + [Fact] public void Named_index_returns_same_instance_for_clr_properties() { var modelBuilder = CreateModelBuilder(); @@ -670,7 +670,7 @@ public void Named_index_returns_same_instance_for_clr_properties() [Order.IdProperty.Name, Order.CustomerIdProperty.Name], "TestIndex", ConfigurationSource.DataAnnotation)); } - [ConditionalFact] + [Fact] public void Named_index_returns_same_instance_for_property_names() { var modelBuilder = CreateModelBuilder(); @@ -685,7 +685,7 @@ public void Named_index_returns_same_instance_for_property_names() entityBuilder.HasIndex([Order.IdProperty, Order.CustomerIdProperty], "TestIndex", ConfigurationSource.Explicit)); } - [ConditionalFact] + [Fact] public void Named_index_returns_same_instance_if_asked_for_twice() { var modelBuilder = CreateModelBuilder(); @@ -700,7 +700,7 @@ public void Named_index_returns_same_instance_if_asked_for_twice() entityBuilder.HasIndex([Order.IdProperty, Order.CustomerIdProperty], "TestIndex", ConfigurationSource.Explicit)); } - [ConditionalFact] + [Fact] public void Named_index_throws_if_try_to_create_a_new_different_index_with_same_name_on_same_type() { var modelBuilder = CreateModelBuilder(); @@ -717,7 +717,7 @@ public void Named_index_throws_if_try_to_create_a_new_different_index_with_same_ [Order.CustomerIdProperty, Order.IdProperty], "NamedIndex", ConfigurationSource.Explicit)).Message); } - [ConditionalFact] + [Fact] public void Named_index_throws_if_try_to_create_a_new_different_index_with_same_name_on_derived_type() { var modelBuilder = CreateModelBuilder(); @@ -737,7 +737,7 @@ public void Named_index_throws_if_try_to_create_a_new_different_index_with_same_ [Order.CustomerIdProperty, Order.IdProperty], "NamedIndex", ConfigurationSource.Explicit)).Message); } - [ConditionalFact] + [Fact] public void Named_index_throws_if_try_to_create_a_new_different_index_with_same_name_on_base_type() { var modelBuilder = CreateModelBuilder(); @@ -757,7 +757,7 @@ public void Named_index_throws_if_try_to_create_a_new_different_index_with_same_ [Order.CustomerIdProperty, Order.IdProperty], "NamedIndex", ConfigurationSource.Explicit)).Message); } - [ConditionalFact] + [Fact] public void Can_promote_index_to_base() { var modelBuilder = CreateModelBuilder(); @@ -773,7 +773,7 @@ public void Can_promote_index_to_base() Assert.Empty(derivedEntityBuilder.Metadata.GetDeclaredIndexes()); } - [ConditionalFact] + [Fact] public void Can_promote_named_index_to_base() { var modelBuilder = CreateModelBuilder(); @@ -789,7 +789,7 @@ public void Can_promote_named_index_to_base() Assert.Empty(derivedEntityBuilder.Metadata.GetDeclaredIndexes()); } - [ConditionalFact] + [Fact] public void Can_promote_index_to_base_with_facets() { var modelBuilder = CreateModelBuilder(); @@ -807,7 +807,7 @@ public void Can_promote_index_to_base_with_facets() Assert.Empty(derivedEntityBuilder.Metadata.GetDeclaredIndexes()); } - [ConditionalFact] + [Fact] public void Can_promote_named_index_to_base_with_facets() { var modelBuilder = CreateModelBuilder(); @@ -825,7 +825,7 @@ public void Can_promote_named_index_to_base_with_facets() Assert.Empty(derivedEntityBuilder.Metadata.GetDeclaredIndexes()); } - [ConditionalFact] + [Fact] public void Can_configure_inherited_index() { var modelBuilder = CreateModelBuilder(); @@ -843,7 +843,7 @@ public void Can_configure_inherited_index() Assert.True(indexBuilder.Metadata.IsUnique); } - [ConditionalFact] + [Fact] public void Can_create_index_on_inherited_property() { var modelBuilder = CreateModelBuilder(); @@ -860,7 +860,7 @@ public void Can_create_index_on_inherited_property() Assert.Same(entityBuilder.Metadata, indexBuilder.Metadata.Properties.First().DeclaringType); } - [ConditionalFact] + [Fact] public void Can_create_index_on_mix_of_inherited_properties() { var modelBuilder = CreateModelBuilder(); @@ -882,7 +882,7 @@ public void Can_create_index_on_mix_of_inherited_properties() t2 => Assert.Same(derivedEntityBuilder.Metadata, t2.DeclaringType)); } - [ConditionalFact] + [Fact] public void Index_returns_null_for_ignored_clr_properties() { var modelBuilder = CreateModelBuilder(); @@ -892,7 +892,7 @@ public void Index_returns_null_for_ignored_clr_properties() Assert.Null(entityBuilder.HasIndex([Order.IdProperty, Order.CustomerIdProperty], ConfigurationSource.DataAnnotation)); } - [ConditionalFact] + [Fact] public void Index_returns_null_for_ignored_property_names() { var modelBuilder = CreateModelBuilder(); @@ -903,7 +903,7 @@ public void Index_returns_null_for_ignored_property_names() entityBuilder.HasIndex([Order.IdProperty.Name, Order.CustomerIdProperty.Name], ConfigurationSource.Convention)); } - [ConditionalFact] + [Fact] public void Can_only_remove_lower_or_equal_source_index() { var modelBuilder = CreateModelBuilder(); @@ -922,7 +922,7 @@ public void Can_only_remove_lower_or_equal_source_index() Assert.Empty(entityBuilder.Metadata.GetIndexes()); } - [ConditionalFact] + [Fact] public void Removing_index_removes_unused_contained_shadow_properties() { var modelBuilder = CreateModelBuilder(); @@ -939,7 +939,7 @@ public void Removing_index_removes_unused_contained_shadow_properties() Assert.Empty(entityBuilder.Metadata.GetIndexes()); } - [ConditionalFact] + [Fact] public void Removing_index_does_not_remove_contained_shadow_properties_if_referenced_elsewhere() { Test_removing_index_does_not_remove_contained_shadow_properties_if_referenced_elsewhere((entityBuilder, property) @@ -980,7 +980,7 @@ private void Test_removing_index_does_not_remove_contained_shadow_properties_if_ Assert.DoesNotContain(entityBuilder.Metadata.GetIndexes(), i => i.Properties.SequenceEqual(index.Metadata.Properties)); } - [ConditionalFact] + [Fact] public void Key_returns_same_instance_for_clr_properties() { var modelBuilder = CreateModelBuilder(); @@ -994,7 +994,7 @@ public void Key_returns_same_instance_for_clr_properties() entityBuilder.PrimaryKey([Order.IdProperty.Name, Order.CustomerIdProperty.Name], ConfigurationSource.Convention)); } - [ConditionalFact] + [Fact] public void Key_returns_same_instance_for_property_names() { var modelBuilder = CreateModelBuilder(); @@ -1008,7 +1008,7 @@ public void Key_returns_same_instance_for_property_names() keyBuilder, entityBuilder.HasKey([Order.IdProperty, Order.CustomerIdProperty], ConfigurationSource.DataAnnotation)); } - [ConditionalFact] + [Fact] public void Key_sets_properties_to_required() { var modelBuilder = CreateModelBuilder(); @@ -1035,7 +1035,7 @@ public void Key_sets_properties_to_required() Assert.Null(entityBuilder.Metadata.FindPrimaryKey()); } - [ConditionalFact] + [Fact] public void Key_throws_for_property_names_if_they_do_not_exist() { var modelBuilder = CreateModelBuilder(); @@ -1047,7 +1047,7 @@ public void Key_throws_for_property_names_if_they_do_not_exist() entityBuilder.HasKey([Customer.UniqueProperty.Name], ConfigurationSource.Convention)).Message); } - [ConditionalFact] + [Fact] public void Key_throws_for_derived_type() { var modelBuilder = CreateModelBuilder(); @@ -1064,7 +1064,7 @@ public void Key_throws_for_derived_type() [Order.IdProperty.Name, Order.CustomerIdProperty.Name], ConfigurationSource.DataAnnotation)).Message); } - [ConditionalFact] + [Fact] public void Key_throws_for_derived_type_before_HasBase() { var modelBuilder = CreateModelBuilder(); @@ -1080,7 +1080,7 @@ public void Key_throws_for_derived_type_before_HasBase() entityBuilder.Metadata, ConfigurationSource.Explicit)).Message); } - [ConditionalFact] + [Fact] public void Key_throws_for_property_names_for_shared_entity_type_if_they_do_not_exist() { var modelBuilder = CreateModelBuilder(); @@ -1092,7 +1092,7 @@ public void Key_throws_for_property_names_for_shared_entity_type_if_they_do_not_ [Order.IdProperty.Name], ConfigurationSource.Convention)).Message); } - [ConditionalFact] + [Fact] public void Key_works_for_property_names_for_shadow_entity_type() { var modelBuilder = CreateModelBuilder(); @@ -1104,7 +1104,7 @@ public void Key_works_for_property_names_for_shadow_entity_type() Assert.Equal(Order.CustomerIdProperty.Name, entityBuilder.Metadata.GetKeys().Single().Properties.Single().Name); } - [ConditionalFact] + [Fact] public void Key_returns_null_for_ignored_clr_properties() { var modelBuilder = CreateModelBuilder(); @@ -1114,7 +1114,7 @@ public void Key_returns_null_for_ignored_clr_properties() Assert.Null(entityBuilder.HasKey([Order.IdProperty, Order.CustomerIdProperty], ConfigurationSource.DataAnnotation)); } - [ConditionalFact] + [Fact] public void Key_returns_null_for_ignored_property_names() { var modelBuilder = CreateModelBuilder(); @@ -1125,7 +1125,7 @@ public void Key_returns_null_for_ignored_property_names() entityBuilder.HasKey([Order.IdProperty.Name, Order.CustomerIdProperty.Name], ConfigurationSource.Convention)); } - [ConditionalFact] + [Fact] public void Can_only_remove_lower_or_equal_source_key() { var modelBuilder = CreateModelBuilder(); @@ -1141,7 +1141,7 @@ public void Can_only_remove_lower_or_equal_source_key() Assert.Empty(entityBuilder.Metadata.GetKeys()); } - [ConditionalFact] + [Fact] public void Removing_key_removes_unused_contained_shadow_properties() { var modelBuilder = CreateModelBuilder(); @@ -1158,7 +1158,7 @@ public void Removing_key_removes_unused_contained_shadow_properties() Assert.Empty(entityBuilder.Metadata.GetKeys()); } - [ConditionalFact] + [Fact] public void Removing_key_does_not_remove_contained_shadow_properties_if_referenced_elsewhere() { Test_removing_key_does_not_remove_contained_shadow_properties_if_referenced_elsewhere((entityBuilder, property) @@ -1200,7 +1200,7 @@ private void Test_removing_key_does_not_remove_contained_shadow_properties_if_re Assert.DoesNotContain(entityBuilder.Metadata.GetKeys(), foreignKey => foreignKey.Properties.SequenceEqual(key.Metadata.Properties)); } - [ConditionalFact] + [Fact] public void HasNoKey_can_override_lower_or_equal_source_key() { var modelBuilder = CreateModelBuilder(); @@ -1239,7 +1239,7 @@ public void HasNoKey_can_override_lower_or_equal_source_key() Assert.NotEmpty(entityType.GetKeys()); } - [ConditionalFact] + [Fact] public void HasKey_can_override_lower_or_equal_source_HasNoKey() { var modelBuilder = CreateModelBuilder(); @@ -1276,7 +1276,7 @@ public void HasKey_can_override_lower_or_equal_source_HasNoKey() Assert.NotNull(entityBuilder.HasKey([Order.CustomerIdProperty.Name], ConfigurationSource.Explicit)); } - [ConditionalFact] + [Fact] public void PrimaryKey_returns_same_instance_for_clr_properties() { var modelBuilder = CreateModelBuilder(); @@ -1293,7 +1293,7 @@ public void PrimaryKey_returns_same_instance_for_clr_properties() Assert.Same(entityBuilder.Metadata.FindPrimaryKey(), entityBuilder.Metadata.GetKeys().Single()); } - [ConditionalFact] + [Fact] public void PrimaryKey_returns_same_instance_for_property_names() { var modelBuilder = CreateModelBuilder(); @@ -1310,7 +1310,7 @@ public void PrimaryKey_returns_same_instance_for_property_names() Assert.Same(entityBuilder.Metadata.FindPrimaryKey(), entityBuilder.Metadata.GetKeys().Single()); } - [ConditionalFact] + [Fact] public void PrimaryKey_throws_for_property_names_if_they_do_not_exist() { var modelBuilder = CreateModelBuilder(); @@ -1322,7 +1322,7 @@ public void PrimaryKey_throws_for_property_names_if_they_do_not_exist() [Customer.UniqueProperty.Name], ConfigurationSource.Convention)).Message); } - [ConditionalFact] + [Fact] public void PrimaryKey_throws_for_property_names_for_shared_entity_type_if_they_do_not_exist() { var modelBuilder = CreateModelBuilder(); @@ -1334,7 +1334,7 @@ public void PrimaryKey_throws_for_property_names_for_shared_entity_type_if_they_ [Order.IdProperty.Name], ConfigurationSource.Convention)).Message); } - [ConditionalFact] + [Fact] public void PrimaryKey_throws_for_derived_type() { var modelBuilder = CreateModelBuilder(); @@ -1351,7 +1351,7 @@ public void PrimaryKey_throws_for_derived_type() [Order.IdProperty.Name, Order.CustomerIdProperty.Name], ConfigurationSource.DataAnnotation)).Message); } - [ConditionalFact] + [Fact] public void PrimaryKey_works_for_property_names_for_shadow_entity_type() { var modelBuilder = CreateModelBuilder(); @@ -1363,7 +1363,7 @@ public void PrimaryKey_works_for_property_names_for_shadow_entity_type() Assert.Equal(Order.CustomerIdProperty.Name, entityBuilder.Metadata.FindPrimaryKey().Properties.Single().Name); } - [ConditionalFact] + [Fact] public void PrimaryKey_returns_null_for_ignored_clr_properties() { var modelBuilder = CreateModelBuilder(); @@ -1373,7 +1373,7 @@ public void PrimaryKey_returns_null_for_ignored_clr_properties() Assert.Null(entityBuilder.PrimaryKey([Order.IdProperty, Order.CustomerIdProperty], ConfigurationSource.DataAnnotation)); } - [ConditionalFact] + [Fact] public void PrimaryKey_returns_null_for_ignored_property_names() { var modelBuilder = CreateModelBuilder(); @@ -1384,7 +1384,7 @@ public void PrimaryKey_returns_null_for_ignored_property_names() entityBuilder.PrimaryKey([Order.IdProperty.Name, Order.CustomerIdProperty.Name], ConfigurationSource.Convention)); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_primary_key() { var modelBuilder = CreateModelBuilder(); @@ -1416,7 +1416,7 @@ public void Can_only_override_lower_or_equal_source_primary_key() Assert.Equal(2, entityType.GetKeys().Count()); } - [ConditionalFact] + [Fact] public void Can_only_override_existing_primary_key_explicitly() { var modelBuilder = CreateModelBuilder(); @@ -1445,7 +1445,7 @@ public void Can_only_override_existing_primary_key_explicitly() Assert.Equal(Order.IdProperty.Name, entityType.FindPrimaryKey().Properties.Single().Name); } - [ConditionalFact] + [Fact] public void Changing_primary_key_removes_previously_referenced_primary_key_of_lower_or_equal_source() { var modelBuilder = CreateModelBuilder(); @@ -1467,7 +1467,7 @@ public void Changing_primary_key_removes_previously_referenced_primary_key_of_lo Assert.Equal([fkProperty1, fkProperty2], fk.Properties); } - [ConditionalFact] + [Fact] public void Changing_primary_key_removes_previously_referenced_key_of_lower_or_equal_source() { var modelBuilder = CreateModelBuilder(); @@ -1487,7 +1487,7 @@ public void Changing_primary_key_removes_previously_referenced_key_of_lower_or_e Assert.Same(keyBuilder.Metadata, principalEntityBuilder.Metadata.GetKeys().Single()); } - [ConditionalFact] + [Fact] public void Changing_primary_key_does_not_remove_previously_explicitly_referenced_key() { var modelBuilder = CreateModelBuilder(); @@ -1505,7 +1505,7 @@ public void Changing_primary_key_does_not_remove_previously_explicitly_reference Assert.Contains(keyBuilder.Metadata, principalEntityBuilder.Metadata.GetKeys()); } - [ConditionalFact] + [Fact] public void Property_returns_same_instance_for_clr_properties() { var modelBuilder = CreateModelBuilder(); @@ -1517,7 +1517,7 @@ public void Property_returns_same_instance_for_clr_properties() Assert.Same(propertyBuilder, entityBuilder.Property(typeof(int), Order.IdProperty.Name, ConfigurationSource.Explicit)); } - [ConditionalFact] + [Fact] public void Property_returns_same_instance_for_property_names() { var modelBuilder = CreateModelBuilder(); @@ -1529,7 +1529,7 @@ public void Property_returns_same_instance_for_property_names() Assert.Same(propertyBuilder, entityBuilder.Property(Order.IdProperty, ConfigurationSource.DataAnnotation)); } - [ConditionalFact] + [Fact] public void Property_returns_same_instance_if_type_matches() { var modelBuilder = CreateModelBuilder(); @@ -1563,7 +1563,7 @@ public void Property_returns_same_instance_if_type_matches() Assert.Equal([propertyBuilder.Metadata], entityBuilder.GetActualProperties([propertyBuilder.Metadata], null)); } - [ConditionalFact] + [Fact] public void Can_add_indexed_property() { var modelBuilder = CreateModelBuilder(); @@ -1575,7 +1575,7 @@ public void Can_add_indexed_property() Assert.NotNull(propertyBuilder); } - [ConditionalFact] + [Fact] public void Property_returns_same_instance_for_existing_index_property() { var modelBuilder = CreateModelBuilder(); @@ -1596,7 +1596,7 @@ public void Property_returns_same_instance_for_existing_index_property() Assert.Null(entityBuilder.Property(typeof(int), IndexedClass.IndexerPropertyName, ConfigurationSource.Convention)); } - [ConditionalFact] + [Fact] public void Property_removes_existing_index_property_for_higher_source_if_type_mismatch() { var modelBuilder = CreateModelBuilder(); @@ -1618,7 +1618,7 @@ public void Property_removes_existing_index_property_for_higher_source_if_type_m Assert.False(replacedPropertyBuilder.Metadata.IsShadowProperty()); } - [ConditionalFact] + [Fact] public void Indexer_property_removes_existing_shadow_property_for_higher_source() { var modelBuilder = CreateModelBuilder(); @@ -1639,7 +1639,7 @@ public void Indexer_property_removes_existing_shadow_property_for_higher_source( Assert.False(replacedPropertyBuilder.Metadata.IsShadowProperty()); } - [ConditionalFact] + [Fact] public void Indexer_property_throws_when_entityType_is_not_indexer() { var modelBuilder = CreateModelBuilder(); @@ -1651,7 +1651,7 @@ public void Indexer_property_throws_when_entityType_is_not_indexer() typeof(string), IndexedClass.IndexerPropertyName, ConfigurationSource.Convention)).Message); } - [ConditionalFact] + [Fact] public void Property_throws_for_navigation() { var modelBuilder = CreateModelBuilder(); @@ -1673,7 +1673,7 @@ public void Property_throws_for_navigation() .Property(Order.CustomerProperty, ConfigurationSource.Explicit)).Message); } - [ConditionalFact] + [Fact] public void Cannot_add_shadow_property_without_type() { var modelBuilder = CreateModelBuilder(); @@ -1685,7 +1685,7 @@ public void Cannot_add_shadow_property_without_type() .Message); } - [ConditionalFact] + [Fact] public void Can_promote_property_to_base() { var modelBuilder = CreateModelBuilder(); @@ -1710,7 +1710,7 @@ public void Can_promote_property_to_base() Assert.Equal(1, propertyBuilder.Metadata.GetMaxLength()); } - [ConditionalFact] + [Fact] public void Can_configure_inherited_property() { var modelBuilder = CreateModelBuilder(); @@ -1740,7 +1740,7 @@ public void Can_configure_inherited_property() Assert.NotNull(entityBuilder.Metadata.FindPrimaryKey()); } - [ConditionalFact] + [Fact] public void Can_reuniquify_temporary_properties_with_same_names() { var modelBuilder = CreateModelBuilder(); @@ -1769,7 +1769,7 @@ public void Can_reuniquify_temporary_properties_with_same_names() Assert.Equal(2, dependentEntityBuilder.Metadata.GetProperties().Count()); } - [ConditionalFact] + [Fact] public void Can_reuniquify_temporary_properties_with_same_names_different_types_in_two_passes() { var modelBuilder = CreateModelBuilder(); @@ -1798,7 +1798,7 @@ public void Can_reuniquify_temporary_properties_with_same_names_different_types_ Assert.Equal(2, dependentEntityBuilder.Metadata.GetProperties().Count()); } - [ConditionalFact] + [Fact] public void Can_reuniquify_temporary_properties_avoiding_unmapped_clr_properties() { var modelBuilder = CreateModelBuilder(); @@ -1827,7 +1827,7 @@ public void Can_reuniquify_temporary_properties_avoiding_unmapped_clr_properties Assert.Equal(2, dependentEntityBuilder.Metadata.GetProperties().Count()); } - [ConditionalTheory, MemberData( + [Theory, MemberData( nameof(DataGenerator.GetCombinations), [new[] { typeof(ConfigurationSource), typeof(ConfigurationSource) }], MemberType = typeof(DataGenerator))] @@ -1971,7 +1971,7 @@ private void ConfigureOrdersHierarchy(InternalModelBuilder modelBuilder) derivedEntityBuilder.HasBaseType(typeof(SpecialOrder), ConfigurationSource.Explicit); } - [ConditionalFact] + [Fact] public void Can_ignore_service_property() { var modelBuilder = CreateModelBuilder(); @@ -1984,7 +1984,7 @@ public void Can_ignore_service_property() Assert.Empty(entityBuilder.Metadata.GetServiceProperties()); } - [ConditionalFact] + [Fact] public void Can_ignore_property_that_is_part_of_lower_source_foreign_key_preserving_the_relationship() { var modelBuilder = CreateModelBuilder(); @@ -2027,7 +2027,7 @@ public void Can_ignore_property_that_is_part_of_lower_source_foreign_key_preserv Assert.NotNull(dependentEntityBuilder.Metadata.GetForeignKeys().Where(foreignKey => foreignKey != newFk)); } - [ConditionalFact] + [Fact] public void Cannot_ignore_property_that_is_part_of_higher_source_foreign_key() { var modelBuilder = CreateModelBuilder(); @@ -2048,7 +2048,7 @@ public void Cannot_ignore_property_that_is_part_of_higher_source_foreign_key() Assert.NotEmpty(dependentEntityBuilder.Metadata.GetForeignKeys()); } - [ConditionalFact] + [Fact] public void Can_ignore_property_that_is_part_of_lower_source_index() { var logger = CreateTestLogger(); @@ -2066,7 +2066,7 @@ public void Can_ignore_property_that_is_part_of_lower_source_index() Assert.Null(logger.Message); } - [ConditionalFact] + [Fact] public void Can_ignore_property_that_was_explicitly_mapped() { var logger = CreateTestLogger(); @@ -2084,7 +2084,7 @@ public void Can_ignore_property_that_was_explicitly_mapped() logger.Message); } - [ConditionalFact] + [Fact] public void Can_ignore_navigation_that_is_part_of_lower_source_index() { var logger = CreateTestLogger(); @@ -2106,7 +2106,7 @@ public void Can_ignore_navigation_that_is_part_of_lower_source_index() Assert.Null(logger.Message); } - [ConditionalFact] + [Fact] public void Can_ignore_navigation_that_was_explicitly_mapped() { var logger = CreateTestLogger(); @@ -2130,7 +2130,7 @@ public void Can_ignore_navigation_that_was_explicitly_mapped() logger.Message); } - [ConditionalFact] + [Fact] public void Can_ignore_skip_navigation_that_is_part_of_lower_source_index() { var logger = CreateTestLogger(); @@ -2151,7 +2151,7 @@ public void Can_ignore_skip_navigation_that_is_part_of_lower_source_index() Assert.Null(logger.Message); } - [ConditionalFact] + [Fact] public void Can_ignore_skip_navigation_that_was_explicitly_mapped() { var logger = CreateTestLogger(); @@ -2174,7 +2174,7 @@ public void Can_ignore_skip_navigation_that_was_explicitly_mapped() logger.Message); } - [ConditionalFact] + [Fact] public void Cannot_ignore_property_that_is_part_of_same_or_higher_source_index() { var modelBuilder = CreateModelBuilder(); @@ -2188,7 +2188,7 @@ public void Cannot_ignore_property_that_is_part_of_same_or_higher_source_index() Assert.NotEmpty(entityBuilder.Metadata.GetIndexes()); } - [ConditionalFact] + [Fact] public void Can_ignore_property_that_is_part_of_lower_source_key() { var modelBuilder = CreateModelBuilder(); @@ -2203,7 +2203,7 @@ public void Can_ignore_property_that_is_part_of_lower_source_key() Assert.Empty(entityBuilder.Metadata.GetKeys()); } - [ConditionalFact] + [Fact] public void Can_ignore_property_that_is_part_of_lower_source_principal_key_preserving_the_relationship() { var modelBuilder = CreateModelBuilder(); @@ -2245,7 +2245,7 @@ public void Can_ignore_property_that_is_part_of_lower_source_principal_key_prese Assert.Equal(Customer.OrdersProperty.Name, newFk.PrincipalToDependent.Name); } - [ConditionalFact] + [Fact] public void Cannot_ignore_property_that_is_part_of_same_or_higher_source_key() { var modelBuilder = CreateModelBuilder(); @@ -2259,7 +2259,7 @@ public void Cannot_ignore_property_that_is_part_of_same_or_higher_source_key() Assert.NotEmpty(entityBuilder.Metadata.GetKeys()); } - [ConditionalFact] + [Fact] public void Navigation_returns_same_value() { var modelBuilder = CreateModelBuilder(); @@ -2312,7 +2312,7 @@ public void Navigation_returns_same_value() Assert.Same(foreignKeyBuilder.Metadata.PrincipalKey, principalEntityBuilder.Metadata.GetKeys().Single()); } - [ConditionalTheory, MemberData( + [Theory, MemberData( nameof(DataGenerator.GetCombinations), [new[] { typeof(ConfigurationSource), typeof(ConfigurationSource) }], MemberType = typeof(DataGenerator))] @@ -2351,7 +2351,7 @@ private void VerifyIgnoreNavigation( modelBuilder => { }, Order.CustomerProperty.Name); - [ConditionalFact] + [Fact] public void Can_merge_with_intrahierarchical_relationship_of_higher_source() { var modelBuilder = CreateModelBuilder(); @@ -2377,7 +2377,7 @@ public void Can_merge_with_intrahierarchical_relationship_of_higher_source() Assert.Equal(nameof(SpecialCustomer.Customer), baseNavigation.Inverse?.Name); } - [ConditionalFact] + [Fact] public void Relationship_does_not_return_same_instance_if_no_navigations() { var modelBuilder = CreateModelBuilder(); @@ -2392,7 +2392,7 @@ public void Relationship_does_not_return_same_instance_if_no_navigations() Assert.Equal(2, orderEntityBuilder.Metadata.GetForeignKeys().Count()); } - [ConditionalTheory, MemberData( + [Theory, MemberData( nameof(DataGenerator.GetCombinations), [new[] { typeof(ConfigurationSource), typeof(ConfigurationSource) }], MemberType = typeof(DataGenerator))] @@ -2434,7 +2434,7 @@ private void VerifyIgnoreSkipNavigation( ConfigurationSource.Convention), nameof(Order.Products)); - [ConditionalTheory, MemberData( + [Theory, MemberData( nameof(DataGenerator.GetCombinations), [ new[] { typeof(ConfigurationSource), typeof(ConfigurationSource), typeof(MemberType), typeof(MemberType), typeof(bool) } @@ -2640,7 +2640,7 @@ private EntityType GetDeclaringType( return null; } - [ConditionalFact] + [Fact] public void Can_ignore_lower_source_weak_entity_type() { var modelBuilder = CreateModelBuilder(); @@ -2653,7 +2653,7 @@ public void Can_ignore_lower_source_weak_entity_type() Assert.Equal(typeof(Customer).FullName, modelBuilder.Metadata.GetEntityTypes().Single().Name); } - [ConditionalFact] + [Fact] public void Can_ignore_lower_source_principal_entity_type() { var modelBuilder = CreateModelBuilder(); @@ -2666,7 +2666,7 @@ public void Can_ignore_lower_source_principal_entity_type() Assert.Equal(typeof(Order).FullName, modelBuilder.Metadata.GetEntityTypes().Single().Name); } - [ConditionalFact] + [Fact] public void Can_ignore_lower_source_navigation_to_dependent() { var modelBuilder = CreateModelBuilder(); @@ -2687,7 +2687,7 @@ public void Can_ignore_lower_source_navigation_to_dependent() principalEntityBuilder.Metadata, null, Customer.OrdersProperty.Name, ConfigurationSource.Convention)); } - [ConditionalFact] + [Fact] public void Can_ignore_lower_source_navigation_to_principal() { var modelBuilder = CreateModelBuilder(); @@ -2708,7 +2708,7 @@ public void Can_ignore_lower_source_navigation_to_principal() principalEntityBuilder.Metadata, Order.CustomerProperty, null, ConfigurationSource.Convention)); } - [ConditionalFact] + [Fact] public void Cannot_add_navigation_to_principal_if_null_navigation_is_higher_source() { var modelBuilder = CreateModelBuilder(); @@ -2728,7 +2728,7 @@ public void Cannot_add_navigation_to_principal_if_null_navigation_is_higher_sour Assert.Equal(Customer.OrdersProperty.Name, fk.PrincipalToDependent.Name); } - [ConditionalFact] + [Fact] public void Cannot_add_navigation_to_dependent_if_null_navigation_is_higher_source() { var modelBuilder = CreateModelBuilder(); @@ -2747,7 +2747,7 @@ public void Cannot_add_navigation_to_dependent_if_null_navigation_is_higher_sour Assert.Equal(Order.CustomerProperty.Name, fk.DependentToPrincipal.Name); } - [ConditionalFact] + [Fact] public void Dependent_conflicting_relationship_is_not_removed_if_principal_conflicting_relationship_cannot_be_removed() { var modelBuilder = CreateModelBuilder(); @@ -2775,7 +2775,7 @@ public void Dependent_conflicting_relationship_is_not_removed_if_principal_confl Assert.Null(customerFk.DependentToPrincipal); } - [ConditionalFact] + [Fact] public void Principal_conflicting_relationship_is_not_removed_if_dependent_conflicting_relationship_cannot_be_removed() { var modelBuilder = CreateModelBuilder(); @@ -2801,7 +2801,7 @@ public void Principal_conflicting_relationship_is_not_removed_if_dependent_confl Assert.Null(customerRelationship.Metadata.DependentToPrincipal); } - [ConditionalFact] + [Fact] public void Conflicting_navigations_are_not_removed_if_conflicting_fk_cannot_be_removed() { var modelBuilder = CreateModelBuilder(); @@ -2845,7 +2845,7 @@ public void Conflicting_navigations_are_not_removed_if_conflicting_fk_cannot_be_ Assert.NotNull(fkRelationship.Metadata.Builder); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_base_type() { var modelBuilder = CreateModelBuilder(); @@ -2866,7 +2866,7 @@ public void Can_only_override_lower_or_equal_source_base_type() Assert.Same(entityBuilder.Metadata, derivedEntityBuilder.Metadata.BaseType); } - [ConditionalFact] + [Fact] public void Can_only_override_existing_base_type_explicitly() { var modelBuilder = CreateModelBuilder(); @@ -2880,7 +2880,7 @@ public void Can_only_override_existing_base_type_explicitly() Assert.Null(derivedEntityBuilder.Metadata.BaseType); } - [ConditionalFact] + [Fact] public void Can_set_base_type_if_duplicate_properties_of_higher_source() { var modelBuilder = CreateModelBuilder(); @@ -2897,7 +2897,7 @@ public void Can_set_base_type_if_duplicate_properties_of_higher_source() Assert.Empty(derivedEntityBuilder.Metadata.GetDeclaredProperties()); } - [ConditionalFact] + [Fact] public void Can_only_set_base_type_if_keys_of_data_annotation_or_lower_source() { var modelBuilder = CreateModelBuilder(); @@ -2917,7 +2917,7 @@ public void Can_only_set_base_type_if_keys_of_data_annotation_or_lower_source() Assert.Empty(derivedEntityBuilder.Metadata.GetDeclaredKeys()); } - [ConditionalFact] + [Fact] public void Cannot_set_base_type_for_relationship_with_explicit_conflicting_incompatible_navigations() { var modelBuilder = CreateModelBuilder(); @@ -2947,7 +2947,7 @@ public void Cannot_set_base_type_for_relationship_with_explicit_conflicting_inco .Message); } - [ConditionalFact] + [Fact] public void Can_set_base_type_for_relationship_with_explicit_conflicting_foreign_key() { var modelBuilder = CreateModelBuilder(); @@ -2967,7 +2967,7 @@ public void Can_set_base_type_for_relationship_with_explicit_conflicting_foreign Assert.Empty(derivedDependentEntityBuilder.Metadata.GetDeclaredForeignKeys()); } - [ConditionalFact] + [Fact] public void Setting_base_type_preserves_index() { var modelBuilder = CreateModelBuilder(); @@ -2987,7 +2987,7 @@ public void Setting_base_type_preserves_index() Assert.True(derivedEntityBuilder.Metadata.GetDeclaredIndexes().First().IsUnique); } - [ConditionalFact] + [Fact] public void Setting_base_type_preserves_non_conflicting_referencing_relationship() { var modelBuilder = CreateModelBuilder(); @@ -3019,7 +3019,7 @@ public void Setting_base_type_preserves_non_conflicting_referencing_relationship Assert.Equal(Customer.OrdersProperty.Name, fk.PrincipalToDependent.Name); } - [ConditionalFact] + [Fact] public void Setting_base_type_preserves_non_conflicting_relationship_on_duplicate_foreign_key_properties() { var modelBuilder = CreateModelBuilder(); @@ -3048,7 +3048,7 @@ public void Setting_base_type_preserves_non_conflicting_relationship_on_duplicat Assert.Equal(Order.IdProperty.Name, fk.Properties.Single().Name); } - [ConditionalFact] + [Fact] public void Setting_base_type_fixes_relationship_conflicting_with_PK() { var modelBuilder = CreateModelBuilder(); @@ -3078,7 +3078,7 @@ public void Setting_base_type_fixes_relationship_conflicting_with_PK() Assert.Single(dependentEntityBuilder.Metadata.GetDeclaredProperties()); } - [ConditionalFact] + [Fact] public void Setting_base_type_removes_duplicate_derived_service_properties() { var modelBuilder = CreateModelBuilder(); @@ -3097,7 +3097,7 @@ public void Setting_base_type_removes_duplicate_derived_service_properties() Assert.Empty(derivedEntityBuilder.Metadata.GetDeclaredServiceProperties()); } - [ConditionalFact] + [Fact] public void Setting_base_type_preserves_duplicate_base_service_properties() { var modelBuilder = CreateModelBuilder(); @@ -3116,7 +3116,7 @@ public void Setting_base_type_preserves_duplicate_base_service_properties() Assert.Empty(derivedEntityBuilder.Metadata.GetDeclaredServiceProperties()); } - [ConditionalFact] + [Fact] public void Can_access_discriminator() { IConventionEntityTypeBuilder typeBuilder = CreateModelBuilder().Entity(typeof(Order), ConfigurationSource.Convention); @@ -3152,7 +3152,7 @@ public void Can_access_discriminator() Assert.Null(typeBuilder.HasNoDiscriminator()); } - [ConditionalFact] + [Fact] public void Discriminator_is_not_set_if_ignored() { IConventionEntityTypeBuilder typeBuilder = CreateModelBuilder().Entity(typeof(Order), ConfigurationSource.Convention); @@ -3167,7 +3167,7 @@ public void Discriminator_is_not_set_if_ignored() Assert.Equal(typeof(string), typeBuilder.Metadata.FindDiscriminatorProperty().ClrType); } - [ConditionalFact] + [Fact] public void Discriminator_is_not_set_if_default_ignored() { IConventionEntityTypeBuilder typeBuilder = CreateModelBuilder().Entity(typeof(Order), ConfigurationSource.Convention); @@ -3177,7 +3177,7 @@ public void Discriminator_is_not_set_if_default_ignored() Assert.Empty(typeBuilder.Metadata.GetProperties()); } - [ConditionalFact] + [Fact] public void Can_access_discriminator_value() { IConventionEntityTypeBuilder typeBuilder = CreateModelBuilder().Entity("Splot", ConfigurationSource.Convention); @@ -3234,7 +3234,7 @@ public void Can_access_discriminator_value() Assert.Empty(typeBuilder.Metadata.GetProperties()); } - [ConditionalFact] + [Fact] public void Changing_discriminator_type_removes_values() { IConventionEntityTypeBuilder typeBuilder = CreateModelBuilder().Entity("Splot", ConfigurationSource.Convention); @@ -3286,7 +3286,7 @@ public void Changing_discriminator_type_removes_values() .Metadata[CoreAnnotationNames.DiscriminatorValue]); } - [ConditionalFact] + [Fact] public void Can_access_discriminator_value_generic() { IConventionEntityTypeBuilder typeBuilder = CreateModelBuilder().Entity(typeof(Splot), ConfigurationSource.Convention); @@ -3323,7 +3323,7 @@ public void Can_access_discriminator_value_generic() Assert.Equal(6, splod.GetDiscriminatorValue()); } - [ConditionalFact] + [Fact] public void DiscriminatorValue_throws_if_base_cannot_be_set() { IConventionModelBuilder modelBuilder = CreateModelBuilder(); @@ -3337,7 +3337,7 @@ public void DiscriminatorValue_throws_if_base_cannot_be_set() Assert.Throws(() => discriminatorBuilder.HasValue(nonDerivedTypeBuilder.Metadata, "1")).Message); } - [ConditionalFact] + [Fact] public void Can_replace_query_filter_only_with_lower_or_equal_source() { var modelBuilder = CreateModelBuilder(); @@ -3371,7 +3371,7 @@ public void Can_replace_query_filter_only_with_lower_or_equal_source() Assert.NotEqual(filterExpression2, entityBuilder.Metadata.FindDeclaredQueryFilter(null).Expression); } - [ConditionalFact] + [Fact] public void Can_replace_named_query_filter_only_with_lower_or_equal_source() { var modelBuilder = CreateModelBuilder(); @@ -3406,7 +3406,7 @@ public void Can_replace_named_query_filter_only_with_lower_or_equal_source() Assert.NotEqual(filterExpression2, entityBuilder.Metadata.FindDeclaredQueryFilter(filterKey).Expression); } - [ConditionalFact] + [Fact] public void Can_override_named_query_filter_from_convention_with_explicit_configuration() { // This test verifies that named query filters set by conventions can be overridden by explicit configuration diff --git a/test/EFCore.Tests/Metadata/Internal/InternalForeignKeyBuilderTest.cs b/test/EFCore.Tests/Metadata/Internal/InternalForeignKeyBuilderTest.cs index ba27401433a..04a759cbe61 100644 --- a/test/EFCore.Tests/Metadata/Internal/InternalForeignKeyBuilderTest.cs +++ b/test/EFCore.Tests/Metadata/Internal/InternalForeignKeyBuilderTest.cs @@ -12,7 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; public class InternalForeignKeyBuilderTest { - [ConditionalFact] + [Fact] public void Facets_are_configured_with_the_specified_source() { var modelBuilder = CreateInternalModelBuilder(); @@ -83,7 +83,7 @@ public void Facets_are_configured_with_the_specified_source() ConfigurationSource.DataAnnotation)); } - [ConditionalFact] + [Fact] public void Existing_facets_are_configured_explicitly() { var modelBuilder = CreateInternalModelBuilder(); @@ -119,7 +119,7 @@ public void Existing_facets_are_configured_explicitly() Assert.Equal(ConfigurationSource.Explicit, foreignKey.GetDeleteBehaviorConfigurationSource()); } - [ConditionalFact] + [Fact] public void Read_only_facets_are_configured_explicitly_by_default() { var modelBuilder = CreateInternalModelBuilder(); @@ -143,7 +143,7 @@ public void Read_only_facets_are_configured_explicitly_by_default() Assert.Equal(ConfigurationSource.Explicit, foreignKey.GetPrincipalEndConfigurationSource()); } - [ConditionalFact] + [Fact] public void ForeignKey_returns_same_instance_for_same_properties() { var modelBuilder = CreateInternalModelBuilder(); @@ -163,7 +163,7 @@ public void ForeignKey_returns_same_instance_for_same_properties() .HasPrincipalKey(relationshipBuilder.Metadata.PrincipalKey.Properties, ConfigurationSource.Convention)); } - [ConditionalFact] + [Fact] public void ForeignKey_uses_same_relationship_if_conflicting_properties_configured_with_lower_source() { var modelBuilder = CreateInternalModelBuilder(); @@ -183,7 +183,7 @@ public void ForeignKey_uses_same_relationship_if_conflicting_properties_configur Assert.Single(orderEntityBuilder.Metadata.GetForeignKeys()); } - [ConditionalFact] + [Fact] public void ForeignKey_can_be_set_independently_from_requiredness() { var modelBuilder = CreateInternalModelBuilder(); @@ -207,7 +207,7 @@ public void ForeignKey_can_be_set_independently_from_requiredness() relationshipBuilder.Metadata.Properties.Select(p => p.Name)); } - [ConditionalFact] + [Fact] public void ForeignKey_overrides_incompatible_lower_or_equal_source_principal_key() { var modelBuilder = CreateInternalModelBuilder(); @@ -243,7 +243,7 @@ public void ForeignKey_overrides_incompatible_lower_or_equal_source_principal_ke relationshipBuilder.Metadata.Properties.Select(p => p.Name)); } - [ConditionalFact] + [Fact] public void ForeignKey_creates_shadow_properties_if_corresponding_principal_key_property_is_non_shadow() { var modelBuilder = CreateInternalModelBuilder(); @@ -261,7 +261,7 @@ public void ForeignKey_creates_shadow_properties_if_corresponding_principal_key_ Assert.Equal(shadowProperty, relationshipBuilder.Metadata.Properties.First()); } - [ConditionalFact] + [Fact] public void ForeignKey_creates_shadow_properties_if_principal_entity_has_no_PK() { var modelBuilder = CreateInternalModelBuilder(); @@ -283,7 +283,7 @@ public void ForeignKey_creates_shadow_properties_if_principal_entity_has_no_PK() Assert.Equal(2, relationshipBuilder.Metadata.PrincipalKey.Properties.Count); } - [ConditionalFact] + [Fact] public void ForeignKey_creates_shadow_properties_if_corresponding_principal_key_property_is_shadow() { var modelBuilder = CreateInternalModelBuilder(); @@ -298,7 +298,7 @@ public void ForeignKey_creates_shadow_properties_if_corresponding_principal_key_ Assert.Equal(shadowProperty, relationshipBuilder.Metadata.Properties.First()); } - [ConditionalFact] + [Fact] public void PrincipalKey_does_not_return_same_instance_for_same_properties() { var modelBuilder = CreateInternalModelBuilder(); @@ -318,7 +318,7 @@ public void PrincipalKey_does_not_return_same_instance_for_same_properties() Assert.Equal(2, customerEntityBuilder.Metadata.GetForeignKeys().Count()); } - [ConditionalFact] + [Fact] public void PrincipalKey_overrides_incompatible_lower_or_equal_source_dependent_properties() { var modelBuilder = CreateInternalModelBuilder(); @@ -353,7 +353,7 @@ public void PrincipalKey_overrides_incompatible_lower_or_equal_source_dependent_ relationshipBuilder.Metadata.Properties.Select(p => p.Name)); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_Unique() { var modelBuilder = CreateInternalModelBuilder(); @@ -373,7 +373,7 @@ public void Can_only_override_lower_or_equal_source_Unique() Assert.False(relationshipBuilder.Metadata.IsUnique); } - [ConditionalFact] + [Fact] public void Can_only_override_existing_Unique_value_explicitly() { var modelBuilder = CreateInternalModelBuilder(); @@ -416,7 +416,7 @@ public void Can_only_override_existing_Unique_value_explicitly() Assert.False(((IReadOnlyForeignKey)relationshipBuilder.Metadata).IsUnique); } - [ConditionalFact] + [Fact] public void Unique_overrides_incompatible_lower_or_equal_source_principalToDependent() { var modelBuilder = CreateInternalModelBuilder(); @@ -441,7 +441,7 @@ public void Unique_overrides_incompatible_lower_or_equal_source_principalToDepen Assert.Null(relationshipBuilder.Metadata.PrincipalToDependent); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_Required() { var modelBuilder = CreateInternalModelBuilder(); @@ -461,7 +461,7 @@ public void Can_only_override_lower_or_equal_source_Required() Assert.False(relationshipBuilder.Metadata.IsRequired); } - [ConditionalFact] + [Fact] public void Can_set_Required_independently_from_nullability() { var modelBuilder = CreateInternalModelBuilder(); @@ -500,7 +500,7 @@ public void Can_set_Required_independently_from_nullability() Assert.Same(customerUniqueProperty, fk.Properties[1]); } - [ConditionalFact] + [Fact] public void Can_set_Required_false_on_non_nullable_properties() { var modelBuilder = CreateInternalModelBuilder(); @@ -533,7 +533,7 @@ public void Can_set_Required_false_on_non_nullable_properties() relationshipBuilder.Metadata.Properties.Select(p => p.Name)); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_RequiredDependent() { var modelBuilder = CreateInternalModelBuilder(); @@ -554,7 +554,7 @@ public void Can_only_override_lower_or_equal_source_RequiredDependent() Assert.False(relationshipBuilder.Metadata.IsRequiredDependent); } - [ConditionalFact] + [Fact] public void IsRequiredDependent_throws_when_ambiguous() { var modelBuilder = CreateInternalModelBuilder(); @@ -573,7 +573,7 @@ public void IsRequiredDependent_throws_when_ambiguous() relationshipBuilder.IsRequiredDependent(true, ConfigurationSource.Explicit)).Message); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_Ownership() { var modelBuilder = CreateInternalModelBuilder(); @@ -594,7 +594,7 @@ public void Can_only_override_lower_or_equal_source_Ownership() Assert.False(relationshipBuilder.Metadata.IsOwnership); } - [ConditionalFact] + [Fact] public void HasRelationship_throws_when_incompatible_navigations() { var modelBuilder = CreateInternalModelBuilder(); @@ -612,7 +612,7 @@ public void HasRelationship_throws_when_incompatible_navigations() setTargetAsPrincipal: true)).Message); } - [ConditionalFact] + [Fact] public void Can_only_invert_lower_or_equal_source() { var modelBuilder = CreateInternalModelBuilder(); @@ -678,7 +678,7 @@ public void Can_only_invert_lower_or_equal_source() Assert.Same(orderEntityBuilder.Metadata, relationshipBuilder.Metadata.DeclaringEntityType); } - [ConditionalFact] + [Fact] public void Can_invert_one_to_many() { var modelBuilder = CreateInternalModelBuilder(); @@ -698,7 +698,7 @@ public void Can_invert_one_to_many() Assert.Same(orderEntityBuilder.Metadata, relationshipBuilder.Metadata.PrincipalEntityType); } - [ConditionalFact] + [Fact] public void Inverting_to_keyless_throws() { var modelBuilder = CreateInternalModelBuilder(); @@ -721,7 +721,7 @@ public void Inverting_to_keyless_throws() ConfigurationSource.DataAnnotation)).Message); } - [ConditionalFact] + [Fact] public void Can_lift_self_referencing_relationships() { var modelBuilder = CreateInternalModelBuilder(); @@ -744,7 +744,7 @@ public void Can_lift_self_referencing_relationships() Assert.Equal(nameof(SpecialOrder.SpecialOrder), relationshipBuilder.Metadata.PrincipalToDependent.Name); } - [ConditionalFact] + [Fact] public void Can_add_navigations_to_higher_source_foreign_key() { var modelBuilder = CreateInternalModelBuilder(); @@ -768,7 +768,7 @@ public void Can_add_navigations_to_higher_source_foreign_key() Assert.Same(relationship.Metadata, principalEntityBuilder.Metadata.FindNavigation(Customer.OrdersProperty.Name).ForeignKey); } - [ConditionalFact] + [Fact] public void Can_only_override_existing_conflicting_navigations_explicitly() { var modelBuilder = CreateInternalModelBuilder(); @@ -812,7 +812,7 @@ public void Can_only_override_existing_conflicting_navigations_explicitly() Assert.Equal(Order.CustomerProperty.Name, newForeignKeyBuilder.Metadata.DependentToPrincipal.Name); } - [ConditionalFact] + [Fact] public void Can_override_lower_or_equal_source_conflicting_navigation() { var modelBuilder = CreateInternalModelBuilder(); @@ -875,7 +875,7 @@ public void Can_override_lower_or_equal_source_conflicting_navigation() Assert.Same(newForeignKeyBuilder.Metadata, dependentEntityBuilder.Metadata.GetForeignKeys().Single()); } - [ConditionalFact] + [Fact] public void Navigation_to_principal_uses_same_relationship_if_conflicting_navigation_configured_with_lower_source() { var modelBuilder = CreateInternalModelBuilder(); @@ -900,7 +900,7 @@ public void Navigation_to_principal_uses_same_relationship_if_conflicting_naviga Assert.Empty(orderEntityBuilder.Metadata.GetForeignKeys()); } - [ConditionalFact] + [Fact] public void Navigation_to_principal_does_not_change_uniqueness_for_relationship() { var modelBuilder = CreateInternalModelBuilder(); @@ -922,7 +922,7 @@ public void Navigation_to_principal_does_not_change_uniqueness_for_relationship( Assert.False(foreignKeyBuilder.Metadata.IsUnique); } - [ConditionalFact] + [Fact] public void Navigation_to_dependent_uses_same_relationship_if_conflicting_navigation_configured_with_lower_source() { var modelBuilder = CreateInternalModelBuilder(); @@ -945,7 +945,7 @@ public void Navigation_to_dependent_uses_same_relationship_if_conflicting_naviga Assert.Single(orderEntityBuilder.Metadata.GetForeignKeys()); } - [ConditionalFact] + [Fact] public void Navigation_to_dependent_changes_uniqueness_for_relationship_of_lower_or_equal_source() { var modelBuilder = CreateInternalModelBuilder(); @@ -987,7 +987,7 @@ public void Navigation_to_dependent_changes_uniqueness_for_relationship_of_lower Assert.False(foreignKeyBuilder.Metadata.IsUnique); } - [ConditionalFact] + [Fact] public void Navigation_to_dependent_does_not_change_uniqueness_for_relationship_of_higher_source() { var modelBuilder = CreateInternalModelBuilder(); diff --git a/test/EFCore.Tests/Metadata/Internal/InternalIndexBuilderTest.cs b/test/EFCore.Tests/Metadata/Internal/InternalIndexBuilderTest.cs index 6e56b069d28..cc8b0022214 100644 --- a/test/EFCore.Tests/Metadata/Internal/InternalIndexBuilderTest.cs +++ b/test/EFCore.Tests/Metadata/Internal/InternalIndexBuilderTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; public class InternalIndexBuilderTest { - [ConditionalFact] + [Fact] public void Can_only_override_lower_source_IsUnique() { var builder = CreateInternalIndexBuilder(); @@ -23,7 +23,7 @@ public void Can_only_override_lower_source_IsUnique() Assert.False(metadata.IsUnique); } - [ConditionalFact] + [Fact] public void Can_only_override_existing_IsUnique_value_explicitly() { var builder = CreateInternalIndexBuilder(); diff --git a/test/EFCore.Tests/Metadata/Internal/InternalModelBuilderTest.cs b/test/EFCore.Tests/Metadata/Internal/InternalModelBuilderTest.cs index 83ad695b6aa..6f7d2a24baf 100644 --- a/test/EFCore.Tests/Metadata/Internal/InternalModelBuilderTest.cs +++ b/test/EFCore.Tests/Metadata/Internal/InternalModelBuilderTest.cs @@ -11,7 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; public class InternalModelBuilderTest { - [ConditionalFact] + [Fact] public void Entity_returns_same_instance_for_entity_clr_type() { var model = new Model(); @@ -25,7 +25,7 @@ public void Entity_returns_same_instance_for_entity_clr_type() Assert.NotNull(model.FindEntityType(typeof(Customer)).ClrType); } - [ConditionalFact] + [Fact] public void Entity_creates_new_instance_for_entity_type_name() { var model = new Model(); @@ -39,7 +39,7 @@ public void Entity_creates_new_instance_for_entity_type_name() Assert.NotNull(model.FindEntityType(typeof(Customer)).ClrType); } - [ConditionalFact] + [Fact] public void Can_ignore_lower_or_equal_source_entity_type_using_entity_clr_type() { var logger = CreateTestLogger(); @@ -65,7 +65,7 @@ public void Can_ignore_lower_or_equal_source_entity_type_using_entity_clr_type() logger.Message); } - [ConditionalFact] + [Fact] public void Can_ignore_lower_or_equal_source_entity_type_using_entity_type_name() { var logger = CreateTestLogger(); @@ -91,7 +91,7 @@ public void Can_ignore_lower_or_equal_source_entity_type_using_entity_type_name( logger.Message); } - [ConditionalFact] + [Fact] public void Cannot_ignore_higher_source_entity_type_using_entity_clr_type() { var model = new Model(); @@ -106,7 +106,7 @@ public void Cannot_ignore_higher_source_entity_type_using_entity_clr_type() Assert.NotNull(model.FindEntityType(typeof(Customer))); } - [ConditionalFact] + [Fact] public void Cannot_ignore_higher_source_entity_type_using_entity_type_name() { var model = new Model(); @@ -121,7 +121,7 @@ public void Cannot_ignore_higher_source_entity_type_using_entity_type_name() Assert.NotNull(model.FindEntityType(typeof(Customer).FullName)); } - [ConditionalFact] + [Fact] public void Can_ignore_existing_entity_type_using_entity_clr_type() { var logger = CreateTestLogger(); @@ -143,7 +143,7 @@ public void Can_ignore_existing_entity_type_using_entity_clr_type() logger.Message); } - [ConditionalFact] + [Fact] public void Can_ignore_existing_entity_type_using_entity_type_name() { var logger = CreateTestLogger(); @@ -166,7 +166,7 @@ public void Can_ignore_existing_entity_type_using_entity_type_name() logger.Message); } - [ConditionalFact] + [Fact] public void Can_ignore_entity_type_referenced_from_lower_or_equal_source_foreign_key() { var modelBuilder = CreateModelBuilder(); @@ -185,7 +185,7 @@ public void Can_ignore_entity_type_referenced_from_lower_or_equal_source_foreign Assert.Empty(orderEntityTypeBuilder.Metadata.GetForeignKeys()); } - [ConditionalFact] + [Fact] public void Can_ignore_entity_type_referencing_higher_or_equal_source_foreign_key() { var modelBuilder = CreateModelBuilder(); @@ -204,7 +204,7 @@ public void Can_ignore_entity_type_referencing_higher_or_equal_source_foreign_ke Assert.Empty(customerEntityTypeBuilder.Metadata.GetReferencingForeignKeys()); } - [ConditionalFact] + [Fact] public void Can_ignore_entity_type_with_base_and_derived_types() { var modelBuilder = CreateModelBuilder(); @@ -222,7 +222,7 @@ public void Can_ignore_entity_type_with_base_and_derived_types() Assert.Same(baseEntityTypeBuilder.Metadata, specialCustomerEntityTypeBuilder.Metadata.BaseType); } - [ConditionalFact] + [Fact] public void Cannot_ignore_entity_type_referenced_from_higher_source_foreign_key() { var modelBuilder = CreateModelBuilder(); @@ -240,7 +240,7 @@ public void Cannot_ignore_entity_type_referenced_from_higher_source_foreign_key( Assert.Single(orderEntityTypeBuilder.Metadata.GetForeignKeys()); } - [ConditionalFact] + [Fact] public void Ignoring_an_entity_type_removes_lower_source_orphaned_entity_types() { var modelBuilder = CreateModelBuilder(); @@ -261,7 +261,7 @@ public void Ignoring_an_entity_type_removes_lower_source_orphaned_entity_types() Assert.Empty(modelBuilder.Metadata.GetEntityTypes()); } - [ConditionalFact] + [Fact] public void Ignoring_an_entity_type_does_not_remove_referenced_lower_source_entity_types() { var modelBuilder = CreateModelBuilder(); @@ -286,7 +286,7 @@ public void Ignoring_an_entity_type_does_not_remove_referenced_lower_source_enti Assert.Equal(typeof(Product), orderEntityTypeBuilder.Metadata.GetForeignKeys().Single().PrincipalEntityType.ClrType); } - [ConditionalFact] + [Fact] public void Ignoring_an_entity_type_does_not_remove_referencing_lower_source_entity_types() { var modelBuilder = CreateModelBuilder(); @@ -311,7 +311,7 @@ public void Ignoring_an_entity_type_does_not_remove_referencing_lower_source_ent Assert.Equal(typeof(Product), orderEntityTypeBuilder.Metadata.GetForeignKeys().Single().PrincipalEntityType.ClrType); } - [ConditionalFact] + [Fact] public void Can_mark_type_as_owned_type() { var model = new Model(); @@ -380,7 +380,7 @@ public void Can_mark_type_as_owned_type() Assert.Throws(() => modelBuilder.Owned(typeof(Details), ConfigurationSource.Explicit)).Message); } - [ConditionalFact] + [Fact] public void Can_remove_implicitly_created_join_entity_type() { var model = new Model(); @@ -445,7 +445,7 @@ public void Can_remove_implicitly_created_join_entity_type() Assert.NotNull(rightSkipNav); } - [ConditionalFact] + [Fact] public void Cannot_remove_manually_created_join_entity_type() { var model = new Model(); @@ -498,7 +498,7 @@ public void Cannot_remove_manually_created_join_entity_type() Assert.Same(manyToManyJoin.Metadata, leftSkipNav.JoinEntityType); } - [ConditionalFact] + [Fact] public void Can_add_shared_type() { var model = new Model(); diff --git a/test/EFCore.Tests/Metadata/Internal/InternalNavigationBuilderTest.cs b/test/EFCore.Tests/Metadata/Internal/InternalNavigationBuilderTest.cs index 20989017f31..8d44523f565 100644 --- a/test/EFCore.Tests/Metadata/Internal/InternalNavigationBuilderTest.cs +++ b/test/EFCore.Tests/Metadata/Internal/InternalNavigationBuilderTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; public class InternalNavigationBuilderTest { - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_HasField() { var builder = CreateInternalNavigationBuilder(); @@ -43,7 +43,7 @@ public void Can_only_override_lower_or_equal_source_HasField() Assert.Null(metadata.GetFieldInfoConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_HasField_string() { var builder = CreateInternalNavigationBuilder(); @@ -79,7 +79,7 @@ public void Can_only_override_lower_or_equal_source_HasField_string() Assert.Null(metadata.GetFieldInfoConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_PropertyAccessMode() { var builder = CreateInternalNavigationBuilder(); @@ -118,7 +118,7 @@ public void Can_only_override_lower_or_equal_source_PropertyAccessMode() Assert.Null(metadata.GetPropertyAccessModeConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_IsEagerLoaded() { var builder = CreateInternalNavigationBuilder(); @@ -154,7 +154,7 @@ public void Can_only_override_lower_or_equal_source_IsEagerLoaded() Assert.Null(metadata.GetIsEagerLoadedConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_LazyLoadingEnabled() { var builder = CreateInternalNavigationBuilder(); @@ -190,7 +190,7 @@ public void Can_only_override_lower_or_equal_source_LazyLoadingEnabled() Assert.Null(metadata.GetLazyLoadingEnabledConfigurationSource()); } - [ConditionalFact] + [Fact] public void Configuring_IsRequired_on_to_dependent_nonUnique_throws() { var builder = CreateInternalNavigationBuilder(); @@ -200,7 +200,7 @@ public void Configuring_IsRequired_on_to_dependent_nonUnique_throws() Assert.Throws(() => builder.IsRequired(true, ConfigurationSource.Explicit)).Message); } - [ConditionalFact] + [Fact] public void Can_configure_IsRequired_on_to_principal_nonUnique() { var builder = CreateInternalNavigationBuilder() @@ -212,7 +212,7 @@ public void Can_configure_IsRequired_on_to_principal_nonUnique() Assert.True(builder.Metadata.ForeignKey.IsRequired); } - [ConditionalFact] + [Fact] public void Can_configure_IsRequired_on_to_dependent_unique() { var foreignKey = CreateInternalNavigationBuilder() @@ -226,7 +226,7 @@ public void Can_configure_IsRequired_on_to_dependent_unique() Assert.True(foreignKey.IsRequiredDependent); } - [ConditionalFact] + [Fact] public void Can_configure_IsRequired_on_to_principal_unique() { var foreignKey = CreateInternalNavigationBuilder() diff --git a/test/EFCore.Tests/Metadata/Internal/InternalPropertyBuilderTest.cs b/test/EFCore.Tests/Metadata/Internal/InternalPropertyBuilderTest.cs index 74ba899a508..d264ab1bef6 100644 --- a/test/EFCore.Tests/Metadata/Internal/InternalPropertyBuilderTest.cs +++ b/test/EFCore.Tests/Metadata/Internal/InternalPropertyBuilderTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; public class InternalPropertyBuilderTest { - [ConditionalFact] + [Fact] public void Property_added_by_name_is_non_shadow_if_matches_Clr_property() { var model = new Model(); @@ -20,7 +20,7 @@ public void Property_added_by_name_is_non_shadow_if_matches_Clr_property() Assert.False(property.IsShadowProperty()); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_IsAutoLoaded() { var builder = CreateInternalPropertyBuilder(); @@ -35,7 +35,7 @@ public void Can_only_override_lower_or_equal_source_IsAutoLoaded() Assert.True(metadata.IsAutoLoaded); } - [ConditionalFact] + [Fact] public void Can_only_override_existing_IsAutoLoaded_value_explicitly() { var metadata = CreateProperty(); @@ -53,7 +53,7 @@ public void Can_only_override_existing_IsAutoLoaded_value_explicitly() Assert.True(metadata.IsAutoLoaded); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_ConcurrencyToken() { var builder = CreateInternalPropertyBuilder(); @@ -68,7 +68,7 @@ public void Can_only_override_lower_or_equal_source_ConcurrencyToken() Assert.False(metadata.IsConcurrencyToken); } - [ConditionalFact] + [Fact] public void Can_only_override_existing_ConcurrencyToken_value_explicitly() { var metadata = CreateProperty(); @@ -86,7 +86,7 @@ public void Can_only_override_existing_ConcurrencyToken_value_explicitly() Assert.False(metadata.IsConcurrencyToken); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_ValueGenerated() { var builder = CreateInternalPropertyBuilder(); @@ -101,7 +101,7 @@ public void Can_only_override_lower_or_equal_source_ValueGenerated() Assert.Equal(ValueGenerated.Never, metadata.ValueGenerated); } - [ConditionalFact] + [Fact] public void Can_only_override_existing_ValueGenerated_value_explicitly() { var metadata = CreateProperty(); @@ -119,7 +119,7 @@ public void Can_only_override_existing_ValueGenerated_value_explicitly() Assert.Equal(ValueGenerated.Never, metadata.ValueGenerated); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_MaxLength() { var builder = CreateInternalPropertyBuilder(); @@ -134,7 +134,7 @@ public void Can_only_override_lower_or_equal_source_MaxLength() Assert.Equal(2, metadata.GetMaxLength().Value); } - [ConditionalFact] + [Fact] public void Can_only_override_existing_MaxLength_value_explicitly() { var metadata = CreateProperty(); @@ -150,7 +150,7 @@ public void Can_only_override_existing_MaxLength_value_explicitly() Assert.Equal(2, metadata.GetMaxLength().Value); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_sentinel() { var builder = CreateInternalPropertyBuilder(); @@ -165,7 +165,7 @@ public void Can_only_override_lower_or_equal_source_sentinel() Assert.Equal("2", metadata.Sentinel); } - [ConditionalFact] + [Fact] public void Can_only_override_existing_sentinel_value_explicitly() { var metadata = CreateProperty(); @@ -181,7 +181,7 @@ public void Can_only_override_existing_sentinel_value_explicitly() Assert.Equal("2", metadata.Sentinel); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_Precision() { var builder = CreateInternalPropertyBuilder(); @@ -196,7 +196,7 @@ public void Can_only_override_lower_or_equal_source_Precision() Assert.Equal(2, metadata.GetPrecision().Value); } - [ConditionalFact] + [Fact] public void Can_only_override_existing_Precision_value_explicitly() { var metadata = CreateProperty(); @@ -212,7 +212,7 @@ public void Can_only_override_existing_Precision_value_explicitly() Assert.Equal(2, metadata.GetPrecision().Value); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_Scale() { var builder = CreateInternalPropertyBuilder(); @@ -227,7 +227,7 @@ public void Can_only_override_lower_or_equal_source_Scale() Assert.Equal(2, metadata.GetScale().Value); } - [ConditionalFact] + [Fact] public void Can_only_override_existing_Scale_value_explicitly() { var metadata = CreateProperty(); @@ -243,7 +243,7 @@ public void Can_only_override_existing_Scale_value_explicitly() Assert.Equal(2, metadata.GetScale().Value); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_CustomValueGenerator_factory() { var builder = CreateInternalPropertyBuilder(); @@ -273,7 +273,7 @@ public void Can_only_override_lower_or_equal_source_CustomValueGenerator_factory Assert.Null(metadata[CoreAnnotationNames.ValueGeneratorFactoryType]); } - [ConditionalFact] + [Fact] public void Can_only_override_existing_CustomValueGenerator_factory_explicitly() { ValueGenerator factory(IReadOnlyProperty p, ITypeBase t) @@ -294,7 +294,7 @@ ValueGenerator factory(IReadOnlyProperty p, ITypeBase t) Assert.True(metadata.RequiresValueGenerator()); } - [ConditionalFact] + [Fact] public void Can_clear_CustomValueGenerator_factory() { var metadata = CreateProperty(); @@ -323,7 +323,7 @@ public void Can_clear_CustomValueGenerator_factory() Assert.False(metadata.RequiresValueGenerator()); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_CustomValueGenerator_type() { var builder = CreateInternalPropertyBuilder(); @@ -340,7 +340,7 @@ public void Can_only_override_lower_or_equal_source_CustomValueGenerator_type() Assert.True(metadata.RequiresValueGenerator()); } - [ConditionalFact] + [Fact] public void Can_clear_CustomValueGenerator_type() { var metadata = CreateProperty(); @@ -389,7 +389,7 @@ public override ValueGenerator Create(IProperty property, ITypeBase typeBase) => new CustomValueGenerator1(); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_ValueConverter() { var builder = CreateInternalPropertyBuilder(); @@ -417,7 +417,7 @@ public void Can_only_override_lower_or_equal_source_ValueConverter() private class UTF8StringToBytesConverter() : StringToBytesConverter(Encoding.UTF8); - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_ValueComparer() { var builder = CreateInternalPropertyBuilder(); @@ -445,7 +445,7 @@ public void Can_only_override_lower_or_equal_source_ValueComparer() private class CustomValueComparer() : ValueComparer(false); - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_ProviderValueComparer() { var builder = CreateInternalPropertyBuilder(); @@ -471,7 +471,7 @@ public void Can_only_override_lower_or_equal_source_ProviderValueComparer() Assert.Null(metadata[CoreAnnotationNames.ProviderValueComparerType]); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_IsUnicode() { var builder = CreateInternalPropertyBuilder(); @@ -486,7 +486,7 @@ public void Can_only_override_lower_or_equal_source_IsUnicode() Assert.False(metadata.IsUnicode().Value); } - [ConditionalFact] + [Fact] public void Can_only_override_existing_IsUnicode_value_explicitly() { var metadata = CreateProperty(); @@ -502,7 +502,7 @@ public void Can_only_override_existing_IsUnicode_value_explicitly() Assert.False(metadata.IsUnicode().Value); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_Required() { var builder = CreateInternalPropertyBuilder(); @@ -517,7 +517,7 @@ public void Can_only_override_lower_or_equal_source_Required() Assert.True(metadata.IsNullable); } - [ConditionalFact] + [Fact] public void Can_only_override_existing_Required_value_explicitly() { var metadata = CreateProperty(); @@ -535,7 +535,7 @@ public void Can_only_override_existing_Required_value_explicitly() Assert.True(metadata.IsNullable); } - [ConditionalFact] + [Fact] public void Cannot_set_required_to_false_if_nonnullable() { var modelBuilder = new InternalModelBuilder(new Model()); @@ -549,7 +549,7 @@ public void Cannot_set_required_to_false_if_nonnullable() Assert.Throws(() => builder.IsRequired(false, ConfigurationSource.Explicit)).Message); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_BeforeSaveBehavior() { var builder = CreateInternalPropertyBuilder(); @@ -564,7 +564,7 @@ public void Can_only_override_lower_or_equal_source_BeforeSaveBehavior() Assert.Equal(PropertySaveBehavior.Ignore, metadata.GetBeforeSaveBehavior()); } - [ConditionalFact] + [Fact] public void Can_only_override_existing_BeforeSaveBehavior_value_explicitly() { var metadata = CreateProperty(); @@ -582,7 +582,7 @@ public void Can_only_override_existing_BeforeSaveBehavior_value_explicitly() Assert.Equal(PropertySaveBehavior.Ignore, metadata.GetBeforeSaveBehavior()); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_AfterSaveBehavior() { var builder = CreateInternalPropertyBuilder(); @@ -597,7 +597,7 @@ public void Can_only_override_lower_or_equal_source_AfterSaveBehavior() Assert.Equal(PropertySaveBehavior.Ignore, metadata.GetAfterSaveBehavior()); } - [ConditionalFact] + [Fact] public void Can_only_override_existing_AfterSaveBehavior_value_explicitly() { var metadata = CreateProperty(); diff --git a/test/EFCore.Tests/Metadata/Internal/InternalSkipNavigationBuilderTest.cs b/test/EFCore.Tests/Metadata/Internal/InternalSkipNavigationBuilderTest.cs index fe6e7f51436..59ac31fcf72 100644 --- a/test/EFCore.Tests/Metadata/Internal/InternalSkipNavigationBuilderTest.cs +++ b/test/EFCore.Tests/Metadata/Internal/InternalSkipNavigationBuilderTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; public class InternalSkipNavigationBuilderTest { - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_SkipNavigation() { var builder = CreateInternalSkipNavigationBuilder(); @@ -26,7 +26,7 @@ public void Can_only_override_lower_or_equal_source_SkipNavigation() Assert.Empty(skipNavigation.DeclaringEntityType.GetSkipNavigations()); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_HasField() { var builder = CreateInternalSkipNavigationBuilder(); @@ -62,7 +62,7 @@ public void Can_only_override_lower_or_equal_source_HasField() Assert.Null(metadata.GetFieldInfoConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_HasField_string() { var builder = CreateInternalSkipNavigationBuilder(); @@ -98,7 +98,7 @@ public void Can_only_override_lower_or_equal_source_HasField_string() Assert.Null(metadata.GetFieldInfoConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_PropertyAccessMode() { var builder = CreateInternalSkipNavigationBuilder(); @@ -137,7 +137,7 @@ public void Can_only_override_lower_or_equal_source_PropertyAccessMode() Assert.Null(metadata.GetPropertyAccessModeConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_ForeignKey() { var builder = CreateInternalSkipNavigationBuilder(); @@ -180,7 +180,7 @@ public void Can_only_override_lower_or_equal_source_ForeignKey() Assert.Null(metadata.GetForeignKeyConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_Inverse() { var builder = CreateInternalSkipNavigationBuilder(); @@ -226,7 +226,7 @@ public void Can_only_override_lower_or_equal_source_Inverse() Assert.Null(inverse.GetInverseConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_IsEagerLoaded() { var builder = CreateInternalSkipNavigationBuilder(); @@ -262,7 +262,7 @@ public void Can_only_override_lower_or_equal_source_IsEagerLoaded() Assert.Null(metadata.GetIsEagerLoadedConfigurationSource()); } - [ConditionalFact] + [Fact] public void Can_only_override_lower_or_equal_source_LazyLoadingEnabled() { var builder = CreateInternalSkipNavigationBuilder(); diff --git a/test/EFCore.Tests/Metadata/Internal/KeyTest.cs b/test/EFCore.Tests/Metadata/Internal/KeyTest.cs index 4cb3794487f..a8e1b5f8c20 100644 --- a/test/EFCore.Tests/Metadata/Internal/KeyTest.cs +++ b/test/EFCore.Tests/Metadata/Internal/KeyTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; public class KeyTest { - [ConditionalFact] + [Fact] public void Throws_when_model_is_readonly() { var model = CreateModel(); @@ -24,7 +24,7 @@ public void Throws_when_model_is_readonly() Assert.Throws(() => entityType.RemoveKey(key)).Message); } - [ConditionalFact] + [Fact] public void Can_create_key_from_properties() { var entityType = ((IConventionModel)CreateModel()).AddEntityType(typeof(Customer)); @@ -38,7 +38,7 @@ public void Can_create_key_from_properties() Assert.Equal(ConfigurationSource.Convention, key.GetConfigurationSource()); } - [ConditionalFact] + [Fact] public void Validates_properties_from_same_entity() { var model = CreateModel(); diff --git a/test/EFCore.Tests/Metadata/Internal/ModelTest.cs b/test/EFCore.Tests/Metadata/Internal/ModelTest.cs index 75e75284cdc..6dac9bcddab 100644 --- a/test/EFCore.Tests/Metadata/Internal/ModelTest.cs +++ b/test/EFCore.Tests/Metadata/Internal/ModelTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; public class ModelTest { - [ConditionalFact] + [Fact] public void Model_throws_when_readonly() { var model = CreateModel(); @@ -48,11 +48,11 @@ public void Model_throws_when_readonly() Assert.Throws(() => ((Model)model).SkipDetectChanges = false).Message); } - [ConditionalFact] + [Fact] public void Snapshot_change_tracking_is_used_by_default() => Assert.Equal(ChangeTrackingStrategy.Snapshot, CreateModel().GetChangeTrackingStrategy()); - [ConditionalFact] + [Fact] public void Change_tracking_strategy_can_be_changed() { var model = CreateModel(); @@ -63,7 +63,7 @@ public void Change_tracking_strategy_can_be_changed() Assert.Equal(ChangeTrackingStrategy.ChangedNotifications, model.GetChangeTrackingStrategy()); } - [ConditionalFact] + [Fact] public void Can_add_and_remove_entity_by_type() { var model = CreateModel(); @@ -88,7 +88,7 @@ public void Can_add_and_remove_entity_by_type() Assert.False(((EntityType)entityType).IsInModel); } - [ConditionalFact] + [Fact] public void Can_add_and_remove_entity_by_name() { var model = CreateModel(); @@ -114,7 +114,7 @@ public void Can_add_and_remove_entity_by_name() Assert.False(((EntityType)entityType).IsInModel); } - [ConditionalFact] + [Fact] public void Can_add_and_remove_shared_entity() { var model = CreateModel(); @@ -142,7 +142,7 @@ public void Can_add_and_remove_shared_entity() Assert.False(((EntityType)entityType).IsInModel); } - [ConditionalFact] + [Fact] public void Adding_a_shared_entity_with_same_name_throws() { var model = CreateModel(); @@ -153,7 +153,7 @@ public void Adding_a_shared_entity_with_same_name_throws() => model.AddEntityType(typeof(Customer).DisplayName(), typeof(Customer))).Message); } - [ConditionalFact] + [Fact] public void Cannot_remove_entity_type_when_referenced_by_foreign_key() { var model = CreateModel(); @@ -173,7 +173,7 @@ public void Cannot_remove_entity_type_when_referenced_by_foreign_key() Assert.Throws(() => model.RemoveEntityType(customerType.Name)).Message); } - [ConditionalFact] + [Fact] public void Cannot_remove_entity_type_when_it_has_derived_types() { var model = CreateModel(); @@ -187,7 +187,7 @@ public void Cannot_remove_entity_type_when_it_has_derived_types() Assert.Throws(() => model.RemoveEntityType(customerType.Name)).Message); } - [ConditionalFact] + [Fact] public void Using_invalid_entity_type_throws() { var model = CreateModel(); @@ -197,7 +197,7 @@ public void Using_invalid_entity_type_throws() Assert.Throws(() => model.AddEntityType(typeof(IReadOnlyList))).Message); } - [ConditionalFact] + [Fact] public void Adding_duplicate_entity_by_type_throws() { var model = CreateModel(); @@ -210,7 +210,7 @@ public void Adding_duplicate_entity_by_type_throws() Assert.Throws(() => model.AddEntityType(typeof(Customer))).Message); } - [ConditionalFact] + [Fact] public void Adding_duplicate_entity_by_name_throws() { var model = CreateModel(); @@ -223,7 +223,7 @@ public void Adding_duplicate_entity_by_name_throws() Assert.Throws(() => model.AddEntityType(typeof(Customer).FullName)).Message); } - [ConditionalFact] + [Fact] public void Adding_duplicate_shared_type_throws() { var model = (Model)CreateModel(); @@ -236,7 +236,7 @@ public void Adding_duplicate_shared_type_throws() Assert.Throws(() => model.AddShared(typeof(Customer), ConfigurationSource.Explicit)).Message); } - [ConditionalFact] + [Fact] public void Can_get_entity_by_type() { var model = CreateModel(); @@ -248,7 +248,7 @@ public void Can_get_entity_by_type() Assert.Null(model.FindEntityType(typeof(IList<>).GetGenericArguments().Single())); } - [ConditionalFact] + [Fact] public void Can_get_entity_by_name() { var model = CreateModel(); @@ -259,7 +259,7 @@ public void Can_get_entity_by_name() Assert.Null(model.FindEntityType(typeof(string))); } - [ConditionalFact] + [Fact] public void Entities_are_ordered_by_name() { var model = CreateModel(); @@ -269,7 +269,7 @@ public void Entities_are_ordered_by_name() Assert.True(new[] { entityType2, entityType1 }.SequenceEqual(model.GetEntityTypes())); } - [ConditionalFact] + [Fact] public void Can_get_referencing_foreign_keys() { var model = CreateModel(); diff --git a/test/EFCore.Tests/Metadata/Internal/NavigationTest.cs b/test/EFCore.Tests/Metadata/Internal/NavigationTest.cs index b5383b1b02b..690ff48bd19 100644 --- a/test/EFCore.Tests/Metadata/Internal/NavigationTest.cs +++ b/test/EFCore.Tests/Metadata/Internal/NavigationTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; public class NavigationTest { - [ConditionalFact] + [Fact] public void Can_create_navigation() { var foreignKey = CreateForeignKey(); @@ -17,7 +17,7 @@ public void Can_create_navigation() Assert.Same(foreignKey.DeclaringEntityType, navigation.DeclaringEntityType); } - [ConditionalFact] + [Fact] public virtual void Detects_navigations_to_keyless_types() { IMutableModel model = new Model(); diff --git a/test/EFCore.Tests/Metadata/Internal/PropertyAccessorsFactoryTest.cs b/test/EFCore.Tests/Metadata/Internal/PropertyAccessorsFactoryTest.cs index 0258fa8982e..e3b72a2f3b1 100644 --- a/test/EFCore.Tests/Metadata/Internal/PropertyAccessorsFactoryTest.cs +++ b/test/EFCore.Tests/Metadata/Internal/PropertyAccessorsFactoryTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; public class PropertyAccessorsFactoryTest { - [ConditionalFact] + [Fact] public void Can_use_PropertyAccessorsFactory_on_indexed_property() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); @@ -31,7 +31,7 @@ public void Can_use_PropertyAccessorsFactory_on_indexed_property() Assert.Equal("ValueA", ((Func)propertyAccessors.RelationshipSnapshotGetter)(entry)); } - [ConditionalFact] + [Fact] public void Can_use_PropertyAccessorsFactory_on_non_indexed_property() { var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder(); diff --git a/test/EFCore.Tests/Metadata/Internal/PropertyBaseTest.cs b/test/EFCore.Tests/Metadata/Internal/PropertyBaseTest.cs index 35561bbc922..3f7df562006 100644 --- a/test/EFCore.Tests/Metadata/Internal/PropertyBaseTest.cs +++ b/test/EFCore.Tests/Metadata/Internal/PropertyBaseTest.cs @@ -20,7 +20,7 @@ public class PropertyBaseTest private const string Collection = "Collection"; private const string SkipCollection = "SkipCollection"; - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_auto_props() { const string field = "k__BackingField"; @@ -34,7 +34,7 @@ public void Get_MemberInfos_for_auto_props() MemberInfoTest(CreateProperty(field), PropertyAccessMode.PreferProperty, Property, Property, Property); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_full_props() { const string field = "_foo"; @@ -48,7 +48,7 @@ public void Get_MemberInfos_for_full_props() MemberInfoTest(CreateProperty(field), PropertyAccessMode.PreferProperty, Property, Property, Property); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_read_only_props() { const string field = "_foo"; @@ -64,7 +64,7 @@ public void Get_MemberInfos_for_read_only_props() MemberInfoTest(CreateProperty(field), PropertyAccessMode.PreferProperty, field, field, Property); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_read_only_auto_props() { const string field = "k__BackingField"; @@ -81,7 +81,7 @@ public void Get_MemberInfos_for_read_only_auto_props() MemberInfoTest(CreateProperty(field), PropertyAccessMode.PreferProperty, field, field, Property); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_read_only_field_props() { const string field = "_foo"; @@ -98,7 +98,7 @@ public void Get_MemberInfos_for_read_only_field_props() MemberInfoTest(CreateProperty(field), PropertyAccessMode.PreferProperty, field, field, Property); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_write_only_props() { const string field = "_foo"; @@ -113,7 +113,7 @@ public void Get_MemberInfos_for_write_only_props() MemberInfoTest(CreateProperty(field), PropertyAccessMode.PreferProperty, Property, Property, field); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_field_only_props() { const string field = "_foo"; @@ -130,7 +130,7 @@ public void Get_MemberInfos_for_field_only_props() MemberInfoTest(CreateProperty(field, field), PropertyAccessMode.PreferProperty, field, field, field); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_read_only_field_only_props() { const string field = "_foo"; @@ -148,7 +148,7 @@ public void Get_MemberInfos_for_read_only_field_only_props() MemberInfoTest(CreateProperty(field, field), PropertyAccessMode.PreferProperty, field, field, field); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_full_props_with_field_not_found() { MemberInfoTest(CreateProperty(null), null, Property, Property, Property); @@ -165,7 +165,7 @@ public void Get_MemberInfos_for_full_props_with_field_not_found() MemberInfoTest(CreateProperty(null), PropertyAccessMode.PreferProperty, Property, Property, Property); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_read_only_props_with_field_not_found() { MemberInfoTest( @@ -191,7 +191,7 @@ public void Get_MemberInfos_for_read_only_props_with_field_not_found() NoFieldOrSetter(), NoFieldOrSetter(), Property); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_write_only_props_with_field_not_found() { MemberInfoTest(CreateProperty(null), null, Property, Property, NoFieldOrGetter()); @@ -215,7 +215,7 @@ public void Get_MemberInfos_for_write_only_props_with_field_not_found() Property, Property, NoFieldOrGetter()); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_full_props_private_setter_in_base() { const string field = "_foo"; @@ -231,7 +231,7 @@ public void Get_MemberInfos_for_full_props_private_setter_in_base() MemberInfoTest(CreateProperty(field), PropertyAccessMode.PreferProperty, Property, Property, Property); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_full_props_private_getter_in_base() { const string field = "_foo"; @@ -247,7 +247,7 @@ public void Get_MemberInfos_for_full_props_private_getter_in_base() MemberInfoTest(CreateProperty(field), PropertyAccessMode.PreferProperty, Property, Property, Property); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_auto_prop_navigations() { const string field = "k__BackingField"; @@ -263,7 +263,7 @@ public void Get_MemberInfos_for_auto_prop_navigations() MemberInfoTest(CreateReferenceNavigation(field), PropertyAccessMode.PreferProperty, Reference, Reference, Reference); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_full_prop_navigations() { const string field = "_reference"; @@ -279,7 +279,7 @@ public void Get_MemberInfos_for_full_prop_navigations() MemberInfoTest(CreateReferenceNavigation(field), PropertyAccessMode.PreferProperty, Reference, Reference, Reference); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_read_only_prop_navigations() { const string field = "_reference"; @@ -297,7 +297,7 @@ public void Get_MemberInfos_for_read_only_prop_navigations() MemberInfoTest(CreateReferenceNavigation(field), PropertyAccessMode.PreferProperty, field, field, Reference); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_read_only_auto_prop_navigations() { const string field = "k__BackingField"; @@ -316,7 +316,7 @@ public void Get_MemberInfos_for_read_only_auto_prop_navigations() MemberInfoTest(CreateReferenceNavigation(field), PropertyAccessMode.PreferProperty, field, field, Reference); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_read_only_field_prop_navigations() { const string field = "_reference"; @@ -335,7 +335,7 @@ public void Get_MemberInfos_for_read_only_field_prop_navigations() MemberInfoTest(CreateReferenceNavigation(field), PropertyAccessMode.PreferProperty, field, field, Reference); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_write_only_prop_navigations() { const string field = "_reference"; @@ -353,7 +353,7 @@ public void Get_MemberInfos_for_write_only_prop_navigations() MemberInfoTest(CreateReferenceNavigation(field), PropertyAccessMode.PreferProperty, Reference, Reference, field); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_full_prop_navigations_with_field_not_found() { MemberInfoTest(CreateReferenceNavigation(null), null, Reference, Reference, Reference); @@ -374,7 +374,7 @@ public void Get_MemberInfos_for_full_prop_navigations_with_field_not_found() CreateReferenceNavigation(null), PropertyAccessMode.PreferProperty, Reference, Reference, Reference); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_read_only_prop_navigations_with_field_not_found() { MemberInfoTest( @@ -405,7 +405,7 @@ public void Get_MemberInfos_for_read_only_prop_navigations_with_field_not_found( NoFieldOrSetterRef(), Reference); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_write_only_prop_navigations_with_field_not_found() { MemberInfoTest( @@ -431,7 +431,7 @@ public void Get_MemberInfos_for_write_only_prop_navigations_with_field_not_found Reference, Reference, NoFieldOrGetterRef()); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_full_prop_navigations_private_setter_in_base() { const string field = "_reference"; @@ -451,7 +451,7 @@ public void Get_MemberInfos_for_full_prop_navigations_private_setter_in_base() CreateReferenceNavigation(field), PropertyAccessMode.PreferProperty, Reference, Reference, Reference); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_full_prop_navigations_private_getter_in_base() { const string field = "_reference"; @@ -471,7 +471,7 @@ public void Get_MemberInfos_for_full_prop_navigations_private_getter_in_base() CreateReferenceNavigation(field), PropertyAccessMode.PreferProperty, Reference, Reference, Reference); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_auto_prop_collection_navigations() { const string field = "k__BackingField"; @@ -489,7 +489,7 @@ public void Get_MemberInfos_for_auto_prop_collection_navigations() CreateCollectionNavigation(field), PropertyAccessMode.PreferProperty, Collection, Collection, Collection); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_full_prop_collection_navigations() { const string field = "_collection"; @@ -507,7 +507,7 @@ public void Get_MemberInfos_for_full_prop_collection_navigations() CreateCollectionNavigation(field), PropertyAccessMode.PreferProperty, Collection, Collection, Collection); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_read_only_prop_collection_navigations() { const string field = "_collection"; @@ -524,7 +524,7 @@ public void Get_MemberInfos_for_read_only_prop_collection_navigations() MemberInfoTest(CreateCollectionNavigation(field), PropertyAccessMode.PreferProperty, field, field, Collection); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_read_only_auto_prop_collection_navigations() { const string field = "k__BackingField"; @@ -542,7 +542,7 @@ public void Get_MemberInfos_for_read_only_auto_prop_collection_navigations() CreateCollectionNavigation(field), PropertyAccessMode.PreferProperty, field, field, Collection); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_read_only_field_prop_collection_navigations() { const string field = "_collection"; @@ -560,7 +560,7 @@ public void Get_MemberInfos_for_read_only_field_prop_collection_navigations() CreateCollectionNavigation(field), PropertyAccessMode.PreferProperty, field, field, Collection); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_write_only_prop_collection_navigations() { const string field = "_collection"; @@ -580,7 +580,7 @@ public void Get_MemberInfos_for_write_only_prop_collection_navigations() CreateCollectionNavigation(field), PropertyAccessMode.PreferProperty, Collection, Collection, field); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_full_prop_collection_navigations_with_field_not_found() { MemberInfoTest(CreateCollectionNavigation(null), null, Collection, Collection, Collection); @@ -600,7 +600,7 @@ public void Get_MemberInfos_for_full_prop_collection_navigations_with_field_not_ CreateCollectionNavigation(null), PropertyAccessMode.PreferProperty, Collection, Collection, Collection); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_read_only_prop_collection_navigations_with_field_not_found() { MemberInfoTest(CreateCollectionNavigation(null), null, null, null, Collection); @@ -618,7 +618,7 @@ public void Get_MemberInfos_for_read_only_prop_collection_navigations_with_field CreateCollectionNavigation(null), PropertyAccessMode.PreferProperty, null, null, Collection); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_write_only_prop_collection_navigations_with_field_not_found() { MemberInfoTest( @@ -641,7 +641,7 @@ public void Get_MemberInfos_for_write_only_prop_collection_navigations_with_fiel Collection, Collection, NoFieldOrGetterColl()); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_full_prop_collection_navigations_private_setter_in_base() { const string field = "_collection"; @@ -659,7 +659,7 @@ public void Get_MemberInfos_for_full_prop_collection_navigations_private_setter_ Collection); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_full_prop_collection_navigations_private_getter_in_base() { const string field = "_collection"; @@ -677,7 +677,7 @@ public void Get_MemberInfos_for_full_prop_collection_navigations_private_getter_ Collection); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_auto_prop_skip_collection_navigations() { const string field = "k__BackingField"; @@ -700,7 +700,7 @@ public void Get_MemberInfos_for_auto_prop_skip_collection_navigations() SkipCollection, SkipCollection); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_full_prop_skip_collection_navigations() { const string field = "_skipCollection"; @@ -723,7 +723,7 @@ public void Get_MemberInfos_for_full_prop_skip_collection_navigations() SkipCollection, SkipCollection); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_read_only_prop_skip_collection_navigations() { const string field = "_skipCollection"; @@ -748,7 +748,7 @@ public void Get_MemberInfos_for_read_only_prop_skip_collection_navigations() SkipCollection); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_read_only_auto_prop_skip_collection_navigations() { const string field = "k__BackingField"; @@ -774,7 +774,7 @@ public void Get_MemberInfos_for_read_only_auto_prop_skip_collection_navigations( SkipCollection); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_read_only_field_prop_skip_collection_navigations() { const string field = "_skipCollection"; @@ -801,7 +801,7 @@ public void Get_MemberInfos_for_read_only_field_prop_skip_collection_navigations field, SkipCollection); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_write_only_prop_skip_collection_navigations() { const string field = "_skipCollection"; @@ -826,7 +826,7 @@ public void Get_MemberInfos_for_write_only_prop_skip_collection_navigations() SkipCollection, field); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_full_prop_skip_collection_navigations_with_field_not_found() { MemberInfoTest( @@ -853,7 +853,7 @@ public void Get_MemberInfos_for_full_prop_skip_collection_navigations_with_field SkipCollection, SkipCollection); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_read_only_prop_skip_collection_navigations_with_field_not_found() { MemberInfoTest( @@ -879,7 +879,7 @@ public void Get_MemberInfos_for_read_only_prop_skip_collection_navigations_with_ null, SkipCollection); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_write_only_prop_skip_collection_navigations_with_field_not_found() { MemberInfoTest( @@ -903,7 +903,7 @@ public void Get_MemberInfos_for_write_only_prop_skip_collection_navigations_with SkipCollection, SkipCollection, NoFieldOrGetterSkipColl()); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_full_prop_skip_collection_navigations_private_setter_in_base() { const string field = "_skipCollection"; @@ -928,7 +928,7 @@ public void Get_MemberInfos_for_full_prop_skip_collection_navigations_private_se SkipCollection); } - [ConditionalFact] + [Fact] public void Get_MemberInfos_for_full_prop_skip_collection_navigations_private_getter_in_base() { const string field = "_skipCollection"; @@ -1181,7 +1181,7 @@ private void MemberInfoTestCommon( } } - [ConditionalFact] + [Fact] public virtual void Access_mode_can_be_overridden_at_entity_and_property_levels() { IMutableModel model = new Model(); @@ -1209,7 +1209,7 @@ public virtual void Access_mode_can_be_overridden_at_entity_and_property_levels( Assert.Equal(PropertyAccessMode.Property, e2p2.GetPropertyAccessMode()); } - [ConditionalFact] + [Fact] public virtual void Properties_can_have_field_cleared() { var propertyInfo = typeof(FullProp).GetAnyProperty("Foo"); @@ -1218,7 +1218,7 @@ public virtual void Properties_can_have_field_cleared() ((IMutableModel)new Model()).AddEntityType(typeof(FullProp)).AddProperty(propertyInfo), propertyInfo, "_foo"); } - [ConditionalFact] + [Fact] public virtual void Field_only_properties_throws_when_field_cleared() { var propertyBase = ((IMutableModel)new Model()).AddEntityType(typeof(FieldOnly)).AddProperty("_foo", typeof(int)); @@ -1228,7 +1228,7 @@ public virtual void Field_only_properties_throws_when_field_cleared() Assert.Throws(() => propertyBase.SetField(null)).Message); } - [ConditionalFact] + [Fact] public virtual void Navigations_can_have_field_cleared() { var entityType = ((IMutableModel)new Model()).AddEntityType(typeof(FullProp)); @@ -1273,7 +1273,7 @@ private void Properties_can_have_field_cleared_test(IMutablePropertyBase propert Assert.Same(propertyInfo, propertyBase.GetIdentifyingMemberInfo()); } - [ConditionalFact] + [Fact] public virtual void Setting_fieldInfo_for_shadow_property_throws() { IMutableModel model = new Model(); diff --git a/test/EFCore.Tests/Metadata/Internal/PropertyTest.cs b/test/EFCore.Tests/Metadata/Internal/PropertyTest.cs index 7ba6b930733..1be0026734f 100644 --- a/test/EFCore.Tests/Metadata/Internal/PropertyTest.cs +++ b/test/EFCore.Tests/Metadata/Internal/PropertyTest.cs @@ -14,7 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; public class PropertyTest { - [ConditionalFact] + [Fact] public void Throws_when_model_is_readonly() { var model = CreateModel(); @@ -101,7 +101,7 @@ public void Throws_when_model_is_readonly() Assert.Throws(() => property.SetValueGeneratorFactory((Type)null)).Message); } - [ConditionalFact] + [Fact] public void Can_set_ClrType() { var entityType = CreateModel().AddEntityType(typeof(object)); @@ -110,7 +110,7 @@ public void Can_set_ClrType() Assert.Equal(typeof(string), property.ClrType); } - [ConditionalFact] + [Fact] public void Default_nullability_of_property_is_based_on_nullability_of_CLR_type() { var entityType = CreateModel().AddEntityType(typeof(object)); @@ -123,7 +123,7 @@ public void Default_nullability_of_property_is_based_on_nullability_of_CLR_type( Assert.False(intProperty.IsNullable); } - [ConditionalFact] + [Fact] public void Property_nullability_can_be_mutated() { var entityType = CreateModel().AddEntityType(typeof(object)); @@ -140,7 +140,7 @@ public void Property_nullability_can_be_mutated() Assert.False(intProperty.IsNullable); } - [ConditionalFact] + [Fact] public void Adding_a_nullable_property_to_a_key_throws() { var entityType = CreateModel().AddEntityType(typeof(object)); @@ -154,7 +154,7 @@ public void Adding_a_nullable_property_to_a_key_throws() Assert.Throws(() => entityType.AddKey(stringProperty)).Message); } - [ConditionalFact] + [Fact] public void Properties_with_non_nullable_types_cannot_be_made_nullable() { var entityType = CreateModel().AddEntityType(typeof(object)); @@ -165,7 +165,7 @@ public void Properties_with_non_nullable_types_cannot_be_made_nullable() Assert.Throws(() => intProperty.IsNullable = true).Message); } - [ConditionalFact] + [Fact] public void Properties_which_are_part_of_primary_key_cannot_be_made_nullable() { var entityType = CreateModel().AddEntityType(typeof(object)); @@ -178,7 +178,7 @@ public void Properties_which_are_part_of_primary_key_cannot_be_made_nullable() Assert.Throws(() => stringProperty.IsNullable = true).Message); } - [ConditionalFact] + [Fact] public void UnderlyingType_returns_correct_underlying_type() { var entityType = CreateModel().AddEntityType(typeof(Entity)); @@ -186,7 +186,7 @@ public void UnderlyingType_returns_correct_underlying_type() Assert.Equal(typeof(int), property1.ClrType.UnwrapNullableType()); } - [ConditionalFact] + [Fact] public void IsShadowProperty_is_set() { var entityType = CreateModel().AddEntityType(typeof(Entity)); @@ -195,7 +195,7 @@ public void IsShadowProperty_is_set() Assert.False(property.IsShadowProperty()); } - [ConditionalFact] + [Fact] public void Property_does_not_use_ValueGenerated_by_default() { var entityType = CreateModel().AddEntityType(typeof(Entity)); @@ -204,7 +204,7 @@ public void Property_does_not_use_ValueGenerated_by_default() Assert.Equal(ValueGenerated.Never, property.ValueGenerated); } - [ConditionalFact] + [Fact] public void Can_mark_property_as_using_ValueGenerated() { var entityType = CreateModel().AddEntityType(typeof(Entity)); @@ -217,7 +217,7 @@ public void Can_mark_property_as_using_ValueGenerated() Assert.Equal(ValueGenerated.Never, property.ValueGenerated); } - [ConditionalFact] + [Fact] public void Property_is_auto_loaded_by_default() { var entityType = CreateModel().AddEntityType(typeof(Entity)); @@ -226,7 +226,7 @@ public void Property_is_auto_loaded_by_default() Assert.True(property.IsAutoLoaded); } - [ConditionalFact] + [Fact] public void Can_mark_property_as_not_auto_loaded() { var entityType = CreateModel().AddEntityType(typeof(Entity)); @@ -239,7 +239,7 @@ public void Can_mark_property_as_not_auto_loaded() Assert.True(property.IsAutoLoaded); } - [ConditionalFact] + [Fact] public void Property_is_not_concurrency_token_by_default() { var entityType = CreateModel().AddEntityType(typeof(Entity)); @@ -248,7 +248,7 @@ public void Property_is_not_concurrency_token_by_default() Assert.False(property.IsConcurrencyToken); } - [ConditionalFact] + [Fact] public void Can_mark_property_as_concurrency_token() { var entityType = CreateModel().AddEntityType(typeof(Entity)); @@ -261,7 +261,7 @@ public void Can_mark_property_as_concurrency_token() Assert.False(property.IsConcurrencyToken); } - [ConditionalFact] + [Fact] public void Throws_when_ValueGeneratorFactory_is_invalid() { var model = CreateModel(); @@ -335,7 +335,7 @@ public override ValueGenerator Create(IProperty property, ITypeBase typeBase) => null; } - [ConditionalFact] + [Fact] public void Throws_when_ValueConverter_type_is_invalid() { var model = CreateModel(); @@ -389,7 +389,7 @@ private PrivateValueConverter() private class NonParameterlessValueConverter(ConverterMappingHints mappingHints = null) : StringToBoolConverter(mappingHints); - [ConditionalFact] + [Fact] public void Throws_when_ValueComparer_type_is_invalid() { var model = CreateModel(); @@ -445,7 +445,7 @@ private PrivateValueComparer() private class NonParameterlessValueComparer(bool favorStructuralComparison) : ValueComparer(favorStructuralComparison); - [ConditionalTheory, InlineData(typeof(SimpleJasonValueReaderWriter)), InlineData(typeof(JasonValueReaderWriterWithPrivateInstance)), + [Theory, InlineData(typeof(SimpleJasonValueReaderWriter)), InlineData(typeof(JasonValueReaderWriterWithPrivateInstance)), InlineData(typeof(JasonValueReaderWriterWithBadInstance))] public void Creates_instance_of_JsonValueReaderWriter_using_constructor(Type type) { @@ -460,7 +460,7 @@ public void Creates_instance_of_JsonValueReaderWriter_using_constructor(Type typ Assert.NotEqual(instance1, instance2); } - [ConditionalTheory, InlineData(typeof(SimpleJasonValueReaderWriterWithInstance)), + [Theory, InlineData(typeof(SimpleJasonValueReaderWriterWithInstance)), InlineData(typeof(SimpleJasonValueReaderWriterWithInstanceAndPrivateConstructor))] public void Creates_instance_of_JsonValueReaderWriter_using_instance(Type type) { @@ -475,7 +475,7 @@ public void Creates_instance_of_JsonValueReaderWriter_using_instance(Type type) Assert.Same(instance1, instance2); } - [ConditionalTheory, InlineData(typeof(NonDerivedJsonValueReaderWriter)), InlineData(typeof(NonGenericJsonValueReaderWriter))] + [Theory, InlineData(typeof(NonDerivedJsonValueReaderWriter)), InlineData(typeof(NonGenericJsonValueReaderWriter))] public void Throws_when_JsonValueReaderWriter_type_is_invalid(Type type) { var model = CreateModel(); @@ -488,7 +488,7 @@ public void Throws_when_JsonValueReaderWriter_type_is_invalid(Type type) property.SetJsonValueReaderWriterType(type)).Message); } - [ConditionalTheory, InlineData(typeof(AbstractJasonValueReaderWriter)), InlineData(typeof(NonParameterlessJsonValueReaderWriter)), + [Theory, InlineData(typeof(AbstractJasonValueReaderWriter)), InlineData(typeof(NonParameterlessJsonValueReaderWriter)), InlineData(typeof(PrivateJasonValueReaderWriter))] public void Throws_when_JsonValueReaderWriter_instance_cannot_be_created(Type type) { @@ -502,7 +502,7 @@ public void Throws_when_JsonValueReaderWriter_instance_cannot_be_created(Type ty Assert.Throws(() => property.GetJsonValueReaderWriter()).Message); } - [ConditionalFact] + [Fact] public void Can_set_element_type_for_primitive_collection() { var model = CreateModel(); @@ -514,7 +514,7 @@ public void Can_set_element_type_for_primitive_collection() Assert.True(property.IsPrimitiveCollection); } - [ConditionalFact] + [Fact] public void Can_set_derived_element_type_for_primitive_collection() { var model = CreateModel(); @@ -526,7 +526,7 @@ public void Can_set_derived_element_type_for_primitive_collection() Assert.True(property.IsPrimitiveCollection); } - [ConditionalFact] + [Fact] public void Can_set_element_type_for_non_primitive_collection() { var model = CreateModel(); diff --git a/test/EFCore.Tests/Metadata/Internal/SkipNavigationTest.cs b/test/EFCore.Tests/Metadata/Internal/SkipNavigationTest.cs index c95611c905d..3e6c9a3c9bc 100644 --- a/test/EFCore.Tests/Metadata/Internal/SkipNavigationTest.cs +++ b/test/EFCore.Tests/Metadata/Internal/SkipNavigationTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; public class SkipNavigationTest { - [ConditionalFact] + [Fact] public void Throws_when_model_is_readonly() { var model = CreateModel(); @@ -54,7 +54,7 @@ public void Throws_when_model_is_readonly() Assert.Throws(() => navigation.SetPropertyAccessMode(null)).Message); } - [ConditionalFact] + [Fact] public void Gets_expected_default_values() { var model = (IConventionModel)CreateModel(); @@ -90,7 +90,7 @@ public void Gets_expected_default_values() Assert.Same(navigation, firstEntity.GetDeclaredSkipNavigations().Single()); } - [ConditionalFact] + [Fact] public void Can_set_foreign_key() { var model = (IConventionModel)CreateModel(); @@ -119,7 +119,7 @@ public void Can_set_foreign_key() Assert.Null(navigation.GetForeignKeyConfigurationSource()); } - [ConditionalFact] + [Fact] public void Setting_foreign_key_to_skip_navigation_with_wrong_dependent_throws() { var model = CreateModel(); @@ -139,7 +139,7 @@ public void Setting_foreign_key_to_skip_navigation_with_wrong_dependent_throws() Assert.Throws(() => navigation.SetForeignKey(orderProductForeignKey)).Message); } - [ConditionalFact] + [Fact] public void Setting_foreign_key_to_skip_navigation_with_wrong_principal_throws() { var model = CreateModel(); @@ -160,7 +160,7 @@ public void Setting_foreign_key_to_skip_navigation_with_wrong_principal_throws() Assert.Throws(() => navigation.SetForeignKey(orderProductForeignKey)).Message); } - [ConditionalFact] + [Fact] public void Setting_foreign_key_with_wrong_inverse_throws() { var model = CreateModel(); @@ -193,7 +193,7 @@ public void Setting_foreign_key_with_wrong_inverse_throws() Assert.Throws(() => productsNavigation.SetForeignKey(orderProductForeignKey)).Message); } - [ConditionalFact] + [Fact] public void Can_set_inverse() { var model = CreateModel(); @@ -239,7 +239,7 @@ public void Can_set_inverse() Assert.Null(((IConventionSkipNavigation)ordersNavigation).GetInverseConfigurationSource()); } - [ConditionalFact] + [Fact] public void Setting_inverse_targetting_wrong_type_throws() { var model = CreateModel(); @@ -269,7 +269,7 @@ public void Setting_inverse_targetting_wrong_type_throws() Assert.Throws(() => productsNavigation.SetInverse(ordersNavigation)).Message); } - [ConditionalFact] + [Fact] public void Setting_inverse_with_wrong_join_type_throws() { var model = CreateModel(); diff --git a/test/EFCore.Tests/Query/EntityMaterializerSourceTest.cs b/test/EFCore.Tests/Query/EntityMaterializerSourceTest.cs index a05b3e4ba17..e991230954f 100644 --- a/test/EFCore.Tests/Query/EntityMaterializerSourceTest.cs +++ b/test/EFCore.Tests/Query/EntityMaterializerSourceTest.cs @@ -15,7 +15,7 @@ namespace Microsoft.EntityFrameworkCore.Query; public class EntityMaterializerSourceTest { - [ConditionalFact] + [Fact] public void Throws_for_abstract_types() { var entityType = CreateConventionalModelBuilder().Model.AddEntityType(typeof(SomeAbstractEntity)); @@ -30,7 +30,7 @@ public void Throws_for_abstract_types() .Message); } - [ConditionalFact] + [Fact] public void Can_create_materializer_for_entity_with_constructor_properties() { using var context = new SomeEntityContext(b => @@ -70,7 +70,7 @@ public void Can_create_materializer_for_entity_with_constructor_properties() Assert.False(entity.GooSetterCalled); } - [ConditionalFact] + [Fact] public void Can_create_materializer_for_entity_with_factory_method() { using var context = new SomeEntityContext(b => @@ -110,7 +110,7 @@ public void Can_create_materializer_for_entity_with_factory_method() Assert.False(entity.GooSetterCalled); } - [ConditionalFact] + [Fact] public void Can_create_materializer_for_entity_with_factory_method_with_object_array() { using var context = new SomeEntityContext(b => @@ -154,7 +154,7 @@ public void Can_create_materializer_for_entity_with_factory_method_with_object_a Assert.False(entity.GooSetterCalled); } - [ConditionalFact] + [Fact] public void Can_create_materializer_for_entity_with_instance_factory_method() { using var context = new SomeEntityContext(b => @@ -199,7 +199,7 @@ public object Create(IEntityType entityType) => Activator.CreateInstance(entityType.ClrType); } - [ConditionalFact] + [Fact] public void Can_create_materializer_for_entity_with_auto_properties() { using var context = new SomeEntityContext(b => b.Entity()); @@ -221,7 +221,7 @@ public void Can_create_materializer_for_entity_with_auto_properties() Assert.Equal(SomeEnum.EnumValue, entity.MaybeEnum); } - [ConditionalFact] + [Fact] public void Can_create_materializer_for_entity_with_fields() { using var context = new SomeEntityContext(b => b.Entity(eb => @@ -253,7 +253,7 @@ public void Can_create_materializer_for_entity_with_fields() Assert.Null(entity.MaybeEnum); } - [ConditionalFact] + [Fact] public void Can_read_nulls() { using var context = new SomeEntityContext(b => b.Entity(eb => @@ -277,7 +277,7 @@ public void Can_read_nulls() Assert.Null(entity.Goo); } - [ConditionalFact] + [Fact] public void Can_create_materializer_for_entity_ignoring_shadow_fields() { using var context = new SomeEntityContext(b => b.Entity(eb => @@ -308,7 +308,7 @@ public void Can_create_materializer_for_entity_ignoring_shadow_fields() Assert.Equal(gu, entity.Goo); } - [ConditionalFact] + [Fact] public void Throws_if_parameterless_constructor_is_not_defined_on_entity_type() { var modelBuilder = CreateConventionalModelBuilder(); @@ -324,7 +324,7 @@ public void Throws_if_parameterless_constructor_is_not_defined_on_entity_type() Assert.Throws(() => modelBuilder.FinalizeModel()).Message); } - [ConditionalFact] + [Fact] public void GetEmptyMaterializer_Create_instance_with_parameterless_constructor() { using var context = new FactoryContext(); @@ -339,7 +339,7 @@ public void GetEmptyMaterializer_Create_instance_with_parameterless_constructor( Assert.NotSame(instance1, instance2); } - [ConditionalFact] + [Fact] public void GetEmptyMaterializer_Create_instance_with_lazy_loader() { using var context = new FactoryContext(); @@ -356,7 +356,7 @@ public void GetEmptyMaterializer_Create_instance_with_lazy_loader() Assert.NotSame(((WithLazyLoader)instance1).LazyLoader, ((WithLazyLoader)instance2).LazyLoader); } - [ConditionalFact] + [Fact] public void GetEmptyMaterializer_Create_instance_with_lazy_loading_delegate() { using var context = new FactoryContext(); @@ -373,7 +373,7 @@ public void GetEmptyMaterializer_Create_instance_with_lazy_loading_delegate() Assert.NotSame(((WithLazyLoaderDelegate)instance1).LazyLoader, ((WithLazyLoaderDelegate)instance2).LazyLoader); } - [ConditionalFact] + [Fact] public void GetEmptyMaterializer_Create_instance_with_entity_type() { using var context = new FactoryContext(); @@ -390,7 +390,7 @@ public void GetEmptyMaterializer_Create_instance_with_entity_type() Assert.Same(((WithEntityType)instance1).EntityType, ((WithEntityType)instance2).EntityType); } - [ConditionalFact] + [Fact] public void GetEmptyMaterializer_Create_instance_with_context() { using var context = new FactoryContext(); @@ -407,7 +407,7 @@ public void GetEmptyMaterializer_Create_instance_with_context() Assert.Same(context, ((WithContext)instance2).Context); } - [ConditionalFact] + [Fact] public void GetEmptyMaterializer_Create_instance_with_service_and_with_properties() { using var context = new FactoryContext(); @@ -424,7 +424,7 @@ public void GetEmptyMaterializer_Create_instance_with_service_and_with_propertie Assert.NotSame(((WithServiceAndWithProperties)instance1).LazyLoader, ((WithServiceAndWithProperties)instance2).LazyLoader); } - [ConditionalFact] + [Fact] public void GetEmptyMaterializer_Create_instance_with_parameterless_and_with_properties() { using var context = new FactoryContext(); @@ -439,7 +439,7 @@ public void GetEmptyMaterializer_Create_instance_with_parameterless_and_with_pro Assert.NotSame(instance1, instance2); } - [ConditionalFact] + [Fact] public void GetEmptyMaterializer_Throws_for_constructor_with_properties() { using var context = new FactoryContext(); diff --git a/test/EFCore.Tests/Query/ExpressionEqualityComparerTest.cs b/test/EFCore.Tests/Query/ExpressionEqualityComparerTest.cs index 8aa4bfe7b67..129f6945dc2 100644 --- a/test/EFCore.Tests/Query/ExpressionEqualityComparerTest.cs +++ b/test/EFCore.Tests/Query/ExpressionEqualityComparerTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using JetBrains.Annotations; @@ -10,7 +10,7 @@ namespace Microsoft.EntityFrameworkCore.Query; public class ExpressionEqualityComparerTest { - [ConditionalFact] + [Fact] public void Member_init_expressions_are_compared_correctly() { var expressionComparer = ExpressionEqualityComparer.Instance; @@ -39,7 +39,7 @@ public void Member_init_expressions_are_compared_correctly() Assert.True(expressionComparer.Equals(e1, e1)); } - [ConditionalFact] + [Fact] public void Default_expressions_are_compared_correctly() { var expressionComparer = ExpressionEqualityComparer.Instance; @@ -56,7 +56,7 @@ public void Default_expressions_are_compared_correctly() Assert.True(expressionComparer.Equals(e1, e1)); } - [ConditionalFact] + [Fact] public void Index_expressions_are_compared_correctly() { var expressionComparer = ExpressionEqualityComparer.Instance; @@ -91,7 +91,7 @@ public void Index_expressions_are_compared_correctly() Assert.True(expressionComparer.Equals(e2, e3)); } - [ConditionalFact] + [Fact] public void Array_constant_expressions_are_compared_correctly() { var expressionComparer = ExpressionEqualityComparer.Instance; @@ -107,7 +107,7 @@ public void Array_constant_expressions_are_compared_correctly() Assert.NotEqual(expressionComparer.GetHashCode(e1), expressionComparer.GetHashCode(e3)); } - [ConditionalFact] // #30697 + [Fact] // #30697 public void Lambda_parameters_names_are_taken_into_account() { var expressionComparer = ExpressionEqualityComparer.Instance; diff --git a/test/EFCore.Tests/Query/ExpressionPrinterTest.cs b/test/EFCore.Tests/Query/ExpressionPrinterTest.cs index eac2f58da24..5fb0ec9183d 100644 --- a/test/EFCore.Tests/Query/ExpressionPrinterTest.cs +++ b/test/EFCore.Tests/Query/ExpressionPrinterTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; @@ -7,7 +7,7 @@ public class ExpressionPrinterTest { private readonly ExpressionPrinter _expressionPrinter = new(); - [ConditionalFact] + [Fact] public void UnaryExpression_printed_correctly() { Assert.Equal("(decimal)42", _expressionPrinter.PrintExpression(Expression.Convert(Expression.Constant(42), typeof(decimal)))); @@ -23,7 +23,7 @@ private class BaseClass; private class DerivedClass : BaseClass; - [ConditionalFact] + [Fact] public void BinaryExpression_printed_correctly() { Assert.Equal( @@ -89,7 +89,7 @@ public void BinaryExpression_printed_correctly() Expression.MakeBinary(ExpressionType.Modulo, Expression.Constant(7), Expression.Constant(42)))); } - [ConditionalFact] + [Fact] public void ConditionalExpression_printed_correctly() => Assert.Equal( "True ? \"Foo\" : \"Bar\"", @@ -99,7 +99,7 @@ public void ConditionalExpression_printed_correctly() Expression.Constant("Foo"), Expression.Constant("Bar")))); - [ConditionalFact] + [Fact] public void Simple_lambda_printed_correctly() => Assert.Equal( "prm => 42", @@ -108,7 +108,7 @@ public void Simple_lambda_printed_correctly() Expression.Constant(42), Expression.Parameter(typeof(int), "prm")))); - [ConditionalFact] + [Fact] public void Multi_parameter_lambda_printed_correctly() => Assert.Equal( "(prm1, prm2) => 42", @@ -118,7 +118,7 @@ public void Multi_parameter_lambda_printed_correctly() Expression.Parameter(typeof(int), "prm1"), Expression.Parameter(typeof(int), "prm2")))); - [ConditionalFact] + [Fact] public void Unhandled_parameter_in_lambda_detected() => Assert.Equal( "prm1{0} => (Unhandled parameter: prm2){1}", @@ -127,7 +127,7 @@ public void Unhandled_parameter_in_lambda_detected() Expression.Parameter(typeof(int), "prm2"), Expression.Parameter(typeof(int), "prm1")))); - [ConditionalFact] + [Fact] public void MemberAccess_after_BinaryExpression_adds_parentheses() => Assert.Equal( @"(7 + 42).Value", @@ -138,7 +138,7 @@ public void MemberAccess_after_BinaryExpression_adds_parentheses() Expression.Constant(42, typeof(int?))), "Value"))); - [ConditionalFact] + [Fact] public void Simple_MethodCall_printed_correctly() => Assert.Equal( @"""Foo"".ToUpper()", @@ -147,7 +147,7 @@ public void Simple_MethodCall_printed_correctly() Expression.Constant("Foo"), typeof(string).GetMethods().Single(m => m.Name == nameof(string.ToUpper) && m.GetParameters().Count() == 0)))); - [ConditionalFact] + [Fact] public void Complex_MethodCall_printed_correctly() => Assert.Equal( "\"Foobar\"" @@ -162,7 +162,7 @@ public void Complex_MethodCall_printed_correctly() Expression.Constant(4))), ignoreLineEndingDifferences: true); - [ConditionalFact] + [Fact] public void Linq_methods_printed_as_extensions() { Expression> expr = @@ -183,14 +183,14 @@ public void Linq_methods_printed_as_extensions() ignoreLineEndingDifferences: true); } - [ConditionalFact] + [Fact] public void Enumerable_Constant_printed_correctly() => Assert.Equal( @"int[] { 1, 2, 3 }", _expressionPrinter.PrintExpression( Expression.Constant(new[] { 1, 2, 3 }))); - [ConditionalFact] // #35866 + [Fact] // #35866 public void EnumerableQuery_Constant_printed_correctly() => Assert.Equal( "EnumerableQuery { 1 }", diff --git a/test/EFCore.Tests/Query/Internal/NavigationExpandingExpressionVisitorTests.cs b/test/EFCore.Tests/Query/Internal/NavigationExpandingExpressionVisitorTests.cs index cc4ad5887b8..0cfec61126f 100644 --- a/test/EFCore.Tests/Query/Internal/NavigationExpandingExpressionVisitorTests.cs +++ b/test/EFCore.Tests/Query/Internal/NavigationExpandingExpressionVisitorTests.cs @@ -71,7 +71,7 @@ private class A public int B { get; set; } } - [ConditionalFact] + [Fact] public void Visits_extension_children() { var model = new Model(); diff --git a/test/EFCore.Tests/Query/QueryProviderTest.cs b/test/EFCore.Tests/Query/QueryProviderTest.cs index 4adb26d29ca..00eef10a8b5 100644 --- a/test/EFCore.Tests/Query/QueryProviderTest.cs +++ b/test/EFCore.Tests/Query/QueryProviderTest.cs @@ -1,11 +1,11 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Query; public class QueryProviderTest { - [ConditionalFact] + [Fact] public async Task ExecuteUpdate_and_ExecuteDelete_throw_when_provider_does_not_implement() { using var context = new TestContext(); @@ -28,7 +28,7 @@ public async Task ExecuteUpdate_and_ExecuteDelete_throw_when_provider_does_not_i (await Assert.ThrowsAsync(() => set.ExecuteDeleteAsync())).InnerException!.Message); } - [ConditionalFact] + [Fact] public void Non_generic_ExecuteQuery_does_not_throw() { var context = new TestContext(); diff --git a/test/EFCore.Tests/ServiceProviderCacheTest.cs b/test/EFCore.Tests/ServiceProviderCacheTest.cs index ce1c3877cfe..e0d3adee3ee 100644 --- a/test/EFCore.Tests/ServiceProviderCacheTest.cs +++ b/test/EFCore.Tests/ServiceProviderCacheTest.cs @@ -9,7 +9,7 @@ namespace Microsoft.EntityFrameworkCore; public class ServiceProviderCacheTest { - [ConditionalFact] + [Fact] public void Returns_same_provider_for_same_type_of_configured_extensions() { var loggerFactory = new ListLoggerFactory(); @@ -28,7 +28,7 @@ public void Returns_same_provider_for_same_type_of_configured_extensions() loggerFactory.Log[0].Message); } - [ConditionalFact] + [Fact] public void Returns_different_provider_for_different_type_of_configured_extensions() { var loggerFactory = new ListLoggerFactory(); @@ -58,7 +58,7 @@ public void Returns_different_provider_for_different_type_of_configured_extensio loggerFactory.Log[1].Message); } - [ConditionalFact] + [Fact] public void Returns_different_provider_for_extensions_configured_in_different_order() { var loggerFactory = new ListLoggerFactory(); @@ -91,7 +91,7 @@ public void Returns_different_provider_for_extensions_configured_in_different_or Assert.Equal(new[] { nameof(FakeDbContextOptionsExtension2), nameof(FakeDbContextOptionsExtension1) }, config2Log); } - [ConditionalFact] + [Fact] public void Returns_same_provider_for_same_type_of_configured_extensions_and_replaced_service_types() { var loggerFactory = new ListLoggerFactory(); @@ -117,7 +117,7 @@ public void Returns_same_provider_for_same_type_of_configured_extensions_and_rep loggerFactory.Log[0].Message); } - [ConditionalFact] + [Fact] public void Returns_different_provider_for_different_replaced_service_types() { var loggerFactory = new ListLoggerFactory(); @@ -151,7 +151,7 @@ public void Returns_different_provider_for_different_replaced_service_types() loggerFactory.Log[1].Message); } - [ConditionalFact] + [Fact] public void Different_ILoggerFactory_instances_does_not_trigger_new_internal_provider() { var config1 = CreateOptions(new ListLoggerFactory()); @@ -168,7 +168,7 @@ public void Different_ILoggerFactory_instances_does_not_trigger_new_internal_pro Assert.Same(first, second); } - [ConditionalFact] + [Fact] public void Reports_debug_info_for_most_similar_existing_service_provider() { // Do this a bunch of times since in the past this exposed issues with cache collisions @@ -329,7 +329,7 @@ public override void PopulateDebugInfo(IDictionary debugInfo) } } - [ConditionalFact] + [Fact] public void Service_provider_cache_can_be_cleared() { var cache = new ServiceProviderCache(); diff --git a/test/EFCore.Tests/SharedTypeDbSetTest.cs b/test/EFCore.Tests/SharedTypeDbSetTest.cs index 5d9f5230743..3ce300d8191 100644 --- a/test/EFCore.Tests/SharedTypeDbSetTest.cs +++ b/test/EFCore.Tests/SharedTypeDbSetTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.ComponentModel; @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore; public class SharedTypeDbSetTest { - [ConditionalFact] + [Fact] public void DbSets_are_cached() { DbSet set1; @@ -28,7 +28,7 @@ public void DbSets_are_cached() } } - [ConditionalFact] + [Fact] public async Task Use_of_set_throws_if_context_is_disposed() { DbSet set; @@ -79,7 +79,7 @@ public async Task Use_of_set_throws_if_context_is_disposed() (await Assert.ThrowsAsync(() => set.ToListAsync())).Message); } - [ConditionalFact] + [Fact] public void Direct_use_of_Set_for_shared_type_throws_if_context_disposed() { var context = new EarlyLearningCenter(); @@ -90,7 +90,7 @@ public void Direct_use_of_Set_for_shared_type_throws_if_context_disposed() Assert.Throws(() => context.Set>("SharedTypeEntityTypeName")).Message); } - [ConditionalFact] + [Fact] public void Using_shared_type_entity_type_db_set_with_incorrect_return_type_throws() { using var context = new EarlyLearningCenter(); @@ -110,7 +110,7 @@ public void Using_shared_type_entity_type_db_set_with_incorrect_return_type_thro Assert.Throws(() => wrongDbSet.ToList()).Message); } - [ConditionalFact] + [Fact] public void Use_of_LocalView_throws_if_context_is_disposed() { LocalView view; @@ -145,23 +145,23 @@ public void Use_of_LocalView_throws_if_context_is_disposed() Assert.Throws(() => view.GetEnumerator()).Message); } - [ConditionalFact] + [Fact] public Task Can_add_existing_entities_to_context_to_be_deleted() => TrackEntitiesTest((c, e) => c.Remove(e), (c, e) => c.Remove(e), EntityState.Deleted); - [ConditionalFact] + [Fact] public Task Can_add_new_entities_to_context_graph() => TrackEntitiesTest((c, e) => c.Add(e), (c, e) => c.Add(e), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_new_entities_to_context_graph_async() => TrackEntitiesTest((c, e) => c.AddAsync(e), (c, e) => c.AddAsync(e), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_existing_entities_to_context_to_be_attached_graph() => TrackEntitiesTest((c, e) => c.Attach(e), (c, e) => c.Attach(e), EntityState.Unchanged); - [ConditionalFact] + [Fact] public Task Can_add_existing_entities_to_context_to_be_updated_graph() => TrackEntitiesTest((c, e) => c.Update(e), (c, e) => c.Update(e), EntityState.Modified); @@ -256,35 +256,35 @@ private static async Task TrackEntitiesTest( Assert.Same(productEntry22.GetInfrastructure(), context.Entry(product22).GetInfrastructure()); } - [ConditionalFact] + [Fact] public Task Can_add_multiple_new_entities_to_set() => TrackMultipleEntitiesTest( (c, e) => c.Category1s.AddRange(e[0], e[1]), (c, e) => c.Product2s.AddRange(e[0], e[1]), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_multiple_new_entities_to_set_async() => TrackMultipleEntitiesTest( (c, e) => c.Category1s.AddRangeAsync(e[0], e[1]), (c, e) => c.Product2s.AddRangeAsync(e[0], e[1]), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_multiple_existing_entities_to_set_to_be_attached() => TrackMultipleEntitiesTest( (c, e) => c.Category1s.AttachRange(e[0], e[1]), (c, e) => c.Product2s.AttachRange(e[0], e[1]), EntityState.Unchanged); - [ConditionalFact] + [Fact] public Task Can_add_multiple_existing_entities_to_set_to_be_updated() => TrackMultipleEntitiesTest( (c, e) => c.Category1s.UpdateRange(e[0], e[1]), (c, e) => c.Product2s.UpdateRange(e[0], e[1]), EntityState.Modified); - [ConditionalFact] + [Fact] public Task Can_add_multiple_existing_entities_to_set_to_be_deleted() => TrackMultipleEntitiesTest( (c, e) => c.Category1s.RemoveRange(e[0], e[1]), @@ -348,11 +348,11 @@ private static async Task TrackMultipleEntitiesTest( Assert.Equal(expectedState, context.Entry(product2).State); } - [ConditionalFact] + [Fact] public void Can_add_no_new_entities_to_set() => TrackNoEntitiesTest(c => c.Category1s.AddRange(), c => c.Product2s.AddRange()); - [ConditionalFact] + [Fact] public async Task Can_add_no_new_entities_to_set_async() { using var context = new EarlyLearningCenter(); @@ -361,15 +361,15 @@ public async Task Can_add_no_new_entities_to_set_async() Assert.Empty(context.ChangeTracker.Entries()); } - [ConditionalFact] + [Fact] public void Can_add_no_existing_entities_to_set_to_be_attached() => TrackNoEntitiesTest(c => c.Category1s.AttachRange(), c => c.Product2s.AttachRange()); - [ConditionalFact] + [Fact] public void Can_add_no_existing_entities_to_set_to_be_updated() => TrackNoEntitiesTest(c => c.Category1s.UpdateRange(), c => c.Product2s.UpdateRange()); - [ConditionalFact] + [Fact] public void Can_add_no_existing_entities_to_set_to_be_deleted() => TrackNoEntitiesTest(c => c.Category1s.RemoveRange(), c => c.Product2s.RemoveRange()); @@ -381,35 +381,35 @@ private static void TrackNoEntitiesTest(Action categoryAdde Assert.Empty(context.ChangeTracker.Entries()); } - [ConditionalFact] + [Fact] public Task Can_add_multiple_existing_entities_to_set_to_be_deleted_Enumerable() => TrackMultipleEntitiesTestEnumerable( (c, e) => c.Category1s.RemoveRange(e), (c, e) => c.Product2s.RemoveRange(e), EntityState.Deleted); - [ConditionalFact] + [Fact] public Task Can_add_multiple_new_entities_to_set_Enumerable_graph() => TrackMultipleEntitiesTestEnumerable( (c, e) => c.Category1s.AddRange(e), (c, e) => c.Product2s.AddRange(e), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_multiple_new_entities_to_set_Enumerable_graph_async() => TrackMultipleEntitiesTestEnumerable( (c, e) => c.Category1s.AddRangeAsync(e), (c, e) => c.Product2s.AddRangeAsync(e), EntityState.Added); - [ConditionalFact] + [Fact] public Task Can_add_multiple_existing_entities_to_set_to_be_attached_Enumerable_graph() => TrackMultipleEntitiesTestEnumerable( (c, e) => c.Category1s.AttachRange(e), (c, e) => c.Product2s.AttachRange(e), EntityState.Unchanged); - [ConditionalFact] + [Fact] public Task Can_add_multiple_existing_entities_to_set_to_be_updated_Enumerable_graph() => TrackMultipleEntitiesTestEnumerable( (c, e) => c.Category1s.UpdateRange(e), @@ -475,15 +475,15 @@ await productAdder( Assert.Equal(expectedState, context.Entry(product2).State); } - [ConditionalFact] + [Fact] public void Can_add_no_existing_entities_to_set_to_be_deleted_Enumerable() => TrackNoEntitiesTestEnumerable((c, e) => c.Category2s.RemoveRange(e), (c, e) => c.Product1s.RemoveRange(e)); - [ConditionalFact] + [Fact] public void Can_add_no_new_entities_to_set_Enumerable_graph() => TrackNoEntitiesTestEnumerable((c, e) => c.Category2s.AddRange(e), (c, e) => c.Product1s.AddRange(e)); - [ConditionalFact] + [Fact] public async Task Can_add_no_new_entities_to_set_Enumerable_graph_async() { using var context = new EarlyLearningCenter(); @@ -492,11 +492,11 @@ public async Task Can_add_no_new_entities_to_set_Enumerable_graph_async() Assert.Empty(context.ChangeTracker.Entries()); } - [ConditionalFact] + [Fact] public void Can_add_no_existing_entities_to_set_to_be_attached_Enumerable_graph() => TrackNoEntitiesTestEnumerable((c, e) => c.Category2s.AttachRange(e), (c, e) => c.Product1s.AttachRange(e)); - [ConditionalFact] + [Fact] public void Can_add_no_existing_entities_to_set_to_be_updated_Enumerable_graph() => TrackNoEntitiesTestEnumerable((c, e) => c.Category2s.UpdateRange(e), (c, e) => c.Product1s.UpdateRange(e)); @@ -510,7 +510,7 @@ private static void TrackNoEntitiesTestEnumerable( Assert.Empty(context.ChangeTracker.Entries()); } - [ConditionalFact] + [Fact] public async Task Can_use_Add_to_change_entity_state() { await ChangeStateWithMethod(c => c.Category2s, (c, e) => c.Add(e), EntityState.Detached, EntityState.Added); @@ -520,7 +520,7 @@ public async Task Can_use_Add_to_change_entity_state() await ChangeStateWithMethod(c => c.Category2s, (c, e) => c.Add(e), EntityState.Added, EntityState.Added); } - [ConditionalFact] + [Fact] public async Task Can_use_Add_to_change_entity_state_async() { await ChangeStateWithMethod(c => c.Category2s, async (c, e) => await c.AddAsync(e), EntityState.Detached, EntityState.Added); @@ -530,7 +530,7 @@ public async Task Can_use_Add_to_change_entity_state_async() await ChangeStateWithMethod(c => c.Category2s, async (c, e) => await c.AddAsync(e), EntityState.Added, EntityState.Added); } - [ConditionalFact] + [Fact] public async Task Can_use_Attach_to_change_entity_state() { await ChangeStateWithMethod(c => c.Category2s, (c, e) => c.Attach(e), EntityState.Detached, EntityState.Unchanged); @@ -540,7 +540,7 @@ public async Task Can_use_Attach_to_change_entity_state() await ChangeStateWithMethod(c => c.Category2s, (c, e) => c.Attach(e), EntityState.Added, EntityState.Unchanged); } - [ConditionalFact] + [Fact] public async Task Can_use_Update_to_change_entity_state() { await ChangeStateWithMethod(c => c.Category2s, (c, e) => c.Update(e), EntityState.Detached, EntityState.Modified); @@ -550,7 +550,7 @@ public async Task Can_use_Update_to_change_entity_state() await ChangeStateWithMethod(c => c.Category2s, (c, e) => c.Update(e), EntityState.Added, EntityState.Modified); } - [ConditionalFact] + [Fact] public async Task Can_use_Remove_to_change_entity_state() { await ChangeStateWithMethod(c => c.Category2s, (c, e) => c.Remove(e), EntityState.Detached, EntityState.Deleted); @@ -593,7 +593,7 @@ private async Task ChangeStateWithMethod( Assert.Equal(expectedState, entry.State); } - [ConditionalTheory, InlineData(true), InlineData(false)] + [Theory, InlineData(true), InlineData(false)] public async Task Can_add_new_entities_to_context_with_key_generation(bool async) { using var context = new EarlyLearningCenter(); @@ -624,7 +624,7 @@ public async Task Can_add_new_entities_to_context_with_key_generation(bool async Assert.Equal(EntityState.Added, categoryEntry.State); } - [ConditionalFact] + [Fact] public void Can_get_scoped_service_provider() { using var context = new EarlyLearningCenter(); @@ -633,7 +633,7 @@ public void Can_get_scoped_service_provider() ((IInfrastructure)context.Product1s).Instance); } - [ConditionalFact] + [Fact] public void Throws_when_using_with_IListSource() { using var context = new EarlyLearningCenter(); @@ -642,7 +642,7 @@ public void Throws_when_using_with_IListSource() Assert.Throws(() => ((IListSource)context.Gu1s).GetList()).Message); } - [ConditionalFact] + [Fact] public void Throws_when_using_query_with_IListSource() { using var context = new EarlyLearningCenter(); @@ -651,7 +651,7 @@ public void Throws_when_using_query_with_IListSource() Assert.Throws(() => ((IListSource)context.Gu1s.Distinct()).GetList()).Message); } - [ConditionalFact] + [Fact] public void Throws_when_using_Local_with_IListSource() { using var context = new EarlyLearningCenter(); @@ -660,7 +660,7 @@ public void Throws_when_using_Local_with_IListSource() Assert.Throws(() => ((IListSource)context.Gu1s.Local).GetList()).Message); } - [ConditionalFact] + [Fact] public void Can_enumerate_with_foreach() { using var context = new EarlyLearningCenter(); @@ -670,7 +670,7 @@ public void Can_enumerate_with_foreach() } } - [ConditionalFact] + [Fact] public async Task Can_enumerate_with_await_foreach() { using var context = new EarlyLearningCenter(); @@ -680,7 +680,7 @@ public async Task Can_enumerate_with_await_foreach() } } - [ConditionalFact] + [Fact] public async Task Can_enumerate_with_await_foreach_with_cancellation() { using var context = new EarlyLearningCenter(); diff --git a/test/EFCore.Tests/Storage/ExecutionStrategyTest.cs b/test/EFCore.Tests/Storage/ExecutionStrategyTest.cs index a6126e259ab..42ed3eab4c1 100644 --- a/test/EFCore.Tests/Storage/ExecutionStrategyTest.cs +++ b/test/EFCore.Tests/Storage/ExecutionStrategyTest.cs @@ -31,7 +31,7 @@ private TestExecutionStrategy CreateFailOnRetryStrategy() return null; }); - [ConditionalFact] + [Fact] public void GetNextDelay_returns_the_expected_default_sequence() { var strategy = new TestExecutionStrategy(Context); @@ -63,7 +63,7 @@ public void GetNextDelay_returns_the_expected_default_sequence() } } - [ConditionalFact] + [Fact] public void RetriesOnFailure_returns_true() { var mockExecutionStrategy = new TestExecutionStrategy(Context); @@ -71,11 +71,11 @@ public void RetriesOnFailure_returns_true() Assert.True(mockExecutionStrategy.RetriesOnFailure); } - [ConditionalFact] + [Fact] public void Execute_Action_throws_for_an_existing_transaction() => Execute_throws_for_an_existing_transaction(e => e.Execute(() => { })); - [ConditionalFact] + [Fact] public void Execute_Func_throws_for_an_existing_transaction() => Execute_throws_for_an_existing_transaction(e => e.Execute(() => 1)); @@ -92,11 +92,11 @@ private void Execute_throws_for_an_existing_transaction(Action Execute_throws_for_an_ambient_transaction(e => e.Execute(() => { })); - [ConditionalFact] + [Fact] public void Execute_Func_throws_for_an_ambient_transaction() => Execute_throws_for_an_ambient_transaction(e => e.Execute(() => 1)); @@ -113,11 +113,11 @@ private void Execute_throws_for_an_ambient_transaction(Action } } - [ConditionalFact] + [Fact] public void Execute_Action_throws_for_an_enlisted_transaction() => Execute_throws_for_an_enlisted_transaction(e => e.Execute(() => { })); - [ConditionalFact] + [Fact] public void Execute_Func_throws_for_an_enlisted_transaction() => Execute_throws_for_an_enlisted_transaction(e => e.Execute(() => 1)); @@ -134,11 +134,11 @@ private void Execute_throws_for_an_enlisted_transaction(Action Execute_does_not_throw_when_invoked_twice((e, f) => e.Execute(() => f())); - [ConditionalFact] + [Fact] public void Execute_Func_does_not_throw_when_invoked_twice() => Execute_does_not_throw_when_invoked_twice((e, f) => e.Execute(f)); @@ -169,11 +169,11 @@ private void Execute_does_not_throw_when_invoked_twice(Action Execute_does_not_throw_for_an_existing_transaction_if_RetryOnFailure_disabled((e, f) => e.Execute(() => f())); - [ConditionalFact] + [Fact] public void Execute_Func_does_not_throw_for_an_existing_transaction_if_RetryOnFailure_disabled() => Execute_does_not_throw_for_an_existing_transaction_if_RetryOnFailure_disabled((e, f) => e.Execute(f)); @@ -213,11 +213,11 @@ private void Execute_does_not_throw_for_an_existing_transaction_if_RetryOnFailur Assert.True(executed2); } - [ConditionalFact] + [Fact] public void Execute_Action_doesnt_retry_if_successful() => Execute_doesnt_retry_if_successful((e, f) => e.Execute(() => f())); - [ConditionalFact] + [Fact] public void Execute_Func_doesnt_retry_if_successful() => Execute_doesnt_retry_if_successful((e, f) => e.Execute(f)); @@ -229,11 +229,11 @@ private void Execute_doesnt_retry_if_successful(Action Execute_retries_until_successful((e, f) => e.Execute(() => f())); - [ConditionalFact] + [Fact] public void Execute_Func_retries_until_successful() => Execute_retries_until_successful((e, f) => e.Execute(f)); @@ -260,11 +260,11 @@ private void Execute_retries_until_successful(Action Execute_retries_until_not_retriable_exception_is_thrown((e, f) => e.Execute(() => f())); - [ConditionalFact] + [Fact] public void Execute_Func_retries_until_not_retriable_exception_is_thrown() => Execute_retries_until_not_retriable_exception_is_thrown((e, f) => e.Execute(f)); @@ -292,11 +292,11 @@ private void Execute_retries_until_not_retriable_exception_is_thrown(Action Execute_retries_until_limit_is_reached((e, f) => e.Execute(() => f())); - [ConditionalFact] + [Fact] public void Execute_Func_retries_until_limit_is_reached() => Execute_retries_until_limit_is_reached((e, f) => e.Execute(f)); @@ -328,11 +328,11 @@ private void Execute_retries_until_limit_is_reached(Action ExecuteAsync_throws_for_an_existing_transaction(e => e.ExecuteAsync(() => (Task)Task.FromResult(1))); - [ConditionalFact] + [Fact] public Task ExecuteAsync_Func_throws_for_an_existing_transaction() => ExecuteAsync_throws_for_an_existing_transaction(e => e.ExecuteAsync(ct => Task.FromResult(1), CancellationToken.None)); @@ -348,11 +348,11 @@ private async Task ExecuteAsync_throws_for_an_existing_transaction(Func await ExecuteAsync_throws_for_an_ambient_transaction(e => e.ExecuteAsync(() => (Task)Task.FromResult(1))); - [ConditionalFact] + [Fact] public async Task ExecuteAsync_Func_throws_for_an_ambient_transaction() => await ExecuteAsync_throws_for_an_ambient_transaction(e => e.ExecuteAsync(ct => Task.FromResult(1), CancellationToken.None)); @@ -369,11 +369,11 @@ private async Task ExecuteAsync_throws_for_an_ambient_transaction(Func await ExecuteAsync_throws_for_an_enlisted_transaction(e => e.ExecuteAsync(() => (Task)Task.FromResult(1))); - [ConditionalFact] + [Fact] public async Task ExecuteAsync_Func_throws_for_an_enlisted_transaction() => await ExecuteAsync_throws_for_an_enlisted_transaction(e => e.ExecuteAsync(ct => Task.FromResult(1), CancellationToken.None)); @@ -390,11 +390,11 @@ private async Task ExecuteAsync_throws_for_an_enlisted_transaction(Func ExecuteAsync_does_not_throw_when_invoked_twice((e, f) => e.ExecuteAsync(() => (Task)f(CancellationToken.None))); - [ConditionalFact] + [Fact] public Task ExecuteAsync_Func_does_not_throw_when_invoked_twice() => ExecuteAsync_does_not_throw_when_invoked_twice((e, f) => e.ExecuteAsync(f, CancellationToken.None)); @@ -426,12 +426,12 @@ await executeAsync( } } - [ConditionalFact] + [Fact] public async Task ExecuteAsync_Action_does_not_throw_for_an_existing_transaction_if_RetryOnFailure_disabled() => await ExecuteAsync_does_not_throw_for_an_existing_transaction_if_RetryOnFailure_disabled((e, f) => e.ExecuteAsync(() => (Task)f(CancellationToken.None))); - [ConditionalFact] + [Fact] public async Task ExecuteAsync_Func_does_not_throw_for_an_existing_transaction_if_RetryOnFailure_disabled() => await ExecuteAsync_does_not_throw_for_an_existing_transaction_if_RetryOnFailure_disabled((e, f) => e.ExecuteAsync(f, CancellationToken.None)); @@ -472,11 +472,11 @@ await executeAsync( Assert.True(executed2); } - [ConditionalFact] + [Fact] public Task ExecuteAsync_Action_doesnt_retry_if_successful() => ExecuteAsync_doesnt_retry_if_successful((e, f) => e.ExecuteAsync(ct => (Task)f(ct), CancellationToken.None)); - [ConditionalFact] + [Fact] public Task ExecuteAsync_Func_doesnt_retry_if_successful() => ExecuteAsync_doesnt_retry_if_successful((e, f) => e.ExecuteAsync(f, CancellationToken.None)); @@ -489,11 +489,11 @@ private async Task ExecuteAsync_doesnt_retry_if_successful( Assert.Equal(1, executionCount); } - [ConditionalFact] + [Fact] public Task ExecuteAsync_Action_retries_until_successful() => ExecuteAsync_retries_until_successful((e, f) => e.ExecuteAsync(ct => (Task)f(ct), CancellationToken.None)); - [ConditionalFact] + [Fact] public Task ExecuteAsync_Func_retries_until_successful() => ExecuteAsync_retries_until_successful((e, f) => e.ExecuteAsync(f, CancellationToken.None)); @@ -521,12 +521,12 @@ await executeAsync( Assert.Equal(4, executionCount); } - [ConditionalFact] + [Fact] public Task ExecuteAsync_Action_retries_until_not_retrieable_exception_is_thrown() => ExecuteAsync_retries_until_not_retrieable_exception_is_thrown((e, f) => e.ExecuteAsync( ct => (Task)f(ct), CancellationToken.None)); - [ConditionalFact] + [Fact] public Task ExecuteAsync_Func_retries_until_not_retrieable_exception_is_thrown() => ExecuteAsync_retries_until_not_retrieable_exception_is_thrown((e, f) => e.ExecuteAsync(f, CancellationToken.None)); @@ -554,11 +554,11 @@ await Assert.ThrowsAsync(() => executeAsync( Assert.Equal(4, executionCount); } - [ConditionalFact] + [Fact] public Task ExecuteAsync_Action_retries_until_limit_is_reached() => ExecuteAsync_retries_until_limit_is_reached((e, f) => e.ExecuteAsync(ct => (Task)f(ct), CancellationToken.None)); - [ConditionalFact] + [Fact] public Task ExecuteAsync_Func_retries_until_limit_is_reached() => ExecuteAsync_retries_until_limit_is_reached((e, f) => e.ExecuteAsync(f, CancellationToken.None)); @@ -591,7 +591,7 @@ private async Task ExecuteAsync_retries_until_limit_is_reached( Assert.Equal(3, executionCount); } - [ConditionalFact] + [Fact] public void ShouldRetryOn_does_not_get_null_on_DbUpdateConcurrencyException() { var executionStrategyMock = new TestExecutionStrategy( @@ -616,7 +616,7 @@ public void ShouldRetryOn_does_not_get_null_on_DbUpdateConcurrencyException() Assert.Equal(2, executionCount); } - [ConditionalFact] + [Fact] public async Task ExecuteAsync_preserves_synchronization_context_across_retries() { var mockExecutionStrategy = new TestExecutionStrategy(Context, shouldRetryOn: e => e is DbUpdateConcurrencyException); diff --git a/test/EFCore.Tests/Storage/ValueConversion/BoolToStringConverterTest.cs b/test/EFCore.Tests/Storage/ValueConversion/BoolToStringConverterTest.cs index a3bf61c81f2..c4a120a21f7 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/BoolToStringConverterTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/BoolToStringConverterTest.cs @@ -8,7 +8,7 @@ public class BoolToStringConverterTest private static readonly BoolToStringConverter _boolToTrueFalse = new("False", "True"); - [ConditionalFact] + [Fact] public void Can_convert_bools_to_true_false_strings() { var converter = _boolToTrueFalse.ConvertToProviderExpression.Compile(); @@ -17,7 +17,7 @@ public void Can_convert_bools_to_true_false_strings() Assert.Equal("False", converter(false)); } - [ConditionalFact] + [Fact] public void Can_convert_true_false_strings_to_bool() { var converter = _boolToTrueFalse.ConvertFromProviderExpression.Compile(); @@ -36,7 +36,7 @@ public void Can_convert_true_false_strings_to_bool() private static readonly BoolToStringConverter _boolToYn = new("N", "Y"); - [ConditionalFact] + [Fact] public void Can_convert_bools_to_Y_N_strings() { var converter = _boolToYn.ConvertToProviderExpression.Compile(); @@ -45,7 +45,7 @@ public void Can_convert_bools_to_Y_N_strings() Assert.Equal("N", converter(false)); } - [ConditionalFact] + [Fact] public void Can_convert_Y_N_strings_to_bool() { var converter = _boolToYn.ConvertFromProviderExpression.Compile(); @@ -59,7 +59,7 @@ public void Can_convert_Y_N_strings_to_bool() Assert.False(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_bools_to_empty_strings_or_whitespace() { var converter = new BoolToStringConverter("", " ").ConvertToProviderExpression.Compile(); @@ -68,7 +68,7 @@ public void Can_convert_bools_to_empty_strings_or_whitespace() Assert.Equal("", converter(false)); } - [ConditionalFact] + [Fact] public void Can_convert_empty_strings_or_whitespace_to_bool() { var converter = new BoolToStringConverter("", " ").ConvertFromProviderExpression.Compile(); diff --git a/test/EFCore.Tests/Storage/ValueConversion/BoolToZeroOneConverterTest.cs b/test/EFCore.Tests/Storage/ValueConversion/BoolToZeroOneConverterTest.cs index 87a3a7a1b4a..fa0d28e0d84 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/BoolToZeroOneConverterTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/BoolToZeroOneConverterTest.cs @@ -7,7 +7,7 @@ public class BoolToZeroOneConverterTest { private static readonly BoolToZeroOneConverter _boolToZeroOne = new(); - [ConditionalFact] + [Fact] public void Can_convert_bools_to_zero_one() { var converter = _boolToZeroOne.ConvertToProviderExpression.Compile(); @@ -16,7 +16,7 @@ public void Can_convert_bools_to_zero_one() Assert.Equal(0, converter(false)); } - [ConditionalFact] + [Fact] public void Can_convert_bools_to_zero_one_object() { var converter = _boolToZeroOne.ConvertToProvider; @@ -28,7 +28,7 @@ public void Can_convert_bools_to_zero_one_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_zero_one_to_bool() { var converter = _boolToZeroOne.ConvertFromProviderExpression.Compile(); @@ -38,7 +38,7 @@ public void Can_convert_zero_one_to_bool() Assert.False(converter(77)); } - [ConditionalFact] + [Fact] public void Can_convert_zero_one_to_bool_object() { var converter = _boolToZeroOne.ConvertFromProvider; @@ -51,11 +51,11 @@ public void Can_convert_zero_one_to_bool_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Ordering_preserved_for_bools_to_zero_one() => ValueConverterTest.OrderingTest(_boolToZeroOne, false, true); - [ConditionalFact] + [Fact] public void Can_convert_bools_to_zero_one_for_all_numerics() { GenericConvertTest(0, 1); diff --git a/test/EFCore.Tests/Storage/ValueConversion/BytesToStringConverterTest.cs b/test/EFCore.Tests/Storage/ValueConversion/BytesToStringConverterTest.cs index c1a2694ba2f..1a8aaf5dd1d 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/BytesToStringConverterTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/BytesToStringConverterTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Storage.ValueConversion; @@ -7,7 +7,7 @@ public class BytesToStringConverterTest { private static readonly BytesToStringConverter _bytesToStringConverter = new(); - [ConditionalFact] + [Fact] public void Can_convert_strings_to_bytes() { var converter = _bytesToStringConverter.ConvertToProviderExpression.Compile(); @@ -17,7 +17,7 @@ public void Can_convert_strings_to_bytes() Assert.Equal("", converter([])); } - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_strings() { var converter = _bytesToStringConverter.ConvertFromProviderExpression.Compile(); @@ -26,7 +26,7 @@ public void Can_convert_bytes_to_strings() Assert.Equal(new byte[0], converter("")); } - [ConditionalFact] + [Fact] public void Can_convert_strings_to_long_non_char_bytes() { var converter = _bytesToStringConverter.ConvertToProviderExpression.Compile(); @@ -34,7 +34,7 @@ public void Can_convert_strings_to_long_non_char_bytes() Assert.Equal(CreateLongBytesString(), converter(CreateLongBytes())); } - [ConditionalFact] + [Fact] public void Can_convert_long_non_char_bytes_to_strings() { var converter = _bytesToStringConverter.ConvertFromProviderExpression.Compile(); diff --git a/test/EFCore.Tests/Storage/ValueConversion/CharToStringConverterTest.cs b/test/EFCore.Tests/Storage/ValueConversion/CharToStringConverterTest.cs index b3e37913ad7..662cf88707e 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/CharToStringConverterTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/CharToStringConverterTest.cs @@ -7,7 +7,7 @@ public class CharToStringConverterTest { private static readonly CharToStringConverter _charToString = new(); - [ConditionalFact] + [Fact] public void Can_convert_chars_to_strings() { var converter = _charToString.ConvertToProviderExpression.Compile(); @@ -16,7 +16,7 @@ public void Can_convert_chars_to_strings() Assert.Equal("!", converter('!')); } - [ConditionalFact] + [Fact] public void Can_convert_chars_to_strings_object() { var converter = _charToString.ConvertToProvider; @@ -28,7 +28,7 @@ public void Can_convert_chars_to_strings_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_strings_to_chars() { var converter = _charToString.ConvertFromProviderExpression.Compile(); @@ -41,7 +41,7 @@ public void Can_convert_strings_to_chars() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_strings_to_chars_object() { var converter = _charToString.ConvertFromProvider; diff --git a/test/EFCore.Tests/Storage/ValueConversion/DateOnlyConvertersTest.cs b/test/EFCore.Tests/Storage/ValueConversion/DateOnlyConvertersTest.cs index f635607c58f..37a63ca4804 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/DateOnlyConvertersTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/DateOnlyConvertersTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Storage.ValueConversion; @@ -7,7 +7,7 @@ public class DateOnlyConvertersTest { private static readonly DateOnlyToStringConverter DateOnlyToString = new(); - [ConditionalFact] + [Fact] public void Can_convert_DateOnly_to_string() { var converter = DateOnlyToString.ConvertToProviderExpression.Compile(); @@ -16,7 +16,7 @@ public void Can_convert_DateOnly_to_string() Assert.Equal("0001-01-01", converter(new DateOnly())); } - [ConditionalFact] + [Fact] public void Can_convert_string_to_DateOnly() { var converter = DateOnlyToString.ConvertFromProviderExpression.Compile(); @@ -28,7 +28,7 @@ public void Can_convert_string_to_DateOnly() Assert.Throws(() => converter("Not a DateOnly")); } - [ConditionalFact] + [Fact] public void Can_convert_DateOnly_to_string_object() { var converter = DateOnlyToString.ConvertToProvider; @@ -38,7 +38,7 @@ public void Can_convert_DateOnly_to_string_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_string_to_DateOnly_object() { var converter = DateOnlyToString.ConvertFromProvider; diff --git a/test/EFCore.Tests/Storage/ValueConversion/DateTimeConvertersTest.cs b/test/EFCore.Tests/Storage/ValueConversion/DateTimeConvertersTest.cs index f10820b6965..ad47aa2488b 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/DateTimeConvertersTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/DateTimeConvertersTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Storage.ValueConversion.Internal; @@ -9,7 +9,7 @@ public class DateTimeConvertersTest { private static readonly DateTimeToTicksConverter _dateTimeToTicks = new(); - [ConditionalFact] + [Fact] public void Can_convert_DateTime_to_ticks() { var converter = _dateTimeToTicks.ConvertToProviderExpression.Compile(); @@ -19,7 +19,7 @@ public void Can_convert_DateTime_to_ticks() Assert.Equal(0, converter(new DateTime())); } - [ConditionalFact] + [Fact] public void Can_convert_ticks_to_DateTime() { var converter = _dateTimeToTicks.ConvertFromProviderExpression.Compile(); @@ -30,7 +30,7 @@ public void Can_convert_ticks_to_DateTime() Assert.Equal(new DateTime(), converter(0)); } - [ConditionalFact] + [Fact] public void Can_convert_DateTime_to_ticks_object() { var converter = _dateTimeToTicks.ConvertToProvider; @@ -41,7 +41,7 @@ public void Can_convert_DateTime_to_ticks_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_ticks_to_DateTime_object() { var converter = _dateTimeToTicks.ConvertFromProvider; @@ -55,7 +55,7 @@ public void Can_convert_ticks_to_DateTime_object() private static readonly DateTimeToBinaryConverter _dateTimeToBinary = new(); - [ConditionalFact] + [Fact] public void Can_convert_DateTime_to_binary() { var converter = _dateTimeToBinary.ConvertToProviderExpression.Compile(); @@ -65,7 +65,7 @@ public void Can_convert_DateTime_to_binary() Assert.Equal(0, converter(new DateTime())); } - [ConditionalFact] + [Fact] public void Can_convert_binary_to_DateTime() { var converter = _dateTimeToBinary.ConvertFromProviderExpression.Compile(); @@ -78,7 +78,7 @@ public void Can_convert_binary_to_DateTime() Assert.Equal(new DateTime(), converter(0)); } - [ConditionalFact] + [Fact] public void Can_convert_DateTime_to_binary_object() { var converter = _dateTimeToBinary.ConvertToProvider; @@ -89,7 +89,7 @@ public void Can_convert_DateTime_to_binary_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_binary_to_DateTime_object() { var converter = _dateTimeToBinary.ConvertFromProvider; @@ -107,7 +107,7 @@ private static readonly CompositeValueConverter _dateTime = (CompositeValueConverter)new DateTimeToTicksConverter().ComposeWith( new CastingConverter()); - [ConditionalFact] + [Fact] public void Can_convert_DateTime_to_unsigned_ticks() { var converter = _dateTimeToUTicks.ConvertToProviderExpression.Compile(); @@ -117,7 +117,7 @@ public void Can_convert_DateTime_to_unsigned_ticks() Assert.Equal((ulong)0, converter(new DateTime())); } - [ConditionalFact] + [Fact] public void Can_convert_unsigned_ticks_to_DateTime() { var converter = _dateTimeToUTicks.ConvertFromProviderExpression.Compile(); @@ -126,7 +126,7 @@ public void Can_convert_unsigned_ticks_to_DateTime() Assert.Equal(new DateTime(), converter(0)); } - [ConditionalFact] + [Fact] public void Can_convert_DateTime_to_unsigned_ticks_object() { var converter = _dateTimeToUTicks.ConvertToProvider; @@ -137,7 +137,7 @@ public void Can_convert_DateTime_to_unsigned_ticks_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_unsigned_ticks_to_DateTime_object() { var converter = _dateTimeToUTicks.ConvertFromProvider; @@ -151,7 +151,7 @@ private static readonly CompositeValueConverter _dateTime = (CompositeValueConverter)new DateTimeToBinaryConverter().ComposeWith( new CastingConverter()); - [ConditionalFact] + [Fact] public void Can_convert_DateTime_to_unsigned_binary() { var converter = _dateTimeToUBinary.ConvertToProviderExpression.Compile(); @@ -161,7 +161,7 @@ public void Can_convert_DateTime_to_unsigned_binary() Assert.Equal((ulong)0, converter(new DateTime())); } - [ConditionalFact] + [Fact] public void Can_convert_unsigned_binary_to_DateTime() { var converter = _dateTimeToUBinary.ConvertFromProviderExpression.Compile(); @@ -173,7 +173,7 @@ public void Can_convert_unsigned_binary_to_DateTime() Assert.Equal(new DateTime(), converter(0)); } - [ConditionalFact] + [Fact] public void Can_convert_DateTime_to_unsigned_binary_object() { var converter = _dateTimeToUBinary.ConvertToProvider; @@ -184,7 +184,7 @@ public void Can_convert_DateTime_to_unsigned_binary_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_unsigned_binary_to_DateTime_object() { var converter = _dateTimeToUBinary.ConvertFromProvider; @@ -199,7 +199,7 @@ public void Can_convert_unsigned_binary_to_DateTime_object() private static readonly DateTimeToStringConverter _dateTimeToString = new(); - [ConditionalFact] + [Fact] public void Can_convert_DateTime_to_string() { var converter = _dateTimeToString.ConvertToProviderExpression.Compile(); @@ -209,7 +209,7 @@ public void Can_convert_DateTime_to_string() Assert.Equal("0001-01-01 00:00:00", converter(new DateTime())); } - [ConditionalFact] + [Fact] public void Can_convert_string_to_DateTime() { var converter = _dateTimeToString.ConvertFromProviderExpression.Compile(); @@ -224,7 +224,7 @@ public void Can_convert_string_to_DateTime() Assert.Throws(() => converter("Not a DateTime")); } - [ConditionalFact] + [Fact] public void Can_convert_DateTime_to_string_object() { var converter = _dateTimeToString.ConvertToProvider; @@ -235,7 +235,7 @@ public void Can_convert_DateTime_to_string_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_string_to_DateTime_object() { var converter = _dateTimeToString.ConvertFromProvider; @@ -254,7 +254,7 @@ private static readonly CompositeValueConverter _dateTim = (CompositeValueConverter)new DateTimeToBinaryConverter().ComposeWith( new NumberToBytesConverter()); - [ConditionalFact] + [Fact] public void Can_convert_DateTime_to_bytes() { var converter = _dateTimeToBytes.ConvertToProviderExpression.Compile(); @@ -272,7 +272,7 @@ public void Can_convert_DateTime_to_bytes() converter(new DateTime())); } - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_DateTime() { var converter = _dateTimeToBytes.ConvertFromProviderExpression.Compile(); @@ -288,7 +288,7 @@ public void Can_convert_bytes_to_DateTime() Assert.Equal(new DateTime(), converter([0, 0, 0, 0, 0, 0, 0, 0])); } - [ConditionalFact] + [Fact] public void Can_convert_DateTime_to_bytes_object() { var converter = _dateTimeToBytes.ConvertToProvider; @@ -308,7 +308,7 @@ public void Can_convert_DateTime_to_bytes_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_DateTime_object() { var converter = _dateTimeToBytes.ConvertFromProvider; diff --git a/test/EFCore.Tests/Storage/ValueConversion/DateTimeOffsetConvertersTest.cs b/test/EFCore.Tests/Storage/ValueConversion/DateTimeOffsetConvertersTest.cs index e6263d1f8c1..9b28fa8661b 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/DateTimeOffsetConvertersTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/DateTimeOffsetConvertersTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Storage.ValueConversion; @@ -7,7 +7,7 @@ public class DateTimeOffsetConvertersTest { private static readonly DateTimeOffsetToStringConverter _dateTimeOffsetToString = new(); - [ConditionalFact] + [Fact] public void Can_convert_DateTimeOffset_to_string() { var converter = _dateTimeOffsetToString.ConvertToProviderExpression.Compile(); @@ -21,7 +21,7 @@ public void Can_convert_DateTimeOffset_to_string() converter(new DateTimeOffset())); } - [ConditionalFact] + [Fact] public void Can_convert_string_to_DateTimeOffset() { var converter = _dateTimeOffsetToString.ConvertFromProviderExpression.Compile(); @@ -38,7 +38,7 @@ public void Can_convert_string_to_DateTimeOffset() Assert.Throws(() => converter("Not a DateTimeOffset")); } - [ConditionalFact] + [Fact] public void Can_convert_DateTimeOffset_to_string_object() { var converter = _dateTimeOffsetToString.ConvertToProvider; @@ -54,7 +54,7 @@ public void Can_convert_DateTimeOffset_to_string_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_string_to_DateTimeOffset_object() { var converter = _dateTimeOffsetToString.ConvertFromProvider; @@ -73,7 +73,7 @@ public void Can_convert_string_to_DateTimeOffset_object() private static readonly DateTimeOffsetToBytesConverter _dateTimeOffsetToBytes = new(); - [ConditionalFact] + [Fact] public void Can_convert_DateTimeOffset_to_bytes() { var converter = _dateTimeOffsetToBytes.ConvertToProviderExpression.Compile(); @@ -87,7 +87,7 @@ public void Can_convert_DateTimeOffset_to_bytes() converter(new DateTimeOffset())); } - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_DateTimeOffset() { var converter = _dateTimeOffsetToBytes.ConvertFromProviderExpression.Compile(); @@ -105,7 +105,7 @@ public void Can_convert_bytes_to_DateTimeOffset() Assert.Throws(() => converter([1, 2])); } - [ConditionalFact] + [Fact] public void Can_convert_DateTimeOffset_to_bytes_object() { var converter = _dateTimeOffsetToBytes.ConvertToProvider; @@ -121,7 +121,7 @@ public void Can_convert_DateTimeOffset_to_bytes_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_DateTimeOffset_object() { var converter = _dateTimeOffsetToBytes.ConvertFromProvider; @@ -141,7 +141,7 @@ public void Can_convert_bytes_to_DateTimeOffset_object() private static readonly DateTimeOffsetToBinaryConverter _dateTimeOffsetToBinary = new(); - [ConditionalFact] + [Fact] public void Can_convert_DateTimeOffset_to_binary() { var converter = _dateTimeOffsetToBinary.ConvertToProviderExpression.Compile(); @@ -161,7 +161,7 @@ public void Can_convert_DateTimeOffset_to_binary() Assert.Equal(0, converter(new DateTimeOffset())); } - [ConditionalFact] + [Fact] public void Can_convert_binary_to_DateTimeOffset() { var converter = _dateTimeOffsetToBinary.ConvertFromProviderExpression.Compile(); @@ -181,7 +181,7 @@ public void Can_convert_binary_to_DateTimeOffset() Assert.Equal(new DateTimeOffset(), converter(0)); } - [ConditionalFact] + [Fact] public void Can_convert_DateTimeOffset_to_binary_object() { var converter = _dateTimeOffsetToBinary.ConvertToProvider; @@ -202,7 +202,7 @@ public void Can_convert_DateTimeOffset_to_binary_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_binary_to_DateTimeOffset_object() { var converter = _dateTimeOffsetToBinary.ConvertFromProvider; diff --git a/test/EFCore.Tests/Storage/ValueConversion/EnumToNumberConverterTest.cs b/test/EFCore.Tests/Storage/ValueConversion/EnumToNumberConverterTest.cs index feb5c8908eb..5f6b52490d8 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/EnumToNumberConverterTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/EnumToNumberConverterTest.cs @@ -8,7 +8,7 @@ public class EnumToNumberConverterTest private static readonly ValueConverter _enumToNumber = new EnumToNumberConverter(); - [ConditionalFact] + [Fact] public void Can_convert_enums_to_numbers() { var converter = _enumToNumber.ConvertToProviderExpression.Compile(); @@ -21,7 +21,7 @@ public void Can_convert_enums_to_numbers() Assert.Equal(0, converter(default)); } - [ConditionalFact] + [Fact] public void Can_convert_enums_to_numbers_object() { var converter = _enumToNumber.ConvertToProvider; @@ -35,7 +35,7 @@ public void Can_convert_enums_to_numbers_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_numbers_to_enums() { var converter = _enumToNumber.ConvertFromProviderExpression.Compile(); @@ -48,7 +48,7 @@ public void Can_convert_numbers_to_enums() Assert.Equal(default, converter(0)); } - [ConditionalFact] + [Fact] public void Can_convert_numbers_to_enums_object() { var converter = _enumToNumber.ConvertFromProvider; @@ -62,14 +62,14 @@ public void Can_convert_numbers_to_enums_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Ordering_preserved_for_enums_to_numbers() => ValueConverterTest.OrderingTest(_enumToNumber, Beatles.Ringo, Beatles.George, Beatles.Paul, Beatles.John); private static readonly ValueConverter _enumToDouble = new EnumToNumberConverter(); - [ConditionalFact] + [Fact] public void Can_convert_enums_to_doubles() { var converter = _enumToDouble.ConvertToProviderExpression.Compile(); @@ -82,7 +82,7 @@ public void Can_convert_enums_to_doubles() Assert.Equal(0, converter(default)); } - [ConditionalFact] + [Fact] public void Can_convert_doubles_to_enums() { var converter = _enumToDouble.ConvertFromProviderExpression.Compile(); @@ -98,7 +98,7 @@ public void Can_convert_doubles_to_enums() private static readonly ValueConverter _enumToDecimal = new EnumToNumberConverter(); - [ConditionalFact] + [Fact] public void Can_convert_enums_to_decimals() { var converter = _enumToDecimal.ConvertToProviderExpression.Compile(); @@ -111,7 +111,7 @@ public void Can_convert_enums_to_decimals() Assert.Equal(0, converter(default)); } - [ConditionalFact] + [Fact] public void Can_convert_decimals_to_enums() { var converter = _enumToDecimal.ConvertFromProviderExpression.Compile(); @@ -127,7 +127,7 @@ public void Can_convert_decimals_to_enums() private static readonly ValueConverter _enumToFloat = new EnumToNumberConverter(); - [ConditionalFact] + [Fact] public void Can_convert_enums_to_floats() { var converter = _enumToFloat.ConvertToProviderExpression.Compile(); @@ -140,7 +140,7 @@ public void Can_convert_enums_to_floats() Assert.Equal(0, converter(default)); } - [ConditionalFact] + [Fact] public void Can_convert_floats_to_enums() { var converter = _enumToFloat.ConvertFromProviderExpression.Compile(); @@ -156,7 +156,7 @@ public void Can_convert_floats_to_enums() private static readonly ValueConverter _enumToByte = new EnumToNumberConverter(); - [ConditionalFact] + [Fact] public void Can_convert_enums_to_bytes() { var converter = _enumToByte.ConvertToProviderExpression.Compile(); @@ -168,7 +168,7 @@ public void Can_convert_enums_to_bytes() Assert.Equal(0, converter(default)); } - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_enums() { var converter = _enumToByte.ConvertFromProviderExpression.Compile(); @@ -183,7 +183,7 @@ public void Can_convert_bytes_to_enums() private static readonly ValueConverter _enumToSByte = new EnumToNumberConverter(); - [ConditionalFact] + [Fact] public void Can_convert_enums_to_sbytes() { var converter = _enumToSByte.ConvertToProviderExpression.Compile(); @@ -196,7 +196,7 @@ public void Can_convert_enums_to_sbytes() Assert.Equal(0, converter(default)); } - [ConditionalFact] + [Fact] public void Can_convert_sbytes_to_enums() { var converter = _enumToSByte.ConvertFromProviderExpression.Compile(); @@ -212,7 +212,7 @@ public void Can_convert_sbytes_to_enums() private static readonly ValueConverter _enumToLong = new EnumToNumberConverter(); - [ConditionalFact] + [Fact] public void Can_convert_enums_to_longs() { var converter = _enumToLong.ConvertToProviderExpression.Compile(); @@ -225,7 +225,7 @@ public void Can_convert_enums_to_longs() Assert.Equal(0, converter(default)); } - [ConditionalFact] + [Fact] public void Can_convert_longs_to_enums() { var converter = _enumToLong.ConvertFromProviderExpression.Compile(); @@ -241,7 +241,7 @@ public void Can_convert_longs_to_enums() private static readonly ValueConverter _enumToULong = new EnumToNumberConverter(); - [ConditionalFact] + [Fact] public void Can_convert_enums_to_ulongs() { var converter = _enumToULong.ConvertToProviderExpression.Compile(); @@ -253,7 +253,7 @@ public void Can_convert_enums_to_ulongs() Assert.Equal((ulong)0, converter(default)); } - [ConditionalFact] + [Fact] public void Can_convert_ulongs_to_enums() { var converter = _enumToULong.ConvertFromProviderExpression.Compile(); diff --git a/test/EFCore.Tests/Storage/ValueConversion/EnumToStringConverterTest.cs b/test/EFCore.Tests/Storage/ValueConversion/EnumToStringConverterTest.cs index d3a0b21565a..f30870eafcf 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/EnumToStringConverterTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/EnumToStringConverterTest.cs @@ -8,7 +8,7 @@ public class EnumToStringConverterTest private static readonly ValueConverter _enumToString = new EnumToStringConverter(); - [ConditionalFact] + [Fact] public void Can_convert_enums_to_strings() { var converter = _enumToString.ConvertToProviderExpression.Compile(); @@ -21,7 +21,7 @@ public void Can_convert_enums_to_strings() Assert.Equal("0", converter(default)); } - [ConditionalFact] + [Fact] public void Can_convert_enums_to_strings_object() { var converter = _enumToString.ConvertToProvider; @@ -35,7 +35,7 @@ public void Can_convert_enums_to_strings_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_strings_to_enums() { var converter = _enumToString.ConvertFromProviderExpression.Compile(); @@ -58,7 +58,7 @@ public void Can_convert_strings_to_enums() Assert.Throws(() => converter("Jon")).Message); } - [ConditionalFact] + [Fact] public void Can_convert_strings_to_enums_object() { var converter = _enumToString.ConvertFromProvider; diff --git a/test/EFCore.Tests/Storage/ValueConversion/GuidToBytesConverterTest.cs b/test/EFCore.Tests/Storage/ValueConversion/GuidToBytesConverterTest.cs index 20d67277723..083bea31a52 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/GuidToBytesConverterTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/GuidToBytesConverterTest.cs @@ -7,7 +7,7 @@ public class GuidToBytesConverterTest { private static readonly GuidToBytesConverter _guidToBytes = new(); - [ConditionalFact] + [Fact] public void Can_convert_GUIDs_to_bytes() { var converter = _guidToBytes.ConvertToProviderExpression.Compile(); @@ -21,7 +21,7 @@ public void Can_convert_GUIDs_to_bytes() converter(Guid.Empty)); } - [ConditionalFact] + [Fact] public void Can_convert_GUIDs_to_bytes_object() { var converter = _guidToBytes.ConvertToProvider; @@ -45,7 +45,7 @@ public void Can_convert_GUIDs_to_bytes_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_GUIDs() { var converter = _guidToBytes.ConvertFromProviderExpression.Compile(); @@ -69,7 +69,7 @@ public void Can_convert_bytes_to_GUIDs() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_GUIDs_object() { var converter = _guidToBytes.ConvertFromProvider; diff --git a/test/EFCore.Tests/Storage/ValueConversion/GuidToStringConverterTest.cs b/test/EFCore.Tests/Storage/ValueConversion/GuidToStringConverterTest.cs index 59135f92649..51d6122fd94 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/GuidToStringConverterTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/GuidToStringConverterTest.cs @@ -7,7 +7,7 @@ public class GuidToStringConverterTest { private static readonly GuidToStringConverter _guidToString = new(); - [ConditionalFact] + [Fact] public void Can_convert_GUIDs_to_String() { var converter = _guidToString.ConvertToProviderExpression.Compile(); @@ -21,7 +21,7 @@ public void Can_convert_GUIDs_to_String() converter(Guid.Empty)); } - [ConditionalFact] + [Fact] public void Can_convert_String_to_GUIDs() { var converter = _guidToString.ConvertFromProviderExpression.Compile(); @@ -38,7 +38,7 @@ public void Can_convert_String_to_GUIDs() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_GUIDs_to_String_object() { var converter = _guidToString.ConvertToProvider; @@ -54,7 +54,7 @@ public void Can_convert_GUIDs_to_String_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_String_to_GUIDs_object() { var converter = _guidToString.ConvertFromProvider; diff --git a/test/EFCore.Tests/Storage/ValueConversion/IPAddressToBytesConverterTest.cs b/test/EFCore.Tests/Storage/ValueConversion/IPAddressToBytesConverterTest.cs index 75036507e36..73c395be554 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/IPAddressToBytesConverterTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/IPAddressToBytesConverterTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Net; @@ -9,7 +9,7 @@ public class IPAddressToBytesConverterTest { private static readonly IPAddressToBytesConverter _ipAddressToBytes = new(); - [ConditionalTheory, InlineData("255.255.255.255"), InlineData("255.255.255.0"), InlineData("255.255.0.0"), InlineData("255.0.0.0"), + [Theory, InlineData("255.255.255.255"), InlineData("255.255.255.0"), InlineData("255.255.0.0"), InlineData("255.0.0.0"), InlineData("0.0.0.0")] public void Can_convert_ipaddress_ipv4_to_bytes(string ipv4) { @@ -20,7 +20,7 @@ public void Can_convert_ipaddress_ipv4_to_bytes(string ipv4) Assert.Equal(bytes, converter(ip)); } - [ConditionalTheory, InlineData("255.255.255.255"), InlineData("255.255.255.0"), InlineData("255.255.0.0"), InlineData("255.0.0.0"), + [Theory, InlineData("255.255.255.255"), InlineData("255.255.255.0"), InlineData("255.255.0.0"), InlineData("255.0.0.0"), InlineData("0.0.0.0")] public void Can_convert_ipaddress_ipv4_to_bytes_object(string ipv4) { @@ -33,7 +33,7 @@ public void Can_convert_ipaddress_ipv4_to_bytes_object(string ipv4) Assert.Null(converter(null)); } - [ConditionalTheory, InlineData(new byte[] { 255, 255, 255, 255, 255 }), InlineData(new byte[] { 255, 255, 255, 0, 0 }), + [Theory, InlineData(new byte[] { 255, 255, 255, 255, 255 }), InlineData(new byte[] { 255, 255, 255, 0, 0 }), InlineData(new byte[] { 192, 168, 2, 1, 0 }), InlineData(new byte[] { 0, 0, 0, 0, 0 })] public void Can_convert_bytes_to_ipaddress_ipv4(byte[] bytesIPV4Invalid) { @@ -42,7 +42,7 @@ public void Can_convert_bytes_to_ipaddress_ipv4(byte[] bytesIPV4Invalid) Assert.Throws(() => converter(bytesIPV4Invalid)); } - [ConditionalTheory, InlineData("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"), InlineData("27ff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"), + [Theory, InlineData("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"), InlineData("27ff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"), InlineData("2001:db8::f:ffff"), InlineData("2001:db8::1"), InlineData("2001:db8::")] public void Can_convert_bytes_to_ipaddress_ipv6(string ipv6) { @@ -54,7 +54,7 @@ public void Can_convert_bytes_to_ipaddress_ipv6(string ipv6) Assert.Equal(ip, converter(bytes)); } - [ConditionalTheory, InlineData("255.255.255.255"), InlineData("255.255.255.0"), InlineData("255.255.0.0"), InlineData("255.0.0.0"), + [Theory, InlineData("255.255.255.255"), InlineData("255.255.255.0"), InlineData("255.255.0.0"), InlineData("255.0.0.0"), InlineData("0.0.0.0")] public void Can_convert_bytes_to_ipaddress_ipv4_object(string ipv4) { @@ -68,7 +68,7 @@ public void Can_convert_bytes_to_ipaddress_ipv4_object(string ipv4) Assert.Null(converter(null)); } - [ConditionalTheory, InlineData("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"), InlineData("27ff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"), + [Theory, InlineData("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"), InlineData("27ff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"), InlineData("2001:db8::f:ffff"), InlineData("2001:db8::1"), InlineData("2001:db8::")] public void Can_convert_bytes_to_ipaddress_ipv6_object(string ipv6) { diff --git a/test/EFCore.Tests/Storage/ValueConversion/IPAddressToStringConverterTest.cs b/test/EFCore.Tests/Storage/ValueConversion/IPAddressToStringConverterTest.cs index 5aaba615b1b..f5534aeb442 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/IPAddressToStringConverterTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/IPAddressToStringConverterTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Net; @@ -10,7 +10,7 @@ public class IPAddressToStringConverterTest private static readonly IPAddressToStringConverter _ipAddressToString = new(); - [ConditionalTheory, InlineData("255.255.255.255"), InlineData("255.255.255.0"), InlineData("255.255.0.0"), InlineData("255.0.0.0"), + [Theory, InlineData("255.255.255.255"), InlineData("255.255.255.0"), InlineData("255.255.0.0"), InlineData("255.0.0.0"), InlineData("0.0.0.0")] public void Can_convert_ipaddress_ipv4_to_String(string ipv4) { @@ -19,7 +19,7 @@ public void Can_convert_ipaddress_ipv4_to_String(string ipv4) Assert.Equal(ipv4, converter(IPAddress.Parse(ipv4))); } - [ConditionalTheory, InlineData("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"), InlineData("27ff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"), + [Theory, InlineData("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"), InlineData("27ff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"), InlineData("2001:db8::f:ffff"), InlineData("2001:db8::1"), InlineData("2001:db8::")] public void Can_convert_ipaddress_ipv6_to_String(string ipv6) { @@ -28,7 +28,7 @@ public void Can_convert_ipaddress_ipv6_to_String(string ipv6) Assert.Equal(ipv6, converter(IPAddress.Parse(ipv6))); } - [ConditionalTheory, InlineData("255.255.255.255"), InlineData("255.255.255.0"), InlineData("255.255.0.0"), InlineData("255.0.0.0"), + [Theory, InlineData("255.255.255.255"), InlineData("255.255.255.0"), InlineData("255.255.0.0"), InlineData("255.0.0.0"), InlineData("0.0.0.0")] public void Can_convert_String_to_ipaddress_ipv4(string ipv4) { @@ -39,7 +39,7 @@ public void Can_convert_String_to_ipaddress_ipv4(string ipv4) converter(ipv4)); } - [ConditionalTheory, InlineData("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"), InlineData("27ff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"), + [Theory, InlineData("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"), InlineData("27ff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"), InlineData("2001:db8::f:ffff"), InlineData("2001:db8::1"), InlineData("2001:db8::")] public void Can_convert_String_to_ipaddress_ipv6(string ipv6) { diff --git a/test/EFCore.Tests/Storage/ValueConversion/NumberToBytesConverterTest.cs b/test/EFCore.Tests/Storage/ValueConversion/NumberToBytesConverterTest.cs index deb3c1117f4..da9b8d4f992 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/NumberToBytesConverterTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/NumberToBytesConverterTest.cs @@ -7,7 +7,7 @@ public class NumberToBytesConverterTest { private static readonly NumberToBytesConverter _byteToBytesConverter = new(); - [ConditionalFact] + [Fact] public void Can_convert_byte_to_bytes() { var converter = _byteToBytesConverter.ConvertToProviderExpression.Compile(); @@ -15,7 +15,7 @@ public void Can_convert_byte_to_bytes() Assert.Equal(new byte[] { 7 }, converter(7)); } - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_byte() { var converter = _byteToBytesConverter.ConvertFromProviderExpression.Compile(); @@ -24,13 +24,13 @@ public void Can_convert_bytes_to_byte() Assert.Equal(0, converter(null)); } - [ConditionalFact] + [Fact] public void Ordering_preserved_for_byte_to_bytes() => ValueConverterTest.OrderingTest(_byteToBytesConverter, (byte)0, (byte)7, (byte)77, (byte)255); private static readonly NumberToBytesConverter _nullableByteToBytesConverter = new(); - [ConditionalFact] + [Fact] public void Can_convert_nullable_byte_to_bytes() { var converter = _nullableByteToBytesConverter.ConvertToProviderExpression.Compile(); @@ -39,7 +39,7 @@ public void Can_convert_nullable_byte_to_bytes() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_nullable_byte() { var converter = _nullableByteToBytesConverter.ConvertFromProviderExpression.Compile(); @@ -48,13 +48,13 @@ public void Can_convert_bytes_to_nullable_byte() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Ordering_preserved_for_nullable_byte_to_bytes() => ValueConverterTest.OrderingTest(_nullableByteToBytesConverter, (byte?)0, (byte?)7, (byte?)77, (byte?)255); private static readonly NumberToBytesConverter _shortToBytesConverter = new(); - [ConditionalFact] + [Fact] public void Can_convert_short_to_bytes() { var converter = _shortToBytesConverter.ConvertToProviderExpression.Compile(); @@ -63,7 +63,7 @@ public void Can_convert_short_to_bytes() Assert.Equal(new byte[] { 225, 159 }, converter(-7777)); } - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_short() { var converter = _shortToBytesConverter.ConvertFromProviderExpression.Compile(); @@ -75,7 +75,7 @@ public void Can_convert_bytes_to_short() private static readonly NumberToBytesConverter _intToBytesConverter = new(); - [ConditionalFact] + [Fact] public void Can_convert_int_to_bytes() { var converter = _intToBytesConverter.ConvertToProviderExpression.Compile(); @@ -84,7 +84,7 @@ public void Can_convert_int_to_bytes() Assert.Equal(new byte[] { 251, 93, 52, 143 }, converter(-77777777)); } - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_int() { var converter = _intToBytesConverter.ConvertFromProviderExpression.Compile(); @@ -96,7 +96,7 @@ public void Can_convert_bytes_to_int() private static readonly NumberToBytesConverter _nullableIntToBytesConverter = new(); - [ConditionalFact] + [Fact] public void Can_convert_nullable_int_to_bytes() { var converter = _nullableIntToBytesConverter.ConvertToProviderExpression.Compile(); @@ -106,7 +106,7 @@ public void Can_convert_nullable_int_to_bytes() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_nullable_int() { var converter = _nullableIntToBytesConverter.ConvertFromProviderExpression.Compile(); @@ -118,7 +118,7 @@ public void Can_convert_bytes_to_nullable_int() private static readonly NumberToBytesConverter _longToBytesConverter = new(); - [ConditionalFact] + [Fact] public void Can_convert_long_to_bytes() { var converter = _longToBytesConverter.ConvertToProviderExpression.Compile(); @@ -127,7 +127,7 @@ public void Can_convert_long_to_bytes() Assert.Equal(new byte[] { 255, 255, 255, 74, 232, 212, 243, 143 }, converter(-777777777777)); } - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_long() { var converter = _longToBytesConverter.ConvertFromProviderExpression.Compile(); @@ -139,7 +139,7 @@ public void Can_convert_bytes_to_long() private static readonly NumberToBytesConverter _sbyteToBytesConverter = new(); - [ConditionalFact] + [Fact] public void Can_convert_sbyte_to_bytes() { var converter = _sbyteToBytesConverter.ConvertToProviderExpression.Compile(); @@ -148,7 +148,7 @@ public void Can_convert_sbyte_to_bytes() Assert.Equal(new byte[] { 249 }, converter(-7)); } - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_sbyte() { var converter = _sbyteToBytesConverter.ConvertFromProviderExpression.Compile(); @@ -160,7 +160,7 @@ public void Can_convert_bytes_to_sbyte() private static readonly NumberToBytesConverter _nullableSbyteToBytesConverter = new(); - [ConditionalFact] + [Fact] public void Can_convert_nullable_sbyte_to_bytes() { var converter = _nullableSbyteToBytesConverter.ConvertToProviderExpression.Compile(); @@ -170,7 +170,7 @@ public void Can_convert_nullable_sbyte_to_bytes() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_nullable_sbyte() { var converter = _nullableSbyteToBytesConverter.ConvertFromProviderExpression.Compile(); @@ -182,7 +182,7 @@ public void Can_convert_bytes_to_nullable_sbyte() private static readonly NumberToBytesConverter _ushortToBytesConverter = new(); - [ConditionalFact] + [Fact] public void Can_convert_ushort_to_bytes() { var converter = _ushortToBytesConverter.ConvertToProviderExpression.Compile(); @@ -190,7 +190,7 @@ public void Can_convert_ushort_to_bytes() Assert.Equal(new byte[] { 30, 97 }, converter(7777)); } - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_ushort() { var converter = _ushortToBytesConverter.ConvertFromProviderExpression.Compile(); @@ -199,13 +199,13 @@ public void Can_convert_bytes_to_ushort() Assert.Equal(0, converter(null)); } - [ConditionalFact] + [Fact] public void Ordering_preserved_for_ushort_to_bytes() => ValueConverterTest.OrderingTest(_ushortToBytesConverter, (ushort)0, (ushort)7, (ushort)777, (ushort)7777); private static readonly NumberToBytesConverter _uintToBytesConverter = new(); - [ConditionalFact] + [Fact] public void Can_convert_uint_to_bytes() { var converter = _uintToBytesConverter.ConvertToProviderExpression.Compile(); @@ -213,7 +213,7 @@ public void Can_convert_uint_to_bytes() Assert.Equal(new byte[] { 4, 162, 203, 113 }, converter(77777777)); } - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_uint() { var converter = _uintToBytesConverter.ConvertFromProviderExpression.Compile(); @@ -224,7 +224,7 @@ public void Can_convert_bytes_to_uint() private static readonly NumberToBytesConverter _nullableUintToBytesConverter = new(); - [ConditionalFact] + [Fact] public void Can_convert_nullable_uint_to_bytes() { var converter = _nullableUintToBytesConverter.ConvertToProviderExpression.Compile(); @@ -233,7 +233,7 @@ public void Can_convert_nullable_uint_to_bytes() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_nullable_uint() { var converter = _nullableUintToBytesConverter.ConvertFromProviderExpression.Compile(); @@ -242,13 +242,13 @@ public void Can_convert_bytes_to_nullable_uint() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Ordering_preserved_for_uint_to_bytes() => ValueConverterTest.OrderingTest(_uintToBytesConverter, (uint)0, (uint)7, (uint)777777, (uint)77777777); private static readonly NumberToBytesConverter _ulongToBytesConverter = new(); - [ConditionalFact] + [Fact] public void Can_convert_ulong_to_bytes() { var converter = _ulongToBytesConverter.ConvertToProviderExpression.Compile(); @@ -256,7 +256,7 @@ public void Can_convert_ulong_to_bytes() Assert.Equal(new byte[] { 0, 0, 0, 181, 23, 43, 12, 113 }, converter(777777777777)); } - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_ulong() { var converter = _ulongToBytesConverter.ConvertFromProviderExpression.Compile(); @@ -265,13 +265,13 @@ public void Can_convert_bytes_to_ulong() Assert.Equal((ulong)0, converter(null)); } - [ConditionalFact] + [Fact] public void Ordering_preserved_for_ulong_to_bytes() => ValueConverterTest.OrderingTest(_ulongToBytesConverter, (ulong)0, (ulong)777, (ulong)77777777, (ulong)7777777777777777); private static readonly NumberToBytesConverter _charToBytesConverter = new(); - [ConditionalFact] + [Fact] public void Can_convert_char_to_bytes() { var converter = _charToBytesConverter.ConvertToProviderExpression.Compile(); @@ -279,7 +279,7 @@ public void Can_convert_char_to_bytes() Assert.Equal(new byte[] { 0, 65 }, converter('A')); } - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_char() { var converter = _charToBytesConverter.ConvertFromProviderExpression.Compile(); @@ -288,13 +288,13 @@ public void Can_convert_bytes_to_char() Assert.Equal(0, converter(null)); } - [ConditionalFact] + [Fact] public void Ordering_preserved_for_char_to_bytes() => ValueConverterTest.OrderingTest(_charToBytesConverter, '\u0000', 'A', 'Z', '\u7777'); private static readonly NumberToBytesConverter _decimalToBytesConverter = new(); - [ConditionalFact] + [Fact] public void Can_convert_decimal_to_bytes() { var converter = _decimalToBytesConverter.ConvertToProviderExpression.Compile(); @@ -325,7 +325,7 @@ public void Can_convert_decimal_to_bytes() converter((decimal)-0.00000000000000000001)); } - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_decimal() { var converter = _decimalToBytesConverter.ConvertFromProviderExpression.Compile(); @@ -358,7 +358,7 @@ public void Can_convert_bytes_to_decimal() private static readonly NumberToBytesConverter _nullableDecimalToBytesConverter = new(); - [ConditionalFact] + [Fact] public void Can_convert_nullable_decimal_to_bytes() { var converter = _nullableDecimalToBytesConverter.ConvertToProviderExpression.Compile(); @@ -390,7 +390,7 @@ public void Can_convert_nullable_decimal_to_bytes() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_nullable_decimal() { var converter = _nullableDecimalToBytesConverter.ConvertFromProviderExpression.Compile(); @@ -424,7 +424,7 @@ public void Can_convert_bytes_to_nullable_decimal() private static readonly NumberToBytesConverter _floatToBytesConverter = new(); - [ConditionalFact] + [Fact] public void Can_convert_float_to_bytes() { var converter = _floatToBytesConverter.ConvertToProviderExpression.Compile(); @@ -433,7 +433,7 @@ public void Can_convert_float_to_bytes() Assert.Equal(new byte[] { 196, 66, 113, 72 }, converter((float)-777.77)); } - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_float() { var converter = _floatToBytesConverter.ConvertFromProviderExpression.Compile(); @@ -445,7 +445,7 @@ public void Can_convert_bytes_to_float() private static readonly NumberToBytesConverter _doubleToBytesConverter = new(); - [ConditionalFact] + [Fact] public void Can_convert_double_to_bytes() { var converter = _doubleToBytesConverter.ConvertToProviderExpression.Compile(); @@ -454,7 +454,7 @@ public void Can_convert_double_to_bytes() Assert.Equal(new byte[] { 193, 93, 171, 124, 113, 198, 251, 210 }, converter(-7777777.77777)); } - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_double() { var converter = _doubleToBytesConverter.ConvertFromProviderExpression.Compile(); @@ -464,7 +464,7 @@ public void Can_convert_bytes_to_double() Assert.Equal(0, converter(null)); } - [ConditionalFact] + [Fact] public void Enum_to_integer_converter_throws_for_bad_types() => Assert.Equal( CoreStrings.ConverterBadType( diff --git a/test/EFCore.Tests/Storage/ValueConversion/NumberToStringConverterTest.cs b/test/EFCore.Tests/Storage/ValueConversion/NumberToStringConverterTest.cs index 152bacf2d4a..2c3575cae3c 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/NumberToStringConverterTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/NumberToStringConverterTest.cs @@ -9,7 +9,7 @@ public class NumberToStringConverterTest { private static readonly NumberToStringConverter _ulongToNaturalString = new(); - [ConditionalFact] + [Fact] public void Can_convert_ulongs_to_natural_strings() { var converter = _ulongToNaturalString.ConvertToProviderExpression.Compile(); @@ -19,7 +19,7 @@ public void Can_convert_ulongs_to_natural_strings() Assert.Equal("0", converter(0)); } - [ConditionalFact] + [Fact] public void Can_convert_ulongs_to_natural_strings_object() { var converter = _ulongToNaturalString.ConvertToProvider; @@ -31,7 +31,7 @@ public void Can_convert_ulongs_to_natural_strings_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_ulongs() { var converter = _ulongToNaturalString.ConvertFromProviderExpression.Compile(); @@ -45,7 +45,7 @@ public void Can_convert_natural_strings_to_ulongs() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_ulongs_object() { var converter = _ulongToNaturalString.ConvertFromProvider; @@ -61,7 +61,7 @@ public void Can_convert_natural_strings_to_ulongs_object() private static readonly NumberToStringConverter _longToNaturalString = new(); - [ConditionalFact] + [Fact] public void Can_convert_longs_to_natural_strings() { var converter = _longToNaturalString.ConvertToProviderExpression.Compile(); @@ -73,7 +73,7 @@ public void Can_convert_longs_to_natural_strings() Assert.Equal("0", converter(0)); } - [ConditionalFact] + [Fact] public void Can_convert_longs_to_natural_strings_object() { var converter = _longToNaturalString.ConvertToProvider; @@ -87,7 +87,7 @@ public void Can_convert_longs_to_natural_strings_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_longs() { var converter = _longToNaturalString.ConvertFromProviderExpression.Compile(); @@ -104,7 +104,7 @@ public void Can_convert_natural_strings_to_longs() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_longs_object() { var converter = _longToNaturalString.ConvertFromProvider; @@ -123,7 +123,7 @@ public void Can_convert_natural_strings_to_longs_object() private static readonly NumberToStringConverter _uintToNaturalString = new(); - [ConditionalFact] + [Fact] public void Can_convert_uints_to_natural_strings() { var converter = _uintToNaturalString.ConvertToProviderExpression.Compile(); @@ -133,7 +133,7 @@ public void Can_convert_uints_to_natural_strings() Assert.Equal("0", converter(0)); } - [ConditionalFact] + [Fact] public void Can_convert_uints_to_natural_strings_object() { var converter = _uintToNaturalString.ConvertToProvider; @@ -145,7 +145,7 @@ public void Can_convert_uints_to_natural_strings_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_uints() { var converter = _uintToNaturalString.ConvertFromProviderExpression.Compile(); @@ -160,7 +160,7 @@ public void Can_convert_natural_strings_to_uints() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_uints_object() { var converter = _uintToNaturalString.ConvertFromProvider; @@ -177,7 +177,7 @@ public void Can_convert_natural_strings_to_uints_object() private static readonly NumberToStringConverter _intToNaturalString = new(); - [ConditionalFact] + [Fact] public void Can_convert_ints_to_natural_strings() { var converter = _intToNaturalString.ConvertToProviderExpression.Compile(); @@ -189,7 +189,7 @@ public void Can_convert_ints_to_natural_strings() Assert.Equal("0", converter(0)); } - [ConditionalFact] + [Fact] public void Can_convert_ints_to_natural_strings_object() { var converter = _intToNaturalString.ConvertToProvider; @@ -203,7 +203,7 @@ public void Can_convert_ints_to_natural_strings_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_ints() { var converter = _intToNaturalString.ConvertFromProviderExpression.Compile(); @@ -220,7 +220,7 @@ public void Can_convert_natural_strings_to_ints() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_ints_object() { var converter = _intToNaturalString.ConvertFromProvider; @@ -238,7 +238,7 @@ public void Can_convert_natural_strings_to_ints_object() private static readonly NumberToStringConverter _ushortToNaturalString = new(); - [ConditionalFact] + [Fact] public void Can_convert_ushorts_to_natural_strings() { var converter = _ushortToNaturalString.ConvertToProviderExpression.Compile(); @@ -248,7 +248,7 @@ public void Can_convert_ushorts_to_natural_strings() Assert.Equal("0", converter(0)); } - [ConditionalFact] + [Fact] public void Can_convert_ushorts_to_natural_strings_object() { var converter = _ushortToNaturalString.ConvertToProvider; @@ -260,7 +260,7 @@ public void Can_convert_ushorts_to_natural_strings_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_ushorts() { var converter = _ushortToNaturalString.ConvertFromProviderExpression.Compile(); @@ -275,7 +275,7 @@ public void Can_convert_natural_strings_to_ushorts() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_ushorts_object() { var converter = _ushortToNaturalString.ConvertFromProvider; @@ -292,7 +292,7 @@ public void Can_convert_natural_strings_to_ushorts_object() private static readonly NumberToStringConverter _shortToNaturalString = new(); - [ConditionalFact] + [Fact] public void Can_convert_shorts_to_natural_strings() { var converter = _shortToNaturalString.ConvertToProviderExpression.Compile(); @@ -304,7 +304,7 @@ public void Can_convert_shorts_to_natural_strings() Assert.Equal("0", converter(0)); } - [ConditionalFact] + [Fact] public void Can_convert_shorts_to_natural_strings_object() { var converter = _shortToNaturalString.ConvertToProvider; @@ -318,7 +318,7 @@ public void Can_convert_shorts_to_natural_strings_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_shorts() { var converter = _shortToNaturalString.ConvertFromProviderExpression.Compile(); @@ -335,7 +335,7 @@ public void Can_convert_natural_strings_to_shorts() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_shorts_object() { var converter = _shortToNaturalString.ConvertFromProvider; @@ -354,7 +354,7 @@ public void Can_convert_natural_strings_to_shorts_object() private static readonly NumberToStringConverter _byteToNaturalString = new(); - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_natural_strings() { var converter = _byteToNaturalString.ConvertToProviderExpression.Compile(); @@ -364,7 +364,7 @@ public void Can_convert_bytes_to_natural_strings() Assert.Equal("0", converter(0)); } - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_natural_strings_object() { var converter = _byteToNaturalString.ConvertToProvider; @@ -376,7 +376,7 @@ public void Can_convert_bytes_to_natural_strings_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_bytes() { var converter = _byteToNaturalString.ConvertFromProviderExpression.Compile(); @@ -390,7 +390,7 @@ public void Can_convert_natural_strings_to_bytes() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_bytes_object() { var converter = _byteToNaturalString.ConvertFromProvider; @@ -406,7 +406,7 @@ public void Can_convert_natural_strings_to_bytes_object() private static readonly NumberToStringConverter _sbyteToNaturalString = new(); - [ConditionalFact] + [Fact] public void Can_convert_sbytes_to_natural_strings() { var converter = _sbyteToNaturalString.ConvertToProviderExpression.Compile(); @@ -418,7 +418,7 @@ public void Can_convert_sbytes_to_natural_strings() Assert.Equal("0", converter(0)); } - [ConditionalFact] + [Fact] public void Can_convert_sbytes_to_natural_strings_object() { var converter = _sbyteToNaturalString.ConvertToProvider; @@ -432,7 +432,7 @@ public void Can_convert_sbytes_to_natural_strings_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_sbytes() { var converter = _sbyteToNaturalString.ConvertFromProviderExpression.Compile(); @@ -449,7 +449,7 @@ public void Can_convert_natural_strings_to_sbytes() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_sbytes_object() { var converter = _sbyteToNaturalString.ConvertFromProvider; @@ -468,7 +468,7 @@ public void Can_convert_natural_strings_to_sbytes_object() private static readonly NumberToStringConverter _decimalToNaturalString = new(); - [ConditionalFact] + [Fact] public void Can_convert_decimals_to_natural_strings() { var converter = _decimalToNaturalString.ConvertToProviderExpression.Compile(); @@ -481,7 +481,7 @@ public void Can_convert_decimals_to_natural_strings() Assert.Equal("-0.00000000000000000001", converter((decimal)-0.00000000000000000001)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_decimals() { var converter = _decimalToNaturalString.ConvertFromProviderExpression.Compile(); @@ -499,7 +499,7 @@ public void Can_convert_natural_strings_to_decimals() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_decimals_to_natural_strings_object() { var converter = _decimalToNaturalString.ConvertToProvider; @@ -512,7 +512,7 @@ public void Can_convert_decimals_to_natural_strings_object() Assert.Equal("-0.00000000000000000001", converter((decimal)-0.00000000000000000001)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_decimals_object() { var converter = _decimalToNaturalString.ConvertFromProvider; @@ -532,7 +532,7 @@ public void Can_convert_natural_strings_to_decimals_object() private static readonly NumberToStringConverter _doubleToNaturalString = new(); - [ConditionalFact] + [Fact] public void Can_convert_doubles_to_natural_strings() { var converter = _doubleToNaturalString.ConvertToProviderExpression.Compile(); @@ -545,7 +545,7 @@ public void Can_convert_doubles_to_natural_strings() Assert.Equal("-1E-20", converter(-0.00000000000000000001)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_doubles() { var converter = _doubleToNaturalString.ConvertFromProviderExpression.Compile(); @@ -563,7 +563,7 @@ public void Can_convert_natural_strings_to_doubles() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_doubles_to_natural_strings_object() { var converter = _doubleToNaturalString.ConvertToProvider; @@ -576,7 +576,7 @@ public void Can_convert_doubles_to_natural_strings_object() Assert.Equal("-1E-20", converter(-0.00000000000000000001)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_doubles_object() { var converter = _doubleToNaturalString.ConvertFromProvider; @@ -596,7 +596,7 @@ public void Can_convert_natural_strings_to_doubles_object() private static readonly NumberToStringConverter _floatToNaturalString = new(); - [ConditionalFact] + [Fact] public void Can_convert_floats_to_natural_strings() { var converter = _floatToNaturalString.ConvertToProviderExpression.Compile(); @@ -609,7 +609,7 @@ public void Can_convert_floats_to_natural_strings() Assert.Equal("-1E-20", converter((float)-0.00000000000000000001)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_floats() { var converter = _floatToNaturalString.ConvertFromProviderExpression.Compile(); @@ -627,7 +627,7 @@ public void Can_convert_natural_strings_to_floats() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_floats_to_natural_strings_object() { var converter = _floatToNaturalString.ConvertToProvider; @@ -640,7 +640,7 @@ public void Can_convert_floats_to_natural_strings_object() Assert.Equal("-1E-20", converter((float)-0.00000000000000000001)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_floats_object() { var converter = _floatToNaturalString.ConvertFromProvider; @@ -660,7 +660,7 @@ public void Can_convert_natural_strings_to_floats_object() private static readonly NumberToStringConverter _nullableSbyteToNaturalString = new(); - [ConditionalFact] + [Fact] public void Can_convert_nullable_sbytes_to_natural_strings() { var converter = _nullableSbyteToNaturalString.ConvertToProviderExpression.Compile(); @@ -673,7 +673,7 @@ public void Can_convert_nullable_sbytes_to_natural_strings() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_nullable_sbytes_to_natural_strings_object() { var converter = _nullableSbyteToNaturalString.ConvertToProvider; @@ -686,7 +686,7 @@ public void Can_convert_nullable_sbytes_to_natural_strings_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_nullable_sbytes() { var converter = _nullableSbyteToNaturalString.ConvertFromProviderExpression.Compile(); @@ -703,7 +703,7 @@ public void Can_convert_natural_strings_to_nullable_sbytes() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_nullable_sbytes_object() { var converter = _nullableSbyteToNaturalString.ConvertFromProvider; @@ -720,7 +720,7 @@ public void Can_convert_natural_strings_to_nullable_sbytes_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Integer_to_string_converter_throws_for_bad_type() => Assert.Equal( CoreStrings.ConverterBadType( diff --git a/test/EFCore.Tests/Storage/ValueConversion/PhysicalAddressToBytesConverterTest.cs b/test/EFCore.Tests/Storage/ValueConversion/PhysicalAddressToBytesConverterTest.cs index f94431a6e55..b77e75e23ae 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/PhysicalAddressToBytesConverterTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/PhysicalAddressToBytesConverterTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Net.NetworkInformation; @@ -9,7 +9,7 @@ public class PhysicalAddressToBytesConverterTest { private static readonly PhysicalAddressToBytesConverter _physicalAddressToBytes = new(); - [ConditionalTheory, MemberData(nameof(Data))] + [Theory, MemberData(nameof(Data))] public void Can_convert_physical_address_to_bytes(string address) { var converter = _physicalAddressToBytes.ConvertToProviderExpression.Compile(); @@ -19,7 +19,7 @@ public void Can_convert_physical_address_to_bytes(string address) Assert.Equal(bytes, converter(physicalAddress)); } - [ConditionalTheory, MemberData(nameof(Data))] + [Theory, MemberData(nameof(Data))] public void Can_convert_physical_address_to_bytes_object(string address) { var converter = _physicalAddressToBytes.ConvertToProvider; @@ -30,7 +30,7 @@ public void Can_convert_physical_address_to_bytes_object(string address) Assert.Null(converter(null)); } - [ConditionalTheory, MemberData(nameof(Data))] + [Theory, MemberData(nameof(Data))] public void Can_convert_bytes_to_physical_address(string address) { var converter = _physicalAddressToBytes.ConvertFromProviderExpression.Compile(); @@ -41,7 +41,7 @@ public void Can_convert_bytes_to_physical_address(string address) Assert.Equal(physicalAddress, converter(bytes)); } - [ConditionalTheory, MemberData(nameof(Data))] + [Theory, MemberData(nameof(Data))] public void Can_convert_bytes_to_physical_address_object(string address) { var converter = _physicalAddressToBytes.ConvertFromProvider; diff --git a/test/EFCore.Tests/Storage/ValueConversion/PhysicalAddressToStringConverterTest.cs b/test/EFCore.Tests/Storage/ValueConversion/PhysicalAddressToStringConverterTest.cs index 87cc3f2fa6d..e04425003ae 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/PhysicalAddressToStringConverterTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/PhysicalAddressToStringConverterTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Net.NetworkInformation; @@ -10,7 +10,7 @@ public class PhysicalAddressToStringConverterTest { private static readonly PhysicalAddressToStringConverter _physicalAddressToString = new(); - [ConditionalTheory, MemberData(nameof(Data))] + [Theory, MemberData(nameof(Data))] public void Can_convert_physical_address_to_String(string physicalAddress) { var converter = _physicalAddressToString.ConvertToProviderExpression.Compile(); @@ -22,7 +22,7 @@ public void Can_convert_physical_address_to_String(string physicalAddress) converter(PhysicalAddress.Parse(physicalAddress))); } - [ConditionalTheory, MemberData(nameof(Data))] + [Theory, MemberData(nameof(Data))] public void Can_convert_String_to_physical_address(string physicalAddress) { var converter = _physicalAddressToString.ConvertFromProviderExpression.Compile(); @@ -32,7 +32,7 @@ public void Can_convert_String_to_physical_address(string physicalAddress) converter(physicalAddress)); } - [ConditionalTheory, InlineData(new byte[] { 74, 74, 45, 72, 72, 45, 89, 89, 45, 68, 54, 45, 57, 50, 45, 55, 51 }), + [Theory, InlineData(new byte[] { 74, 74, 45, 72, 72, 45, 89, 89, 45, 68, 54, 45, 57, 50, 45, 55, 51 }), InlineData(new byte[] { 72, 72, 45, 77, 77, 45, 53, 53, 45, 68, 54, 45, 57, 50, 45, 55, 51 }), InlineData(new byte[] { 86, 86, 45, 56, 48, 45, 66, 55, 45, 51, 56, 45, 52, 65, 45, 54, 56 }), InlineData(new byte[] { 75, 75, 75, 45, 53, 57, 45, 68, 48, 45, 57, 57, 45, 69, 49, 45, 56, 53 })] diff --git a/test/EFCore.Tests/Storage/ValueConversion/StringToBoolConverterTest.cs b/test/EFCore.Tests/Storage/ValueConversion/StringToBoolConverterTest.cs index a8c390aef53..09bf748e189 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/StringToBoolConverterTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/StringToBoolConverterTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Storage.ValueConversion; @@ -7,7 +7,7 @@ public class StringToBoolConverterTest { private static readonly StringToBoolConverter _stringToBool = new(); - [ConditionalFact] + [Fact] public void Can_convert_strings_to_bools() { var converter = _stringToBool.ConvertToProviderExpression.Compile(); @@ -19,7 +19,7 @@ public void Can_convert_strings_to_bools() Assert.False(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_bools_to_strings() { var converter = _stringToBool.ConvertFromProviderExpression.Compile(); @@ -28,7 +28,7 @@ public void Can_convert_bools_to_strings() Assert.Equal("False", converter(false)); } - [ConditionalFact] + [Fact] public void Can_convert_strings_to_bools_object() { var converter = _stringToBool.ConvertToProvider; @@ -40,7 +40,7 @@ public void Can_convert_strings_to_bools_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_bools_to_strings_object() { var converter = _stringToBool.ConvertFromProvider; diff --git a/test/EFCore.Tests/Storage/ValueConversion/StringToBytesConverterTest.cs b/test/EFCore.Tests/Storage/ValueConversion/StringToBytesConverterTest.cs index 6842b227c4a..90a4046af28 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/StringToBytesConverterTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/StringToBytesConverterTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Storage.ValueConversion; @@ -7,7 +7,7 @@ public class StringToBytesConverterTest { private static readonly StringToBytesConverter _stringToUtf8Converter = new(Encoding.UTF8); - [ConditionalFact] + [Fact] public void Can_convert_strings_to_UTF8() { var converter = _stringToUtf8Converter.ConvertToProviderExpression.Compile(); @@ -16,7 +16,7 @@ public void Can_convert_strings_to_UTF8() Assert.Equal(new byte[0], converter("")); } - [ConditionalFact] + [Fact] public void Can_convert_UTF8_to_strings() { var converter = _stringToUtf8Converter.ConvertFromProviderExpression.Compile(); @@ -25,7 +25,7 @@ public void Can_convert_UTF8_to_strings() Assert.Equal("", converter([])); } - [ConditionalFact] + [Fact] public void Can_convert_strings_to_UTF8_object() { var converter = _stringToUtf8Converter.ConvertToProvider; @@ -35,7 +35,7 @@ public void Can_convert_strings_to_UTF8_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_UTF8_to_strings_object() { var converter = _stringToUtf8Converter.ConvertFromProvider; diff --git a/test/EFCore.Tests/Storage/ValueConversion/StringToCharConverterTest.cs b/test/EFCore.Tests/Storage/ValueConversion/StringToCharConverterTest.cs index fec25928634..87becabb6ab 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/StringToCharConverterTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/StringToCharConverterTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Storage.ValueConversion; @@ -7,7 +7,7 @@ public class StringToCharConverterTest { private static readonly StringToCharConverter _stringToChar = new(); - [ConditionalFact] + [Fact] public void Can_convert_strings_to_chars() { var converter = _stringToChar.ConvertToProviderExpression.Compile(); @@ -20,7 +20,7 @@ public void Can_convert_strings_to_chars() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_strings_to_chars_object() { var converter = _stringToChar.ConvertToProvider; @@ -31,7 +31,7 @@ public void Can_convert_strings_to_chars_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_chars_to_strings() { var converter = _stringToChar.ConvertFromProviderExpression.Compile(); @@ -40,7 +40,7 @@ public void Can_convert_chars_to_strings() Assert.Equal("!", converter('!')); } - [ConditionalFact] + [Fact] public void Can_convert_chars_to_strings_object() { var converter = _stringToChar.ConvertFromProvider; diff --git a/test/EFCore.Tests/Storage/ValueConversion/StringToDateTimeConverterTest.cs b/test/EFCore.Tests/Storage/ValueConversion/StringToDateTimeConverterTest.cs index 17fd8922a63..458b47c6cfb 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/StringToDateTimeConverterTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/StringToDateTimeConverterTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Storage.ValueConversion; @@ -7,7 +7,7 @@ public class StringToDateTimeConverterTest { private static readonly StringToDateTimeConverter _stringToDateTime = new(); - [ConditionalFact] + [Fact] public void Can_convert_string_to_DateTime() { var converter = _stringToDateTime.ConvertToProviderExpression.Compile(); @@ -22,7 +22,7 @@ public void Can_convert_string_to_DateTime() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_DateTime_to_string() { var converter = _stringToDateTime.ConvertFromProviderExpression.Compile(); @@ -32,7 +32,7 @@ public void Can_convert_DateTime_to_string() Assert.Equal("0001-01-01 00:00:00", converter(new DateTime())); } - [ConditionalFact] + [Fact] public void Can_convert_string_to_DateTime_object() { var converter = _stringToDateTime.ConvertToProvider; @@ -47,7 +47,7 @@ public void Can_convert_string_to_DateTime_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_DateTime_to_string_object() { var converter = _stringToDateTime.ConvertFromProvider; diff --git a/test/EFCore.Tests/Storage/ValueConversion/StringToDateTimeOffsetConverterTest.cs b/test/EFCore.Tests/Storage/ValueConversion/StringToDateTimeOffsetConverterTest.cs index 3969905784e..098496a0acc 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/StringToDateTimeOffsetConverterTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/StringToDateTimeOffsetConverterTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Storage.ValueConversion; @@ -7,7 +7,7 @@ public class StringToDateTimeOffsetConverterTest { private static readonly StringToDateTimeOffsetConverter _stringToDateTimeOffset = new(); - [ConditionalFact] + [Fact] public void Can_convert_string_to_DateTimeOffset() { var converter = _stringToDateTimeOffset.ConvertToProviderExpression.Compile(); @@ -23,7 +23,7 @@ public void Can_convert_string_to_DateTimeOffset() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_DateTimeOffset_to_string() { var converter = _stringToDateTimeOffset.ConvertFromProviderExpression.Compile(); @@ -37,7 +37,7 @@ public void Can_convert_DateTimeOffset_to_string() converter(new DateTimeOffset())); } - [ConditionalFact] + [Fact] public void Can_convert_string_to_DateTimeOffset_object() { var converter = _stringToDateTimeOffset.ConvertToProvider; @@ -53,7 +53,7 @@ public void Can_convert_string_to_DateTimeOffset_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_DateTimeOffset_to_string_object() { var converter = _stringToDateTimeOffset.ConvertFromProvider; diff --git a/test/EFCore.Tests/Storage/ValueConversion/StringToEnumConverterTest.cs b/test/EFCore.Tests/Storage/ValueConversion/StringToEnumConverterTest.cs index 179691193b4..c46cabc2e89 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/StringToEnumConverterTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/StringToEnumConverterTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Storage.ValueConversion; @@ -8,7 +8,7 @@ public class StringToEnumConverterTest private static readonly ValueConverter _stringToEnum = new StringToEnumConverter(); - [ConditionalFact] + [Fact] public void Can_convert_strings_to_enums() { var converter = _stringToEnum.ConvertToProviderExpression.Compile(); @@ -31,7 +31,7 @@ public void Can_convert_strings_to_enums() Assert.Throws(() => converter("Jon")).Message); } - [ConditionalFact] + [Fact] public void Can_convert_strings_to_enums_object() { var converter = _stringToEnum.ConvertToProvider; @@ -49,7 +49,7 @@ public void Can_convert_strings_to_enums_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_enums_to_strings() { var converter = _stringToEnum.ConvertFromProviderExpression.Compile(); @@ -62,7 +62,7 @@ public void Can_convert_enums_to_strings() Assert.Equal("0", converter(default)); } - [ConditionalFact] + [Fact] public void Can_convert_enums_to_strings_object() { var converter = _stringToEnum.ConvertFromProvider; diff --git a/test/EFCore.Tests/Storage/ValueConversion/StringToGuidConverterTest.cs b/test/EFCore.Tests/Storage/ValueConversion/StringToGuidConverterTest.cs index 8df340657a0..c593fd64687 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/StringToGuidConverterTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/StringToGuidConverterTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Storage.ValueConversion; @@ -7,7 +7,7 @@ public class StringToGuidConverterTest { private static readonly StringToGuidConverter _stringToGuid = new(); - [ConditionalFact] + [Fact] public void Can_convert_String_to_GUIDs() { var converter = _stringToGuid.ConvertToProviderExpression.Compile(); @@ -24,7 +24,7 @@ public void Can_convert_String_to_GUIDs() Assert.Throws(() => converter("Not a GUID")); } - [ConditionalFact] + [Fact] public void Can_convert_GUIDs_to_String() { var converter = _stringToGuid.ConvertFromProviderExpression.Compile(); @@ -38,7 +38,7 @@ public void Can_convert_GUIDs_to_String() converter(Guid.Empty)); } - [ConditionalFact] + [Fact] public void Can_convert_String_to_GUIDs_object() { var converter = _stringToGuid.ConvertToProvider; @@ -55,7 +55,7 @@ public void Can_convert_String_to_GUIDs_object() Assert.Throws(() => converter("Not a GUID")); } - [ConditionalFact] + [Fact] public void Can_convert_GUIDs_to_String_object() { var converter = _stringToGuid.ConvertFromProvider; diff --git a/test/EFCore.Tests/Storage/ValueConversion/StringToNumberConverterTest.cs b/test/EFCore.Tests/Storage/ValueConversion/StringToNumberConverterTest.cs index e8a1ec26ec3..85684e86652 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/StringToNumberConverterTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/StringToNumberConverterTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Storage.ValueConversion.Internal; @@ -9,7 +9,7 @@ public class StringToNumberConverterTest { private static readonly StringToNumberConverter _naturalStringToUlong = new(); - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_ulongs() { var converter = _naturalStringToUlong.ConvertToProviderExpression.Compile(); @@ -23,7 +23,7 @@ public void Can_convert_natural_strings_to_ulongs() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_ulongs_object() { var converter = _naturalStringToUlong.ConvertToProvider; @@ -37,7 +37,7 @@ public void Can_convert_natural_strings_to_ulongs_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_ulongs_to_natural_strings() { var converter = _naturalStringToUlong.ConvertFromProviderExpression.Compile(); @@ -47,7 +47,7 @@ public void Can_convert_ulongs_to_natural_strings() Assert.Equal("0", converter(0)); } - [ConditionalFact] + [Fact] public void Can_convert_ulongs_to_natural_strings_object() { var converter = _naturalStringToUlong.ConvertFromProvider; @@ -61,7 +61,7 @@ public void Can_convert_ulongs_to_natural_strings_object() private static readonly StringToNumberConverter _naturalStringToLong = new(); - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_longs() { var converter = _naturalStringToLong.ConvertToProviderExpression.Compile(); @@ -78,7 +78,7 @@ public void Can_convert_natural_strings_to_longs() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_longs_object() { var converter = _naturalStringToLong.ConvertToProvider; @@ -95,7 +95,7 @@ public void Can_convert_natural_strings_to_longs_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_longs_to_natural_strings() { var converter = _naturalStringToLong.ConvertFromProviderExpression.Compile(); @@ -107,7 +107,7 @@ public void Can_convert_longs_to_natural_strings() Assert.Equal("0", converter(0)); } - [ConditionalFact] + [Fact] public void Can_convert_longs_to_natural_strings_object() { var converter = _naturalStringToLong.ConvertFromProvider; @@ -123,7 +123,7 @@ public void Can_convert_longs_to_natural_strings_object() private static readonly StringToNumberConverter _naturalStringToUint = new(); - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_uints() { var converter = _naturalStringToUint.ConvertToProviderExpression.Compile(); @@ -138,7 +138,7 @@ public void Can_convert_natural_strings_to_uints() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_uints_object() { var converter = _naturalStringToUint.ConvertToProvider; @@ -153,7 +153,7 @@ public void Can_convert_natural_strings_to_uints_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_uints_to_natural_strings() { var converter = _naturalStringToUint.ConvertFromProviderExpression.Compile(); @@ -163,7 +163,7 @@ public void Can_convert_uints_to_natural_strings() Assert.Equal("0", converter(0)); } - [ConditionalFact] + [Fact] public void Can_convert_uints_to_natural_strings_object() { var converter = _naturalStringToUint.ConvertFromProvider; @@ -177,7 +177,7 @@ public void Can_convert_uints_to_natural_strings_object() private static readonly StringToNumberConverter _naturalStringToInt = new(); - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_ints() { var converter = _naturalStringToInt.ConvertToProviderExpression.Compile(); @@ -194,7 +194,7 @@ public void Can_convert_natural_strings_to_ints() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_ints_object() { var converter = _naturalStringToInt.ConvertToProvider; @@ -210,7 +210,7 @@ public void Can_convert_natural_strings_to_ints_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_ints_to_natural_strings() { var converter = _naturalStringToInt.ConvertFromProviderExpression.Compile(); @@ -222,7 +222,7 @@ public void Can_convert_ints_to_natural_strings() Assert.Equal("0", converter(0)); } - [ConditionalFact] + [Fact] public void Can_convert_ints_to_natural_strings_object() { var converter = _naturalStringToInt.ConvertFromProvider; @@ -238,7 +238,7 @@ public void Can_convert_ints_to_natural_strings_object() private static readonly StringToNumberConverter _naturalStringToUshort = new(); - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_ushorts() { var converter = _naturalStringToUshort.ConvertToProviderExpression.Compile(); @@ -253,7 +253,7 @@ public void Can_convert_natural_strings_to_ushorts() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_ushorts_object() { var converter = _naturalStringToUshort.ConvertToProvider; @@ -268,7 +268,7 @@ public void Can_convert_natural_strings_to_ushorts_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_ushorts_to_natural_strings() { var converter = _naturalStringToUshort.ConvertFromProviderExpression.Compile(); @@ -278,7 +278,7 @@ public void Can_convert_ushorts_to_natural_strings() Assert.Equal("0", converter(0)); } - [ConditionalFact] + [Fact] public void Can_convert_ushorts_to_natural_strings_object() { var converter = _naturalStringToUshort.ConvertFromProvider; @@ -292,7 +292,7 @@ public void Can_convert_ushorts_to_natural_strings_object() private static readonly StringToNumberConverter _naturalStringToShort = new(); - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_shorts() { var converter = _naturalStringToShort.ConvertToProviderExpression.Compile(); @@ -309,7 +309,7 @@ public void Can_convert_natural_strings_to_shorts() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_shorts_object() { var converter = _naturalStringToShort.ConvertToProvider; @@ -326,7 +326,7 @@ public void Can_convert_natural_strings_to_shorts_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_shorts_to_natural_strings() { var converter = _naturalStringToShort.ConvertFromProviderExpression.Compile(); @@ -338,7 +338,7 @@ public void Can_convert_shorts_to_natural_strings() Assert.Equal("0", converter(0)); } - [ConditionalFact] + [Fact] public void Can_convert_shorts_to_natural_strings_object() { var converter = _naturalStringToShort.ConvertFromProvider; @@ -354,7 +354,7 @@ public void Can_convert_shorts_to_natural_strings_object() private static readonly StringToNumberConverter _naturalStringToByte = new(); - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_bytes() { var converter = _naturalStringToByte.ConvertToProviderExpression.Compile(); @@ -368,7 +368,7 @@ public void Can_convert_natural_strings_to_bytes() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_bytes_object() { var converter = _naturalStringToByte.ConvertToProvider; @@ -382,7 +382,7 @@ public void Can_convert_natural_strings_to_bytes_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_natural_strings() { var converter = _naturalStringToByte.ConvertFromProviderExpression.Compile(); @@ -392,7 +392,7 @@ public void Can_convert_bytes_to_natural_strings() Assert.Equal("0", converter(0)); } - [ConditionalFact] + [Fact] public void Can_convert_bytes_to_natural_strings_object() { var converter = _naturalStringToByte.ConvertFromProvider; @@ -406,7 +406,7 @@ public void Can_convert_bytes_to_natural_strings_object() private static readonly StringToNumberConverter _naturalStringToSbyte = new(); - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_sbytes() { var converter = _naturalStringToSbyte.ConvertToProviderExpression.Compile(); @@ -423,7 +423,7 @@ public void Can_convert_natural_strings_to_sbytes() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_sbytes_object() { var converter = _naturalStringToSbyte.ConvertToProvider; @@ -440,7 +440,7 @@ public void Can_convert_natural_strings_to_sbytes_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_sbytes_to_natural_strings() { var converter = _naturalStringToSbyte.ConvertFromProviderExpression.Compile(); @@ -452,7 +452,7 @@ public void Can_convert_sbytes_to_natural_strings() Assert.Equal("0", converter(0)); } - [ConditionalFact] + [Fact] public void Can_convert_sbytes_to_natural_strings_object() { var converter = _naturalStringToSbyte.ConvertFromProvider; @@ -468,7 +468,7 @@ public void Can_convert_sbytes_to_natural_strings_object() private static readonly StringToNumberConverter _naturalStringToDecimal = new(); - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_decimals() { var converter = _naturalStringToDecimal.ConvertToProviderExpression.Compile(); @@ -486,7 +486,7 @@ public void Can_convert_natural_strings_to_decimals() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_decimals_to_natural_strings() { var converter = _naturalStringToDecimal.ConvertFromProviderExpression.Compile(); @@ -501,7 +501,7 @@ public void Can_convert_decimals_to_natural_strings() private static readonly StringToNumberConverter _naturalStringToDouble = new(); - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_doubles() { var converter = _naturalStringToDouble.ConvertToProviderExpression.Compile(); @@ -519,7 +519,7 @@ public void Can_convert_natural_strings_to_doubles() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_doubles_to_natural_strings() { var converter = _naturalStringToDouble.ConvertFromProviderExpression.Compile(); @@ -534,7 +534,7 @@ public void Can_convert_doubles_to_natural_strings() private static readonly StringToNumberConverter _naturalStringToFloat = new(); - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_floats() { var converter = _naturalStringToFloat.ConvertToProviderExpression.Compile(); @@ -552,7 +552,7 @@ public void Can_convert_natural_strings_to_floats() Assert.Throws(() => converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_floats_to_natural_strings() { var converter = _naturalStringToFloat.ConvertFromProviderExpression.Compile(); @@ -567,7 +567,7 @@ public void Can_convert_floats_to_natural_strings() private static readonly StringToNumberConverter _naturalStringToNullableSbyte = new(); - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_nullable_sbytes() { var converter = _naturalStringToNullableSbyte.ConvertToProviderExpression.Compile(); @@ -584,7 +584,7 @@ public void Can_convert_natural_strings_to_nullable_sbytes() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_natural_strings_to_nullable_sbytes_object() { var converter = _naturalStringToNullableSbyte.ConvertToProvider; @@ -601,7 +601,7 @@ public void Can_convert_natural_strings_to_nullable_sbytes_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_nullable_sbytes_to_natural_strings() { var converter = _naturalStringToNullableSbyte.ConvertFromProviderExpression.Compile(); @@ -614,7 +614,7 @@ public void Can_convert_nullable_sbytes_to_natural_strings() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_nullable_sbytes_to_natural_strings_object() { var converter = _naturalStringToNullableSbyte.ConvertFromProvider; @@ -627,7 +627,7 @@ public void Can_convert_nullable_sbytes_to_natural_strings_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void String_to_integer_converter_throws_for_bad_type() => Assert.Equal( CoreStrings.ConverterBadType( diff --git a/test/EFCore.Tests/Storage/ValueConversion/StringToTimeSpanConverterTest.cs b/test/EFCore.Tests/Storage/ValueConversion/StringToTimeSpanConverterTest.cs index 497b7b9400a..f51170ad3da 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/StringToTimeSpanConverterTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/StringToTimeSpanConverterTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Storage.ValueConversion; @@ -7,7 +7,7 @@ public class StringToTimeSpanConverterTest { private static readonly StringToTimeSpanConverter _stringToTimeSpan = new(); - [ConditionalFact] + [Fact] public void Can_convert_string_to_TimeSpan() { var converter = _stringToTimeSpan.ConvertToProviderExpression.Compile(); @@ -22,7 +22,7 @@ public void Can_convert_string_to_TimeSpan() Assert.Throws(() => converter("Not a TimeSpan")); } - [ConditionalFact] + [Fact] public void Can_convert_TimeSpan_to_string() { var converter = _stringToTimeSpan.ConvertFromProviderExpression.Compile(); @@ -34,7 +34,7 @@ public void Can_convert_TimeSpan_to_string() Assert.Equal("00:00:00", converter(new TimeSpan())); } - [ConditionalFact] + [Fact] public void Can_convert_string_to_TimeSpan_object() { var converter = _stringToTimeSpan.ConvertToProvider; @@ -49,7 +49,7 @@ public void Can_convert_string_to_TimeSpan_object() Assert.Throws(() => converter("Not a TimeSpan")); } - [ConditionalFact] + [Fact] public void Can_convert_TimeSpan_to_string_object() { var converter = _stringToTimeSpan.ConvertFromProvider; diff --git a/test/EFCore.Tests/Storage/ValueConversion/StringToUriConverterTest.cs b/test/EFCore.Tests/Storage/ValueConversion/StringToUriConverterTest.cs index e4affc21ac2..d44f1c9ea49 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/StringToUriConverterTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/StringToUriConverterTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Storage.ValueConversion; @@ -7,7 +7,7 @@ public class StringToUriConverterTest { private static readonly StringToUriConverter _stringToUri = new(); - [ConditionalFact] + [Fact] public void Can_convert_strings_to_uris() { var converter = _stringToUri.ConvertToProviderExpression.Compile(); @@ -20,7 +20,7 @@ public void Can_convert_strings_to_uris() Assert.Throws(() => converter("http:///")); } - [ConditionalFact] + [Fact] public void Can_convert_strings_to_uris_object() { var converter = _stringToUri.ConvertToProvider; @@ -34,7 +34,7 @@ public void Can_convert_strings_to_uris_object() Assert.Throws(() => converter("http:///")); } - [ConditionalFact] + [Fact] public void Can_convert_uris_to_strings() { var converter = _stringToUri.ConvertFromProviderExpression.Compile(); @@ -45,7 +45,7 @@ public void Can_convert_uris_to_strings() Assert.Equal(".", converter(new Uri(".", UriKind.Relative))); } - [ConditionalFact] + [Fact] public void Can_convert_uris_to_strings_object() { var converter = _stringToUri.ConvertFromProvider; diff --git a/test/EFCore.Tests/Storage/ValueConversion/TimeOnlyConvertersTest.cs b/test/EFCore.Tests/Storage/ValueConversion/TimeOnlyConvertersTest.cs index cc793918640..b7cd110c108 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/TimeOnlyConvertersTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/TimeOnlyConvertersTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.EntityFrameworkCore.Storage.ValueConversion; @@ -7,7 +7,7 @@ public class TimeOnlyConvertersTest { private static readonly TimeOnlyToStringConverter TimeOnlyToString = new(); - [ConditionalFact] + [Fact] public void Can_convert_TimeOnly_to_string() { var converter = TimeOnlyToString.ConvertToProviderExpression.Compile(); @@ -19,7 +19,7 @@ public void Can_convert_TimeOnly_to_string() Assert.Equal("00:00:00", converter(new TimeOnly())); } - [ConditionalFact] + [Fact] public void Can_convert_string_to_TimeOnly() { var converter = TimeOnlyToString.ConvertFromProviderExpression.Compile(); @@ -34,7 +34,7 @@ public void Can_convert_string_to_TimeOnly() Assert.Throws(() => converter("Not a TimeOnly")); } - [ConditionalFact] + [Fact] public void Can_convert_TimeOnly_to_string_object() { var converter = TimeOnlyToString.ConvertToProvider; @@ -48,7 +48,7 @@ public void Can_convert_TimeOnly_to_string_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_string_to_TimeOnly_object() { var converter = TimeOnlyToString.ConvertFromProvider; @@ -65,7 +65,7 @@ public void Can_convert_string_to_TimeOnly_object() private static readonly TimeOnlyToTicksConverter TimeOnlyToTicks = new(); - [ConditionalFact] + [Fact] public void Can_convert_TimeOnly_to_ticks() { var converter = TimeOnlyToTicks.ConvertToProviderExpression.Compile(); @@ -74,7 +74,7 @@ public void Can_convert_TimeOnly_to_ticks() Assert.Equal(0, converter(new TimeOnly())); } - [ConditionalFact] + [Fact] public void Can_convert_ticks_to_TimeOnly() { var converter = TimeOnlyToTicks.ConvertFromProviderExpression.Compile(); @@ -83,7 +83,7 @@ public void Can_convert_ticks_to_TimeOnly() Assert.Equal(new TimeOnly(), converter(0)); } - [ConditionalFact] + [Fact] public void Can_convert_TimeOnly_to_ticks_object() { var converter = TimeOnlyToTicks.ConvertToProvider; @@ -93,7 +93,7 @@ public void Can_convert_TimeOnly_to_ticks_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_ticks_to_TimeOnly_object() { var converter = TimeOnlyToTicks.ConvertFromProvider; diff --git a/test/EFCore.Tests/Storage/ValueConversion/TimeSpanConvertersTest.cs b/test/EFCore.Tests/Storage/ValueConversion/TimeSpanConvertersTest.cs index cc552f40dab..a53d5c1b720 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/TimeSpanConvertersTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/TimeSpanConvertersTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.EntityFrameworkCore.Storage.ValueConversion.Internal; @@ -9,7 +9,7 @@ public class TimeSpanConvertersTest { private static readonly TimeSpanToStringConverter _timeSpanToString = new(); - [ConditionalFact] + [Fact] public void Can_convert_TimeSpan_to_string() { var converter = _timeSpanToString.ConvertToProviderExpression.Compile(); @@ -21,7 +21,7 @@ public void Can_convert_TimeSpan_to_string() Assert.Equal("00:00:00", converter(new TimeSpan())); } - [ConditionalFact] + [Fact] public void Can_convert_string_to_TimeSpan() { var converter = _timeSpanToString.ConvertFromProviderExpression.Compile(); @@ -36,7 +36,7 @@ public void Can_convert_string_to_TimeSpan() Assert.Throws(() => converter("Not a timespan")); } - [ConditionalFact] + [Fact] public void Can_convert_TimeSpan_to_string_object() { var converter = _timeSpanToString.ConvertToProvider; @@ -50,7 +50,7 @@ public void Can_convert_TimeSpan_to_string_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_string_to_TimeSpan_object() { var converter = _timeSpanToString.ConvertFromProvider; @@ -67,7 +67,7 @@ public void Can_convert_string_to_TimeSpan_object() private static readonly TimeSpanToTicksConverter _timeSpanToTicks = new(); - [ConditionalFact] + [Fact] public void Can_convert_TimeSpan_to_ticks() { var converter = _timeSpanToTicks.ConvertToProviderExpression.Compile(); @@ -76,7 +76,7 @@ public void Can_convert_TimeSpan_to_ticks() Assert.Equal(0, converter(new TimeSpan())); } - [ConditionalFact] + [Fact] public void Can_convert_ticks_to_TimeSpan() { var converter = _timeSpanToTicks.ConvertFromProviderExpression.Compile(); @@ -85,7 +85,7 @@ public void Can_convert_ticks_to_TimeSpan() Assert.Equal(new TimeSpan(), converter(0)); } - [ConditionalFact] + [Fact] public void Can_convert_TimeSpan_to_ticks_object() { var converter = _timeSpanToTicks.ConvertToProvider; @@ -95,7 +95,7 @@ public void Can_convert_TimeSpan_to_ticks_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_ticks_to_TimeSpan_object() { var converter = _timeSpanToTicks.ConvertFromProvider; @@ -109,7 +109,7 @@ private static readonly CompositeValueConverter _timeSpanT = (CompositeValueConverter)new TimeSpanToTicksConverter().ComposeWith( new CastingConverter()); - [ConditionalFact] + [Fact] public void Can_convert_TimeSpan_to_int_ticks() { var converter = _timeSpanToIntTicks.ConvertToProviderExpression.Compile(); @@ -118,7 +118,7 @@ public void Can_convert_TimeSpan_to_int_ticks() Assert.Equal((uint)0, converter(new TimeSpan())); } - [ConditionalFact] + [Fact] public void Can_convert_int_ticks_to_TimeSpan() { var converter = _timeSpanToIntTicks.ConvertFromProviderExpression.Compile(); @@ -127,7 +127,7 @@ public void Can_convert_int_ticks_to_TimeSpan() Assert.Equal(new TimeSpan(), converter(0)); } - [ConditionalFact] + [Fact] public void Can_convert_TimeSpan_to_int_ticks_object() { var converter = _timeSpanToIntTicks.ConvertToProvider; @@ -137,7 +137,7 @@ public void Can_convert_TimeSpan_to_int_ticks_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_int_ticks_to_TimeSpan_object() { var converter = _timeSpanToIntTicks.ConvertFromProvider; diff --git a/test/EFCore.Tests/Storage/ValueConversion/ValueConverterSelectorTest.cs b/test/EFCore.Tests/Storage/ValueConversion/ValueConverterSelectorTest.cs index 37a279afd0a..2c08d7c5721 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/ValueConverterSelectorTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/ValueConverterSelectorTest.cs @@ -11,7 +11,7 @@ public class ValueConverterSelectorTest private readonly IValueConverterSelector _selector = new ValueConverterSelector(new ValueConverterSelectorDependencies()); - [ConditionalFact] + [Fact] public void Can_get_converters_for_int_enums() => AssertConverters( _selector.Select(typeof(Queen)).ToList(), @@ -29,7 +29,7 @@ public void Can_get_converters_for_int_enums() (typeof(EnumToNumberConverter), default), (typeof(EnumToNumberConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_ulong_enums() => AssertConverters( _selector.Select(typeof(Gnr)).ToList(), @@ -47,7 +47,7 @@ public void Can_get_converters_for_ulong_enums() (typeof(EnumToNumberConverter), default), (typeof(EnumToNumberConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_long_enums() => AssertConverters( _selector.Select(typeof(Velvets)).ToList(), @@ -65,7 +65,7 @@ public void Can_get_converters_for_long_enums() (typeof(EnumToNumberConverter), default), (typeof(EnumToNumberConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_byte_enums() => AssertConverters( _selector.Select(typeof(Nwa)).ToList(), @@ -83,31 +83,31 @@ public void Can_get_converters_for_byte_enums() (typeof(EnumToNumberConverter), default), (typeof(EnumToNumberConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_enum_to_string() => AssertConverters( _selector.Select(typeof(Queen), typeof(string)).ToList(), (typeof(EnumToStringConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_enum_to_underlying_enum_type() => AssertConverters( _selector.Select(typeof(Queen), typeof(int)).ToList(), (typeof(EnumToNumberConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_enum_to_other_integer_type() => AssertConverters( _selector.Select(typeof(Queen), typeof(sbyte)).ToList(), (typeof(EnumToNumberConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_enum_to_bytes() => AssertConverters( _selector.Select(typeof(Queen), typeof(byte[])).ToList(), (typeof(CompositeValueConverter), new ConverterMappingHints(size: 4))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_int() => AssertConverters( _selector.Select(typeof(int)).ToList(), @@ -124,7 +124,7 @@ public void Can_get_converters_for_int() (typeof(CastingConverter), default), (typeof(CastingConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_uint() => AssertConverters( _selector.Select(typeof(uint)).ToList(), @@ -141,7 +141,7 @@ public void Can_get_converters_for_uint() (typeof(CastingConverter), default), (typeof(CastingConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_sbyte() => AssertConverters( _selector.Select(typeof(sbyte)).ToList(), @@ -158,7 +158,7 @@ public void Can_get_converters_for_sbyte() (typeof(CastingConverter), default), (typeof(CastingConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_byte() => AssertConverters( _selector.Select(typeof(byte)).ToList(), @@ -175,7 +175,7 @@ public void Can_get_converters_for_byte() (typeof(CastingConverter), default), (typeof(CastingConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_double() => AssertConverters( _selector.Select(typeof(double)).ToList(), @@ -192,7 +192,7 @@ public void Can_get_converters_for_double() (typeof(CastingConverter), default), (typeof(CastingConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_float() => AssertConverters( _selector.Select(typeof(float)).ToList(), @@ -209,7 +209,7 @@ public void Can_get_converters_for_float() (typeof(CastingConverter), default), (typeof(CastingConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_decimal() => AssertConverters( _selector.Select(typeof(decimal)).ToList(), @@ -226,19 +226,19 @@ public void Can_get_converters_for_decimal() (typeof(CastingConverter), default), (typeof(CastingConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_double_to_float() => AssertConverters( _selector.Select(typeof(double), typeof(float)).ToList(), (typeof(CastingConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_float_to_double() => AssertConverters( _selector.Select(typeof(float), typeof(double)).ToList(), (typeof(CastingConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_explicit_converters_for_numeric_types() { var types = new[] @@ -276,7 +276,7 @@ public void Can_get_explicit_converters_for_numeric_types() } } - [ConditionalFact] + [Fact] public void Can_get_converters_for_char() => AssertConverters( _selector.Select(typeof(char)).ToList(), @@ -294,25 +294,25 @@ public void Can_get_converters_for_char() (typeof(CastingConverter), default), (typeof(CastingConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_char_to_string() => AssertConverters( _selector.Select(typeof(char), typeof(string)).ToList(), (typeof(CharToStringConverter), new ConverterMappingHints(size: 1))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_char_to_bytes() => AssertConverters( _selector.Select(typeof(char), typeof(byte[])).ToList(), (typeof(NumberToBytesConverter), new ConverterMappingHints(size: 2))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_char_to_specific_numeric() => AssertConverters( _selector.Select(typeof(char), typeof(ushort)).ToList(), (typeof(CastingConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_bool() => AssertConverters( _selector.Select(typeof(bool)).ToList(), @@ -330,170 +330,170 @@ public void Can_get_converters_for_bool() (typeof(BoolToStringConverter), new ConverterMappingHints(size: 1)), (typeof(CompositeValueConverter), new ConverterMappingHints(size: 1))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_GUID() => AssertConverters( _selector.Select(typeof(Guid)).ToList(), (typeof(GuidToStringConverter), new ConverterMappingHints(size: 36)), (typeof(GuidToBytesConverter), new ConverterMappingHints(size: 16))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_GUID_to_string() => AssertConverters( _selector.Select(typeof(Guid), typeof(string)).ToList(), (typeof(GuidToStringConverter), new ConverterMappingHints(size: 36))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_GUID_to_bytes() => AssertConverters( _selector.Select(typeof(Guid), typeof(byte[])).ToList(), (typeof(GuidToBytesConverter), new ConverterMappingHints(size: 16))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_strings() => AssertConverters( _selector.Select(typeof(string)).ToList(), (typeof(StringToBytesConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_string_to_int() => AssertConverters( _selector.Select(typeof(string), typeof(int)).ToList(), (typeof(StringToNumberConverter), new ConverterMappingHints(size: 64))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_string_to_long() => AssertConverters( _selector.Select(typeof(string), typeof(long)).ToList(), (typeof(StringToNumberConverter), new ConverterMappingHints(size: 64))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_string_to_short() => AssertConverters( _selector.Select(typeof(string), typeof(short)).ToList(), (typeof(StringToNumberConverter), new ConverterMappingHints(size: 64))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_string_to_byte() => AssertConverters( _selector.Select(typeof(string), typeof(byte)).ToList(), (typeof(StringToNumberConverter), new ConverterMappingHints(size: 64))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_string_to_ulong() => AssertConverters( _selector.Select(typeof(string), typeof(ulong)).ToList(), (typeof(StringToNumberConverter), new ConverterMappingHints(size: 64))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_string_to_uint() => AssertConverters( _selector.Select(typeof(string), typeof(uint)).ToList(), (typeof(StringToNumberConverter), new ConverterMappingHints(size: 64))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_string_to_ushort() => AssertConverters( _selector.Select(typeof(string), typeof(ushort)).ToList(), (typeof(StringToNumberConverter), new ConverterMappingHints(size: 64))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_string_to_sbyte() => AssertConverters( _selector.Select(typeof(string), typeof(sbyte)).ToList(), (typeof(StringToNumberConverter), new ConverterMappingHints(size: 64))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_string_to_decimal() => AssertConverters( _selector.Select(typeof(string), typeof(decimal)).ToList(), (typeof(StringToNumberConverter), new ConverterMappingHints(size: 64))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_string_to_double() => AssertConverters( _selector.Select(typeof(string), typeof(double)).ToList(), (typeof(StringToNumberConverter), new ConverterMappingHints(size: 64))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_string_to_float() => AssertConverters( _selector.Select(typeof(string), typeof(float)).ToList(), (typeof(StringToNumberConverter), new ConverterMappingHints(size: 64))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_string_to_enum() => AssertConverters( _selector.Select(typeof(string), typeof(Queen)).ToList(), (typeof(StringToEnumConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_string_to_DateTime() => AssertConverters( _selector.Select(typeof(string), typeof(DateTime)).ToList(), (typeof(StringToDateTimeConverter), new ConverterMappingHints(size: 48))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_string_to_DateTimeOffset() => AssertConverters( _selector.Select(typeof(string), typeof(DateTimeOffset)).ToList(), (typeof(StringToDateTimeOffsetConverter), new ConverterMappingHints(size: 48))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_string_to_TimeOnly() => AssertConverters( _selector.Select(typeof(string), typeof(TimeOnly)).ToList(), (typeof(StringToTimeOnlyConverter), new ConverterMappingHints(size: 48))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_string_to_TimeSpan() => AssertConverters( _selector.Select(typeof(string), typeof(TimeSpan)).ToList(), (typeof(StringToTimeSpanConverter), new ConverterMappingHints(size: 48))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_string_to_Guid() => AssertConverters( _selector.Select(typeof(string), typeof(Guid)).ToList(), (typeof(StringToGuidConverter), new ConverterMappingHints(size: 36))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_string_to_Uri() => AssertConverters( _selector.Select(typeof(string), typeof(Uri)).ToList(), (typeof(StringToUriConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_string_to_bool() => AssertConverters( _selector.Select(typeof(string), typeof(bool)).ToList(), (typeof(StringToBoolConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_string_to_char() => AssertConverters( _selector.Select(typeof(string), typeof(char)).ToList(), (typeof(StringToCharConverter), new ConverterMappingHints(size: 1))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_string_to_bytes() => AssertConverters( _selector.Select(typeof(string), typeof(byte[])).ToList(), (typeof(StringToBytesConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_bytes() => AssertConverters( _selector.Select(typeof(byte[])).ToList(), (typeof(BytesToStringConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_bytes_to_strings() => AssertConverters( _selector.Select(typeof(byte[]), typeof(string)).ToList(), (typeof(BytesToStringConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_DateTime() => AssertConverters( _selector.Select(typeof(DateTime)).ToList(), @@ -501,25 +501,25 @@ public void Can_get_converters_for_DateTime() (typeof(DateTimeToBinaryConverter), default), (typeof(CompositeValueConverter), new ConverterMappingHints(size: 8))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_DateTime_to_bytes() => AssertConverters( _selector.Select(typeof(DateTime), typeof(byte[])).ToList(), (typeof(CompositeValueConverter), new ConverterMappingHints(size: 8))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_DateTime_to_string() => AssertConverters( _selector.Select(typeof(DateTime), typeof(string)).ToList(), (typeof(DateTimeToStringConverter), new ConverterMappingHints(size: 48))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_DateTime_to_long() => AssertConverters( _selector.Select(typeof(DateTime), typeof(long)).ToList(), (typeof(DateTimeToBinaryConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_DateTimeOffset() => AssertConverters( _selector.Select(typeof(DateTimeOffset)).ToList(), @@ -527,25 +527,25 @@ public void Can_get_converters_for_DateTimeOffset() (typeof(DateTimeOffsetToBinaryConverter), default), (typeof(DateTimeOffsetToBytesConverter), new ConverterMappingHints(size: 12))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_DateTimeOffset_to_bytes() => AssertConverters( _selector.Select(typeof(DateTimeOffset), typeof(byte[])).ToList(), (typeof(DateTimeOffsetToBytesConverter), new ConverterMappingHints(size: 12))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_DateTimeOffset_to_string() => AssertConverters( _selector.Select(typeof(DateTimeOffset), typeof(string)).ToList(), (typeof(DateTimeOffsetToStringConverter), new ConverterMappingHints(size: 48))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_DateTimeOffset_to_long() => AssertConverters( _selector.Select(typeof(DateTimeOffset), typeof(long)).ToList(), (typeof(DateTimeOffsetToBinaryConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_TimeOnly() => AssertConverters( _selector.Select(typeof(TimeOnly)).ToList(), @@ -553,25 +553,25 @@ public void Can_get_converters_for_TimeOnly() (typeof(TimeOnlyToTicksConverter), default), (typeof(CompositeValueConverter), new ConverterMappingHints(size: 8))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_TimeOnly_to_bytes() => AssertConverters( _selector.Select(typeof(TimeOnly), typeof(byte[])).ToList(), (typeof(CompositeValueConverter), new ConverterMappingHints(size: 8))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_TimeOnly_to_string() => AssertConverters( _selector.Select(typeof(TimeOnly), typeof(string)).ToList(), (typeof(TimeOnlyToStringConverter), new ConverterMappingHints(size: 48))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_TimeOnly_to_long() => AssertConverters( _selector.Select(typeof(TimeOnly), typeof(long)).ToList(), (typeof(TimeOnlyToTicksConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_TimeSpan() => AssertConverters( _selector.Select(typeof(TimeSpan)).ToList(), @@ -579,31 +579,31 @@ public void Can_get_converters_for_TimeSpan() (typeof(TimeSpanToTicksConverter), default), (typeof(CompositeValueConverter), new ConverterMappingHints(size: 8))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_TimeSpan_to_bytes() => AssertConverters( _selector.Select(typeof(TimeSpan), typeof(byte[])).ToList(), (typeof(CompositeValueConverter), new ConverterMappingHints(size: 8))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_TimeSpan_to_string() => AssertConverters( _selector.Select(typeof(TimeSpan), typeof(string)).ToList(), (typeof(TimeSpanToStringConverter), new ConverterMappingHints(size: 48))); - [ConditionalFact] + [Fact] public void Can_get_converters_for_TimeSpan_to_long() => AssertConverters( _selector.Select(typeof(TimeSpan), typeof(long)).ToList(), (typeof(TimeSpanToTicksConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_Uri_to_string() => AssertConverters( _selector.Select(typeof(Uri), typeof(string)).ToList(), (typeof(UriToStringConverter), default)); - [ConditionalFact] + [Fact] public void Can_get_converters_for_IPAddress_to_string() { AssertConverters( @@ -615,7 +615,7 @@ public void Can_get_converters_for_IPAddress_to_string() (typeof(IPAddressToStringConverter), new ConverterMappingHints(size: 45))); } - [ConditionalFact] + [Fact] public void Can_get_converters_for_IPAddress_to_bytes() { AssertConverters( diff --git a/test/EFCore.Tests/Storage/ValueConversion/ValueConverterTest.cs b/test/EFCore.Tests/Storage/ValueConversion/ValueConverterTest.cs index bf80cb90ae1..ae45dc962c9 100644 --- a/test/EFCore.Tests/Storage/ValueConversion/ValueConverterTest.cs +++ b/test/EFCore.Tests/Storage/ValueConversion/ValueConverterTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.ValueConversion; public class ValueConverterTest { - [ConditionalTheory, InlineData(false), InlineData(true)] + [Theory, InlineData(false), InlineData(true)] public async Task Value_converters_are_run_for_in_memory_database(bool async) { using (var context = new InMemoryConvertersContext()) @@ -64,7 +64,7 @@ private class Person private static readonly ValueConverter _uIntToInt = new CastingConverter(); - [ConditionalFact] + [Fact] public void Can_access_raw_converters() { Assert.Same(_uIntToInt.ConvertFromProviderExpression, ((ValueConverter)_uIntToInt).ConvertFromProviderExpression); @@ -77,7 +77,7 @@ public void Can_access_raw_converters() Assert.Equal(uint.MaxValue, _uIntToInt.ConvertFromProviderExpression.Compile()(-1)); } - [ConditionalFact] + [Fact] public void Can_convert_exact_types_with_non_nullable_converter() { Assert.Equal(1, _uIntToInt.ConvertToProvider((uint)1)); @@ -87,7 +87,7 @@ public void Can_convert_exact_types_with_non_nullable_converter() Assert.Equal(uint.MaxValue, _uIntToInt.ConvertFromProvider(-1)); } - [ConditionalFact] + [Fact] public void Can_convert_nullable_types_with_non_nullable_converter() { Assert.Equal(1, _uIntToInt.ConvertToProvider((uint?)1)); @@ -97,7 +97,7 @@ public void Can_convert_nullable_types_with_non_nullable_converter() Assert.Equal(uint.MaxValue, _uIntToInt.ConvertFromProvider((int?)-1)); } - [ConditionalFact] + [Fact] public void Can_convert_non_exact_types_with_non_nullable_converter() { Assert.Equal(1, _uIntToInt.ConvertToProvider((ushort)1)); @@ -110,7 +110,7 @@ public void Can_convert_non_exact_types_with_non_nullable_converter() Assert.Equal((uint)1, _uIntToInt.ConvertFromProvider(1)); } - [ConditionalFact] + [Fact] public void Can_convert_non_exact_nullable_types_with_non_nullable_converter() { Assert.Equal(1, _uIntToInt.ConvertToProvider((ushort?)1)); @@ -123,7 +123,7 @@ public void Can_convert_non_exact_nullable_types_with_non_nullable_converter() Assert.Equal((uint)1, _uIntToInt.ConvertFromProvider((int?)1)); } - [ConditionalFact] + [Fact] public void Can_handle_nulls_with_non_nullable_converter() { Assert.Null(_uIntToInt.ConvertToProvider(null)); @@ -133,7 +133,7 @@ public void Can_handle_nulls_with_non_nullable_converter() private static readonly ValueConverter _nullableUIntToNullableInt = new CastingConverter(); - [ConditionalFact] + [Fact] public void Can_convert_exact_types_with_nullable_converter() { Assert.Equal((int?)1, _nullableUIntToNullableInt.ConvertToProvider((uint?)1)); @@ -143,7 +143,7 @@ public void Can_convert_exact_types_with_nullable_converter() Assert.Equal((uint?)uint.MaxValue, _nullableUIntToNullableInt.ConvertFromProvider((int?)-1)); } - [ConditionalFact] + [Fact] public void Can_convert_non_nullable_types_with_nullable_converter() { Assert.Equal((int?)1, _nullableUIntToNullableInt.ConvertToProvider((uint?)1)); @@ -153,7 +153,7 @@ public void Can_convert_non_nullable_types_with_nullable_converter() Assert.Equal((uint?)uint.MaxValue, _nullableUIntToNullableInt.ConvertFromProvider((int?)-1)); } - [ConditionalFact] + [Fact] public void Can_convert_non_exact_types_with_nullable_converter() { Assert.Equal((int?)1, _nullableUIntToNullableInt.ConvertToProvider((ushort?)1)); @@ -166,7 +166,7 @@ public void Can_convert_non_exact_types_with_nullable_converter() Assert.Equal((uint?)1, _nullableUIntToNullableInt.ConvertFromProvider((int?)1)); } - [ConditionalFact] + [Fact] public void Can_convert_non_exact_nullable_types_with_nullable_converter() { Assert.Equal((int?)1, _nullableUIntToNullableInt.ConvertToProvider((ushort)1)); @@ -179,14 +179,14 @@ public void Can_convert_non_exact_nullable_types_with_nullable_converter() Assert.Equal((uint?)1, _nullableUIntToNullableInt.ConvertFromProvider(1)); } - [ConditionalFact] + [Fact] public void Can_handle_nulls_with_nullable_converter() { Assert.Null(_nullableUIntToNullableInt.ConvertToProvider(null)); Assert.Null(_nullableUIntToNullableInt.ConvertFromProvider(null)); } - [ConditionalFact] + [Fact] public void Can_cast_between_numeric_types() { var types = new[] @@ -259,7 +259,7 @@ private static int ConvertToInt(string v) private static readonly ValueConverter _enumToNumber = new EnumToNumberConverter(); - [ConditionalFact] + [Fact] public void Can_convert_compose_to_strings() { var converter @@ -274,7 +274,7 @@ var converter Assert.Equal("0", converter(default)); } - [ConditionalFact] + [Fact] public void Can_convert_compose_to_strings_object() { var converter = _enumToNumber.ComposeWith(_intToString).ConvertToProvider; @@ -288,7 +288,7 @@ public void Can_convert_compose_to_strings_object() Assert.Null(converter(null)); } - [ConditionalFact] + [Fact] public void Can_convert_compose_to_enums() { var converter @@ -303,7 +303,7 @@ var converter Assert.Equal(default, converter("0")); } - [ConditionalFact] + [Fact] public void Can_convert_compose_to_enums_object() { var converter = _enumToNumber.ComposeWith(_intToString).ConvertFromProvider; @@ -325,7 +325,7 @@ private enum Beatles Ringo = -1 } - [ConditionalFact] + [Fact] public void Cannot_compose_converters_with_mismatched_types() => Assert.Equal( CoreStrings.ConvertersCannotBeComposed("Beatles", "int", "uint", "int"), diff --git a/test/EFCore.Tests/Utilities/CheckTest.cs b/test/EFCore.Tests/Utilities/CheckTest.cs index a8029e70e37..182d5d469a7 100644 --- a/test/EFCore.Tests/Utilities/CheckTest.cs +++ b/test/EFCore.Tests/Utilities/CheckTest.cs @@ -7,31 +7,31 @@ namespace Microsoft.EntityFrameworkCore.Utilities; public class CheckTest { - [ConditionalTheory, InlineData(null)] + [Theory, InlineData(null)] public void Not_null_throws_when_arg_is_null(string arg1) => Assert.Equal(nameof(arg1), Assert.Throws(() => Check.NotNull(arg1)).ParamName); - [ConditionalTheory, InlineData(""), InlineData(" ")] + [Theory, InlineData(""), InlineData(" ")] public void Not_empty_throws_when_arg_is_empty(string arg1) => Assert.Equal(nameof(arg1), Assert.Throws(() => Check.NotEmpty(arg1)).ParamName); - [ConditionalTheory, InlineData(null)] + [Theory, InlineData(null)] public void Generic_Not_empty_throws_when_arg_is_null(string[] arg1) => Assert.Equal(nameof(arg1), Assert.Throws(() => Check.NotEmpty(arg1)).ParamName); - [ConditionalTheory, InlineData([new string[0]])] + [Theory, InlineData([new string[0]])] public void Generic_Not_empty_throws_when_arg_is_empty(string[] arg1) => Assert.Equal(nameof(arg1), Assert.Throws(() => Check.NotEmpty(arg1)).ParamName); - [ConditionalTheory, InlineData("")] + [Theory, InlineData("")] public void Not_but_not_empty_throws_when_arg_is_empty(string arg1) => Assert.Equal(nameof(arg1), Assert.Throws(() => Check.NullButNotEmpty(arg1)).ParamName); - [ConditionalTheory, InlineData([new string[] { null }])] + [Theory, InlineData([new string[] { null }])] public void Has_no_nulls_throws_when_arg_has_nulls(string[] arg1) => Assert.Equal(nameof(arg1), Assert.Throws(() => Check.HasNoNulls(arg1)).ParamName); - [ConditionalTheory, InlineData([new string[] { null }]), InlineData([new[] { "" }]), + [Theory, InlineData([new string[] { null }]), InlineData([new[] { "" }]), InlineData([new[] { " " }])] public void Has_no_empty_elements_throws_when_arg_has_empty_elements(string[] arg1) => Assert.Equal(nameof(arg1), Assert.Throws(() => Check.HasNoEmptyElements(arg1)).ParamName); diff --git a/test/EFCore.Tests/Utilities/MultigraphTest.cs b/test/EFCore.Tests/Utilities/MultigraphTest.cs index ccf68607007..84b93449cfc 100644 --- a/test/EFCore.Tests/Utilities/MultigraphTest.cs +++ b/test/EFCore.Tests/Utilities/MultigraphTest.cs @@ -87,7 +87,7 @@ protected override string ToString(IReadOnlyEntityType vertex) #endregion - [ConditionalFact] + [Fact] public void AddVertex_adds_a_vertex() { var vertexOne = new Vertex { Id = 1 }; @@ -102,7 +102,7 @@ public void AddVertex_adds_a_vertex() Assert.Equal(2, graph.Vertices.Intersect([vertexOne, vertexTwo]).Count()); } - [ConditionalFact] + [Fact] public void AddVertices_add_vertices() { var vertexOne = new Vertex { Id = 1 }; @@ -118,7 +118,7 @@ public void AddVertices_add_vertices() Assert.Equal(3, graph.Vertices.Intersect([vertexOne, vertexTwo, vertexThree]).Count()); } - [ConditionalFact] + [Fact] public void AddEdge_adds_an_edge() { var vertexOne = new Vertex { Id = 1 }; @@ -137,7 +137,7 @@ public void AddEdge_adds_an_edge() Assert.Equal(2, graph.GetEdges(vertexOne, vertexTwo).Intersect([edgeOne, edgeTwo]).Count()); } - [ConditionalFact] + [Fact] public void AddEdge_updates_incoming_and_outgoing_neighbors() { var vertexOne = new Vertex { Id = 1 }; @@ -161,7 +161,7 @@ public void AddEdge_updates_incoming_and_outgoing_neighbors() Assert.Equal(2, graph.GetIncomingNeighbors(vertexThree).Intersect([vertexOne, vertexTwo]).Count()); } - [ConditionalFact] + [Fact] public void TopologicalSort_on_graph_with_no_edges_returns_all_vertices() { var vertexOne = new Vertex { Id = 1 }; @@ -176,7 +176,7 @@ public void TopologicalSort_on_graph_with_no_edges_returns_all_vertices() Assert.Equal(3, result.Intersect([vertexOne, vertexTwo, vertexThree]).Count()); } - [ConditionalFact] + [Fact] public void TopologicalSort_on_simple_graph_returns_all_vertices_in_order() { var vertexOne = new Vertex { Id = 1 }; @@ -199,7 +199,7 @@ public void TopologicalSort_on_simple_graph_returns_all_vertices_in_order() graph.TopologicalSort().ToArray()); } - [ConditionalFact] + [Fact] public void TopologicalSort_on_tree_graph_returns_all_vertices_in_order() { var vertexOne = new Vertex { Id = 1 }; @@ -224,7 +224,7 @@ public void TopologicalSort_on_tree_graph_returns_all_vertices_in_order() graph.TopologicalSort().ToArray()); } - [ConditionalFact] + [Fact] public void TopologicalSort_on_self_ref_can_break_cycle() { var vertexOne = new Vertex { Id = 1 }; @@ -245,7 +245,7 @@ public void TopologicalSort_on_self_ref_can_break_cycle() && (edges.Intersect([edgeOne]).Count() == 1)).ToArray()); } - [ConditionalFact] + [Fact] public void TopologicalSort_can_break_simple_cycle() { var vertexOne = new Vertex { Id = 1 }; @@ -274,7 +274,7 @@ public void TopologicalSort_can_break_simple_cycle() && (edges.Single() == edgeThree)).ToArray()); } - [ConditionalFact] + [Fact] public void TopologicalSort_can_break_two_cycles() { var vertexOne = new Vertex { Id = 1 }; @@ -314,7 +314,7 @@ public void TopologicalSort_can_break_two_cycles() }).ToArray()); } - [ConditionalFact] + [Fact] public void TopologicalSort_throws_with_default_message_when_cycle_cannot_be_broken() { var vertexOne = new Vertex { Id = 1 }; @@ -342,7 +342,7 @@ public void TopologicalSort_throws_with_default_message_when_cycle_cannot_be_bro Assert.Throws(() => graph.TopologicalSort()).Message); } - [ConditionalFact] + [Fact] public void TopologicalSort_throws_with_formatted_message_when_cycle_cannot_be_broken() { const string message = "Formatted cycle"; @@ -389,7 +389,7 @@ string formatter(IEnumerable>> data) Assert.Equal([edgeThree], cycleData[vertexThree].Item3); } - [ConditionalFact] + [Fact] public void TopologicalSort_with_secondary_sort() { var vertexOne = new Vertex { Id = 1 }; @@ -413,7 +413,7 @@ public void TopologicalSort_with_secondary_sort() graph.TopologicalSort().ToArray()); } - [ConditionalFact] + [Fact] public void TopologicalSort_without_secondary_sort() { var vertexOne = new Vertex { Id = 1 }; @@ -437,7 +437,7 @@ public void TopologicalSort_without_secondary_sort() graph.TopologicalSort().ToArray()); } - [ConditionalFact] + [Fact] public void BatchingTopologicalSort_throws_with_formatted_message_when_cycle_cannot_be_broken() { const string message = "Formatted cycle"; @@ -484,7 +484,7 @@ string formatter(IEnumerable>> data) Assert.Equal([edgeThree], cycleData[vertexThree].Item3); } - [ConditionalFact] + [Fact] public void BatchingTopologicalSort_throws_with_formatted_message_with_no_tail_when_cycle_cannot_be_broken() { const string message = "Formatted cycle"; @@ -532,7 +532,7 @@ string formatter(IEnumerable>> data) Assert.Equal([edgeThree], cycleData[vertexFour].Item3); } - [ConditionalFact] + [Fact] public void BatchingTopologicalSort_sorts_simple() { var model = CreateModel(); @@ -558,7 +558,7 @@ public void BatchingTopologicalSort_sorts_simple() graph.BatchingTopologicalSort().SelectMany(e => e).Select(e => e.Name).ToArray()); } - [ConditionalFact] + [Fact] public void BatchingTopologicalSort_sorts_reverse() { var model = CreateModel(); @@ -584,7 +584,7 @@ public void BatchingTopologicalSort_sorts_reverse() graph.BatchingTopologicalSort().SelectMany(e => e).Select(e => e.Name).ToArray()); } - [ConditionalFact] + [Fact] public void BatchingTopologicalSort_sorts_preserves_graph() { var model = CreateModel(); @@ -626,7 +626,7 @@ public void BatchingTopologicalSort_sorts_preserves_graph() graph.BatchingTopologicalSort().SelectMany(e => e).Select(e => e.Name).ToArray()); } - [ConditionalFact] + [Fact] public void BatchingTopologicalSort_sorts_tree() { var model = CreateModel(); @@ -653,7 +653,7 @@ public void BatchingTopologicalSort_sorts_tree() graph.BatchingTopologicalSort().SelectMany(e => e).Select(e => e.Name).ToArray()); } - [ConditionalFact] + [Fact] public void BatchingTopologicalSort_sorts_no_edges() { var model = CreateModel(); @@ -676,7 +676,7 @@ public void BatchingTopologicalSort_sorts_no_edges() graph.BatchingTopologicalSort().SelectMany(e => e).Select(e => e.Name).ToArray()); } - [ConditionalFact] + [Fact] public void BatchingTopologicalSort_sorts_self_ref() { var model = CreateModel(); @@ -696,7 +696,7 @@ public void BatchingTopologicalSort_sorts_self_ref() Assert.Throws(() => graph.BatchingTopologicalSort()).Message); } - [ConditionalFact] + [Fact] public void BatchingTopologicalSort_sorts_circular_direct() { var model = CreateModel(); @@ -723,7 +723,7 @@ public void BatchingTopologicalSort_sorts_circular_direct() Assert.Throws(() => graph.BatchingTopologicalSort()).Message); } - [ConditionalFact] + [Fact] public void BatchingTopologicalSort_sorts_circular_transitive() { var model = CreateModel(); @@ -760,7 +760,7 @@ public void BatchingTopologicalSort_sorts_circular_transitive() Assert.Throws(() => graph.BatchingTopologicalSort()).Message); } - [ConditionalFact] + [Fact] public void BatchingTopologicalSort_sorts_two_cycles() { var model = CreateModel(); @@ -808,7 +808,7 @@ public void BatchingTopologicalSort_sorts_two_cycles() Assert.Throws(() => graph.BatchingTopologicalSort()).Message); } - [ConditionalFact] + [Fact] public void BatchingTopologicalSort_sorts_leafy_cycle() { var model = CreateModel(); @@ -836,7 +836,7 @@ public void BatchingTopologicalSort_sorts_leafy_cycle() Assert.Throws(() => graph.BatchingTopologicalSort()).Message); } - [ConditionalFact] + [Fact] public void BatchingTopologicalSort_with_secondary_sort() { var vertexOne = new Vertex { Id = 1 }; @@ -860,7 +860,7 @@ public void BatchingTopologicalSort_with_secondary_sort() graph.BatchingTopologicalSort().Single().ToArray()); } - [ConditionalFact] + [Fact] public void BatchingTopologicalSort_without_secondary_sort() { var vertexOne = new Vertex { Id = 1 }; @@ -884,7 +884,7 @@ public void BatchingTopologicalSort_without_secondary_sort() graph.BatchingTopologicalSort().Single().ToArray()); } - [ConditionalFact] + [Fact] public void BatchingTopologicalSort_with_batching_boundary_edge() { var vertexOne = new Vertex { Id = 1 }; diff --git a/test/EFCore.Tests/ValueGeneration/BinaryValueGeneratorTest.cs b/test/EFCore.Tests/ValueGeneration/BinaryValueGeneratorTest.cs index d751264fcd5..db9ca109615 100644 --- a/test/EFCore.Tests/ValueGeneration/BinaryValueGeneratorTest.cs +++ b/test/EFCore.Tests/ValueGeneration/BinaryValueGeneratorTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration; public class BinaryValueGeneratorTest { - [ConditionalFact] + [Fact] public void Creates_GUID_arrays() { var generator = new BinaryValueGenerator(); @@ -21,7 +21,7 @@ public void Creates_GUID_arrays() Assert.Equal(100, values.Count); } - [ConditionalFact] + [Fact] public void Generates_non_temp_values() => Assert.False(new BinaryValueGenerator().GeneratesTemporaryValues); } diff --git a/test/EFCore.Tests/ValueGeneration/GuidValueGeneratorTest.cs b/test/EFCore.Tests/ValueGeneration/GuidValueGeneratorTest.cs index 498b246618c..985433c0a28 100644 --- a/test/EFCore.Tests/ValueGeneration/GuidValueGeneratorTest.cs +++ b/test/EFCore.Tests/ValueGeneration/GuidValueGeneratorTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration; public class GuidValueGeneratorTest { - [ConditionalFact] + [Fact] public void Creates_GUIDs() { var sequentialGuidIdentityGenerator = new GuidValueGenerator(); @@ -21,7 +21,7 @@ public void Creates_GUIDs() Assert.Equal(100, values.Count); } - [ConditionalFact] + [Fact] public void Does_not_generate_temp_values() => Assert.False(new GuidValueGenerator().GeneratesTemporaryValues); } diff --git a/test/EFCore.Tests/ValueGeneration/SequentialGuidValueGeneratorTest.cs b/test/EFCore.Tests/ValueGeneration/SequentialGuidValueGeneratorTest.cs index 38c8b898462..62cf1f2e92f 100644 --- a/test/EFCore.Tests/ValueGeneration/SequentialGuidValueGeneratorTest.cs +++ b/test/EFCore.Tests/ValueGeneration/SequentialGuidValueGeneratorTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration; public class SequentialGuidValueGeneratorTest { - [ConditionalFact] + [Fact] public void Can_get_next_values() { var sequentialGuidIdentityGenerator = new SequentialGuidValueGenerator(); @@ -22,7 +22,7 @@ public void Can_get_next_values() Assert.Equal(100, values.Count); } - [ConditionalFact] + [Fact] public void Does_not_generate_temp_values() => Assert.False(new SequentialGuidValueGenerator().GeneratesTemporaryValues); } diff --git a/test/EFCore.Tests/ValueGeneration/StringValueGeneratorTest.cs b/test/EFCore.Tests/ValueGeneration/StringValueGeneratorTest.cs index 24d3599182e..694d6b7b4ab 100644 --- a/test/EFCore.Tests/ValueGeneration/StringValueGeneratorTest.cs +++ b/test/EFCore.Tests/ValueGeneration/StringValueGeneratorTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration; public class StringValueGeneratorTest { - [ConditionalFact] + [Fact] public void Creates_GUID_strings() { var generator = new StringValueGenerator(); @@ -21,7 +21,7 @@ public void Creates_GUID_strings() Assert.Equal(100, values.Count); } - [ConditionalFact] + [Fact] public void Generates_non_temp_values() => Assert.False(new StringValueGenerator().GeneratesTemporaryValues); } diff --git a/test/EFCore.Tests/ValueGeneration/TemporaryNumberValueGeneratorFactoryTest.cs b/test/EFCore.Tests/ValueGeneration/TemporaryNumberValueGeneratorFactoryTest.cs index 44e4130b443..c51e9669418 100644 --- a/test/EFCore.Tests/ValueGeneration/TemporaryNumberValueGeneratorFactoryTest.cs +++ b/test/EFCore.Tests/ValueGeneration/TemporaryNumberValueGeneratorFactoryTest.cs @@ -15,7 +15,7 @@ public static IModel BuildModel() return (IModel)builder.Model; } - [ConditionalFact] + [Fact] public void Can_create_factories_for_all_integer_types() { var entityType = _model.FindEntityType(typeof(AnEntity)); @@ -41,7 +41,7 @@ public void Can_create_factories_for_all_integer_types() private static object CreateAndUseFactory(IProperty property) => new TemporaryNumberValueGeneratorFactory().Create(property, property.DeclaringType).Next(null); - [ConditionalFact] + [Fact] public void Throws_for_non_integer_property() { var entityType = _model.FindEntityType(typeof(AnEntity)); diff --git a/test/EFCore.Tests/ValueGeneration/TemporaryNumberValueGeneratorTest.cs b/test/EFCore.Tests/ValueGeneration/TemporaryNumberValueGeneratorTest.cs index cba1ac4305a..6ef315b7959 100644 --- a/test/EFCore.Tests/ValueGeneration/TemporaryNumberValueGeneratorTest.cs +++ b/test/EFCore.Tests/ValueGeneration/TemporaryNumberValueGeneratorTest.cs @@ -7,7 +7,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration; public class TemporaryNumberValueGeneratorTest { - [ConditionalFact] + [Fact] public void Can_create_values_for_int_types() { var generator = new TemporaryIntValueGenerator(); @@ -17,7 +17,7 @@ public void Can_create_values_for_int_types() Assert.Equal(int.MinValue + 1003, generator.Next(null)); } - [ConditionalFact] + [Fact] public void Can_create_values_for_long_types() { var generator = new TemporaryLongValueGenerator(); @@ -27,7 +27,7 @@ public void Can_create_values_for_long_types() Assert.Equal(long.MinValue + 1003, generator.Next(null)); } - [ConditionalFact] + [Fact] public void Can_create_values_for_short_types() { var generator = new TemporaryShortValueGenerator(); @@ -37,7 +37,7 @@ public void Can_create_values_for_short_types() Assert.Equal(short.MinValue + 103, generator.Next(null)); } - [ConditionalFact] + [Fact] public void Can_create_values_for_byte_types() { var generator = new TemporaryByteValueGenerator(); @@ -47,7 +47,7 @@ public void Can_create_values_for_byte_types() Assert.Equal(253, generator.Next(null)); } - [ConditionalFact] + [Fact] public void Can_create_values_for_uint_types() { var generator = new TemporaryUIntValueGenerator(); @@ -57,7 +57,7 @@ public void Can_create_values_for_uint_types() Assert.Equal(unchecked((uint)int.MinValue + 1003), generator.Next(null)); } - [ConditionalFact] + [Fact] public void Can_create_values_for_ulong_types() { var generator = new TemporaryULongValueGenerator(); @@ -67,7 +67,7 @@ public void Can_create_values_for_ulong_types() Assert.Equal(unchecked((ulong)long.MinValue + 1003), generator.Next(null)); } - [ConditionalFact] + [Fact] public void Can_create_values_for_ushort_types() { var generator = new TemporaryUShortValueGenerator(); @@ -77,7 +77,7 @@ public void Can_create_values_for_ushort_types() Assert.Equal(unchecked((ushort)short.MinValue + 103), generator.Next(null)); } - [ConditionalFact] + [Fact] public void Can_create_values_for_sbyte_types() { var generator = new TemporarySByteValueGenerator(); @@ -87,7 +87,7 @@ public void Can_create_values_for_sbyte_types() Assert.Equal(-125, generator.Next(null)); } - [ConditionalFact] + [Fact] public void Can_create_values_for_char_types() { var generator = new TemporaryCharValueGenerator(); @@ -97,7 +97,7 @@ public void Can_create_values_for_char_types() Assert.Equal(char.MaxValue - 103, generator.Next(null)); } - [ConditionalFact] + [Fact] public void Can_create_values_for_decimal_types() { var generator = new TemporaryDecimalValueGenerator(); @@ -106,7 +106,7 @@ public void Can_create_values_for_decimal_types() Assert.Equal(-2147482646m, generator.Next(null)); } - [ConditionalFact] + [Fact] public void Can_create_values_for_float_types() { var generator = new TemporaryFloatValueGenerator(); @@ -115,7 +115,7 @@ public void Can_create_values_for_float_types() Assert.Equal(-2147482646.0f, generator.Next(null)); } - [ConditionalFact] + [Fact] public void Can_create_values_for_double_types() { var generator = new TemporaryDoubleValueGenerator(); @@ -124,7 +124,7 @@ public void Can_create_values_for_double_types() Assert.Equal(-2147482646.0, generator.Next(null)); } - [ConditionalFact] + [Fact] public void Generates_temporary_values() { Assert.True(new TemporaryIntValueGenerator().GeneratesTemporaryValues); diff --git a/test/EFCore.Tests/ValueGeneration/ValueGeneratorCacheTest.cs b/test/EFCore.Tests/ValueGeneration/ValueGeneratorCacheTest.cs index 7e81f0ab069..8e7dad3423d 100644 --- a/test/EFCore.Tests/ValueGeneration/ValueGeneratorCacheTest.cs +++ b/test/EFCore.Tests/ValueGeneration/ValueGeneratorCacheTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration; public class ValueGeneratorCacheTest { - [ConditionalFact] + [Fact] public void Uses_single_generator_per_property() { var model = CreateModel(); diff --git a/test/EFCore.Tests/ValueGeneration/ValueGeneratorSelectorTest.cs b/test/EFCore.Tests/ValueGeneration/ValueGeneratorSelectorTest.cs index a915aa69f67..3e44744dbcd 100644 --- a/test/EFCore.Tests/ValueGeneration/ValueGeneratorSelectorTest.cs +++ b/test/EFCore.Tests/ValueGeneration/ValueGeneratorSelectorTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration; public class ValueGeneratorSelectorTest { - [ConditionalFact] + [Fact] public void Returns_built_in_generators_for_types_setup_for_value_generation_using_Try_method() { var model = BuildModel(); @@ -64,7 +64,7 @@ public void Returns_built_in_generators_for_types_setup_for_value_generation_usi selector.TrySelect(entityType.FindProperty("Binary")!, entityType, out generator) ? generator : null); } - [ConditionalFact] + [Fact] public void Returns_null_for_unsupported_combinations_with_Try_method() { var model = BuildModel(); diff --git a/test/EFCore.VisualBasic.FunctionalTests/NorthwindQueryVisualBasicTest.vb b/test/EFCore.VisualBasic.FunctionalTests/NorthwindQueryVisualBasicTest.vb index 6ed83f13779..3a72b4cfbbf 100644 --- a/test/EFCore.VisualBasic.FunctionalTests/NorthwindQueryVisualBasicTest.vb +++ b/test/EFCore.VisualBasic.FunctionalTests/NorthwindQueryVisualBasicTest.vb @@ -6,7 +6,7 @@ Imports Microsoft.EntityFrameworkCore.TestModels.Northwind Imports Microsoft.EntityFrameworkCore.TestUtilities Imports Xunit - + Partial Public Class NorthwindQueryVisualBasicTest Inherits QueryTestBase(Of NorthwindVBQuerySqlServerFixture(Of NoopModelCustomizer)) @@ -16,7 +16,7 @@ Partial Public Class NorthwindQueryVisualBasicTest fixture.TestSqlLoggerFactory.Clear() End Sub - + Public Async Sub CompareString_Equals_Binary(async As Boolean) Await AssertQuery( @@ -29,7 +29,7 @@ FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI'") End Sub - + Public Async Sub CompareString_LessThanOrEqual_Binary(async As Boolean) Await AssertQuery( @@ -42,7 +42,7 @@ FROM [Customers] AS [c] WHERE [c].[CustomerID] <= N'ALFKI'") End Sub - + Public Async Sub AddChecked(async As Boolean) Await AssertQuery( @@ -55,7 +55,7 @@ FROM [Products] AS [p] WHERE [p].[UnitsInStock] + CAST(1 AS smallint) = CAST(102 AS smallint)") End Sub - + Public Async Sub SubtractChecked(async As Boolean) Await AssertQuery( @@ -68,7 +68,7 @@ FROM [Products] AS [p] WHERE [p].[UnitsInStock] - CAST(1 AS smallint) = CAST(100 AS smallint)") End Sub - + Public Async Sub MultiplyChecked(async As Boolean) Await AssertQuery( @@ -81,7 +81,7 @@ FROM [Products] AS [p] WHERE [p].[UnitsInStock] * CAST(1 AS smallint) = CAST(101 AS smallint)") End Sub - + Public Async Sub Parameter_name_gets_sanitized(async As Boolean) Dim units = 101 diff --git a/test/EFCore.VisualBasic.FunctionalTests/NorthwindTextQueryVisualBasicTest.vb b/test/EFCore.VisualBasic.FunctionalTests/NorthwindTextQueryVisualBasicTest.vb index 35e36d1f01e..9dd3ca1af51 100644 --- a/test/EFCore.VisualBasic.FunctionalTests/NorthwindTextQueryVisualBasicTest.vb +++ b/test/EFCore.VisualBasic.FunctionalTests/NorthwindTextQueryVisualBasicTest.vb @@ -7,7 +7,7 @@ Imports Microsoft.EntityFrameworkCore.TestModels.Northwind Imports Xunit Partial Public Class NorthwindQueryVisualBasicTest - + Public Function CompareString_Equals_Text(async As Boolean) As Task Return AssertTranslationFailedWithDetails( @@ -17,7 +17,7 @@ Partial Public Class NorthwindQueryVisualBasicTest CoreStrings.QueryUnableToTranslateMethod("string", "Compare")) End Function - + Public Function CompareString_LessThanOrEqual_Text(async As Boolean) As Task Return AssertTranslationFailedWithDetails( diff --git a/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.Tests.csproj b/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.Tests.csproj index 9ffbf9421f2..1de5cc96b4f 100644 --- a/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.Tests.csproj +++ b/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.Tests.csproj @@ -5,6 +5,7 @@ $(DefaultNetCoreTargetFramework) $(DefineConstants);E_SQLITE3 enable + Exe @@ -15,8 +16,14 @@ + + + + + + diff --git a/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.sqlite3.Tests.csproj b/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.sqlite3.Tests.csproj index f938e1f93e6..edc8e5bb32f 100644 --- a/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.sqlite3.Tests.csproj +++ b/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.sqlite3.Tests.csproj @@ -5,15 +5,24 @@ $(DefaultNetCoreTargetFramework) $(DefineConstants);SQLITE3 enable + Exe + + Microsoft.Data.Sqlite.Tests + + + + + + diff --git a/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.sqlite3mc.Tests.csproj b/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.sqlite3mc.Tests.csproj index 5fbf38e3d00..fd6bb890515 100644 --- a/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.sqlite3mc.Tests.csproj +++ b/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.sqlite3mc.Tests.csproj @@ -5,6 +5,7 @@ $(DefaultNetCoreTargetFramework) $(DefineConstants);SQLITE3MC enable + Exe @@ -14,8 +15,14 @@ + + + + + + diff --git a/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.winsqlite3.Tests.csproj b/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.winsqlite3.Tests.csproj index ba1b8a97d43..6ffd3bda44b 100644 --- a/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.winsqlite3.Tests.csproj +++ b/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.winsqlite3.Tests.csproj @@ -4,15 +4,22 @@ $(DefaultNetCoreTargetFramework);$(NetFrameworkCurrent) $(DefineConstants);WINSQLITE3 enable + Exe + + + + + + diff --git a/test/Microsoft.Data.Sqlite.Tests/Properties/TestAssemblyConditions.cs b/test/Microsoft.Data.Sqlite.Tests/Properties/TestAssemblyConditions.cs new file mode 100644 index 00000000000..cf8f8196335 --- /dev/null +++ b/test/Microsoft.Data.Sqlite.Tests/Properties/TestAssemblyConditions.cs @@ -0,0 +1,8 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using Microsoft.Data.Sqlite.Tests.TestUtilities; +using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; + +// Skip the entire assembly if the SQLite native library could not be initialized +[assembly: ConditionalAssembly(typeof(SqliteTestEnvironment), nameof(SqliteTestEnvironment.IsAvailable))] diff --git a/test/Microsoft.Data.Sqlite.Tests/SqliteBlobTest.cs b/test/Microsoft.Data.Sqlite.Tests/SqliteBlobTest.cs index 5e673b3b5e7..84ce3073014 100644 --- a/test/Microsoft.Data.Sqlite.Tests/SqliteBlobTest.cs +++ b/test/Microsoft.Data.Sqlite.Tests/SqliteBlobTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System; diff --git a/test/Microsoft.Data.Sqlite.Tests/SqliteConnectionFactoryTest.cs b/test/Microsoft.Data.Sqlite.Tests/SqliteConnectionFactoryTest.cs index 176e6e4c685..b7e83c355e3 100644 --- a/test/Microsoft.Data.Sqlite.Tests/SqliteConnectionFactoryTest.cs +++ b/test/Microsoft.Data.Sqlite.Tests/SqliteConnectionFactoryTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System; diff --git a/test/Microsoft.Data.Sqlite.Tests/SqliteConnectionTest.cs b/test/Microsoft.Data.Sqlite.Tests/SqliteConnectionTest.cs index b4e182af617..de47ef81bbe 100644 --- a/test/Microsoft.Data.Sqlite.Tests/SqliteConnectionTest.cs +++ b/test/Microsoft.Data.Sqlite.Tests/SqliteConnectionTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System; diff --git a/test/Microsoft.Data.Sqlite.Tests/SqliteFactoryTest.cs b/test/Microsoft.Data.Sqlite.Tests/SqliteFactoryTest.cs index 7496fc3fa50..d0855d149e0 100644 --- a/test/Microsoft.Data.Sqlite.Tests/SqliteFactoryTest.cs +++ b/test/Microsoft.Data.Sqlite.Tests/SqliteFactoryTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Xunit; diff --git a/test/Microsoft.Data.Sqlite.Tests/SqliteParameterTest.cs b/test/Microsoft.Data.Sqlite.Tests/SqliteParameterTest.cs index cc5f4a314a6..1f3dd7d4b78 100644 --- a/test/Microsoft.Data.Sqlite.Tests/SqliteParameterTest.cs +++ b/test/Microsoft.Data.Sqlite.Tests/SqliteParameterTest.cs @@ -6,7 +6,7 @@ using System.Data; using System.Data.Common; using Microsoft.Data.Sqlite.Properties; -using Microsoft.Data.Sqlite.TestUtilities; +using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; using Xunit; namespace Microsoft.Data.Sqlite; diff --git a/test/Microsoft.Data.Sqlite.Tests/TestUtilities/SqliteTestFramework.cs b/test/Microsoft.Data.Sqlite.Tests/TestUtilities/SqliteTestFramework.cs deleted file mode 100644 index 2e2fde52814..00000000000 --- a/test/Microsoft.Data.Sqlite.Tests/TestUtilities/SqliteTestFramework.cs +++ /dev/null @@ -1,138 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using System; -using System.Collections.Generic; -using System.Reflection; -using System.Threading; -using System.Threading.Tasks; -using SQLitePCL; -using Xunit; -using Xunit.Abstractions; -using Xunit.Sdk; -using static SQLitePCL.raw; - -[assembly: TestFramework( - "Microsoft.Data.Sqlite.Tests.TestUtilities.SqliteTestFramework", -#if E_SQLITE3 - "Microsoft.Data.Sqlite.Tests")] -#elif WINSQLITE3 - "Microsoft.Data.Sqlite.winsqlite3.Tests")] -#elif SQLITE3 - "Microsoft.Data.Sqlite.sqlite3.Tests")] -#elif SQLITE3MC - "Microsoft.Data.Sqlite.sqlite3mc.Tests")] -#else -#error Unexpected native library -#endif - -namespace Microsoft.Data.Sqlite.Tests.TestUtilities; - -#if WINSQLITE3 -public static class Batteries_V2 -{ - public static void Init() - { - SQLitePCL.raw.SetProvider(new SQLitePCL.SQLite3Provider_winsqlite3()); - } -} -#endif - -#if SQLITE3 -public static class Batteries_V2 -{ - public static void Init() - { - SQLitePCL.raw.SetProvider(new SQLitePCL.SQLite3Provider_sqlite3()); - } -} -#endif - -internal class SqliteTestFramework : XunitTestFramework -{ - protected SqliteTestFramework(IMessageSink diagnosticMessageSink) - : base(diagnosticMessageSink) - { - } - - protected override ITestFrameworkExecutor CreateExecutor(AssemblyName assemblyName) - => new SqliteTestFrameworkExecutor(assemblyName, SourceInformationProvider, DiagnosticMessageSink); -} - -internal class SqliteTestFrameworkExecutor( - AssemblyName assemblyName, - ISourceInformationProvider sourceInformationProvider, - IMessageSink diagnosticMessageSink) : XunitTestFrameworkExecutor(assemblyName, sourceInformationProvider, diagnosticMessageSink) -{ - protected override async void RunTestCases( - IEnumerable testCases, - IMessageSink executionMessageSink, - ITestFrameworkExecutionOptions executionOptions) - { - using var assemblyRunner = new SqliteTestAssemblyRunner( - TestAssembly, - testCases, - DiagnosticMessageSink, - executionMessageSink, - executionOptions); - await assemblyRunner.RunAsync(); - } -} - -internal class SqliteTestAssemblyRunner( - ITestAssembly testAssembly, - IEnumerable testCases, - IMessageSink diagnosticMessageSink, - IMessageSink executionMessageSink, - ITestFrameworkExecutionOptions executionOptions) : XunitTestAssemblyRunner( - testAssembly, testCases, diagnosticMessageSink, executionMessageSink, executionOptions) -{ - protected override Task RunTestCollectionAsync( - IMessageBus messageBus, - ITestCollection testCollection, - IEnumerable testCases, - CancellationTokenSource cancellationTokenSource) - { - try - { - Batteries_V2.Init(); - } - catch (DllNotFoundException ex) - { - return SkipAll(ex.Message); - } - - var version = sqlite3_libversion().utf8_to_string(); - if (new Version(version) < new Version(3, 16, 0)) - { - return SkipAll("SQLite " + version + " isn't supported. Upgrade to 3.16.0 or higher"); - } - - if (sqlite3_compileoption_used("ENABLE_COLUMN_METADATA") == 0) - { - return SkipAll("SQLite compiled without -DSQLITE_ENABLE_COLUMN_METADATA"); - } - - return new XunitTestCollectionRunner( - testCollection, - testCases, - DiagnosticMessageSink, - messageBus, - TestCaseOrderer, - new ExceptionAggregator(Aggregator), - cancellationTokenSource) - .RunAsync(); - - Task SkipAll(string reason) - { - var count = 0; - foreach (var testCase in testCases) - { - messageBus.QueueMessage(new TestSkipped(new XunitTest(testCase, testCase.DisplayName), reason)); - count++; - } - - return Task.FromResult(new RunSummary { Skipped = count, Total = count }); - } - } -} diff --git a/test/Microsoft.Data.Sqlite.Tests/TestUtilities/SqliteTestPipelineStartup.cs b/test/Microsoft.Data.Sqlite.Tests/TestUtilities/SqliteTestPipelineStartup.cs new file mode 100644 index 00000000000..4537d0a92c1 --- /dev/null +++ b/test/Microsoft.Data.Sqlite.Tests/TestUtilities/SqliteTestPipelineStartup.cs @@ -0,0 +1,74 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System; +using System.Threading.Tasks; +using SQLitePCL; +using Xunit.Sdk; +using Xunit.v3; +using static SQLitePCL.raw; + +[assembly: TestPipelineStartup(typeof(Microsoft.Data.Sqlite.Tests.TestUtilities.SqliteTestPipelineStartup))] + +namespace Microsoft.Data.Sqlite.Tests.TestUtilities; + +#if WINSQLITE3 +public static class Batteries_V2 +{ + public static void Init() + { + SQLitePCL.raw.SetProvider(new SQLitePCL.SQLite3Provider_winsqlite3()); + } +} +#endif + +#if SQLITE3 +public static class Batteries_V2 +{ + public static void Init() + { + SQLitePCL.raw.SetProvider(new SQLitePCL.SQLite3Provider_sqlite3()); + } +} +#endif + +public class SqliteTestPipelineStartup : ITestPipelineStartup +{ + public ValueTask StartAsync(IMessageSink diagnosticMessageSink) + { + try + { + Batteries_V2.Init(); + } + catch (DllNotFoundException ex) + { + SqliteTestEnvironment.SkipReason = ex.Message; + return default; + } + + var version = sqlite3_libversion().utf8_to_string(); + if (new Version(version) < new Version(3, 16, 0)) + { + SqliteTestEnvironment.SkipReason = "SQLite " + version + " isn't supported. Upgrade to 3.16.0 or higher"; + return default; + } + + if (sqlite3_compileoption_used("ENABLE_COLUMN_METADATA") == 0) + { + SqliteTestEnvironment.SkipReason = "SQLite compiled without -DSQLITE_ENABLE_COLUMN_METADATA"; + return default; + } + + return default; + } + + public ValueTask StopAsync() + => default; +} + +public static class SqliteTestEnvironment +{ + public static string? SkipReason { get; set; } + + public static bool IsAvailable => SkipReason is null; +} diff --git a/test/Microsoft.Data.Sqlite.Tests/TestUtilities/UseCultureAttribute.cs b/test/Microsoft.Data.Sqlite.Tests/TestUtilities/UseCultureAttribute.cs deleted file mode 100644 index 60a1cd3e563..00000000000 --- a/test/Microsoft.Data.Sqlite.Tests/TestUtilities/UseCultureAttribute.cs +++ /dev/null @@ -1,38 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using System; -using System.Globalization; -using System.Reflection; -using Xunit.Sdk; - -namespace Microsoft.Data.Sqlite.TestUtilities; - -[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)] -public sealed class UseCultureAttribute(string culture, string uiCulture) : BeforeAfterTestAttribute -{ - private CultureInfo? _originalCulture; - private CultureInfo? _originalUICulture; - - public UseCultureAttribute(string culture) - : this(culture, culture) - { - } - - public CultureInfo Culture { get; } = new(culture); - public CultureInfo UICulture { get; } = new(uiCulture); - - public override void Before(MethodInfo methodUnderTest) - { - _originalCulture = CultureInfo.CurrentCulture; - _originalUICulture = CultureInfo.CurrentUICulture; - CultureInfo.CurrentCulture = Culture; - CultureInfo.CurrentUICulture = UICulture; - } - - public override void After(MethodInfo methodUnderTest) - { - CultureInfo.CurrentCulture = _originalCulture!; - CultureInfo.CurrentUICulture = _originalUICulture!; - } -} diff --git a/test/dotnet-ef.Tests/ProjectTest.cs b/test/dotnet-ef.Tests/ProjectTest.cs index c6db3028d90..83932400bcb 100644 --- a/test/dotnet-ef.Tests/ProjectTest.cs +++ b/test/dotnet-ef.Tests/ProjectTest.cs @@ -2,8 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.DotNet.Cli.CommandLine; -using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; - namespace Microsoft.EntityFrameworkCore.Tools; public sealed class ProjectTest(ITestOutputHelper output) @@ -70,8 +68,7 @@ public void Returns_null_when_nothing_specified() Assert.Null(RootCommand.ResolveOption(primary, alias, configValue: null)); } - [ConditionalFact] - [SkipOnCiCondition] + [Fact, SkipOnCI("Test does not run on CI")] public void Csproj_metadata_can_be_extracted() { var capturedOutput = WithCapturedOutput(() => @@ -115,8 +112,7 @@ public void Throws_for_missing_project_file() Assert.DoesNotContain(Reporter.ErrorPrefix, capturedOutput); } - [ConditionalFact] - [SkipOnCiCondition] + [Fact, SkipOnCI("Test does not run on CI")] public void File_based_app_can_be_built() { var capturedOutput = WithCapturedOutput(() => diff --git a/test/dotnet-ef.Tests/dotnet-ef.Tests.csproj b/test/dotnet-ef.Tests/dotnet-ef.Tests.csproj index 0c09e89ce76..ffb877f3c9f 100644 --- a/test/dotnet-ef.Tests/dotnet-ef.Tests.csproj +++ b/test/dotnet-ef.Tests/dotnet-ef.Tests.csproj @@ -12,7 +12,6 @@ - diff --git a/test/ef.Tests/ef.Tests.csproj b/test/ef.Tests/ef.Tests.csproj index b99b7dd7bdf..c8df176e8ed 100644 --- a/test/ef.Tests/ef.Tests.csproj +++ b/test/ef.Tests/ef.Tests.csproj @@ -1,4 +1,4 @@ - + $(DefaultNetCoreTargetFramework) @@ -26,7 +26,6 @@ -