#develop (short for SharpDevelop) is a free IDE for .NET programming languages.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

109 lines
1.9 KiB

using NUnit.Framework;
using ICSharpCode.NRefactory.CSharp.Refactoring.CodeActions;
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;");
}
}
}