From 8e8de413f87a46d03bf39b8ca251b921a908f0d9 Mon Sep 17 00:00:00 2001 From: Ajay Bhargav Baaskaran Date: Wed, 3 Feb 2016 19:19:36 -0800 Subject: [PATCH] Re-enable few tests on Mono --- .../Internal/ClientValidatorCacheTest.cs | 36 ++++++++---------- .../Internal/ValidatorCacheTest.cs | 38 +++++++++---------- 2 files changed, 32 insertions(+), 42 deletions(-) diff --git a/test/Microsoft.AspNetCore.Mvc.Core.Test/Internal/ClientValidatorCacheTest.cs b/test/Microsoft.AspNetCore.Mvc.Core.Test/Internal/ClientValidatorCacheTest.cs index 584befa1da..d2e70f15f7 100644 --- a/test/Microsoft.AspNetCore.Mvc.Core.Test/Internal/ClientValidatorCacheTest.cs +++ b/test/Microsoft.AspNetCore.Mvc.Core.Test/Internal/ClientValidatorCacheTest.cs @@ -2,18 +2,17 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.ComponentModel.DataAnnotations; +using System.Linq; using Microsoft.AspNetCore.Mvc.DataAnnotations.Internal; using Microsoft.AspNetCore.Mvc.ModelBinding; using Microsoft.AspNetCore.Mvc.ModelBinding.Validation; -using Microsoft.AspNetCore.Testing.xunit; using Xunit; namespace Microsoft.AspNetCore.Mvc.Internal { public class ClientValidatorCacheTest { - [ConditionalFact] - [FrameworkSkipCondition(RuntimeFrameworks.Mono)] + [Fact] public void GetValidators_CachesAllValidators() { // Arrange @@ -25,10 +24,10 @@ namespace Microsoft.AspNetCore.Mvc.Internal var validators1 = cache.GetValidators(metadata, validatorProvider); // Assert - 1 - Assert.Collection( - validators1, - v => Assert.Same(metadata.ValidatorMetadata[0], Assert.IsType(v).Attribute), // Copied by provider - v => Assert.Same(metadata.ValidatorMetadata[1], Assert.IsType(v).Attribute)); // Copied by provider + var attribute1 = Assert.Single(validators1.OfType()).Attribute; + var attribute2 = Assert.Single(validators1.OfType()).Attribute; + Assert.Contains(attribute1, metadata.ValidatorMetadata); // Copied by provider + Assert.Contains(attribute2, metadata.ValidatorMetadata); // Copied by provider // Act - 2 var validators2 = cache.GetValidators(metadata, validatorProvider); @@ -36,14 +35,11 @@ namespace Microsoft.AspNetCore.Mvc.Internal // Assert - 2 Assert.Same(validators1, validators2); - Assert.Collection( - validators2, - v => Assert.Same(validators1[0], v), // Cached - v => Assert.Same(validators1[1], v)); // Cached + Assert.Contains(validators1[0], validators2); // Cached + Assert.Contains(validators1[1], validators2); // Cached } - [ConditionalFact] - [FrameworkSkipCondition(RuntimeFrameworks.Mono)] + [Fact] public void GetValidators_DoesNotCacheValidatorsWithIsReusableFalse() { // Arrange @@ -55,10 +51,10 @@ namespace Microsoft.AspNetCore.Mvc.Internal var validators1 = cache.GetValidators(metadata, validatorProvider); // Assert - 1 - Assert.Collection( - validators1, - v => Assert.Same(metadata.ValidatorMetadata[0], Assert.IsType(v).Attribute), // Copied by provider - v => Assert.Same(metadata.ValidatorMetadata[1], Assert.IsType(v).Attribute)); // Copied by provider + var validator1 = Assert.Single(validators1.OfType()); + var validator2 = Assert.Single(validators1.OfType()); + Assert.Contains(validator1.Attribute, metadata.ValidatorMetadata); // Copied by provider + Assert.Contains(validator2.Attribute, metadata.ValidatorMetadata); // Copied by provider // Act - 2 var validators2 = cache.GetValidators(metadata, validatorProvider); @@ -66,10 +62,8 @@ namespace Microsoft.AspNetCore.Mvc.Internal // Assert - 2 Assert.NotSame(validators1, validators2); - Assert.Collection( - validators2, - v => Assert.Same(validators1[0], v), // Cached - v => Assert.NotSame(validators1[1], v)); // Not cached + Assert.Same(validator1, Assert.Single(validators2.OfType())); // cached + Assert.NotSame(validator2, Assert.Single(validators2.OfType())); // not cached } private class TypeWithProperty diff --git a/test/Microsoft.AspNetCore.Mvc.Core.Test/Internal/ValidatorCacheTest.cs b/test/Microsoft.AspNetCore.Mvc.Core.Test/Internal/ValidatorCacheTest.cs index 27cf152c97..bd53d105c4 100644 --- a/test/Microsoft.AspNetCore.Mvc.Core.Test/Internal/ValidatorCacheTest.cs +++ b/test/Microsoft.AspNetCore.Mvc.Core.Test/Internal/ValidatorCacheTest.cs @@ -2,18 +2,17 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.ComponentModel.DataAnnotations; +using System.Linq; using Microsoft.AspNetCore.Mvc.DataAnnotations.Internal; using Microsoft.AspNetCore.Mvc.ModelBinding; using Microsoft.AspNetCore.Mvc.ModelBinding.Validation; -using Microsoft.AspNetCore.Testing.xunit; using Xunit; namespace Microsoft.AspNetCore.Mvc.Internal { public class ValidatorCacheTest { - [ConditionalFact] - [FrameworkSkipCondition(RuntimeFrameworks.Mono)] + [Fact] public void GetValidators_CachesAllValidators() { // Arrange @@ -25,10 +24,10 @@ namespace Microsoft.AspNetCore.Mvc.Internal var validators1 = cache.GetValidators(metadata, validatorProvider); // Assert - 1 - Assert.Collection( - validators1, - v => Assert.Same(metadata.ValidatorMetadata[0], Assert.IsType(v).Attribute), // Copied by provider - v => Assert.Same(metadata.ValidatorMetadata[1], Assert.IsType(v).Attribute)); // Copied by provider + var attribute1 = Assert.IsType(validators1[0]).Attribute; + var attribute2 = Assert.IsType(validators1[1]).Attribute; + Assert.Contains(attribute1, metadata.ValidatorMetadata); // Copied by provider + Assert.Contains(attribute2, metadata.ValidatorMetadata); // Copied by provider // Act - 2 var validators2 = cache.GetValidators(metadata, validatorProvider); @@ -36,14 +35,11 @@ namespace Microsoft.AspNetCore.Mvc.Internal // Assert - 2 Assert.Same(validators1, validators2); - Assert.Collection( - validators2, - v => Assert.Same(validators1[0], v), // Cached - v => Assert.Same(validators1[1], v)); // Cached + Assert.Contains(validators1[0], validators2); // Cached + Assert.Contains(validators1[1], validators2); // Cached } - [ConditionalFact] - [FrameworkSkipCondition(RuntimeFrameworks.Mono)] + [Fact] public void GetValidators_DoesNotCacheValidatorsWithIsReusableFalse() { // Arrange @@ -55,10 +51,10 @@ namespace Microsoft.AspNetCore.Mvc.Internal var validators1 = cache.GetValidators(metadata, validatorProvider); // Assert - 1 - Assert.Collection( - validators1, - v => Assert.Same(metadata.ValidatorMetadata[0], Assert.IsType(v).Attribute), // Copied by provider - v => Assert.Same(metadata.ValidatorMetadata[1], Assert.IsType(v).Attribute)); // Copied by provider + var validator1 = Assert.IsType(validators1[0]); + var validator2 = Assert.IsType(validators1[1]); + Assert.Contains(validator1.Attribute, metadata.ValidatorMetadata); // Copied by provider + Assert.Contains(validator2.Attribute, metadata.ValidatorMetadata); // Copied by provider // Act - 2 var validators2 = cache.GetValidators(metadata, validatorProvider); @@ -66,10 +62,10 @@ namespace Microsoft.AspNetCore.Mvc.Internal // Assert - 2 Assert.NotSame(validators1, validators2); - Assert.Collection( - validators2, - v => Assert.Same(validators1[0], v), // Cached - v => Assert.NotSame(validators1[1], v)); // Not cached + var requiredValidator = Assert.Single(validators2.Where(v => (v as DataAnnotationsModelValidator).Attribute is RequiredAttribute)); + Assert.Contains(requiredValidator, validators1); // cached + var stringLengthValidator = Assert.Single(validators2.Where(v => (v as DataAnnotationsModelValidator).Attribute is StringLengthAttribute)); + Assert.DoesNotContain(stringLengthValidator, validators1); // not cached } private class TypeWithProperty