CodeAccessorFunctionTests.vb 23.3 KB
Newer Older
1 2
' Copyright (c) Microsoft.  All Rights Reserved.  Licensed under the Apache License, Version 2.0.  See License.txt in the project root for license information.

C
Cyrus Najmabadi 已提交
3
Imports System.Threading.Tasks
4 5 6 7 8 9 10
Imports Microsoft.CodeAnalysis
Imports Roslyn.Test.Utilities

Namespace Microsoft.VisualStudio.LanguageServices.UnitTests.CodeModel.VisualBasic
    Public Class CodeAccessorFunctionTests
        Inherits AbstractCodeFunctionTests

D
Dustin Campbell 已提交
11 12
#Region "GetStartPoint() Tests"

13
        <ConditionalWpfFact(GetType(x86)), Trait(Traits.Feature, Traits.Features.CodeModel)>
C
Cyrus Najmabadi 已提交
14
        Public Async Function TestGetStartPoint_PropertyGet() As Task
D
Dustin Campbell 已提交
15 16 17 18 19 20 21 22 23 24 25 26
            Dim code =
<Code>
Public Class C1
    Public Property P As String
        $$Get
        End Get
        Set(value As String)
        End Set
    End Property
End Class
</Code>

C
Cyrus Najmabadi 已提交
27
            Await TestGetStartPoint(code,
D
Dustin Campbell 已提交
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
                Part(EnvDTE.vsCMPart.vsCMPartAttributes,
                     NullTextPoint),
                Part(EnvDTE.vsCMPart.vsCMPartAttributesWithDelimiter,
                     NullTextPoint),
                Part(EnvDTE.vsCMPart.vsCMPartBody,
                     TextPoint(line:=4, lineOffset:=1, absoluteOffset:=61, lineLength:=15)),
                Part(EnvDTE.vsCMPart.vsCMPartBodyWithDelimiter,
                     TextPoint(line:=4, lineOffset:=1, absoluteOffset:=61, lineLength:=15)),
                Part(EnvDTE.vsCMPart.vsCMPartHeader,
                     TextPoint(line:=3, lineOffset:=9, absoluteOffset:=57, lineLength:=11)),
                Part(EnvDTE.vsCMPart.vsCMPartHeaderWithAttributes,
                     TextPoint(line:=3, lineOffset:=9, absoluteOffset:=57, lineLength:=11)),
                Part(EnvDTE.vsCMPart.vsCMPartName,
                     TextPoint(line:=2, lineOffset:=21, absoluteOffset:=37, lineLength:=31)),
                Part(EnvDTE.vsCMPart.vsCMPartNavigate,
                     TextPoint(line:=4, lineOffset:=9, absoluteOffset:=69, lineLength:=15)),
                Part(EnvDTE.vsCMPart.vsCMPartWhole,
                     TextPoint(line:=3, lineOffset:=9, absoluteOffset:=57, lineLength:=11)),
                Part(EnvDTE.vsCMPart.vsCMPartWholeWithAttributes,
                     TextPoint(line:=3, lineOffset:=9, absoluteOffset:=57, lineLength:=11)))
C
Cyrus Najmabadi 已提交
48
        End Function
D
Dustin Campbell 已提交
49

50
        <ConditionalWpfFact(GetType(x86)), Trait(Traits.Feature, Traits.Features.CodeModel)>
C
Cyrus Najmabadi 已提交
51
        Public Async Function TestGetStartPoint_PropertySet() As Task
D
Dustin Campbell 已提交
52 53 54 55 56 57 58 59 60 61 62 63
            Dim code =
<Code>
Public Class C1
    Public Property P As String
        Get
        End Get
        $$Set(value As String)
        End Set
    End Property
End Class
</Code>

C
Cyrus Najmabadi 已提交
64
            Await TestGetStartPoint(code,
D
Dustin Campbell 已提交
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
                Part(EnvDTE.vsCMPart.vsCMPartAttributes,
                     NullTextPoint),
                Part(EnvDTE.vsCMPart.vsCMPartAttributesWithDelimiter,
                     NullTextPoint),
                Part(EnvDTE.vsCMPart.vsCMPartBody,
                     TextPoint(line:=6, lineOffset:=1, absoluteOffset:=106, lineLength:=15)),
                Part(EnvDTE.vsCMPart.vsCMPartBodyWithDelimiter,
                     TextPoint(line:=6, lineOffset:=1, absoluteOffset:=106, lineLength:=15)),
                Part(EnvDTE.vsCMPart.vsCMPartHeader,
                     TextPoint(line:=5, lineOffset:=9, absoluteOffset:=85, lineLength:=28)),
                Part(EnvDTE.vsCMPart.vsCMPartHeaderWithAttributes,
                     TextPoint(line:=5, lineOffset:=9, absoluteOffset:=85, lineLength:=28)),
                Part(EnvDTE.vsCMPart.vsCMPartName,
                     TextPoint(line:=2, lineOffset:=21, absoluteOffset:=37, lineLength:=31)),
                Part(EnvDTE.vsCMPart.vsCMPartNavigate,
                     TextPoint(line:=6, lineOffset:=9, absoluteOffset:=114, lineLength:=15)),
                Part(EnvDTE.vsCMPart.vsCMPartWhole,
                     TextPoint(line:=5, lineOffset:=9, absoluteOffset:=85, lineLength:=28)),
                Part(EnvDTE.vsCMPart.vsCMPartWholeWithAttributes,
                     TextPoint(line:=5, lineOffset:=9, absoluteOffset:=85, lineLength:=28)))
C
Cyrus Najmabadi 已提交
85
        End Function
D
Dustin Campbell 已提交
86

87
        <ConditionalWpfFact(GetType(x86)), Trait(Traits.Feature, Traits.Features.CodeModel)>
C
Cyrus Najmabadi 已提交
88
        Public Async Function TestGetStartPoint_EventAddHandler() As Task
D
Dustin Campbell 已提交
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
            Dim code =
<Code>
Imports System

Public Class C1
   Public Custom Event E1 As EventHandler
      $$AddHandler(ByVal value As EventHandler)
      End AddHandler
      RemoveHandler(ByVal value As EventHandler)
      End RemoveHandler
      RaiseEvent(ByVal sender As Object, ByVal e As EventArgs)
      End RaiseEvent
   End Event
End Class
</Code>

C
Cyrus Najmabadi 已提交
105
            Await TestGetStartPoint(code,
D
Dustin Campbell 已提交
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
                Part(EnvDTE.vsCMPart.vsCMPartAttributes,
                     NullTextPoint),
                Part(EnvDTE.vsCMPart.vsCMPartAttributesWithDelimiter,
                     NullTextPoint),
                Part(EnvDTE.vsCMPart.vsCMPartBody,
                     TextPoint(line:=6, lineOffset:=1, absoluteOffset:=121, lineLength:=20)),
                Part(EnvDTE.vsCMPart.vsCMPartBodyWithDelimiter,
                     TextPoint(line:=6, lineOffset:=1, absoluteOffset:=121, lineLength:=20)),
                Part(EnvDTE.vsCMPart.vsCMPartHeader,
                     TextPoint(line:=5, lineOffset:=7, absoluteOffset:=81, lineLength:=45)),
                Part(EnvDTE.vsCMPart.vsCMPartHeaderWithAttributes,
                     TextPoint(line:=5, lineOffset:=7, absoluteOffset:=81, lineLength:=45)),
                Part(EnvDTE.vsCMPart.vsCMPartName,
                     TextPoint(line:=4, lineOffset:=24, absoluteOffset:=56, lineLength:=41)),
                Part(EnvDTE.vsCMPart.vsCMPartNavigate,
                     TextPoint(line:=6, lineOffset:=7, absoluteOffset:=127, lineLength:=20)),
                Part(EnvDTE.vsCMPart.vsCMPartWhole,
                     TextPoint(line:=5, lineOffset:=7, absoluteOffset:=81, lineLength:=45)),
                Part(EnvDTE.vsCMPart.vsCMPartWholeWithAttributes,
                     TextPoint(line:=5, lineOffset:=7, absoluteOffset:=81, lineLength:=45)))
C
Cyrus Najmabadi 已提交
126
        End Function
D
Dustin Campbell 已提交
127

128
        <ConditionalWpfFact(GetType(x86)), Trait(Traits.Feature, Traits.Features.CodeModel)>
C
Cyrus Najmabadi 已提交
129
        Public Async Function TestGetStartPoint_EventRemoveHandler() As Task
D
Dustin Campbell 已提交
130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
            Dim code =
<Code>
Imports System

Public Class C1
   Public Custom Event E1 As EventHandler
      AddHandler(ByVal value As EventHandler)
      End AddHandler
      $$RemoveHandler(ByVal value As EventHandler)
      End RemoveHandler
      RaiseEvent(ByVal sender As Object, ByVal e As EventArgs)
      End RaiseEvent
   End Event
End Class
</Code>

C
Cyrus Najmabadi 已提交
146
            Await TestGetStartPoint(code,
D
Dustin Campbell 已提交
147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
                Part(EnvDTE.vsCMPart.vsCMPartAttributes,
                     NullTextPoint),
                Part(EnvDTE.vsCMPart.vsCMPartAttributesWithDelimiter,
                     NullTextPoint),
                Part(EnvDTE.vsCMPart.vsCMPartBody,
                     TextPoint(line:=8, lineOffset:=1, absoluteOffset:=191, lineLength:=23)),
                Part(EnvDTE.vsCMPart.vsCMPartBodyWithDelimiter,
                     TextPoint(line:=8, lineOffset:=1, absoluteOffset:=191, lineLength:=23)),
                Part(EnvDTE.vsCMPart.vsCMPartHeader,
                     TextPoint(line:=7, lineOffset:=7, absoluteOffset:=148, lineLength:=48)),
                Part(EnvDTE.vsCMPart.vsCMPartHeaderWithAttributes,
                     TextPoint(line:=7, lineOffset:=7, absoluteOffset:=148, lineLength:=48)),
                Part(EnvDTE.vsCMPart.vsCMPartName,
                     TextPoint(line:=4, lineOffset:=24, absoluteOffset:=56, lineLength:=41)),
                Part(EnvDTE.vsCMPart.vsCMPartNavigate,
                     TextPoint(line:=8, lineOffset:=7, absoluteOffset:=197, lineLength:=23)),
                Part(EnvDTE.vsCMPart.vsCMPartWhole,
                     TextPoint(line:=7, lineOffset:=7, absoluteOffset:=148, lineLength:=48)),
                Part(EnvDTE.vsCMPart.vsCMPartWholeWithAttributes,
                     TextPoint(line:=7, lineOffset:=7, absoluteOffset:=148, lineLength:=48)))
C
Cyrus Najmabadi 已提交
167
        End Function
D
Dustin Campbell 已提交
168

169
        <ConditionalWpfFact(GetType(x86)), Trait(Traits.Feature, Traits.Features.CodeModel)>
C
Cyrus Najmabadi 已提交
170
        Public Async Function TestGetStartPoint_EventRaiseEvent() As Task
D
Dustin Campbell 已提交
171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186
            Dim code =
<Code>
Imports System

Public Class C1
   Public Custom Event E1 As EventHandler
      AddHandler(ByVal value As EventHandler)
      End AddHandler
      RemoveHandler(ByVal value As EventHandler)
      End RemoveHandler
      $$RaiseEvent(ByVal sender As Object, ByVal e As EventArgs)
      End RaiseEvent
   End Event
End Class
</Code>

C
Cyrus Najmabadi 已提交
187
            Await TestGetStartPoint(code,
D
Dustin Campbell 已提交
188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207
                Part(EnvDTE.vsCMPart.vsCMPartAttributes,
                     NullTextPoint),
                Part(EnvDTE.vsCMPart.vsCMPartAttributesWithDelimiter,
                     NullTextPoint),
                Part(EnvDTE.vsCMPart.vsCMPartBody,
                     TextPoint(line:=10, lineOffset:=1, absoluteOffset:=278, lineLength:=20)),
                Part(EnvDTE.vsCMPart.vsCMPartBodyWithDelimiter,
                     TextPoint(line:=10, lineOffset:=1, absoluteOffset:=278, lineLength:=20)),
                Part(EnvDTE.vsCMPart.vsCMPartHeader,
                     TextPoint(line:=9, lineOffset:=7, absoluteOffset:=221, lineLength:=62)),
                Part(EnvDTE.vsCMPart.vsCMPartHeaderWithAttributes,
                     TextPoint(line:=9, lineOffset:=7, absoluteOffset:=221, lineLength:=62)),
                Part(EnvDTE.vsCMPart.vsCMPartName,
                     TextPoint(line:=4, lineOffset:=24, absoluteOffset:=56, lineLength:=41)),
                Part(EnvDTE.vsCMPart.vsCMPartNavigate,
                     TextPoint(line:=10, lineOffset:=7, absoluteOffset:=284, lineLength:=20)),
                Part(EnvDTE.vsCMPart.vsCMPartWhole,
                     TextPoint(line:=9, lineOffset:=7, absoluteOffset:=221, lineLength:=62)),
                Part(EnvDTE.vsCMPart.vsCMPartWholeWithAttributes,
                     TextPoint(line:=9, lineOffset:=7, absoluteOffset:=221, lineLength:=62)))
C
Cyrus Najmabadi 已提交
208
        End Function
D
Dustin Campbell 已提交
209 210 211 212 213

#End Region

#Region "GetEndPoint() Tests"

214
        <ConditionalWpfFact(GetType(x86)), Trait(Traits.Feature, Traits.Features.CodeModel)>
C
Cyrus Najmabadi 已提交
215
        Public Async Function TestGetEndPoint_PropertyGet() As Task
D
Dustin Campbell 已提交
216 217 218 219 220 221 222 223 224 225 226 227
            Dim code =
<Code>
Public Class C1
    Public Property P As String
        $$Get
        End Get
        Set(value As String)
        End Set
    End Property
End Class
</Code>

C
Cyrus Najmabadi 已提交
228
            Await TestGetEndPoint(code,
D
Dustin Campbell 已提交
229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248
                Part(EnvDTE.vsCMPart.vsCMPartAttributes,
                     NullTextPoint),
                Part(EnvDTE.vsCMPart.vsCMPartAttributesWithDelimiter,
                     NullTextPoint),
                Part(EnvDTE.vsCMPart.vsCMPartBody,
                     TextPoint(line:=4, lineOffset:=9, absoluteOffset:=69, lineLength:=15)),
                Part(EnvDTE.vsCMPart.vsCMPartBodyWithDelimiter,
                     TextPoint(line:=4, lineOffset:=9, absoluteOffset:=69, lineLength:=15)),
                Part(EnvDTE.vsCMPart.vsCMPartHeader,
                     TextPoint(line:=3, lineOffset:=12, absoluteOffset:=60, lineLength:=11)),
                Part(EnvDTE.vsCMPart.vsCMPartHeaderWithAttributes,
                     TextPoint(line:=3, lineOffset:=12, absoluteOffset:=60, lineLength:=11)),
                Part(EnvDTE.vsCMPart.vsCMPartName,
                     TextPoint(line:=2, lineOffset:=22, absoluteOffset:=38, lineLength:=31)),
                Part(EnvDTE.vsCMPart.vsCMPartNavigate,
                     TextPoint(line:=4, lineOffset:=9, absoluteOffset:=69, lineLength:=15)),
                Part(EnvDTE.vsCMPart.vsCMPartWhole,
                     TextPoint(line:=4, lineOffset:=16, absoluteOffset:=76, lineLength:=15)),
                Part(EnvDTE.vsCMPart.vsCMPartWholeWithAttributes,
                     TextPoint(line:=4, lineOffset:=16, absoluteOffset:=76, lineLength:=15)))
C
Cyrus Najmabadi 已提交
249
        End Function
D
Dustin Campbell 已提交
250

251
        <ConditionalWpfFact(GetType(x86)), Trait(Traits.Feature, Traits.Features.CodeModel)>
C
Cyrus Najmabadi 已提交
252
        Public Async Function TestGetEndPoint_PropertySet() As Task
D
Dustin Campbell 已提交
253 254 255 256 257 258 259 260 261 262 263 264
            Dim code =
<Code>
Public Class C1
    Public Property P As String
        Get
        End Get
        $$Set(value As String)
        End Set
    End Property
End Class
</Code>

C
Cyrus Najmabadi 已提交
265
            Await TestGetEndPoint(code,
D
Dustin Campbell 已提交
266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285
                Part(EnvDTE.vsCMPart.vsCMPartAttributes,
                     NullTextPoint),
                Part(EnvDTE.vsCMPart.vsCMPartAttributesWithDelimiter,
                     NullTextPoint),
                Part(EnvDTE.vsCMPart.vsCMPartBody,
                     TextPoint(line:=6, lineOffset:=9, absoluteOffset:=114, lineLength:=15)),
                Part(EnvDTE.vsCMPart.vsCMPartBodyWithDelimiter,
                     TextPoint(line:=6, lineOffset:=9, absoluteOffset:=114, lineLength:=15)),
                Part(EnvDTE.vsCMPart.vsCMPartHeader,
                     TextPoint(line:=5, lineOffset:=29, absoluteOffset:=105, lineLength:=28)),
                Part(EnvDTE.vsCMPart.vsCMPartHeaderWithAttributes,
                     TextPoint(line:=5, lineOffset:=29, absoluteOffset:=105, lineLength:=28)),
                Part(EnvDTE.vsCMPart.vsCMPartName,
                     TextPoint(line:=2, lineOffset:=22, absoluteOffset:=38, lineLength:=31)),
                Part(EnvDTE.vsCMPart.vsCMPartNavigate,
                     TextPoint(line:=6, lineOffset:=9, absoluteOffset:=114, lineLength:=15)),
                Part(EnvDTE.vsCMPart.vsCMPartWhole,
                     TextPoint(line:=6, lineOffset:=16, absoluteOffset:=121, lineLength:=15)),
                Part(EnvDTE.vsCMPart.vsCMPartWholeWithAttributes,
                     TextPoint(line:=6, lineOffset:=16, absoluteOffset:=121, lineLength:=15)))
C
Cyrus Najmabadi 已提交
286
        End Function
D
Dustin Campbell 已提交
287

288
        <ConditionalWpfFact(GetType(x86)), Trait(Traits.Feature, Traits.Features.CodeModel)>
C
Cyrus Najmabadi 已提交
289
        Public Async Function TestGetEndPoint_EventAddHandler() As Task
D
Dustin Campbell 已提交
290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305
            Dim code =
<Code>
Imports System

Public Class C1
   Public Custom Event E1 As EventHandler
      $$AddHandler(ByVal value As EventHandler)
      End AddHandler
      RemoveHandler(ByVal value As EventHandler)
      End RemoveHandler
      RaiseEvent(ByVal sender As Object, ByVal e As EventArgs)
      End RaiseEvent
   End Event
End Class
</Code>

C
Cyrus Najmabadi 已提交
306
            Await TestGetEndPoint(code,
D
Dustin Campbell 已提交
307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326
                Part(EnvDTE.vsCMPart.vsCMPartAttributes,
                     NullTextPoint),
                Part(EnvDTE.vsCMPart.vsCMPartAttributesWithDelimiter,
                     NullTextPoint),
                Part(EnvDTE.vsCMPart.vsCMPartBody,
                     TextPoint(line:=6, lineOffset:=7, absoluteOffset:=127, lineLength:=20)),
                Part(EnvDTE.vsCMPart.vsCMPartBodyWithDelimiter,
                     TextPoint(line:=6, lineOffset:=7, absoluteOffset:=127, lineLength:=20)),
                Part(EnvDTE.vsCMPart.vsCMPartHeader,
                     TextPoint(line:=5, lineOffset:=46, absoluteOffset:=120, lineLength:=45)),
                Part(EnvDTE.vsCMPart.vsCMPartHeaderWithAttributes,
                     TextPoint(line:=5, lineOffset:=46, absoluteOffset:=120, lineLength:=45)),
                Part(EnvDTE.vsCMPart.vsCMPartName,
                     TextPoint(line:=4, lineOffset:=26, absoluteOffset:=58, lineLength:=41)),
                Part(EnvDTE.vsCMPart.vsCMPartNavigate,
                     TextPoint(line:=6, lineOffset:=7, absoluteOffset:=127, lineLength:=20)),
                Part(EnvDTE.vsCMPart.vsCMPartWhole,
                     TextPoint(line:=6, lineOffset:=21, absoluteOffset:=141, lineLength:=20)),
                Part(EnvDTE.vsCMPart.vsCMPartWholeWithAttributes,
                     TextPoint(line:=6, lineOffset:=21, absoluteOffset:=141, lineLength:=20)))
C
Cyrus Najmabadi 已提交
327
        End Function
D
Dustin Campbell 已提交
328

329
        <ConditionalWpfFact(GetType(x86)), Trait(Traits.Feature, Traits.Features.CodeModel)>
C
Cyrus Najmabadi 已提交
330
        Public Async Function TestGetEndPoint_EventRemoveHandler() As Task
D
Dustin Campbell 已提交
331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346
            Dim code =
<Code>
Imports System

Public Class C1
   Public Custom Event E1 As EventHandler
      AddHandler(ByVal value As EventHandler)
      End AddHandler
      $$RemoveHandler(ByVal value As EventHandler)
      End RemoveHandler
      RaiseEvent(ByVal sender As Object, ByVal e As EventArgs)
      End RaiseEvent
   End Event
End Class
</Code>

C
Cyrus Najmabadi 已提交
347
            Await TestGetEndPoint(code,
D
Dustin Campbell 已提交
348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367
                Part(EnvDTE.vsCMPart.vsCMPartAttributes,
                     NullTextPoint),
                Part(EnvDTE.vsCMPart.vsCMPartAttributesWithDelimiter,
                     NullTextPoint),
                Part(EnvDTE.vsCMPart.vsCMPartBody,
                     TextPoint(line:=8, lineOffset:=7, absoluteOffset:=197, lineLength:=23)),
                Part(EnvDTE.vsCMPart.vsCMPartBodyWithDelimiter,
                     TextPoint(line:=8, lineOffset:=7, absoluteOffset:=197, lineLength:=23)),
                Part(EnvDTE.vsCMPart.vsCMPartHeader,
                     TextPoint(line:=7, lineOffset:=49, absoluteOffset:=190, lineLength:=48)),
                Part(EnvDTE.vsCMPart.vsCMPartHeaderWithAttributes,
                     TextPoint(line:=7, lineOffset:=49, absoluteOffset:=190, lineLength:=48)),
                Part(EnvDTE.vsCMPart.vsCMPartName,
                     TextPoint(line:=4, lineOffset:=26, absoluteOffset:=58, lineLength:=41)),
                Part(EnvDTE.vsCMPart.vsCMPartNavigate,
                     TextPoint(line:=8, lineOffset:=7, absoluteOffset:=197, lineLength:=23)),
                Part(EnvDTE.vsCMPart.vsCMPartWhole,
                     TextPoint(line:=8, lineOffset:=24, absoluteOffset:=214, lineLength:=23)),
                Part(EnvDTE.vsCMPart.vsCMPartWholeWithAttributes,
                     TextPoint(line:=8, lineOffset:=24, absoluteOffset:=214, lineLength:=23)))
C
Cyrus Najmabadi 已提交
368
        End Function
D
Dustin Campbell 已提交
369

370
        <ConditionalWpfFact(GetType(x86)), Trait(Traits.Feature, Traits.Features.CodeModel)>
C
Cyrus Najmabadi 已提交
371
        Public Async Function TestGetEndPoint_EventRaiseEvent() As Task
D
Dustin Campbell 已提交
372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387
            Dim code =
<Code>
Imports System

Public Class C1
   Public Custom Event E1 As EventHandler
      AddHandler(ByVal value As EventHandler)
      End AddHandler
      RemoveHandler(ByVal value As EventHandler)
      End RemoveHandler
      $$RaiseEvent(ByVal sender As Object, ByVal e As EventArgs)
      End RaiseEvent
   End Event
End Class
</Code>

C
Cyrus Najmabadi 已提交
388
            Await TestGetEndPoint(code,
D
Dustin Campbell 已提交
389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408
                Part(EnvDTE.vsCMPart.vsCMPartAttributes,
                     NullTextPoint),
                Part(EnvDTE.vsCMPart.vsCMPartAttributesWithDelimiter,
                     NullTextPoint),
                Part(EnvDTE.vsCMPart.vsCMPartBody,
                     TextPoint(line:=10, lineOffset:=7, absoluteOffset:=284, lineLength:=20)),
                Part(EnvDTE.vsCMPart.vsCMPartBodyWithDelimiter,
                     TextPoint(line:=10, lineOffset:=7, absoluteOffset:=284, lineLength:=20)),
                Part(EnvDTE.vsCMPart.vsCMPartHeader,
                     TextPoint(line:=9, lineOffset:=63, absoluteOffset:=277, lineLength:=62)),
                Part(EnvDTE.vsCMPart.vsCMPartHeaderWithAttributes,
                     TextPoint(line:=9, lineOffset:=63, absoluteOffset:=277, lineLength:=62)),
                Part(EnvDTE.vsCMPart.vsCMPartName,
                     TextPoint(line:=4, lineOffset:=26, absoluteOffset:=58, lineLength:=41)),
                Part(EnvDTE.vsCMPart.vsCMPartNavigate,
                     TextPoint(line:=10, lineOffset:=7, absoluteOffset:=284, lineLength:=20)),
                Part(EnvDTE.vsCMPart.vsCMPartWhole,
                     TextPoint(line:=10, lineOffset:=21, absoluteOffset:=298, lineLength:=20)),
                Part(EnvDTE.vsCMPart.vsCMPartWholeWithAttributes,
                     TextPoint(line:=10, lineOffset:=21, absoluteOffset:=298, lineLength:=20)))
C
Cyrus Najmabadi 已提交
409
        End Function
D
Dustin Campbell 已提交
410 411 412

#End Region

413 414
#Region "Access tests"

415
        <ConditionalWpfFact(GetType(x86)), Trait(Traits.Feature, Traits.Features.CodeModel)>
C
Cyrus Najmabadi 已提交
416
        Public Async Function TestAccess1() As Task
417 418 419 420 421 422 423 424 425 426 427 428 429 430
            Dim code =
    <Code>
Class C
    Public Property P As Integer
        Get
            Return 0
        End Get
        $$Set(value As Integer)

        End Set
    End Property
End Class
</Code>

C
Cyrus Najmabadi 已提交
431 432
            Await TestAccess(code, EnvDTE.vsCMAccess.vsCMAccessPublic)
        End Function
433

434
        <ConditionalWpfFact(GetType(x86)), Trait(Traits.Feature, Traits.Features.CodeModel)>
C
Cyrus Najmabadi 已提交
435
        Public Async Function TestAccess2() As Task
436 437 438 439 440 441 442 443 444 445 446 447 448 449
            Dim code =
    <Code>
Class C
    Public Property P As Integer
        Get
            Return 0
        End Get
        Private $$Set(value As Integer)

        End Set
    End Property
End Class
</Code>

C
Cyrus Najmabadi 已提交
450 451
            Await TestAccess(code, EnvDTE.vsCMAccess.vsCMAccessPrivate)
        End Function
452

453 454 455 456
#End Region

#Region "FunctionKind tests"

457
        <ConditionalWpfFact(GetType(x86)), Trait(Traits.Feature, Traits.Features.CodeModel)>
C
Cyrus Najmabadi 已提交
458
        Public Async Function TestFunctionKind_Get() As Task
D
Dustin Campbell 已提交
459 460 461 462 463 464 465 466 467 468 469 470
            Dim code =
<Code>
Public Class C1
    Public Property P As String
        $$Get
        End Get
        Set(value As String)
        End Set
    End Property
End Class
</Code>

C
Cyrus Najmabadi 已提交
471 472
            Await TestFunctionKind(code, EnvDTE.vsCMFunction.vsCMFunctionPropertyGet)
        End Function
D
Dustin Campbell 已提交
473

474
        <ConditionalWpfFact(GetType(x86)), Trait(Traits.Feature, Traits.Features.CodeModel)>
C
Cyrus Najmabadi 已提交
475
        Public Async Function TestFunctionKind_Set() As Task
D
Dustin Campbell 已提交
476 477 478 479 480 481 482 483 484 485 486 487
            Dim code =
<Code>
Public Class C1
    Public Property P As String
        Get
        End Get
        $$Set(value As String)
        End Set
    End Property
End Class
</Code>

C
Cyrus Najmabadi 已提交
488 489
            Await TestFunctionKind(code, EnvDTE.vsCMFunction.vsCMFunctionPropertySet)
        End Function
D
Dustin Campbell 已提交
490

491
        <ConditionalWpfFact(GetType(x86)), Trait(Traits.Feature, Traits.Features.CodeModel)>
C
Cyrus Najmabadi 已提交
492
        Public Async Function TestFunctionKind_AddHandler() As Task
493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514
            Dim code =
<Code>
Imports System

Public Class C1

   Public Custom Event E1 As EventHandler

      $$AddHandler(ByVal value As EventHandler)
      End AddHandler

      RemoveHandler(ByVal value As EventHandler)
      End RemoveHandler

      RaiseEvent(ByVal sender As Object, ByVal e As EventArgs)
      End RaiseEvent

   End Event

End Clas
</Code>

C
Cyrus Najmabadi 已提交
515 516
            Await TestFunctionKind(code, EnvDTE80.vsCMFunction2.vsCMFunctionAddHandler)
        End Function
517

518
        <ConditionalWpfFact(GetType(x86)), Trait(Traits.Feature, Traits.Features.CodeModel)>
C
Cyrus Najmabadi 已提交
519
        Public Async Function TestFunctionKind_RemoveHandler() As Task
520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541
            Dim code =
<Code>
Imports System

Public Class C1

   Public Custom Event E1 As EventHandler

      AddHandler(ByVal value As EventHandler)
      End AddHandler

      $$RemoveHandler(ByVal value As EventHandler)
      End RemoveHandler

      RaiseEvent(ByVal sender As Object, ByVal e As EventArgs)
      End RaiseEvent

   End Event

End Clas
</Code>

C
Cyrus Najmabadi 已提交
542 543
            Await TestFunctionKind(code, EnvDTE80.vsCMFunction2.vsCMFunctionRemoveHandler)
        End Function
544

545
        <ConditionalWpfFact(GetType(x86)), Trait(Traits.Feature, Traits.Features.CodeModel)>
C
Cyrus Najmabadi 已提交
546
        Public Async Function TestFunctionKind_RaiseEvent() As Task
547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568
            Dim code =
<Code>
Imports System

Public Class C1

   Public Custom Event E1 As EventHandler

      AddHandler(ByVal value As EventHandler)
      End AddHandler

      RemoveHandler(ByVal value As EventHandler)
      End RemoveHandler

      $$RaiseEvent(ByVal sender As Object, ByVal e As EventArgs)
      End RaiseEvent

   End Event

End Clas
</Code>

C
Cyrus Najmabadi 已提交
569 570
            Await TestFunctionKind(code, EnvDTE80.vsCMFunction2.vsCMFunctionRaiseEvent)
        End Function
571

572 573 574 575 576 577 578 579 580 581 582
#End Region

        Protected Overrides ReadOnly Property LanguageName As String
            Get
                Return LanguageNames.VisualBasic
            End Get
        End Property
    End Class
End Namespace