Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Krüger <mkrueger@xamarin.com>2013-04-11 14:55:38 +0400
committerMike Krüger <mkrueger@xamarin.com>2013-04-11 14:55:38 +0400
commitc84592b79b5718ac6cb84d8b983f3a2ce952799e (patch)
tree8b1d4cefe9917b6c1d3b7ba0e443e97829fa20f4 /main/tests/UnitTests/MonoDevelop.Ide.FindInFiles
parentf1b4e8777dda618d88e64e2c793e195bb412cdc2 (diff)
Added unit test for 'Bug 11714 - Rename interface member does not
affect other implementations'.
Diffstat (limited to 'main/tests/UnitTests/MonoDevelop.Ide.FindInFiles')
-rw-r--r--main/tests/UnitTests/MonoDevelop.Ide.FindInFiles/MemberCollectorTests.cs79
1 files changed, 61 insertions, 18 deletions
diff --git a/main/tests/UnitTests/MonoDevelop.Ide.FindInFiles/MemberCollectorTests.cs b/main/tests/UnitTests/MonoDevelop.Ide.FindInFiles/MemberCollectorTests.cs
index c6d9e467b9..c288cab5be 100644
--- a/main/tests/UnitTests/MonoDevelop.Ide.FindInFiles/MemberCollectorTests.cs
+++ b/main/tests/UnitTests/MonoDevelop.Ide.FindInFiles/MemberCollectorTests.cs
@@ -112,7 +112,7 @@ namespace MonoDevelop.Ide.FindInFiles
return m => m.Name == memberName && m.DeclaringType.Name == declaringType && (filter == null || filter (m));
}
- [Test ()]
+ [Test]
public void TestMethodOverrides ()
{
var code = @"
@@ -138,7 +138,7 @@ class D : A
TestCollectMembersForAllTypes (code, memberName, types);
}
- [Test ()]
+ [Test]
public void TestEventOverrides ()
{
var code = @"
@@ -152,7 +152,7 @@ class B : A
}
class C : B
{
- public sealed event EventHandler Event;
+ public sealed override event EventHandler Event;
}
class D : A
{
@@ -163,7 +163,7 @@ class D : A
TestCollectMembersForAllTypes (code, memberName, types);
}
- [Test ()]
+ [Test]
public void TestPropertyOverrides ()
{
var code = @"
@@ -179,7 +179,7 @@ class B : A
}
class C : B
{
- public sealed int Prop
+ public override sealed int Prop
{ get; set; }
}
class D : A
@@ -191,8 +191,8 @@ class D : A
var types = new [] {"A", "B", "C", "D"};
TestCollectMembersForAllTypes (code, memberName, types);
}
-
- [Test ()]
+
+ [Test]
public void TestSingleInterfaceImpl ()
{
var code = @"
@@ -217,7 +217,7 @@ class C : IA
TestCollectMembersForAllTypes (code, memberName, types);
}
- [Test ()]
+ [Test]
public void TestMultiInterfacesImpl1 ()
{
var code = @"
@@ -252,7 +252,7 @@ class C : IB
TestCollectMembers (code, "A", memberName, expected1);
}
- [Test ()]
+ [Test]
public void TestMultiInterfacesImpl2 ()
{
var code = @"
@@ -286,7 +286,7 @@ class C : IB
TestCollectMembers (code, "IA", memberName, expected2);
}
- [Test ()]
+ [Test]
public void TestMultiInterfacesImpl3 ()
{
var code = @"
@@ -320,7 +320,7 @@ class C : IB
TestCollectMembers (code, "IB", memberName, expected3);
}
- [Test ()]
+ [Test]
public void TestMethodOverloads ()
{
var code = @"
@@ -351,7 +351,7 @@ struct B
}
}
- [Test ()]
+ [Test]
public void TestIncludeOverloads ()
{
var code = @"
@@ -389,7 +389,7 @@ class D : A
}
- [Test ()]
+ [Test]
public void TestExcludeOverloads ()
{
var code = @"
@@ -435,7 +435,7 @@ class D : A
}
- [Test ()]
+ [Test]
public void TestInterfacePlusOverrides ()
{
string code = @"
@@ -471,7 +471,7 @@ class B : A, IA
TestCollectMembers (code, "B", memberName, expected3);
}
- [Test ()]
+ [Test]
public void TestGetBaseTypes ()
{
string code = @"
@@ -505,7 +505,7 @@ class D : B, IA, IB { }
{t => t == A, t => t == IA, t => t == IB});
}
- [Test ()]
+ [Test]
public void TestMatchDeclaringType ()
{
var code = @"
@@ -534,7 +534,7 @@ class B : A
TestCollectMembers (code, "B", memberName, expected3, expected3 [0], false, true);
}
- [Test ()]
+ [Test]
public void TestConstructor ()
{
var code = @"
@@ -561,7 +561,7 @@ public A(int i) { }
}
- [Test ()]
+ [Test]
public void TestStaticConstructor ()
{
var code = @"
@@ -576,5 +576,48 @@ static A() { }
Assert.AreEqual (2, result1.Count);
}
+
+ [Test]
+ public void TestShadowedMember ()
+ {
+ var code = @"
+class A
+{
+ public int Prop
+ { get; set; }
+}
+class B : A
+{
+ public int Prop
+ { get; set; }
+}";
+ var members = CollectMembers (code, "A", "Prop", m => true, true, false);
+ Assert.AreEqual (1, members.Count);
+ }
+
+ /// <summary>
+ /// Bug 11714 - Rename interface member does not affect other implementations
+ /// </summary>
+ [Test]
+ public void TestBug11714 ()
+ {
+ var code = @"
+class A : IA
+{
+ public int Prop
+ { get; set; }
+}
+
+interface IA { int Prop { get; set; } }
+
+class B : IA
+{
+ public int Prop
+ { get; set; }
+}";
+ var members = CollectMembers (code, "A", "Prop", m => true, true, false);
+ Assert.AreEqual (3, members.Count);
+ }
+
}
}