コード例 #1
0
ファイル: XType.cs プロジェクト: NeoTim/etch
        /// <summary>
        /// Adds the validator to the chain for this key.
        /// </summary>
        /// <param name="key"></param>
        /// <param name="vldtr"></param>
        public void PutValidator(Field key, Validator vldtr)
        {
            CheckNotLocked();

            if (vldtr == null)
            {
                return;
            }

            if (fieldMap.Get(key.Id) == null)
            {
                AddField(key);
            }

            Validator v;

            if (validators.TryGetValue(key, out v))
            {
                validators[key] = new ComboValidator(v, vldtr);
            }
            else
            {
                validators[key] = vldtr;
            }
        }
コード例 #2
0
ファイル: TestComboValidator.cs プロジェクト: NeoTim/etch
        private void Test(int n, String s, Object good, Object bad)
        {
            Validator_int     v1 = Validator_int.Get(n);
            Validator_boolean v2 = Validator_boolean.Get(n);
            ComboValidator    v  = new ComboValidator(v1, v2);

            Assert.AreEqual(s, v.ToString());
            Assert.IsTrue(v.Validate(good));
            Assert.IsFalse(v.Validate(bad));

            if (n > 0)
            {
                v.ElementValidator();
            }
        }
コード例 #3
0
ファイル: TestComboValidator.cs プロジェクト: NeoTim/etch
        public void Test5()
        {
            Validator v1 = Validator_boolean.Get(1);
            Validator v2 = Validator_int.Get(1);
            Validator v  = new ComboValidator(v1, v2);

            Assert.IsTrue(v.Validate(new Boolean[] {}));
            Assert.IsTrue(v.Validate(new int[] {}));

            v = v.ElementValidator();

            Assert.IsTrue(v.Validate(true));
            Assert.IsTrue(v.Validate(false));
            Assert.IsTrue(v.Validate(0));

            v = v.ElementValidator();
        }