Как мне протестировать/смоделировать этот код? Помогите пожалуйста
Public Enum FindDirection As Short Up = 0 Down = 1 End Enum ' FindNext Private Sub FindNext(ByVal [Control] As RichTextBox, _ ByVal SearchText As String, _ ByVal Direction As FindDirection, _ Optional ByVal IgnoreCase As System.Text.RegularExpressions.RegexOptions = RegexOptions.None, _ Optional ByVal Highlight_BackColor As Color = Nothing, _ Optional ByVal Highlight_ForeColor As Color = Nothing) If [Control].TextLength = 0 Then Exit Sub ' Start searching at 'SelectionStart'. Dim Search_StartIndex As Integer = [Control].SelectionStart ' Stores the MatchIndex count Dim matchIndex As Integer = 0 ' Flag to check if it's first find call Static First_Find As Boolean = True ' Checks to don't ommit the selection of first match if match index is exactly at 0 start point. If First_Find _ AndAlso Search_StartIndex = 0 _ AndAlso Direction = FindDirection.Down Then Search_StartIndex = -1 First_Find = False ElseIf Not First_Find _ AndAlso Search_StartIndex = 0 _ AndAlso Direction = FindDirection.Down Then First_Find = False Search_StartIndex = 0 End If ' Store the matches Dim matches As System.Text.RegularExpressions.MatchCollection = _ System.Text.RegularExpressions.Regex.Matches([Control].Text, _ SearchText, _ IgnoreCase Or If(Direction = FindDirection.Up, _ RegexOptions.RightToLeft, _ RegexOptions.None)) If matches.Count = 0 Then First_Find = True : Exit Sub ' Restore Highlight colors of previous selection [Control].SelectionBackColor = [Control].BackColor [Control].SelectionColor = [Control].ForeColor ' Set next selection Highlight colors If Highlight_BackColor = Nothing Then Highlight_BackColor = [Control].BackColor If Highlight_ForeColor = Nothing Then Highlight_ForeColor = [Control].ForeColor ' Set the match selection For Each match As System.Text.RegularExpressions.Match In matches matchIndex += 1 Select Case Direction Case FindDirection.Down If match.Index > Search_StartIndex Then ' Select next match [Control].Select(match.Index, match.Length) Exit For ElseIf match.Index <= Search_StartIndex _ AndAlso matchIndex = matches.Count Then ' Select first match [Control].Select(matches.Item(0).Index, matches.Item(0).Length) Exit For End If Case FindDirection.Up If match.Index < Search_StartIndex Then ' Select previous match [Control].Select(match.Index, match.Length) Exit For ElseIf match.Index >= Search_StartIndex _ AndAlso matchIndex = matches.Count Then ' Select last match [Control].Select(matches.Item(0).Index, matches.Item(0).Length) Exit For End If End Select Next match ' Set the current selection BackColor [Control].SelectionBackColor = Highlight_BackColor ' Set the current selection ForeColor [Control].SelectionColor = Highlight_ForeColor ' Scroll to Caret/Cursor selection position [Control].ScrollToCaret() End Sub
Что я уже пробовал:
Как мне протестировать/смоделировать этот код? помогите пожалуйста
Richard MacCutchan
Предоставляя ему тестовые данные, которые выполняют каждый путь кода.
Member 14905183
не могли бы вы дать мне образец?
Richard MacCutchan
Как же так? Я понятия не имею, что должен делать ваш код и какие данные он обрабатывает. Используйте Google, чтобы найти статьи по автоматическому тестированию.