@@ -22,12 +22,15 @@ public class MemberAccessTypeBindingTests
22
22
[ TestMethod ]
23
23
public void LExpressionIsProjectAndUnrestrictedNameIsProject ( )
24
24
{
25
+ var enclosingModuleCode = string . Format ( "Public WithEvents anything As {0}.{0}" , BindingTargetName ) ;
26
+
25
27
var builder = new MockVbeBuilder ( ) ;
26
- var enclosingProjectBuilder = builder . ProjectBuilder ( BindingTargetName , ProjectProtection . Unprotected ) ;
27
- string enclosingModuleCode = string . Format ( "Public WithEvents anything As {0}.{0}" , BindingTargetName ) ;
28
- enclosingProjectBuilder . AddComponent ( TestClassName , ComponentType . ClassModule , enclosingModuleCode ) ;
29
- var enclosingProject = enclosingProjectBuilder . Build ( ) ;
28
+ var enclosingProject = builder
29
+ . ProjectBuilder ( BindingTargetName , ProjectProtection . Unprotected )
30
+ . AddComponent ( TestClassName , ComponentType . ClassModule , enclosingModuleCode )
31
+ . Build ( ) ;
30
32
builder . AddProject ( enclosingProject ) ;
33
+
31
34
var vbe = builder . Build ( ) ;
32
35
var state = Parse ( vbe ) ;
33
36
@@ -40,13 +43,16 @@ public void LExpressionIsProjectAndUnrestrictedNameIsProject()
40
43
[ TestMethod ]
41
44
public void LExpressionIsProjectAndUnrestrictedNameIsProceduralModule ( )
42
45
{
43
- const string PROJECT_NAME = "AnyName" ;
46
+ const string projectName = "AnyName" ;
47
+ var enclosingModuleCode = string . Format ( "Public WithEvents anything As {0}.{1}" , projectName , BindingTargetName ) ;
48
+
44
49
var builder = new MockVbeBuilder ( ) ;
45
- var enclosingProjectBuilder = builder . ProjectBuilder ( PROJECT_NAME , ProjectProtection . Unprotected ) ;
46
- string enclosingModuleCode = string . Format ( "Public WithEvents anything As {0}.{1}" , PROJECT_NAME , BindingTargetName ) ;
47
- enclosingProjectBuilder . AddComponent ( BindingTargetName , ComponentType . StandardModule , enclosingModuleCode ) ;
48
- var enclosingProject = enclosingProjectBuilder . Build ( ) ;
50
+ var enclosingProject = builder
51
+ . ProjectBuilder ( projectName , ProjectProtection . Unprotected )
52
+ . AddComponent ( BindingTargetName , ComponentType . StandardModule , enclosingModuleCode )
53
+ . Build ( ) ;
49
54
builder . AddProject ( enclosingProject ) ;
55
+
50
56
var vbe = builder . Build ( ) ;
51
57
var state = Parse ( vbe ) ;
52
58
@@ -58,13 +64,16 @@ public void LExpressionIsProjectAndUnrestrictedNameIsProceduralModule()
58
64
[ TestMethod ]
59
65
public void LExpressionIsProjectAndUnrestrictedNameIsClassModule ( )
60
66
{
61
- const string PROJECT_NAME = "AnyName" ;
67
+ const string projectName = "AnyName" ;
68
+ var enclosingModuleCode = string . Format ( "Public WithEvents anything As {0}.{1}" , projectName , BindingTargetName ) ;
69
+
62
70
var builder = new MockVbeBuilder ( ) ;
63
- var enclosingProjectBuilder = builder . ProjectBuilder ( PROJECT_NAME , ProjectProtection . Unprotected ) ;
64
- string enclosingModuleCode = string . Format ( "Public WithEvents anything As {0}.{1}" , PROJECT_NAME , BindingTargetName ) ;
65
- enclosingProjectBuilder . AddComponent ( BindingTargetName , ComponentType . ClassModule , enclosingModuleCode ) ;
66
- var enclosingProject = enclosingProjectBuilder . Build ( ) ;
71
+ var enclosingProject = builder
72
+ . ProjectBuilder ( projectName , ProjectProtection . Unprotected )
73
+ . AddComponent ( BindingTargetName , ComponentType . ClassModule , enclosingModuleCode )
74
+ . Build ( ) ;
67
75
builder . AddProject ( enclosingProject ) ;
76
+
68
77
var vbe = builder . Build ( ) ;
69
78
var state = Parse ( vbe ) ;
70
79
@@ -73,12 +82,12 @@ public void LExpressionIsProjectAndUnrestrictedNameIsClassModule()
73
82
Assert . AreEqual ( 1 , declaration . References . Count ( ) ) ;
74
83
}
75
84
76
- [ Ignore ] // this failing test seems to be a resolver bug.
77
85
[ TestMethod ]
78
86
public void LExpressionIsProjectAndUnrestrictedNameIsType ( )
79
87
{
80
88
var builder = new MockVbeBuilder ( ) ;
81
89
const string referencedProjectName = "AnyReferencedProjectName" ;
90
+ var code = string . Format ( "Public WithEvents anything As {0}.{1}" , referencedProjectName , BindingTargetName ) ;
82
91
83
92
var referencedProject = builder
84
93
. ProjectBuilder ( referencedProjectName , ReferencedProjectFilepath , ProjectProtection . Unprotected )
@@ -89,7 +98,7 @@ public void LExpressionIsProjectAndUnrestrictedNameIsType()
89
98
var enclosingProject = builder
90
99
. ProjectBuilder ( "AnyProjectName" , ProjectProtection . Unprotected )
91
100
. AddReference ( referencedProjectName , ReferencedProjectFilepath )
92
- . AddComponent ( TestClassName , ComponentType . ClassModule , string . Format ( "Public WithEvents anything As {0}.{1}" , referencedProjectName , BindingTargetName ) )
101
+ . AddComponent ( TestClassName , ComponentType . ClassModule , code )
93
102
. Build ( ) ;
94
103
builder . AddProject ( enclosingProject ) ;
95
104
@@ -105,11 +114,13 @@ public void LExpressionIsProjectAndUnrestrictedNameIsType()
105
114
public void LExpressionIsModuleAndUnrestrictedNameIsType ( )
106
115
{
107
116
var builder = new MockVbeBuilder ( ) ;
108
- const string CLASS_NAME = "AnyName" ;
109
- var enclosingProjectBuilder = builder . ProjectBuilder ( "AnyProjectName" , ProjectProtection . Unprotected ) ;
110
- enclosingProjectBuilder . AddComponent ( TestClassName , ComponentType . ClassModule , string . Format ( "Public WithEvents anything As {0}.{1}" , CLASS_NAME , BindingTargetName ) ) ;
111
- enclosingProjectBuilder . AddComponent ( CLASS_NAME , ComponentType . ClassModule , CreateUdt ( BindingTargetName ) ) ;
112
- var enclosingProject = enclosingProjectBuilder . Build ( ) ;
117
+ const string className = "AnyName" ;
118
+
119
+ var enclosingProject = builder
120
+ . ProjectBuilder ( "AnyProjectName" , ProjectProtection . Unprotected )
121
+ . AddComponent ( TestClassName , ComponentType . ClassModule , string . Format ( "Public WithEvents anything As {0}.{1}" , className , BindingTargetName ) )
122
+ . AddComponent ( className , ComponentType . ClassModule , CreateUdt ( BindingTargetName ) )
123
+ . Build ( ) ;
113
124
builder . AddProject ( enclosingProject ) ;
114
125
115
126
var vbe = builder . Build ( ) ;
@@ -123,24 +134,24 @@ public void LExpressionIsModuleAndUnrestrictedNameIsType()
123
134
[ TestMethod ]
124
135
public void NestedMemberAccessExpressions ( )
125
136
{
137
+ const string projectName = "AnyProjectName" ;
138
+ const string className = "AnyName" ;
139
+
126
140
var builder = new MockVbeBuilder ( ) ;
127
- const string PROJECT_NAME = "AnyProjectName" ;
128
- const string CLASS_NAME = "AnyName" ;
129
- var enclosingProjectBuilder = builder . ProjectBuilder ( PROJECT_NAME , ProjectProtection . Unprotected ) ;
130
- enclosingProjectBuilder . AddComponent ( TestClassName , ComponentType . ClassModule , string . Format ( "Public WithEvents anything As {0}.{1}.{2}" , PROJECT_NAME , CLASS_NAME , BindingTargetName ) ) ;
131
- enclosingProjectBuilder . AddComponent ( CLASS_NAME , ComponentType . ClassModule , CreateUdt ( BindingTargetName ) ) ;
132
- var enclosingProject = enclosingProjectBuilder . Build ( ) ;
141
+ var enclosingProject = builder
142
+ . ProjectBuilder ( projectName , ProjectProtection . Unprotected )
143
+ . AddComponent ( TestClassName , ComponentType . ClassModule , string . Format ( "Public WithEvents anything As {0}.{1}.{2}" , projectName , className , BindingTargetName ) )
144
+ . AddComponent ( className , ComponentType . ClassModule , CreateUdt ( BindingTargetName ) )
145
+ . Build ( ) ;
133
146
builder . AddProject ( enclosingProject ) ;
134
147
135
148
var vbe = builder . Build ( ) ;
136
149
var state = Parse ( vbe ) ;
137
150
138
- Declaration declaration ;
139
-
140
- declaration = state . AllUserDeclarations . Single ( d => d . DeclarationType == DeclarationType . Project && d . ProjectName == PROJECT_NAME ) ;
151
+ var declaration = state . AllUserDeclarations . Single ( d => d . DeclarationType == DeclarationType . Project && d . ProjectName == projectName ) ;
141
152
Assert . AreEqual ( 1 , declaration . References . Count ( ) , "Project reference expected" ) ;
142
153
143
- declaration = state . AllUserDeclarations . Single ( d => d . DeclarationType == DeclarationType . ClassModule && d . IdentifierName == CLASS_NAME ) ;
154
+ declaration = state . AllUserDeclarations . Single ( d => d . DeclarationType == DeclarationType . ClassModule && d . IdentifierName == className ) ;
144
155
Assert . AreEqual ( 1 , declaration . References . Count ( ) , "Module reference expected" ) ;
145
156
146
157
declaration = state . AllUserDeclarations . Single ( d => d . DeclarationType == DeclarationType . UserDefinedType && d . IdentifierName == BindingTargetName ) ;
0 commit comments