PageRenderTime 40ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/vim/bundle/YouCompleteMe/third_party/ycmd/third_party/OmniSharpServer/NRefactory/ICSharpCode.NRefactory.Tests/CSharp/CodeActions/SortUsingsTests.cs

https://bitbucket.org/tetonedge/linux
C# | 126 lines | 116 code | 10 blank | 0 comment | 0 complexity | 3c6a0bc989cd5f2b5790e1a6290d702b MD5 | raw file
Possible License(s): Apache-2.0, BSD-3-Clause, CC-BY-SA-3.0, MIT, WTFPL
  1. using NUnit.Framework;
  2. using ICSharpCode.NRefactory.CSharp.Refactoring;
  3. namespace ICSharpCode.NRefactory.CSharp.CodeActions
  4. {
  5. [TestFixture]
  6. public class SortUsingsTests : ContextActionTestBase
  7. {
  8. [Test]
  9. public void TestActiveWhenCursorAtUsing()
  10. {
  11. Test<SortUsingsAction>(@"using Sys$tem.Linq;
  12. using System;", @"using System;
  13. using System.Linq;");
  14. }
  15. [Test]
  16. public void TestActiveWhenCursorBehindUsing()
  17. {
  18. Test<SortUsingsAction>(@"using System.Linq;$
  19. using System;", @"using System;
  20. using System.Linq;");
  21. }
  22. [Test]
  23. public void TestInActiveWhenCursorOutsideUsings()
  24. {
  25. TestWrongContext<SortUsingsAction>(@"using System.Linq;
  26. using System;
  27. $");
  28. }
  29. [Test]
  30. public void TestSortsAllUsingBlocksInFile()
  31. {
  32. Test<SortUsingsAction>(@"using $System.Linq;
  33. using System;
  34. namespace Foo
  35. {
  36. using System.IO;
  37. using System.Collections;
  38. }
  39. namespace Bar
  40. {
  41. using System.IO;
  42. using System.Runtime;
  43. using System.Diagnostics;
  44. }", @"using System;
  45. using System.Linq;
  46. namespace Foo
  47. {
  48. using System.Collections;
  49. using System.IO;
  50. }
  51. namespace Bar
  52. {
  53. using System.Diagnostics;
  54. using System.IO;
  55. using System.Runtime;
  56. }");
  57. }
  58. [Test]
  59. public void TestAliasesGoesToTheEnd()
  60. {
  61. Test<SortUsingsAction>(@"$using Sys = System;
  62. using System;", @"using System;
  63. using Sys = System;");
  64. }
  65. [Test]
  66. public void TestUnknownNamespacesGoesAfterKnownOnes()
  67. {
  68. Test<SortUsingsAction>(@"$using Foo;
  69. using System;", @"using System;
  70. using Foo;");
  71. }
  72. [Test]
  73. public void TestMixedStuff()
  74. {
  75. Test<SortUsingsAction>(@"$using Foo;
  76. using System.Linq;
  77. using Sys = System;
  78. using System;
  79. using FooAlias = Foo;
  80. using Linq = System.Linq;", @"using System;
  81. using System.Linq;
  82. using Foo;
  83. using Linq = System.Linq;
  84. using Sys = System;
  85. using FooAlias = Foo;");
  86. }
  87. [Test]
  88. public void TestPreservesEmptyLinesWhichIsInFactABug()
  89. {
  90. Test<SortUsingsAction>(@"$using System.Linq;
  91. using System;", @"using System;
  92. using System.Linq;");
  93. }
  94. [Test]
  95. public void TestPreservesPreprocessorDirectives()
  96. {
  97. Test<SortUsingsAction>(@"$using D;
  98. using A;
  99. #if true
  100. using C;
  101. using B;
  102. #endif", @"using A;
  103. using D;
  104. #if true
  105. using B;
  106. using C;
  107. #endif");
  108. }
  109. }
  110. }