Exemple #1
0
        public void ToString_Mandatory()
        {
            var param = new VkMethodParam { Name = "user_id", Type = ReturnType.Long, IsMandatory = true};
            string result = param.ToString();

            result.ShouldEqual("long userId");
        }
Exemple #2
0
        public void ToString_NormalCase()
        {
            var param = new VkMethodParam {Name = "user_id", Type = ReturnType.Long};
            string result = param.ToString();

            result.ShouldEqual("long? userId = null");
        }
Exemple #3
0
        public void ToString_Offset()
        {
            var param = new VkMethodParam { Name = "offset", Type = ReturnType.Long };

            string result = param.ToString();

            result.ShouldEqual("int? offset = null");
        }
Exemple #4
0
        public void ToString_CountDigitMandatory()
        {
            var param = new VkMethodParam { Name = "count", Type = ReturnType.Long, IsMandatory = true };

            string result = param.ToString();

            result.ShouldEqual("int count");
        }
Exemple #5
0
        internal static VkMethodParamsCollection GetParams(HtmlDocument html)
        {
            if (html == null)
            {
                throw new ArgumentNullException("html");
            }

            var result = new VkMethodParamsCollection();

            HtmlNode paramsSection = html.DocumentNode.SelectSingleNode("(//div[@class='wk_header dev_block_header'])[1]");
            HtmlNode div           = paramsSection.ParentNode;
            HtmlNode table         = div.SelectSingleNode("table");

            if (table == null)
            {
                return(result);
            }

            Debug.Assert(table != null);

            var isMandatoryParams    = new List <VkMethodParam>();
            var isNotMandatoryParams = new List <VkMethodParam>();

            HtmlNodeCollection rows = table.SelectNodes("tr");

            foreach (HtmlNode row in rows)
            {
                HtmlNodeCollection columns = row.SelectNodes("td");
                Debug.Assert(columns.Count == 2);

                var param = new VkMethodParam
                {
                    Name         = columns[0].InnerText,
                    Description  = HtmlHelper.RemoveHtmlComment(columns[1].InnerText).Capitalize().TransformXmlDocCommentes(),
                    Restrictions = VkMethodParam.GetRestrictions(columns[1]),
                    IsMandatory  = VkMethodParam.GetIsMandatory(columns[1])
                };

                if (param.IsMandatory)
                {
                    isMandatoryParams.Add(param);
                }
                else
                {
                    isNotMandatoryParams.Add(param);
                }
            }

            isMandatoryParams.AddRange(isNotMandatoryParams);

            return(new VkMethodParamsCollection(isMandatoryParams));
        }
Exemple #6
0
        internal static VkMethodParamsCollection GetParams(HtmlDocument html)
        {
            if (html == null)
                throw new ArgumentNullException("html");

            var result = new VkMethodParamsCollection();

            HtmlNode paramsSection = html.DocumentNode.SelectSingleNode("(//div[@class='wk_header dev_block_header'])[1]");
            HtmlNode div = paramsSection.ParentNode;
            HtmlNode table = div.SelectSingleNode("table");

            if (table == null)
                return result;

            Debug.Assert(table != null);

            var isMandatoryParams = new List<VkMethodParam>();
            var isNotMandatoryParams = new List<VkMethodParam>();
            
            HtmlNodeCollection rows = table.SelectNodes("tr");
            foreach (HtmlNode row in rows)
            {   
                HtmlNodeCollection columns = row.SelectNodes("td");
                Debug.Assert(columns.Count == 2);

                var param = new VkMethodParam
                {
                    Name = columns[0].InnerText,
                    Description = HtmlHelper.RemoveHtmlComment(columns[1].InnerText).Capitalize().TransformXmlDocCommentes(),
                    Restrictions = VkMethodParam.GetRestrictions(columns[1]),
                    IsMandatory = VkMethodParam.GetIsMandatory(columns[1])
                };

                if (param.IsMandatory) isMandatoryParams.Add(param);
                else isNotMandatoryParams.Add(param);
            }

            isMandatoryParams.AddRange(isNotMandatoryParams);

            return new VkMethodParamsCollection(isMandatoryParams);
        }
Exemple #7
0
 public void CanonicalName_TwoWords()
 {
     var param = new VkMethodParam {Name = "user_id"};
     param.CanonicalName.ShouldEqual("userId");
 }
Exemple #8
0
 public void CanonicalName_EmptyName()
 {
     var param = new VkMethodParam();
     param.CanonicalName.ShouldEqual(string.Empty);
 }
Exemple #9
0
 public void CanonicalName_OneWord()
 {
     var param = new VkMethodParam {Name = "sort"};
     param.CanonicalName.ShouldEqual("sort");
 }