public void testValidation()
        {
            // Good
            string ErrorMessage;

            Assert.IsTrue(CswNbtNodePropCASNo.Validate("1333-74-0", out ErrorMessage));    // Hydrogen
            Assert.IsNullOrEmpty(ErrorMessage);
            Assert.IsTrue(CswNbtNodePropCASNo.Validate("67-64-1", out ErrorMessage));      // Acetone
            Assert.IsNullOrEmpty(ErrorMessage);
            Assert.IsTrue(CswNbtNodePropCASNo.Validate("1435052-28-0", out ErrorMessage)); // Something new
            Assert.IsNullOrEmpty(ErrorMessage);

            // Bad
            Assert.IsFalse(CswNbtNodePropCASNo.Validate("dhkfjh9834y7hj.=sd\\@^Tf32i5jkds", out ErrorMessage)); // Completely bonkers
            Assert.IsNotNullOrEmpty(ErrorMessage);
            Assert.IsFalse(CswNbtNodePropCASNo.Validate("3289540", out ErrorMessage));                          //  Numeric but invalid
            Assert.IsNotNullOrEmpty(ErrorMessage);
            Assert.IsFalse(CswNbtNodePropCASNo.Validate("", out ErrorMessage));                                 // Empty
            Assert.IsNotNullOrEmpty(ErrorMessage);
            Assert.IsFalse(CswNbtNodePropCASNo.Validate("--", out ErrorMessage));                               //  just dashes
            Assert.IsNotNullOrEmpty(ErrorMessage);
            Assert.IsFalse(CswNbtNodePropCASNo.Validate("67-64-", out ErrorMessage));                           // missing checksum
            Assert.IsNotNullOrEmpty(ErrorMessage);
            Assert.IsFalse(CswNbtNodePropCASNo.Validate("64-67-1", out ErrorMessage));                          // bad checksum
            Assert.IsNotNullOrEmpty(ErrorMessage);
        }
Esempio n. 2
0
        public void _CasNo_OnChange(CswNbtNodeProp Prop, bool Creating)
        {
            string error;

            if (false == CASNo.Validate(out error))
            {
                ErrorMessage.Text = error;
            }
            else
            {
                ErrorMessage.Text = string.Empty;
            }
            _setChemicalsPendingUpdate();
        } // _CasNo_OnChange()