1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
|
using NUnit.Framework;
using ICSharpCode.NRefactory.CSharp.Refactoring;
namespace ICSharpCode.NRefactory.CSharp.CodeActions
{
[TestFixture]
public class SortUsingsTests : ContextActionTestBase
{
[Test]
public void TestActiveWhenCursorAtUsing()
{
Test<SortUsingsAction>(@"using Sys$tem.Linq;
using System;", @"using System;
using System.Linq;");
}
[Test]
public void TestActiveWhenCursorBehindUsing()
{
Test<SortUsingsAction>(@"using System.Linq;$
using System;", @"using System;
using System.Linq;");
}
[Test]
public void TestInActiveWhenCursorOutsideUsings()
{
TestWrongContext<SortUsingsAction>(@"using System.Linq;
using System;
$");
}
[Test]
public void TestSortsAllUsingBlocksInFile()
{
Test<SortUsingsAction>(@"using $System.Linq;
using System;
namespace Foo
{
using System.IO;
using System.Collections;
}
namespace Bar
{
using System.IO;
using System.Runtime;
using System.Diagnostics;
}", @"using System;
using System.Linq;
namespace Foo
{
using System.Collections;
using System.IO;
}
namespace Bar
{
using System.Diagnostics;
using System.IO;
using System.Runtime;
}");
}
[Test]
public void TestAliasesGoesToTheEnd()
{
Test<SortUsingsAction>(@"$using Sys = System;
using System;", @"using System;
using Sys = System;");
}
[Test]
public void TestUnknownNamespacesGoesAfterKnownOnes()
{
Test<SortUsingsAction>(@"$using Foo;
using System;", @"using System;
using Foo;");
}
[Test]
public void TestMixedStuff()
{
Test<SortUsingsAction>(@"$using Foo;
using System.Linq;
using Sys = System;
using System;
using FooAlias = Foo;
using Linq = System.Linq;", @"using System;
using System.Linq;
using Foo;
using Linq = System.Linq;
using Sys = System;
using FooAlias = Foo;");
}
[Test]
public void TestPreservesEmptyLinesWhichIsInFactABug()
{
Test<SortUsingsAction>(@"$using System.Linq;
using System;", @"using System;
using System.Linq;");
}
[Test]
public void TestPreservesPreprocessorDirectives()
{
Test<SortUsingsAction>(@"$using D;
using A;
#if true
using C;
using B;
#endif", @"using A;
using D;
#if true
using B;
using C;
#endif");
}
}
}
|