/src/EditorFeatures/VisualBasicTest/Recommendations/Declarations/NamespaceKeywordRecommenderTests.vb

https://gitlab.com/sharadag/TestProject2 · Visual Basic · 328 lines · 280 code · 47 blank · 1 comment · 0 complexity · e1284a5647e9d110c8a626a9d008ee32 MD5 · raw file

  1. ' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
  2. Imports Microsoft.CodeAnalysis.Text
  3. Imports Microsoft.CodeAnalysis.VisualBasic
  4. Imports Microsoft.CodeAnalysis.VisualBasic.Symbols
  5. Imports Microsoft.CodeAnalysis.VisualBasic.Syntax
  6. Imports Roslyn.Test.Utilities
  7. Imports Xunit
  8. Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.Recommendations.Declarations
  9. Public Class NamespaceKeywordRecommenderTests
  10. <Fact>
  11. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  12. Public Sub NamespaceInFile()
  13. VerifyRecommendationsContain(<File>|</File>, "Namespace")
  14. End Sub
  15. <Fact>
  16. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  17. Public Sub NamespaceNotInMethodDeclaration()
  18. VerifyRecommendationsMissing(<MethodBody>|</MethodBody>, "Namespace")
  19. End Sub
  20. <Fact>
  21. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  22. Public Sub NamespaceInNamespace()
  23. VerifyRecommendationsContain(<NamespaceDeclaration>|</NamespaceDeclaration>, "Namespace")
  24. End Sub
  25. <Fact, WorkItem(530727)>
  26. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  27. Public Sub NestedNamespaceFollowsTypeDeclaration()
  28. Dim code =
  29. <File>
  30. Namespace N1
  31. Class C1
  32. End Class
  33. |
  34. End Namespace
  35. </File>
  36. VerifyRecommendationsContain(code, "Namespace")
  37. End Sub
  38. <Fact, WorkItem(530727)>
  39. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  40. Public Sub NamespaceFollowsNamespace()
  41. Dim code =
  42. <File>
  43. Namespace N1
  44. Class C1
  45. End Class
  46. End Namespace
  47. |
  48. </File>
  49. VerifyRecommendationsContain(code, "Namespace")
  50. End Sub
  51. <Fact, WorkItem(530727)>
  52. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  53. Public Sub NamespaceFollowsNamespaceWithoutMatchingEnd()
  54. Dim code =
  55. <File>
  56. Namespace N1
  57. |
  58. </File>
  59. VerifyRecommendationsContain(code, "Namespace")
  60. End Sub
  61. <Fact, WorkItem(530727)>
  62. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  63. Public Sub NamespaceFollowsMismatchedEnd1()
  64. Dim code =
  65. <File>
  66. Namespace N1
  67. End Class
  68. |
  69. End Namespace
  70. </File>
  71. VerifyRecommendationsContain(code, "Namespace")
  72. End Sub
  73. <Fact, WorkItem(530727)>
  74. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  75. Public Sub NamespaceFollowsMismatchedEnd2()
  76. Dim code =
  77. <File>
  78. Namespace N1
  79. End Class
  80. |
  81. </File>
  82. VerifyRecommendationsContain(code, "Namespace")
  83. End Sub
  84. <Fact, WorkItem(530727)>
  85. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  86. Public Sub NamespaceFollowsMismatchedEnd3()
  87. Dim code =
  88. <File>
  89. End Class
  90. |
  91. </File>
  92. VerifyRecommendationsContain(code, "Namespace")
  93. End Sub
  94. <Fact, WorkItem(530727)>
  95. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  96. Public Sub NamespaceFollowsMismatchedEnd4()
  97. Dim code =
  98. <File>
  99. End Class
  100. |
  101. End Namespace
  102. </File>
  103. VerifyRecommendationsContain(code, "Namespace")
  104. End Sub
  105. <Fact>
  106. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  107. Public Sub NamespaceFollowsDelegateDeclaration()
  108. Dim code =
  109. <File>
  110. Delegate Sub DelegateType()
  111. |
  112. </File>
  113. VerifyRecommendationsContain(code, "Namespace")
  114. End Sub
  115. <Fact>
  116. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  117. Public Sub NamespaceNotInInterface()
  118. VerifyRecommendationsMissing(<InterfaceDeclaration>|</InterfaceDeclaration>, "Namespace")
  119. End Sub
  120. <Fact>
  121. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  122. Public Sub NamespaceNotInEnum()
  123. VerifyRecommendationsMissing(<EnumDeclaration>|</EnumDeclaration>, "Namespace")
  124. End Sub
  125. <Fact>
  126. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  127. Public Sub NamespaceNotInStructure()
  128. VerifyRecommendationsMissing(<StructureDeclaration>|</StructureDeclaration>, "Namespace")
  129. End Sub
  130. <Fact>
  131. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  132. Public Sub NamespaceNotInModule()
  133. VerifyRecommendationsMissing(<ModuleDeclaration>|</ModuleDeclaration>, "Namespace")
  134. End Sub
  135. <Fact>
  136. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  137. Public Sub NamespaceNotAfterPartial()
  138. VerifyRecommendationsMissing(<File>Partial |</File>, "Namespace")
  139. End Sub
  140. <Fact>
  141. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  142. Public Sub NamespaceNotAfterPublic()
  143. VerifyRecommendationsMissing(<File>Public |</File>, "Namespace")
  144. End Sub
  145. <Fact>
  146. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  147. Public Sub NamespaceNotAfterPublicInClassDeclaration()
  148. VerifyRecommendationsMissing(<ClassDeclaration>Public |</ClassDeclaration>, "Namespace")
  149. End Sub
  150. <Fact>
  151. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  152. Public Sub NamespaceNotAfterProtectedInFile()
  153. VerifyRecommendationsMissing(<File>Protected |</File>, "Namespace")
  154. End Sub
  155. <Fact>
  156. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  157. Public Sub NamespaceNotAfterProtectedInClassDeclaration()
  158. VerifyRecommendationsMissing(<ClassDeclaration>Protected |</ClassDeclaration>, "Namespace")
  159. End Sub
  160. <Fact>
  161. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  162. Public Sub NamespaceNotAfterFriendInFile()
  163. VerifyRecommendationsMissing(<File>Friend |</File>, "Namespace")
  164. End Sub
  165. <Fact>
  166. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  167. Public Sub NamespaceNotAfterFriendInClassDeclaration()
  168. VerifyRecommendationsMissing(<ClassDeclaration>Friend |</ClassDeclaration>, "Namespace")
  169. End Sub
  170. <Fact>
  171. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  172. Public Sub NamespaceNotAfterPrivateInFile()
  173. VerifyRecommendationsMissing(<File>Private |</File>, "Namespace")
  174. End Sub
  175. <Fact>
  176. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  177. Public Sub NamespaceNotAfterPrivateInNestedClass()
  178. VerifyRecommendationsMissing(<ClassDeclaration>Private |</ClassDeclaration>, "Namespace")
  179. End Sub
  180. <Fact>
  181. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  182. Public Sub NamespaceNotAfterPrivateInNamespace()
  183. VerifyRecommendationsMissing(<NamespaceDeclaration>Private |</NamespaceDeclaration>, "Namespace")
  184. End Sub
  185. <Fact>
  186. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  187. Public Sub NamespaceNotAfterProtectedFriendInFile()
  188. VerifyRecommendationsMissing(<File>Protected Friend |</File>, "Namespace")
  189. End Sub
  190. <Fact>
  191. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  192. Public Sub NamespaceNotAfterProtectedFriendInClass()
  193. VerifyRecommendationsMissing(<ClassDeclaration>Protected Friend |</ClassDeclaration>, "Namespace")
  194. End Sub
  195. <Fact>
  196. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  197. Public Sub NamespaceNotAfterOverloads()
  198. VerifyRecommendationsMissing(<ClassDeclaration>Overloads |</ClassDeclaration>, "Namespace")
  199. End Sub
  200. <Fact>
  201. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  202. Public Sub NamespaceNotAfterOverrides()
  203. VerifyRecommendationsMissing(<ClassDeclaration>Overrides |</ClassDeclaration>, "Namespace")
  204. End Sub
  205. <Fact>
  206. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  207. Public Sub NamespaceNotAfterOverridable()
  208. VerifyRecommendationsMissing(<ClassDeclaration>Overridable |</ClassDeclaration>, "Namespace")
  209. End Sub
  210. <Fact>
  211. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  212. Public Sub NamespaceNotAfterNotOverridable()
  213. VerifyRecommendationsMissing(<ClassDeclaration>NotOverridable |</ClassDeclaration>, "Namespace")
  214. End Sub
  215. <Fact>
  216. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  217. Public Sub NamespaceNotAfterMustOverride()
  218. VerifyRecommendationsMissing(<ClassDeclaration>MustOverride |</ClassDeclaration>, "Namespace")
  219. End Sub
  220. <Fact>
  221. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  222. Public Sub NamespaceNotAfterMustOverrideOverrides()
  223. VerifyRecommendationsMissing(<ClassDeclaration>MustOverride Overrides |</ClassDeclaration>, "Namespace")
  224. End Sub
  225. <Fact>
  226. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  227. Public Sub NamespaceNotAfterNotOverridableOverrides()
  228. VerifyRecommendationsMissing(<ClassDeclaration>NotOverridable Overrides |</ClassDeclaration>, "Namespace")
  229. End Sub
  230. <Fact>
  231. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  232. Public Sub NamespaceNotAfterConst()
  233. VerifyRecommendationsMissing(<ClassDeclaration>Const |</ClassDeclaration>, "Namespace")
  234. End Sub
  235. <Fact>
  236. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  237. Public Sub NamespaceNotAfterDefault()
  238. VerifyRecommendationsMissing(<ClassDeclaration>Default |</ClassDeclaration>, "Namespace")
  239. End Sub
  240. <Fact>
  241. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  242. Public Sub NamespaceNotAfterMustInherit()
  243. VerifyRecommendationsMissing(<ClassDeclaration>MustInherit |</ClassDeclaration>, "Namespace")
  244. End Sub
  245. <Fact>
  246. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  247. Public Sub NamespaceNotAfterNotInheritable()
  248. VerifyRecommendationsMissing(<ClassDeclaration>NotInheritable |</ClassDeclaration>, "Namespace")
  249. End Sub
  250. <Fact>
  251. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  252. Public Sub NamespaceNotAfterNarrowing()
  253. VerifyRecommendationsMissing(<ClassDeclaration>Narrowing |</ClassDeclaration>, "Namespace")
  254. End Sub
  255. <Fact>
  256. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  257. Public Sub NamespaceNotAfterWidening()
  258. VerifyRecommendationsMissing(<ClassDeclaration>Widening |</ClassDeclaration>, "Namespace")
  259. End Sub
  260. <Fact>
  261. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  262. Public Sub NamespaceNotAfterReadOnly()
  263. VerifyRecommendationsMissing(<ClassDeclaration>ReadOnly |</ClassDeclaration>, "Namespace")
  264. End Sub
  265. <Fact>
  266. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  267. Public Sub NamespaceNotAfterWriteOnly()
  268. VerifyRecommendationsMissing(<ClassDeclaration>WriteOnly |</ClassDeclaration>, "Namespace")
  269. End Sub
  270. <Fact>
  271. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  272. Public Sub NamespaceNotAfterCustom()
  273. VerifyRecommendationsMissing(<ClassDeclaration>Custom |</ClassDeclaration>, "Namespace")
  274. End Sub
  275. <Fact>
  276. <Trait(Traits.Feature, Traits.Features.KeywordRecommending)>
  277. Public Sub NamespaceNotAfterShared()
  278. VerifyRecommendationsMissing(<ClassDeclaration>Shared |</ClassDeclaration>, "Namespace")
  279. End Sub
  280. End Class
  281. End Namespace