PageRenderTime 38ms CodeModel.GetById 11ms RepoModel.GetById 0ms app.codeStats 0ms

/src/EditorFeatures/CSharpTest/Recommendations/ProtectedKeywordRecommenderTests.cs

https://gitlab.com/sharadag/TestProject2
C# | 370 lines | 319 code | 50 blank | 1 comment | 0 complexity | 7441c5be3465a1cf8da98222c7b66e78 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. using Microsoft.CodeAnalysis;
  3. using Microsoft.CodeAnalysis.Text;
  4. using Roslyn.Test.Utilities;
  5. using Roslyn.Test.Utilities.Parallel;
  6. using Xunit;
  7. namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.Recommendations
  8. {
  9. [ParallelFixture]
  10. public class ProtectedKeywordRecommenderTests : KeywordRecommenderTests
  11. {
  12. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  13. public void NotAtRoot_Interactive()
  14. {
  15. VerifyAbsence(SourceCodeKind.Script,
  16. @"$$");
  17. }
  18. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  19. public void NotAfterClass_Interactive()
  20. {
  21. VerifyAbsence(SourceCodeKind.Script,
  22. @"class C { }
  23. $$");
  24. }
  25. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  26. public void NotAfterGlobalStatement_Interactive()
  27. {
  28. VerifyAbsence(SourceCodeKind.Script,
  29. @"System.Console.WriteLine();
  30. $$");
  31. }
  32. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  33. public void NotAfterGlobalVariableDeclaration_Interactive()
  34. {
  35. VerifyAbsence(SourceCodeKind.Script,
  36. @"int i = 0;
  37. $$");
  38. }
  39. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  40. public void NotInUsingAlias()
  41. {
  42. VerifyAbsence(
  43. @"using Foo = $$");
  44. }
  45. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  46. public void NotInEmptyStatement()
  47. {
  48. VerifyAbsence(AddInsideMethod(
  49. @"$$"));
  50. }
  51. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  52. public void NotInCompilationUnit()
  53. {
  54. VerifyAbsence(@"$$");
  55. }
  56. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  57. public void NotAfterExtern()
  58. {
  59. VerifyAbsence(@"extern alias Foo;
  60. $$");
  61. }
  62. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  63. public void NotAfterUsing()
  64. {
  65. VerifyAbsence(@"using Foo;
  66. $$");
  67. }
  68. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  69. public void NotAfterNamespace()
  70. {
  71. VerifyAbsence(@"namespace N {}
  72. $$");
  73. }
  74. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  75. public void NotAfterTypeDeclaration()
  76. {
  77. VerifyAbsence(@"class C {}
  78. $$");
  79. }
  80. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  81. public void NotAfterDelegateDeclaration()
  82. {
  83. VerifyAbsence(@"delegate void Foo();
  84. $$");
  85. }
  86. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  87. public void AfterMethod()
  88. {
  89. VerifyKeyword(
  90. @"class C {
  91. void Foo() {}
  92. $$");
  93. }
  94. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  95. public void AfterField()
  96. {
  97. VerifyKeyword(
  98. @"class C {
  99. int i;
  100. $$");
  101. }
  102. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  103. public void AfterProperty()
  104. {
  105. VerifyKeyword(
  106. @"class C {
  107. int i { get; }
  108. $$");
  109. }
  110. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  111. public void NotBeforeUsing()
  112. {
  113. VerifyAbsence(
  114. @"$$
  115. using Foo;");
  116. }
  117. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  118. public void NotAfterAssemblyAttribute()
  119. {
  120. VerifyAbsence(@"[assembly: foo]
  121. $$");
  122. }
  123. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  124. public void NotAfterRootAttribute()
  125. {
  126. VerifyAbsence(@"[foo]
  127. $$");
  128. }
  129. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  130. public void AfterNestedAttribute()
  131. {
  132. VerifyKeyword(
  133. @"class C {
  134. [foo]
  135. $$");
  136. }
  137. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  138. public void NotInsideStruct()
  139. {
  140. VerifyAbsence(@"struct S {
  141. $$");
  142. }
  143. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  144. public void NotInsideInterface()
  145. {
  146. VerifyAbsence(@"interface I {
  147. $$");
  148. }
  149. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  150. public void InsideClass()
  151. {
  152. VerifyKeyword(
  153. @"class C {
  154. $$");
  155. }
  156. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  157. public void NotAfterPartial()
  158. {
  159. VerifyAbsence(@"partial $$");
  160. }
  161. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  162. public void NotAfterAbstract()
  163. {
  164. VerifyAbsence(@"abstract $$");
  165. }
  166. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  167. public void NotAfterInternal()
  168. {
  169. VerifyAbsence(@"internal $$");
  170. }
  171. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  172. public void NotAfterPublic()
  173. {
  174. VerifyAbsence(@"public $$");
  175. }
  176. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  177. public void NotAfterStaticInternal()
  178. {
  179. VerifyAbsence(@"static internal $$");
  180. }
  181. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  182. public void NotAfterInternalStatic()
  183. {
  184. VerifyAbsence(@"internal static $$");
  185. }
  186. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  187. public void NotAfterInvalidInternal()
  188. {
  189. VerifyAbsence(@"virtual internal $$");
  190. }
  191. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  192. public void NotAfterClass()
  193. {
  194. VerifyAbsence(@"class $$");
  195. }
  196. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  197. public void NotAfterPrivate()
  198. {
  199. VerifyAbsence(@"private $$");
  200. }
  201. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  202. public void NotAfterProtected()
  203. {
  204. VerifyAbsence(@"protected $$");
  205. }
  206. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  207. public void NotAfterSealed()
  208. {
  209. VerifyAbsence(@"sealed $$");
  210. }
  211. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  212. public void NotAfterStatic()
  213. {
  214. VerifyAbsence(@"static $$");
  215. }
  216. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  217. public void AfterNestedStatic()
  218. {
  219. VerifyKeyword(
  220. @"class C {
  221. static $$");
  222. }
  223. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  224. public void AfterNestedInternal()
  225. {
  226. VerifyKeyword(
  227. @"class C {
  228. internal $$");
  229. }
  230. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  231. public void NotAfterDelegate()
  232. {
  233. VerifyAbsence(@"delegate $$");
  234. }
  235. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  236. public void AfterNestedAbstract()
  237. {
  238. VerifyKeyword(
  239. @"class C {
  240. abstract $$");
  241. }
  242. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  243. public void AfterNestedVirtual()
  244. {
  245. VerifyKeyword(
  246. @"class C {
  247. virtual $$");
  248. }
  249. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  250. public void AfterNestedOverride()
  251. {
  252. VerifyKeyword(
  253. @"class C {
  254. override $$");
  255. }
  256. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  257. public void AfterNestedSealed()
  258. {
  259. VerifyKeyword(
  260. @"class C {
  261. sealed $$");
  262. }
  263. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  264. public void InProperty()
  265. {
  266. VerifyKeyword(
  267. @"class C {
  268. int Foo { $$");
  269. }
  270. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  271. public void InPropertyAfterAccessor()
  272. {
  273. VerifyKeyword(
  274. @"class C {
  275. int Foo { get; $$");
  276. }
  277. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  278. public void NotInPropertyAfterAccessibility()
  279. {
  280. VerifyAbsence(
  281. @"class C {
  282. int Foo { get; protected $$");
  283. }
  284. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  285. public void InPropertyAfterInternal()
  286. {
  287. VerifyKeyword(
  288. @"class C {
  289. int Foo { get; internal $$");
  290. }
  291. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  292. public void InIndexer()
  293. {
  294. VerifyKeyword(
  295. @"class C {
  296. int this[int i] { $$");
  297. }
  298. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  299. public void InIndexerAfterAccessor()
  300. {
  301. VerifyKeyword(
  302. @"class C {
  303. int this[int i] { get { } $$");
  304. }
  305. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  306. public void NotInIndexerAfterAccessibility()
  307. {
  308. VerifyAbsence(
  309. @"class C {
  310. int this[int i] { get { } protected $$");
  311. }
  312. [Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
  313. public void InIndexerAfterInternal()
  314. {
  315. VerifyKeyword(
  316. @"class C {
  317. int this[int i] { get { } internal $$");
  318. }
  319. }
  320. }