Exemple #1
0
        public override void Validate(object sender, Events.ValidationEventArgs e)
        {
            if (String.IsNullOrEmpty(_name))
            {
                throw new ArgumentNullException("Name may not be null.");
            }

            try
            {
                base.Validate(sender, e);

                IEnumerable <XElement> formElements = base.Document.Document.Descendants(XName.Get("input", "http://www.w3.org/1999/xhtml"));

                foreach (XElement nextElement in formElements)
                {
                    if (nextElement.Attribute(XName.Get("value")) != null && nextElement.Attribute(XName.Get("value")).Value.Equals(_expectedValue))
                    {
                        _context.Outcome = WebTestOutcome.Passed;

                        break;
                    }
                }

                if (_context.Outcome != WebTestOutcome.Passed)
                {
                    _context.Outcome = WebTestOutcome.Failed;
                }
            }
            catch (Exception ex)
            {
                _context.Outcome = WebTestOutcome.Error;
                _message         = ex.Message;
            }
        }
        //#region Constructors

        //public ValidateElementExists()
        //    : base()
        //{
        //    // Do Nothing.
        //}

        //#endregion

        #region Methods

        public override void Validate(object sender, Events.ValidationEventArgs e)
        {
            _context.Outcome = WebTestOutcome.Passed;

            if (_element == null)
            {
                throw new ArgumentNullException("Element may not be null.");
            }

            try
            {
                base.Validate(sender, e);

                IEnumerable <XElement> elements     = base.Document.Document.Descendants();
                IEnumerable <XElement> formElements = from el in elements where el.Name.LocalName.Equals(_element.Name.LocalName) select el;

                foreach (XElement nextElement in formElements)
                {
                    IList <WebTestOutcome> attributeResults = new List <WebTestOutcome>();

                    foreach (XAttribute nextAttribute in _element.Attributes())
                    {
                        if (nextElement.Attribute(nextAttribute.Name) == null || !nextElement.Attribute(nextAttribute.Name).Value.Equals(nextAttribute.Value))
                        {
                            attributeResults.Add(WebTestOutcome.Failed);
                        }
                        else
                        {
                            attributeResults.Add(WebTestOutcome.Passed);
                        }
                    }
                }

                if (_context.Outcome != WebTestOutcome.Passed)
                {
                    _context.Outcome = WebTestOutcome.Failed;
                }
            }
            catch (Exception ex)
            {
                _context.Outcome = WebTestOutcome.Error;
                _message         = ex.Message;
            }
        }