diff --git a/test/EFCore.InMemory.FunctionalTests/InMemoryComplianceTest.cs b/test/EFCore.InMemory.FunctionalTests/InMemoryComplianceTest.cs index a9de08cd218..13708fbc41e 100644 --- a/test/EFCore.InMemory.FunctionalTests/InMemoryComplianceTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/InMemoryComplianceTest.cs @@ -20,9 +20,6 @@ public class InMemoryComplianceTest : ComplianceTestBase // Remaining Issue #16963 3.0 query tests: typeof(ComplexNavigationsWeakQueryTestBase<>), typeof(OwnedQueryTestBase<>), - typeof(ComplexNavigationsQueryTestBase<>), - typeof(GearsOfWarQueryTestBase<>), - typeof(SpatialQueryTestBase<>) }; protected override Assembly TargetAssembly { get; } = typeof(InMemoryComplianceTest).Assembly; diff --git a/test/EFCore.InMemory.FunctionalTests/Query/ComplexNavigationsQueryInMemoryTest.cs b/test/EFCore.InMemory.FunctionalTests/Query/ComplexNavigationsQueryInMemoryTest.cs index 53cce45a98f..ba3e2f3384d 100644 --- a/test/EFCore.InMemory.FunctionalTests/Query/ComplexNavigationsQueryInMemoryTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/Query/ComplexNavigationsQueryInMemoryTest.cs @@ -15,172 +15,76 @@ public ComplexNavigationsQueryInMemoryTest(ComplexNavigationsQueryInMemoryFixtur //TestLoggerFactory.TestOutputHelper = testOutputHelper; } - [ConditionalTheory(Skip = "issue #16963")] //DefaultIfEmpty - public override Task Complex_SelectMany_with_nested_navigations_and_explicit_DefaultIfEmpty_with_other_query_operators_composed_on_top(bool isAsync) - { - return base.Complex_SelectMany_with_nested_navigations_and_explicit_DefaultIfEmpty_with_other_query_operators_composed_on_top(isAsync); - } - - [ConditionalTheory(Skip = "issue #16963")] //DefaultIfEmpty - public override Task Multiple_SelectMany_with_navigation_and_explicit_DefaultIfEmpty(bool isAsync) - { - return base.Multiple_SelectMany_with_navigation_and_explicit_DefaultIfEmpty(isAsync); - } - - [ConditionalTheory(Skip = "issue #16963")] //DefaultIfEmpty - public override Task Multiple_SelectMany_with_nested_navigations_and_explicit_DefaultIfEmpty_joined_together(bool isAsync) - { - return base.Multiple_SelectMany_with_nested_navigations_and_explicit_DefaultIfEmpty_joined_together(isAsync); - } - - [ConditionalTheory(Skip = "issue #16963")] //DefaultIfEmpty - public override Task SelectMany_with_navigation_and_explicit_DefaultIfEmpty(bool isAsync) - { - return base.SelectMany_with_navigation_and_explicit_DefaultIfEmpty(isAsync); - } - - [ConditionalTheory(Skip = "issue #16963")] //DefaultIfEmpty - public override Task SelectMany_with_navigation_filter_and_explicit_DefaultIfEmpty(bool isAsync) - { - return base.SelectMany_with_navigation_filter_and_explicit_DefaultIfEmpty(isAsync); - } - - [ConditionalTheory(Skip = "issue #16963")] //DefaultIfEmpty - public override Task SelectMany_with_navigation_filter_paging_and_explicit_DefaultIfEmpty(bool isAsync) - { - return base.SelectMany_with_navigation_filter_paging_and_explicit_DefaultIfEmpty(isAsync); - } - - [ConditionalTheory(Skip = "issue #16963")] //DefaultIfEmpty + [ConditionalTheory(Skip = "issue #16963 TooManyResults")] public override Task SelectMany_with_nested_navigations_and_explicit_DefaultIfEmpty_followed_by_Select_required_navigation_using_different_navs(bool isAsync) { return base.SelectMany_with_nested_navigations_and_explicit_DefaultIfEmpty_followed_by_Select_required_navigation_using_different_navs(isAsync); } - [ConditionalTheory(Skip = "issue #16963")] //DefaultIfEmpty - public override Task SelectMany_with_nested_navigations_and_explicit_DefaultIfEmpty_followed_by_Select_required_navigation_using_same_navs(bool isAsync) - { - return base.SelectMany_with_nested_navigations_and_explicit_DefaultIfEmpty_followed_by_Select_required_navigation_using_same_navs(isAsync); - } - - [ConditionalTheory(Skip = "issue #16963")] //DefaultIfEmpty - public override Task SelectMany_with_nested_navigations_explicit_DefaultIfEmpty_and_additional_joins_outside_of_SelectMany(bool isAsync) - { - return base.SelectMany_with_nested_navigations_explicit_DefaultIfEmpty_and_additional_joins_outside_of_SelectMany(isAsync); - } - - [ConditionalTheory(Skip = "issue #16963")] //DefaultIfEmpty - public override Task SelectMany_with_nested_navigations_explicit_DefaultIfEmpty_and_additional_joins_outside_of_SelectMany2(bool isAsync) - { - return base.SelectMany_with_nested_navigations_explicit_DefaultIfEmpty_and_additional_joins_outside_of_SelectMany2(isAsync); - } - - [ConditionalTheory(Skip = "issue #16963")] //DefaultIfEmpty - public override Task SelectMany_with_nested_navigations_explicit_DefaultIfEmpty_and_additional_joins_outside_of_SelectMany3(bool isAsync) - { - return base.SelectMany_with_nested_navigations_explicit_DefaultIfEmpty_and_additional_joins_outside_of_SelectMany3(isAsync); - } - - [ConditionalTheory(Skip = "issue #16963")] //DefaultIfEmpty - public override Task SelectMany_with_nested_navigations_explicit_DefaultIfEmpty_and_additional_joins_outside_of_SelectMany4(bool isAsync) - { - return base.SelectMany_with_nested_navigations_explicit_DefaultIfEmpty_and_additional_joins_outside_of_SelectMany4(isAsync); - } - - [ConditionalTheory(Skip = "issue #16963")] //DefaultIfEmpty + [ConditionalTheory(Skip = "issue #16963 TooManyResults")] public override Task SelectMany_with_nested_navigation_and_explicit_DefaultIfEmpty(bool isAsync) { return base.SelectMany_with_nested_navigation_and_explicit_DefaultIfEmpty(isAsync); } - [ConditionalTheory(Skip = "issue #16963")] //DefaultIfEmpty + [ConditionalTheory(Skip = "issue #16963 TooManyResults")] public override Task SelectMany_with_nested_navigation_filter_and_explicit_DefaultIfEmpty(bool isAsync) { return base.SelectMany_with_nested_navigation_filter_and_explicit_DefaultIfEmpty(isAsync); } - [ConditionalTheory(Skip = "issue #16963")] //DefaultIfEmpty - public override Task SelectMany_with_nested_required_navigation_filter_and_explicit_DefaultIfEmpty(bool isAsync) - { - return base.SelectMany_with_nested_required_navigation_filter_and_explicit_DefaultIfEmpty(isAsync); - } - - [ConditionalTheory(Skip = "issue #16963")] //GroupBy - public override Task Simple_level1_level2_GroupBy_Count(bool isAsync) - { - return base.Simple_level1_level2_GroupBy_Count(isAsync); - } - - [ConditionalTheory(Skip = "issue #16963")] //GroupBy - public override Task Simple_level1_level2_GroupBy_Having_Count(bool isAsync) - { - return base.Simple_level1_level2_GroupBy_Having_Count(isAsync); - } - [ConditionalTheory(Skip = "issue #17386")] public override Task Complex_query_with_optional_navigations_and_client_side_evaluation(bool isAsync) { return base.Complex_query_with_optional_navigations_and_client_side_evaluation(isAsync); } - [ConditionalTheory(Skip = "issue #17453")] + [ConditionalTheory(Skip = "issue #16963 TooManyResults")] public override Task Project_collection_navigation_nested(bool isAsync) { return base.Project_collection_navigation_nested(isAsync); } - [ConditionalTheory(Skip = "issue #17453")] + [ConditionalTheory(Skip = "issue #16963 TooManyResults")] public override Task Project_collection_navigation_nested_anonymous(bool isAsync) { return base.Project_collection_navigation_nested_anonymous(isAsync); } - [ConditionalTheory(Skip = "issue #17453")] + [ConditionalTheory(Skip = "issue #16963 TooManyResults")] public override Task Project_collection_navigation_using_ef_property(bool isAsync) { return base.Project_collection_navigation_using_ef_property(isAsync); } - [ConditionalTheory(Skip = "issue #17453")] + [ConditionalTheory(Skip = "issue #16963 TooManyResults")] public override Task Project_navigation_and_collection(bool isAsync) { return base.Project_navigation_and_collection(isAsync); } - [ConditionalTheory(Skip = "issue #17453")] + [ConditionalTheory(Skip = "issue #16963 TooManyResults")] public override Task SelectMany_nested_navigation_property_optional_and_projection(bool isAsync) { return base.SelectMany_nested_navigation_property_optional_and_projection(isAsync); } - [ConditionalTheory(Skip = "issue #17453")] + [ConditionalTheory(Skip = "issue #16963 TooManyResults")] public override Task SelectMany_nested_navigation_property_required(bool isAsync) { return base.SelectMany_nested_navigation_property_required(isAsync); } - [ConditionalTheory(Skip = "issue #17460")] - public override Task Where_complex_predicate_with_with_nav_prop_and_OrElse4(bool isAsync) - { - return base.Where_complex_predicate_with_with_nav_prop_and_OrElse4(isAsync); - } - - [ConditionalTheory(Skip = "issue #17460")] + [ConditionalTheory(Skip = "issue #16963 Test")] public override Task Join_flattening_bug_4539(bool isAsync) { return base.Join_flattening_bug_4539(isAsync); } - [ConditionalTheory(Skip = "issue #17463")] + [ConditionalTheory(Skip = "issue #16963 Test")] public override Task Include18_3_3(bool isAsync) { return base.Include18_3_3(isAsync); } - - [ConditionalFact(Skip = "issue #17463")] - public override void Include19() - { - base.Include19(); - } } } diff --git a/test/EFCore.InMemory.FunctionalTests/Query/ComplexNavigationsWeakQueryInMemoryTest.cs b/test/EFCore.InMemory.FunctionalTests/Query/ComplexNavigationsWeakQueryInMemoryTest.cs index 273acb080ca..3d2d1c3ef3f 100644 --- a/test/EFCore.InMemory.FunctionalTests/Query/ComplexNavigationsWeakQueryInMemoryTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/Query/ComplexNavigationsWeakQueryInMemoryTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.EntityFrameworkCore.Query { - // issue #16963 + // issue #16963 Weak internal class ComplexNavigationsWeakQueryInMemoryTest : ComplexNavigationsWeakQueryTestBase { diff --git a/test/EFCore.InMemory.FunctionalTests/Query/GearsOfWarQueryInMemoryTest.cs b/test/EFCore.InMemory.FunctionalTests/Query/GearsOfWarQueryInMemoryTest.cs index 050d95bd736..39ada99f121 100644 --- a/test/EFCore.InMemory.FunctionalTests/Query/GearsOfWarQueryInMemoryTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/Query/GearsOfWarQueryInMemoryTest.cs @@ -15,36 +15,6 @@ public GearsOfWarQueryInMemoryTest(GearsOfWarQueryInMemoryFixture fixture, ITest //TestLoggerFactory.TestOutputHelper = testOutputHelper; } - [ConditionalTheory(Skip = "issue #16963")] // groupby - public override Task GroupBy_Property_Include_Aggregate_with_anonymous_selector(bool isAsync) - { - return base.GroupBy_Property_Include_Aggregate_with_anonymous_selector(isAsync); - } - - [ConditionalTheory(Skip = "issue #16963")] // groupby - public override Task GroupBy_Property_Include_Select_Count(bool isAsync) - { - return base.GroupBy_Property_Include_Select_Count(isAsync); - } - - [ConditionalTheory(Skip = "issue #16963")] // groupby - public override Task GroupBy_Property_Include_Select_LongCount(bool isAsync) - { - return base.GroupBy_Property_Include_Select_LongCount(isAsync); - } - - [ConditionalTheory(Skip = "issue #16963")] // groupby - public override Task GroupBy_Property_Include_Select_Max(bool isAsync) - { - return base.GroupBy_Property_Include_Select_Max(isAsync); - } - - [ConditionalTheory(Skip = "issue #16963")] // groupby - public override Task GroupBy_Property_Include_Select_Min(bool isAsync) - { - return base.GroupBy_Property_Include_Select_Min(isAsync); - } - [ConditionalTheory(Skip = "issue #17386")] public override Task Correlated_collection_order_by_constant_null_of_non_mapped_type(bool isAsync) { @@ -111,7 +81,7 @@ public override void Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesc base.Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result2(); } - [ConditionalTheory(Skip = "issue #16963")] //length + [ConditionalTheory(Skip = "issue #16963 Nullable error")] //length public override Task Null_semantics_is_correctly_applied_for_function_comparisons_that_take_arguments_from_optional_navigation_complex(bool isAsync) { return base.Null_semantics_is_correctly_applied_for_function_comparisons_that_take_arguments_from_optional_navigation_complex(isAsync); diff --git a/test/EFCore.InMemory.FunctionalTests/Query/InheritanceInMemoryTest.cs b/test/EFCore.InMemory.FunctionalTests/Query/InheritanceInMemoryTest.cs index c1042ddbe7b..e5fdc1a201b 100644 --- a/test/EFCore.InMemory.FunctionalTests/Query/InheritanceInMemoryTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/Query/InheritanceInMemoryTest.cs @@ -14,9 +14,10 @@ public InheritanceInMemoryTest(InheritanceInMemoryFixture fixture, ITestOutputHe //TestLoggerFactory.TestOutputHelper = testOutputHelper; } - [ConditionalFact(Skip = "See issue#16963 Cannot compose when using client method in defining query")] // Defining query + [ConditionalFact(Skip = "Issue#17504")] public override void Can_query_all_animal_views() { + base.Can_query_all_animal_views(); } protected override bool EnforcesFkConstraints => false; diff --git a/test/EFCore.InMemory.FunctionalTests/Query/OwnedQueryInMemoryTest.cs b/test/EFCore.InMemory.FunctionalTests/Query/OwnedQueryInMemoryTest.cs index e838b036b63..87a95f2e016 100644 --- a/test/EFCore.InMemory.FunctionalTests/Query/OwnedQueryInMemoryTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/Query/OwnedQueryInMemoryTest.cs @@ -6,7 +6,7 @@ namespace Microsoft.EntityFrameworkCore.Query { - // issue #16963 + // issue #16963 Owned internal class OwnedQueryInMemoryTest : OwnedQueryTestBase { public OwnedQueryInMemoryTest(OwnedQueryInMemoryFixture fixture, ITestOutputHelper testOutputHelper) diff --git a/test/EFCore.InMemory.FunctionalTests/SpatialInMemoryTest.cs b/test/EFCore.InMemory.FunctionalTests/SpatialInMemoryTest.cs index 8dfa005123f..c46054b2856 100644 --- a/test/EFCore.InMemory.FunctionalTests/SpatialInMemoryTest.cs +++ b/test/EFCore.InMemory.FunctionalTests/SpatialInMemoryTest.cs @@ -14,7 +14,7 @@ public SpatialInMemoryTest(SpatialInMemoryFixture fixture) { } - [ConditionalFact(Skip = "Issue#16963")] + [ConditionalFact(Skip = "Issue#14042")] public override void Mutation_of_tracked_values_does_not_mutate_values_in_store() { base.Mutation_of_tracked_values_does_not_mutate_values_in_store(); diff --git a/test/EFCore.InMemory.FunctionalTests/UpdatesInMemoryTestBase.cs b/test/EFCore.InMemory.FunctionalTests/UpdatesInMemoryTestBase.cs index 2780f8d3a1e..95466273682 100644 --- a/test/EFCore.InMemory.FunctionalTests/UpdatesInMemoryTestBase.cs +++ b/test/EFCore.InMemory.FunctionalTests/UpdatesInMemoryTestBase.cs @@ -17,7 +17,7 @@ protected UpdatesInMemoryTestBase(TFixture fixture) { } - [ConditionalFact(Skip = "Issue #16963")] + [ConditionalFact(Skip = "Issue #14042")] public override void Mutation_of_tracked_values_does_not_mutate_values_in_store() { } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/QueryLoggingSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/QueryLoggingSqlServerTest.cs index ba5545bffbd..81b755b7ea1 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/QueryLoggingSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/QueryLoggingSqlServerTest.cs @@ -15,7 +15,6 @@ // ReSharper disable InconsistentNaming namespace Microsoft.EntityFrameworkCore.Query { - // Issue #16963 public class QueryLoggingSqlServerTest : IClassFixture { private static readonly string _eol = Environment.NewLine; @@ -65,93 +64,58 @@ var customers } } - //[ConditionalFact] - //public virtual void Query_with_ignored_include_should_log_warning() - //{ - // using (var context = CreateContext()) - // { - // var customers - // = context.Customers - // .Include(c => c.Orders) - // .Select(c => c.CustomerID) - // .ToList(); - - // Assert.NotNull(customers); - // Assert.Contains( - // CoreResources.LogIgnoredInclude(new TestLogger()).GenerateMessage("[c].Orders"), Fixture.TestSqlLoggerFactory.Log.Select(l => l.Message)); - // } - //} - - //[ConditionalFact] - //public virtual void Include_navigation() - //{ - // using (var context = CreateContext()) - // { - // var customers - // = context.Set() - // .Include(c => c.Orders) - // .ToList(); - - // Assert.NotNull(customers); - - // Assert.Equal( - // "Compiling query model: " + _eol + - // "'(from Customer c in DbSet" + _eol + - // @"select [c]).Include(""Orders"")'" - // , - // Fixture.TestSqlLoggerFactory.Log[0].Message); - // Assert.Equal( - // "Including navigation: '[c].Orders'" - // , - // Fixture.TestSqlLoggerFactory.Log[1].Message); - // Assert.StartsWith( - // "Optimized query model: " + _eol + - // "'from Customer c in DbSet" + _eol + - // @"order by EF.Property(?[c]?, ""CustomerID"") asc" + _eol + - // "select Customer _Include(" - // , - // Fixture.TestSqlLoggerFactory.Log[2].Message); - // } - //} - -#pragma warning disable CS0612 // Type or member is obsolete - [ConditionalFact(Skip = "Issue #17245")] - public virtual void Concat_Include_collection_ignored() + [ConditionalFact(Skip = "Issue#17498")] + public virtual void Query_with_ignored_include_should_log_warning() { using (var context = CreateContext()) { - var orders = context.Orders - .Where(o => o.OrderID < 10250) - .Concat(context.Orders.Where(o => o.CustomerID == "ALFKI")) - .Include(o => o.OrderDetails) - .ToList(); + var customers + = context.Customers + .Include(c => c.Orders) + .Select(c => c.CustomerID) + .ToList(); - Assert.NotNull(orders); + Assert.NotNull(customers); Assert.Contains( - CoreResources.LogIgnoredInclude(new TestLogger()).GenerateMessage("[o].OrderDetails"), - Fixture.TestSqlLoggerFactory.Log.Select(l => l.Message)); +#pragma warning disable CS0612 // Type or member is obsolete + CoreResources.LogIgnoredInclude(new TestLogger()).GenerateMessage("[c].Orders"), Fixture.TestSqlLoggerFactory.Log.Select(l => l.Message)); +#pragma warning restore CS0612 // Type or member is obsolete } } - [ConditionalFact(Skip = "Issue #17245")] - public virtual void Union_Include_collection_ignored() + [ConditionalFact(Skip = "Issue#17498")] + public virtual void Include_navigation() { using (var context = CreateContext()) { - var orders = context.Orders - .Where(o => o.OrderID < 10250) - .Union(context.Orders.Where(o => o.CustomerID == "ALFKI")) - .Include(o => o.OrderDetails) - .ToList(); + var customers + = context.Set() + .Include(c => c.Orders) + .ToList(); - Assert.NotNull(orders); - Assert.Contains( - CoreResources.LogIgnoredInclude(new TestLogger()).GenerateMessage("[o].OrderDetails"), - Fixture.TestSqlLoggerFactory.Log.Select(l => l.Message)); + Assert.NotNull(customers); + + Assert.Equal( + "Compiling query model: " + _eol + + "'(from Customer c in DbSet" + _eol + + @"select [c]).Include(""Orders"")'" + , + Fixture.TestSqlLoggerFactory.Log[0].Message); + Assert.Equal( + "Including navigation: '[c].Orders'" + , + Fixture.TestSqlLoggerFactory.Log[1].Message); + Assert.StartsWith( + "Optimized query model: " + _eol + + "'from Customer c in DbSet" + _eol + + @"order by EF.Property(?[c]?, ""CustomerID"") asc" + _eol + + "select Customer _Include(" + , + Fixture.TestSqlLoggerFactory.Log[2].Message); } } - [ConditionalFact(Skip = "Issue #17068")] + [ConditionalFact(Skip = "Issue #16752")] public virtual void GroupBy_Include_collection_ignored() { using (var context = CreateContext()) @@ -164,12 +128,13 @@ public virtual void GroupBy_Include_collection_ignored() Assert.NotNull(orders); Assert.Contains( +#pragma warning disable CS0612 // Type or member is obsolete CoreResources.LogIgnoredInclude(new TestLogger()).GenerateMessage( +#pragma warning restore CS0612 // Type or member is obsolete "{from Order o in [g] orderby [o].OrderID asc select [o] => FirstOrDefault()}.OrderDetails"), Fixture.TestSqlLoggerFactory.Log.Select(l => l.Message)); } } -#pragma warning restore CS0612 // Type or member is obsolete [ConditionalFact] public void SelectExpression_does_not_use_an_old_logger() diff --git a/test/EFCore.Tests/ChangeTracking/Internal/QueryFixupTest.cs b/test/EFCore.Tests/ChangeTracking/Internal/QueryFixupTest.cs index 0e4940fc2df..e537c8f6309 100644 --- a/test/EFCore.Tests/ChangeTracking/Internal/QueryFixupTest.cs +++ b/test/EFCore.Tests/ChangeTracking/Internal/QueryFixupTest.cs @@ -893,7 +893,7 @@ public void Query_principal_include_dependent_self_ref_unidirectional_with_exist } } - [ConditionalFact(Skip = "Issue #16963")] + [ConditionalFact(Skip = "Issue #16963 Owned")] public void Query_ownership_navigations() { Seed(); @@ -944,7 +944,7 @@ public void Query_ownership_navigations() } } - [ConditionalFact(Skip = "Issue #16963")] + [ConditionalFact(Skip = "Issue #16963 Owned")] public void Query_owned_foreign_key() { Seed(); @@ -961,7 +961,7 @@ public void Query_owned_foreign_key() } } - [ConditionalFact(Skip = "Issue #16963")] + [ConditionalFact(Skip = "Issue #16963 Owned")] public void Query_subowned_foreign_key() { Seed(); @@ -978,7 +978,7 @@ public void Query_subowned_foreign_key() } } - [ConditionalFact(Skip = "Issue #16963")] + [ConditionalFact(Skip = "Issue #16963 Owned")] public void Query_owned() { Seed(); @@ -999,7 +999,7 @@ public void Query_owned() } } - [ConditionalFact(Skip = "Issue #16963")] + [ConditionalFact(Skip = "Issue #16963 Owned")] public void Query_subowned() { Seed();