示例#1
0
        private static void ExecuteAllAssertions(AssertionList assertions)
        {
            assertions.ForEach(assertion =>
            {
                if (assertion.Context != null && !assertion.Context.HasBeenSetup())
                {
                    if (assertion.Context.IsContextEmpty())
                        Assert.Ignore("context has not been implemented");

                    assertion.Context.Setup();
                    foreach (var contextSetting in assertion.Context.Settings)
                        try
                            { contextSetting.Action.Invoke(); }
                        catch (NotImplementedException)
                            { Assert.Ignore(); }
                }

                if (assertion.Action == null)
                    Assert.Ignore();

                try
                    {assertion.Action();}
                catch (NotImplementedException)
                    { Assert.Ignore(); }
            });
        }
        /// <summary>
        /// Parses csv to Assertions
        /// </summary>
        /// <param name="assertionHeader">assertionHeader parameter</param>
        /// <param name="row">row parameter</param>
        /// <returns>Assertions list</returns>
        public static AssertionList Parse(Header assertionHeader, List<string> row)
        {
            var collection = Header.GetNameValueCollection(assertionHeader, HeaderName.Headers, row);
            if (!collection.HasKeys())
            {
                return null;
            }

            var list = new AssertionList();

            foreach (string key in collection.Keys)
            {
                list.Add(new HeaderAssertion { Key = key, Value = collection[key] });
            }

            return list;
        }
        /// <summary>
        /// Parses csv to Assertions
        /// </summary>
        /// <param name="assertionHeader">assertionHeader parameter</param>
        /// <param name="row">row parameter</param>
        /// <returns>Assertions list</returns>
        public static AssertionList Parse(Header assertionHeader, List <string> row)
        {
            var collection = Header.GetNameValueCollection(assertionHeader, HeaderName.Headers, row);

            if (!collection.HasKeys())
            {
                return(null);
            }

            var list = new AssertionList();

            foreach (string key in collection.Keys)
            {
                list.Add(new HeaderAssertion {
                    Key = key, Value = collection[key]
                });
            }

            return(list);
        }
        /// <summary>
        /// Parses csv to Assertions
        /// </summary>
        /// <param name="assertionHeader">assertionHeader parameter</param>
        /// <param name="data">data parameter</param>
        /// <param name="resources">resources parameter</param>
        /// <returns>Assertions object</returns>
        public static AssertionList Parse(Header assertionHeader, List<List<string>> data, ResourceManager resources = null)
        {
            var list = new AssertionList();

            foreach (var row in data)
            {
                for (var j = assertionHeader.From; j < row.Count; j++)
                {
                    var value = row[j];
                    if (value == null)
                    {
                        continue;
                    }

                    var assertionItemHeader = Header.GetHeader(assertionHeader, j, 1);
                    var name = assertionItemHeader.Name;
                    AssertionList assertions;

                    if (name == HeaderName.Uri)
                    {
                        assertions = UriAssertionParser.Parse(assertionHeader, row);
                    }
                    else if (name == HeaderName.StatusCode)
                    {
                        assertions = StatusCodeAssertionParser.Parse(assertionHeader, row);
                    }
                    else if (name == HeaderName.Headers)
                    {
                        assertions = HeadersAssertionParser.Parse(assertionHeader, row);
                    }
                    else if (name == HeaderName.Cookies)
                    {
                        assertions = CookiesAssertionParser.Parse(assertionHeader, row);
                    }
                    else if (name == HeaderName.Xsd)
                    {
                        assertions = XsdAssertionParser.Parse(assertionHeader, row, resources);
                    }
                    else if (name == HeaderName.Contents)
                    {
                        if (Header.GetBoolean(assertionHeader, HeaderName.IsDateTime, row)
                            || Header.GetBoolean(assertionHeader, HeaderName.IsTime, row))
                        {
                            assertions = DateTimeAssertionParser.Parse(assertionHeader, row);
                        }
                        else
                        {
                            assertions = TextAssertionParser.Parse(assertionHeader, row);
                        }
                    }
                    else
                    {
                        throw new WrongFileFormatException("Invalid Assertion name. name=" + name);
                    }

                    if (assertions != null)
                    {
                        list.AddRange(assertions);
                    }

                    j = assertionHeader.To;
                }
            }

            return list;
        }
        /// <summary>
        /// Parses csv to Assertions
        /// </summary>
        /// <param name="assertionHeader">assertionHeader parameter</param>
        /// <param name="data">data parameter</param>
        /// <param name="resources">resources parameter</param>
        /// <returns>Assertions object</returns>
        public static AssertionList Parse(Header assertionHeader, List <List <string> > data, ResourceManager resources = null)
        {
            var list = new AssertionList();

            foreach (var row in data)
            {
                for (var j = assertionHeader.From; j < row.Count; j++)
                {
                    var value = row[j];
                    if (value == null)
                    {
                        continue;
                    }

                    var           assertionItemHeader = Header.GetHeader(assertionHeader, j, 1);
                    var           name = assertionItemHeader.Name;
                    AssertionList assertions;

                    if (name == HeaderName.Uri)
                    {
                        assertions = UriAssertionParser.Parse(assertionHeader, row);
                    }
                    else if (name == HeaderName.StatusCode)
                    {
                        assertions = StatusCodeAssertionParser.Parse(assertionHeader, row);
                    }
                    else if (name == HeaderName.Headers)
                    {
                        assertions = HeadersAssertionParser.Parse(assertionHeader, row);
                    }
                    else if (name == HeaderName.Cookies)
                    {
                        assertions = CookiesAssertionParser.Parse(assertionHeader, row);
                    }
                    else if (name == HeaderName.Xsd)
                    {
                        assertions = XsdAssertionParser.Parse(assertionHeader, row, resources);
                    }
                    else if (name == HeaderName.Contents)
                    {
                        if (Header.GetBoolean(assertionHeader, HeaderName.IsDateTime, row) ||
                            Header.GetBoolean(assertionHeader, HeaderName.IsTime, row))
                        {
                            assertions = DateTimeAssertionParser.Parse(assertionHeader, row);
                        }
                        else
                        {
                            assertions = TextAssertionParser.Parse(assertionHeader, row);
                        }
                    }
                    else
                    {
                        throw new WrongFileFormatException("Invalid Assertion name. name=" + name);
                    }

                    if (assertions != null)
                    {
                        list.AddRange(assertions);
                    }

                    j = assertionHeader.To;
                }
            }

            return(list);
        }