public void Signature_WithoutParams() { var method = new VkDocMethod { FullName = "M:VkNet.Categories.UtilsCategory.GetServerTime" }; method.Signature.ShouldEqual("GetServerTime()"); }
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)"); }
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)"); }
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)"); }
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)"); }
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("Возвращает количество аудиозаписей пользователя или группы."); }
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)"); }
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)"); }
public void Signature_WithoutParams() { var method = new VkDocMethod { FullName = "M:VkNet.Categories.UtilsCategory.GetServerTime" }; method.Signature.ShouldEqual("GetServerTime()"); }
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>"); }