3
using ICSharpCode.NRefactory.CSharp.Refactoring;
4
using ICSharpCode.NRefactory.CSharp.CodeActions;
6
namespace ICSharpCode.NRefactory.CSharp.CodeIssues
9
public class RedundantWhereWithPredicateIssueTests : InspectionActionTestBase
12
public void TestWhereAnyCase1 ()
14
var input = @"using System.Linq;
15
public class CSharpDemo {
18
var bla = arr.Where (x => x < 4).Any ();
22
TestRefactoringContext context;
23
var issues = GetIssues (new RedundantWhereWithPredicateIssue (), input, out context);
24
Assert.AreEqual (1, issues.Count);
25
CheckFix (context, issues, @"using System.Linq;
26
public class CSharpDemo {
29
var bla = arr.Any (x => x < 4);
35
public void TestWhereAnyWrongWhere1 ()
37
var input = @"using System.Linq;
38
public class CSharpDemo {
41
var bla = arr.Where ((x, i) => x + i < 4).Any ();
45
TestRefactoringContext context;
46
var issues = GetIssues (new RedundantWhereWithPredicateIssue (), input, out context);
47
Assert.AreEqual (0, issues.Count);
51
public void TestWhereAnyWrongWhere2 ()
53
var input = @"using System;
57
X Where (Func<int,int> f) { return null; }
58
bool Any () { return false; }
61
var bla = ex.Where (x => x + 1).Any ();
65
TestRefactoringContext context;
66
var issues = GetIssues (new RedundantWhereWithPredicateIssue (), input, out context);
67
Assert.AreEqual (0, issues.Count);
71
public void TestWhereCount()
73
var input = @"using System.Linq;
74
public class CSharpDemo {
77
var bla = arr.Where (x => x < 4).Count ();
81
TestRefactoringContext context;
82
var issues = GetIssues (new RedundantWhereWithPredicateIssue (), input, out context);
83
Assert.AreEqual (1, issues.Count);
84
CheckFix (context, issues, @"using System.Linq;
85
public class CSharpDemo {
88
var bla = arr.Count (x => x < 4);