User: roelofb
Date: 2008/08/28 02:58 AM

Modified:
 /trunk/Components/Validator/Castle.Components.Validator.Tests/ValidatorTests/
  IntegerValidatorTestCase.cs
 /trunk/Components/Validator/Castle.Components.Validator/Validators/
  IntegerValidator.cs

Log:
 FIX: the validator would always use Int32.TryParse on non-nullable Int16 and 
Int64

File Changes:

Directory: 
/trunk/Components/Validator/Castle.Components.Validator.Tests/ValidatorTests/
========================================================================================

File [modified]: IntegerValidatorTestCase.cs
Delta lines: +0 -0
===================================================================

Directory: /trunk/Components/Validator/Castle.Components.Validator/Validators/
==============================================================================

File [modified]: IntegerValidator.cs
Delta lines: +88 -1
===================================================================

--- 
trunk/Components/Validator/Castle.Components.Validator.Tests/ValidatorTests/IntegerValidatorTestCase.cs
     2008-08-28 09:35:29 UTC (rev 5297)
+++ 
trunk/Components/Validator/Castle.Components.Validator.Tests/ValidatorTests/IntegerValidatorTestCase.cs
     2008-08-28 09:58:41 UTC (rev 5298)
@@ -31,13 +31,14 @@
                                Thread.CurrentThread.CurrentUICulture = new 
CultureInfo("en-us");
 
                        validator = new IntegerValidator();
-                       validator.Initialize(new CachedValidationRegistry(), 
typeof(TestTarget).GetProperty("TargetField"));
                        target = new TestTarget();
                }
 
                [Test]
                public void InvalidInteger()
                {
+                       validator.Initialize(new CachedValidationRegistry(), 
typeof(TestTarget).GetProperty("TargetField"));
+
                        Assert.IsFalse(validator.IsValid(target, "abc"));
                        Assert.IsFalse(validator.IsValid(target, "100.11"));
                        Assert.IsFalse(validator.IsValid(target, "-99.8"));
@@ -46,21 +47,107 @@
                [Test]
                public void ValidInteger()
                {
+                       validator.Initialize(new CachedValidationRegistry(), 
typeof(TestTarget).GetProperty("TargetField"));
+
                        Assert.IsTrue(validator.IsValid(target, "100"));
                        Assert.IsTrue(validator.IsValid(target, "-99"));
                        Assert.IsTrue(validator.IsValid(target, null));
                        Assert.IsTrue(validator.IsValid(target, ""));
                }
 
+               [Test]
+               public void ValidInt16()
+               {
+                       validator = new IntegerValidator();
+                       validator.Initialize(new CachedValidationRegistry(), 
typeof(TestTarget).GetProperty("TargetField16"));
+
+                       Assert.IsTrue(validator.IsValid(target, "100"));
+                       Assert.IsTrue(validator.IsValid(target, "-99"));
+                       Assert.IsTrue(validator.IsValid(target, null));
+                       Assert.IsTrue(validator.IsValid(target, ""));
+                       Assert.IsTrue(validator.IsValid(target, 
short.MinValue));
+                       Assert.IsTrue(validator.IsValid(target, 
short.MaxValue));
+               }
+
+               [Test]
+               public void ValidNullableInt16()
+               {
+                       validator = new IntegerValidator();
+                       validator.Initialize(new CachedValidationRegistry(), 
typeof(TestTarget).GetProperty("TargetField16Nullable"));
+
+                       Assert.IsTrue(validator.IsValid(target, "100"));
+                       Assert.IsTrue(validator.IsValid(target, "-99"));
+                       Assert.IsTrue(validator.IsValid(target, null));
+                       Assert.IsTrue(validator.IsValid(target, ""));
+                       Assert.IsTrue(validator.IsValid(target, 
short.MinValue));
+                       Assert.IsTrue(validator.IsValid(target, 
short.MaxValue));
+               }
+
+               [Test]
+               public void ValidInt64()
+               {
+                       validator = new IntegerValidator();
+                       validator.Initialize(new CachedValidationRegistry(), 
typeof(TestTarget).GetProperty("TargetField64"));
+
+                       Assert.IsTrue(validator.IsValid(target, "100"));
+                       Assert.IsTrue(validator.IsValid(target, "-99"));
+                       Assert.IsTrue(validator.IsValid(target, null));
+                       Assert.IsTrue(validator.IsValid(target, ""));
+                       Assert.IsTrue(validator.IsValid(target, long.MinValue));
+                       Assert.IsTrue(validator.IsValid(target, long.MaxValue));
+               }
+
+               [Test]
+               public void ValidNullableInt64()
+               {
+                       validator = new IntegerValidator();
+                       validator.Initialize(new CachedValidationRegistry(), 
typeof(TestTarget).GetProperty("TargetField64Nullable"));
+
+                       Assert.IsTrue(validator.IsValid(target, "100"));
+                       Assert.IsTrue(validator.IsValid(target, "-99"));
+                       Assert.IsTrue(validator.IsValid(target, null));
+                       Assert.IsTrue(validator.IsValid(target, ""));
+                       Assert.IsTrue(validator.IsValid(target, long.MinValue));
+                       Assert.IsTrue(validator.IsValid(target, long.MaxValue));
+               }
+
                public class TestTarget
                {
                        private int targetField;
+                       private long targetField64;
+                       private long? targetField64Nullable;
+                       private short targetField16;
+                       private short? targetField16Nullable;
 
                        public int TargetField
                        {
                                get { return targetField; }
                                set { targetField = value; }
                        }
+
+                       public long TargetField64
+                       {
+                               get { return targetField64; }
+                               set { targetField64 = value; }
+                       }
+
+                       public long? TargetField64Nullable
+                       {
+                               get { return targetField64Nullable; }
+                               set { targetField64Nullable = value; }
+                       }
+
+                       public short TargetField16
+                       {
+                               get { return targetField16; }
+                               set { targetField16 = value; }
+                       }
+
+                       public short? TargetField16Nullable
+                       {
+                               get { return targetField16Nullable; }
+                               set { targetField16Nullable = value; }
+                       }
                }
        }


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Castle Project Commits" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/castle-project-commits?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to