Adding the following validators:
[castle.git] / Components / General / Validator / Castle.Components.Validator.Tests / CachedValidationRegistryTestCase.cs
blob536eb4d981f56ba1788a2dedbf5723882cd8f9c3
1 // Copyright 2004-2007 Castle Project - http://www.castleproject.org/
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
15 namespace Castle.Components.Validator.Tests
17 using Castle.Components.Validator.Tests.Models;
18 using NUnit.Framework;
20 [TestFixture]
21 public class CachedValidationRegistryTestCase
23 private CachedValidationRegistry registry;
25 [SetUp]
26 public void Init()
28 registry = new CachedValidationRegistry();
31 [Test]
32 public void RunWhenEverytimeTest()
34 IValidator[] validators = registry.GetValidators(new ValidatorRunner(registry), typeof(Client), RunWhen.Everytime);
36 Assert.IsNotNull(validators);
37 Assert.AreEqual(8, validators.Length);
39 foreach(IValidator val in validators)
41 Assert.IsTrue((val.RunWhen & RunWhen.Everytime) != 0);
45 [Test]
46 public void RunWhenCustomTest()
48 IValidator[] validators = registry.GetValidators(new ValidatorRunner(registry), typeof(Client), RunWhen.Custom);
50 Assert.IsNotNull(validators);
51 Assert.AreEqual(9, validators.Length); // RunWhen.Everytime is returned too
53 foreach(IValidator val in validators)
55 Assert.IsTrue((val.RunWhen & RunWhen.Custom) != 0 || (val.RunWhen & RunWhen.Everytime) != 0);