コード例 #1
0
ファイル: VkDocMethodTest.cs プロジェクト: ddfx/vk
        public void Signature_WithoutParams()
        {
            var method = new VkDocMethod {
                FullName = "M:VkNet.Categories.UtilsCategory.GetServerTime"
            };

            method.Signature.ShouldEqual("GetServerTime()");
        }
コード例 #2
0
ファイル: VkDocMethodTest.cs プロジェクト: G-IT-ED/vk
        public void Signature_OneItem()
        {
            var param = new VkDocMethodParam
                {
                    Name = "uid",
                    Description = "Идентификатор пользователя"
                };

            var method = new VkDocMethod { FullName = "VkNet.Categories.AudioCategory.GetFromGroup(System.Int64)" };
            method.Params.Add(param);

            method.Signature.ShouldEqual("GetFromGroup(long uid)");
        }
コード例 #3
0
ファイル: VkDocMethodTest.cs プロジェクト: G-IT-ED/vk
        public void Signature_CustomType()
        {
            var first = new VkDocMethodParam {Name = "isEnabled"};
            var second = new VkDocMethodParam {Name = "filter"};
            var third = new VkDocMethodParam {Name = "fields"};
            

            var method = new VkDocMethod { FullName = "VkNet.Categories.GroupsCategory.Get(System.Boolean,VkNet.Enums.GroupsFilters,VkNet.Enums.GroupsFields)" };
            method.Params.Add(first);
            method.Params.Add(second);
            method.Params.Add(third);

            method.Signature.ShouldEqual("Get(bool isEnabled, GroupsFilters filter, GroupsFields fields)");
        }
コード例 #4
0
ファイル: VkDocMethodTest.cs プロジェクト: G-IT-ED/vk
        public void Signature_TwoNullableParams()
        {
            var first = new VkDocMethodParam{Name = "uid"};
            var second = new VkDocMethodParam {Name = "count"};

            var method = new VkDocMethod
                {
                    FullName =
                        "VkNet.Categories.VideoCategory.Get(System.Nullable{System.Int64},System.Nullable{System.Int64})"
                };
            method.Params.Add(first);
            method.Params.Add(second);

            method.Signature.ShouldEqual("Get(long? uid = null, long? count = null)");
        }
コード例 #5
0
ファイル: VkDocMethodTest.cs プロジェクト: ddfx/vk
        public void Signature_OneItem()
        {
            var param = new VkDocMethodParam
            {
                Name        = "uid",
                Description = "Идентификатор пользователя"
            };

            var method = new VkDocMethod {
                FullName = "VkNet.Categories.AudioCategory.GetFromGroup(System.Int64)"
            };

            method.Params.Add(param);

            method.Signature.ShouldEqual("GetFromGroup(long uid)");
        }
コード例 #6
0
        public void Parser_TwoTypes()
        {
            const string xml = @"<?xml version=""1.0""?>
<doc>
    <assembly>
        <name>VkNet</name>
    </assembly>
    <members>
        <member name=""T:VkNet.Categories.AudioCategory"">
            <summary>
            Методы для работы с аудиозаписями.
            </summary>
        </member>
        <member name=""M:VkNet.Categories.AudioCategory.GetCount(System.Int64)"">
            <summary>
            Возвращает количество аудиозаписей пользователя или группы.
            </summary>
        </member>
         <member name=""T:VkNet.Categories.DatabaseCategory"">
            <summary>
            Методы для получения справочной информации (страны, города, школы, учебные заведения и т.п.).
            </summary>
        </member>
    </members>
</doc>";

            var parser = new VkDocParser();
            var types  = parser.Parse(xml);

            types.Count.ShouldEqual(2);
            types[0].FullName.ShouldEqual("VkNet.Categories.AudioCategory");
            types[0].ShortName.ShouldEqual("AudioCategory");
            types[0].Summary.ShouldEqual("Методы для работы с аудиозаписями.");
            types[0].Methods.Count.ShouldEqual(1);

            types[1].FullName.ShouldEqual("VkNet.Categories.DatabaseCategory");
            types[1].ShortName.ShouldEqual("DatabaseCategory");
            types[1].Summary.ShouldEqual("Методы для получения справочной информации (страны, города, школы, учебные заведения и т.п.).");
            types[1].Methods.Count.ShouldEqual(0);

            VkDocMethod method = types[0].Methods[0];

            method.FullName.ShouldEqual("VkNet.Categories.AudioCategory.GetCount(System.Int64)");
            method.Type.ShouldEqual(types[0]);
            method.Summary.ShouldEqual("Возвращает количество аудиозаписей пользователя или группы.");
        }
コード例 #7
0
ファイル: VkDocMethodTest.cs プロジェクト: ddfx/vk
        public void Signature_TwoNullableParams()
        {
            var first = new VkDocMethodParam {
                Name = "uid"
            };
            var second = new VkDocMethodParam {
                Name = "count"
            };

            var method = new VkDocMethod
            {
                FullName =
                    "VkNet.Categories.VideoCategory.Get(System.Nullable{System.Int64},System.Nullable{System.Int64})"
            };

            method.Params.Add(first);
            method.Params.Add(second);

            method.Signature.ShouldEqual("Get(long? uid = null, long? count = null)");
        }
コード例 #8
0
ファイル: VkDocMethodTest.cs プロジェクト: ddfx/vk
        public void Signature_CustomType()
        {
            var first = new VkDocMethodParam {
                Name = "isEnabled"
            };
            var second = new VkDocMethodParam {
                Name = "filter"
            };
            var third = new VkDocMethodParam {
                Name = "fields"
            };


            var method = new VkDocMethod {
                FullName = "VkNet.Categories.GroupsCategory.Get(System.Boolean,VkNet.Enums.GroupsFilters,VkNet.Enums.GroupsFields)"
            };

            method.Params.Add(first);
            method.Params.Add(second);
            method.Params.Add(third);

            method.Signature.ShouldEqual("Get(bool isEnabled, GroupsFilters filter, GroupsFields fields)");
        }
コード例 #9
0
ファイル: VkDocMethodTest.cs プロジェクト: G-IT-ED/vk
        public void Signature_WithoutParams()
        {
            var method = new VkDocMethod { FullName = "M:VkNet.Categories.UtilsCategory.GetServerTime" };

            method.Signature.ShouldEqual("GetServerTime()");
        }
コード例 #10
0
        public void Parse_AllMethodMembers()
        {
            const string xml    = @"<?xml version=""1.0""?>
<doc>
    <assembly>
        <name>VkNet</name>
    </assembly>
    <members>
        <member name=""T:VkNet.Categories.AudioCategory"">
            <summary>
            Методы для работы с аудиозаписями.
            </summary>
        </member>
         <member name=""M:VkNet.Categories.AudioCategory.GetFromGroup(System.Int64,System.Nullable{System.Int64},System.Collections.Generic.IEnumerable{System.Int64},System.Nullable{System.Int32},System.Nullable{System.Int32})"">
            <summary>
            Возвращает список аудиозаписей группы.
            </summary>
            <param name=""gid"">Идентификатор группы, у которой необходимо получить аудиозаписи.</param>
            <param name=""albumId"">Идентификатор альбома, аудиозаписи которого необходимо вернуть (по умолчанию возвращаются аудиозаписи из всех альбомов).</param>
            <param name=""aids"">
            Список идентификаторов аудиозаписей группы, по которым необходимо получить информацию.
            Если список не указан (null), то ограничение на идентификаторы аудиозаписей на накладываются.
            </param>            
            <param name=""count"">Требуемое количество аудиозаписей.</param>
            <param name=""offset"">Смещение относительно первой найденной аудиозаписи (для выборки определенного подмножества аудиозаписей).</param>
            <returns>
            В случае успеха возвращает затребованный список аудиозаписей группы.
            </returns>
            <remarks>
            Для вызова этого метода Ваше приложение должно иметь права с битовой маской, содержащей <see cref=""F:VkNet.Enums.Settings.Audio""/>.
            Страница документации ВКонтакте <see cref=""!:http://vk.com/dev/audio.get""/>.
            </remarks>       
        </member>
         <member name=""M:VkNet.Categories.AudioCategory.Get(System.Int64,VkNet.Model.User@,System.Nullable{System.Int64},System.Collections.Generic.IEnumerable{System.Int64},System.Nullable{System.Int32},System.Nullable{System.Int32})"">
            <summary>
            Возвращает список аудиозаписей пользователя и краткую информацию о нем.
            </summary>
            <param name=""uid"">Идентификатор пользователя, у которого необходимо получить аудиозаписи.</param>
            <param name=""user"">Базовая информация о владельце аудиозаписей - пользователе с идентификатором <paramref name=""uid""/> (идентификатор, имя, фотография).</param>
            <param name=""albumId"">Идентификатор альбома пользователя, аудиозаписи которого необходимо получить (по умолчанию возвращаются аудиозаписи из всех альбомов).</param>            
            <returns>
            В случае успеха возвращает затребованный список аудиозаписей пользователя.
            </returns>
            <remarks>
            Для вызова этого метода Ваше приложение должно иметь права с битовой маской, содержащей <see cref=""F:VkNet.Enums.Settings.Audio""/>.
            Страница документации ВКонтакте <see cref=""!:http://vk.com/dev/audio.get""/>.
            </remarks>
            <example>
                <code>
                [LocalizationRequiredAttribute(true)]
                public class Foo
                {
                  private string str = ""my string""; // Warning: Localizable string
                }
                </code>
            </example>
        </member>
    </members>
</doc>";
            var          parser = new VkDocParser();
            var          types  = parser.Parse(xml);

            types.Count.ShouldEqual(1);
            types[0].FullName.ShouldEqual("VkNet.Categories.AudioCategory");
            types[0].ShortName.ShouldEqual("AudioCategory");
            types[0].Summary.ShouldEqual("Методы для работы с аудиозаписями.");
            types[0].Methods.Count.ShouldEqual(2);

            VkDocMethod first = types[0].Methods[0];

            first.FullName.ShouldEqual("VkNet.Categories.AudioCategory.GetFromGroup(System.Int64,System.Nullable{System.Int64},System.Collections.Generic.IEnumerable{System.Int64},System.Nullable{System.Int32},System.Nullable{System.Int32})");

            first.ShortName.ShouldEqual("GetFromGroup");
            first.Signature.ShouldEqual("GetFromGroup(long gid, long? albumId = null, IEnumerable<long> aids, int? count = null, int? offset = null)");

            first.Remarks.ShouldEqual(@"Для вызова этого метода Ваше приложение должно иметь права с битовой маской, содержащей <see cref=""F:VkNet.Enums.Settings.Audio"" />.
            Страница документации ВКонтакте <see cref=""!:http://vk.com/dev/audio.get"" />.");
            first.Returns.ShouldEqual("В случае успеха возвращает затребованный список аудиозаписей группы.");
            first.Summary.ShouldEqual("Возвращает список аудиозаписей группы.");
            first.Params.Count.ShouldEqual(5);
            first.Params[0].Name.ShouldEqual("gid");
            first.Params[0].Description.ShouldEqual("Идентификатор группы, у которой необходимо получить аудиозаписи.");
            first.Params[1].Name.ShouldEqual("albumId");
            first.Params[1].Description.ShouldEqual("Идентификатор альбома, аудиозаписи которого необходимо вернуть (по умолчанию возвращаются аудиозаписи из всех альбомов).");
            first.Params[2].Name.ShouldEqual("aids");
            first.Params[2].Description.ShouldEqual(@"Список идентификаторов аудиозаписей группы, по которым необходимо получить информацию.
            Если список не указан (null), то ограничение на идентификаторы аудиозаписей на накладываются.");
            first.Params[3].Name.ShouldEqual("count");
            first.Params[3].Description.ShouldEqual("Требуемое количество аудиозаписей.");
            first.Params[4].Name.ShouldEqual("offset");
            first.Params[4].Description.ShouldEqual("Смещение относительно первой найденной аудиозаписи (для выборки определенного подмножества аудиозаписей).");

            // add tests for name and shortname

            VkDocMethod second = types[0].Methods[1];

            second.Examples.First().ShouldEqual(@"<code>
                [LocalizationRequiredAttribute(true)]
                public class Foo
                {
                  private string str = ""my string""; // Warning: Localizable string
                }
                </code>");
        }