public void RegisterProviderPutsNewProviderAtEndOfListWhenDA35ProviderNotPresent()
        {
            var oldProviders = ModelValidatorProviders.Providers.ToList();
            var oldProvider  = oldProviders.Single(p => p is DataAnnotationsModelValidatorProvider);

            try {
                // Arrange
                ModelValidatorProviders.Providers.Remove(oldProvider);
                int oldCount = ModelValidatorProviders.Providers.Count;

                // Act
                DataAnnotations4ModelValidatorProvider.RegisterProvider();

                // Assert
                Assert.AreEqual(oldCount + 1, ModelValidatorProviders.Providers.Count);
                Assert.IsTrue(ModelValidatorProviders.Providers[oldCount] is DataAnnotations4ModelValidatorProvider);
            }
            finally {
                ModelValidatorProviders.Providers.Clear();

                foreach (ModelValidatorProvider p in oldProviders)
                {
                    ModelValidatorProviders.Providers.Add(p);
                }
            }
        }
        public void RegisterProviderRemovesExistingDA35ProviderAndRegistersItself()
        {
            var oldProviders     = ModelValidatorProviders.Providers.ToList();
            var oldProvider      = oldProviders.Single(p => p is DataAnnotationsModelValidatorProvider);
            int oldProviderIndex = oldProviders.IndexOf(oldProvider);

            try {
                // Act
                DataAnnotations4ModelValidatorProvider.RegisterProvider();

                // Assert
                Assert.AreEqual(oldProviders.Count, ModelValidatorProviders.Providers.Count);
                Assert.IsTrue(ModelValidatorProviders.Providers[oldProviderIndex] is DataAnnotations4ModelValidatorProvider);
            }
            finally {
                ModelValidatorProviders.Providers.Clear();

                foreach (ModelValidatorProvider p in oldProviders)
                {
                    ModelValidatorProviders.Providers.Add(p);
                }
            }
        }