Code Coverage Statistics for Source File

C:\Users\Marcus\Documents\MyCode\2007\SharpSelectWord\SharpSelectWordTest\Src\SingleWordSelectionTest.cs

Sequence Point Coverage
N/A
0 of 0
Branch Coverage
N/A
0 of 0
Lines
245
Highlight: Uncovered Code Covered Code
L V Source
1
using ICSharpCode.TextEditor.Document;
2
using MarcusHolmgren.SharpDevelop.SelectWord;
3
using NUnit.Framework;
4
5
namespace MarcusHolmgren.SharpDevelop.SelectWordTest
6
{
7
    [TestFixture]
8
    public class SingleWordSelectionTest
9
    {
10
        [Test, ExpectedException(typeof(System.ArgumentNullException))]
11
        public void NullDocumentConstructorParameter()
12
        {
13
            new SingleWordSelection(null, 0);
14
        }
15
16
17
        [Test]
18
        public void CursorAtStartOfWord()
19
        {
20
            const string TextMessage = "using(WorkflowRuntime |workflowRuntime = new WorkflowRuntime())";
21
            int offset;
22
            IDocument document = TestHelper.MakeDocument(TextMessage, out offset);
23
            
24
            ISelection selection = new SingleWordSelection(document, offset);
25
            SelectionManager selectionManager = new SelectionManager(document);
26
            selectionManager.SetSelection(selection);
27
28
            Assert.IsTrue(selection.ContainsOffset(18));
29
            Assert.AreEqual("workflowRuntime", selectionManager.SelectedText);
30
            TestHelper.CallAllProperties(selection);
31
        }
32
33
        [Test]
34
        public void CursorAtEndOfWord()
35
        {
36
            const string TextMessage = "using(WorkflowRuntime| workflowRuntime = new WorkflowRuntime())";
37
            int offset;
38
            IDocument document = TestHelper.MakeDocument(TextMessage, out offset);
39
            
40
            ISelection selection = new SingleWordSelection(document, offset);
41
            SelectionManager selectionManager = new SelectionManager(document);
42
            selectionManager.SetSelection(selection);
43
44
            Assert.AreEqual("WorkflowRuntime", selectionManager.SelectedText);
45
            TestHelper.CallAllProperties(selection);
46
        }
47
48
        [Test]
49
        public void CursorAtEndOfWord23423()
50
        {
51
            const string TextMessage = "\"|Hello World\"";
52
            int offset;
53
            IDocument document = TestHelper.MakeDocument(TextMessage, out offset);
54
55
            ISelection selection = new SingleWordSelection(document, offset);
56
            SelectionManager selectionManager = new SelectionManager(document);
57
            selectionManager.SetSelection(selection);
58
59
            Assert.AreEqual("Hello", selectionManager.SelectedText);
60
            TestHelper.CallAllProperties(selection);
61
        }
62
63
        [Test]
64
        public void CursorBeforeOpeningParentisis()
65
        {
66
            const string TextMessage = "using(WorkflowRuntime workflowRuntime = new WorkflowRuntime|())";
67
            int offset;
68
            IDocument document = TestHelper.MakeDocument(TextMessage, out offset);
69
            
70
            ISelection selection = new SingleWordSelection(document, offset);
71
            SelectionManager selectionManager = new SelectionManager(document);
72
            selectionManager.SetSelection(selection);
73
74
            Assert.AreEqual("WorkflowRuntime", selectionManager.SelectedText);
75
            TestHelper.CallAllProperties(selection);
76
        }
77
78
        [Test]
79
        public void CursorBeforeQuotationMark()
80
        {
81
            const string TextMessage = "\"hello there|\"";
82
            int offset;
83
            IDocument document = TestHelper.MakeDocument(TextMessage, out offset);
84
85
            ISelection selection = new SingleWordSelection(document, offset);
86
            SelectionManager selectionManager = new SelectionManager(document);
87
            selectionManager.SetSelection(selection);
88
89
            Assert.AreEqual("there", selectionManager.SelectedText);
90
            TestHelper.CallAllProperties(selection);
91
        }
92
93
        [Test]
94
        public void CursorPositionBeforeText()
95
        {
96
            const string TextMessage = "\rusing(WorkflowRuntime workflowRuntime = new WorkflowRuntime())";
97
            IDocument document = TestHelper.MakeDocument(TextMessage);
98
            int offset = -1;
99
            ISelection selection = new SingleWordSelection(document, offset);
100
            SelectionManager selectionManager = new SelectionManager(document);
101
            selectionManager.SetSelection(selection);
102
103
            Assert.AreEqual("using", selectionManager.SelectedText);
104
            TestHelper.CallAllProperties(selection);
105
        }
106
107
        [Test]
108
        public void NoSelectionOffsetEndOfDocument()
109
        {
110
            const string TextMessage = "using(WorkflowRuntime workflowRuntime = new WorkflowRuntime())\n\n\n";
111
            IDocument document = TestHelper.MakeDocument(TextMessage);
112
            int offset = 240;
113
            ISelection selection = new SingleWordSelection(document, offset);
114
            SelectionManager selectionManager = new SelectionManager(document);
115
            selectionManager.SetSelection(selection);
116
117
            Assert.IsTrue(selection.IsEmpty);
118
            Assert.IsEmpty(selectionManager.SelectedText);
119
            TestHelper.CallAllProperties(selection);
120
        }
121
122
        [Test]
123
        public void SelectNerestWord()
124
        {
125
            const string TextMessage = "\tIs |the bug fixed?";
126
            int offset;
127
            IDocument document = TestHelper.MakeDocument(TextMessage, out offset);
128
            
129
            ISelection selection = new SingleWordSelection(document, offset);
130
            SelectionManager selectionManager = new SelectionManager(document);
131
            selectionManager.SetSelection(selection);
132
            Assert.AreEqual("the", selectionManager.SelectedText);
133
134
            offset--;
135
            selection = new SingleWordSelection(document, offset);
136
            selectionManager.SetSelection(selection);
137
            Assert.AreEqual("Is", selectionManager.SelectedText);
138
            TestHelper.CallAllProperties(selection);
139
        }
140
141
        [Test]
142
        public void WordCloseToDot()
143
        {
144
            const string TextMessage = "char answer = Console|.ReadKey().KeyChar;";
145
            int offset;
146
            IDocument document = TestHelper.MakeDocument(TextMessage, out offset);
147
            
148
            ISelection selection = new SingleWordSelection(document, offset);
149
            SelectionManager selectionManager = new SelectionManager(document);
150
            selectionManager.SetSelection(selection);
151
            Assert.AreEqual("Console", selectionManager.SelectedText);
152
153
            offset += 1;
154
            selection = new SingleWordSelection(document, offset);
155
            selectionManager.SetSelection(selection);
156
            Assert.AreEqual("ReadKey", selectionManager.SelectedText);
157
            TestHelper.CallAllProperties(selection);
158
        }
159
160
        [Test]
161
        public void CharacterSelectStart()
162
        {
163
            const string TextMessage = "char[] validChars = new char[] {'\"', '|(', '<', '{', '['};";
164
            int offset;
165
            IDocument document = TestHelper.MakeDocument(TextMessage, out offset);
166
167
            ISelection selection = new SingleWordSelection(document, offset);
168
            SelectionManager selectionManager = new SelectionManager(document);
169
            selectionManager.SetSelection(selection);
170
            Assert.AreEqual("(", selectionManager.SelectedText);
171
        }
172
173
        [Test]
174
        public void CharacterSelectEnd()
175
        {
176
            const string TextMessage = "char[] validChars = new char[] {'\"', '(|', '<', '{', '['};";
177
            int offset;
178
            IDocument document = TestHelper.MakeDocument(TextMessage, out offset);
179
180
            ISelection selection = new SingleWordSelection(document, offset);
181
            SelectionManager selectionManager = new SelectionManager(document);
182
            selectionManager.SetSelection(selection);
183
            Assert.AreEqual("(", selectionManager.SelectedText);
184
        }
185
186
        [Test]
187
        public void CharacterSelectEndOfDocument()
188
        {
189
            const string TextMessage = "char[] validChars = new char[] {'\"', '(', '<', '{', '['};\n'|";
190
            int offset;
191
            IDocument document = TestHelper.MakeDocument(TextMessage, out offset);
192
193
            ISelection selection = new SingleWordSelection(document, offset);
194
            SelectionManager selectionManager = new SelectionManager(document);
195
            selectionManager.SetSelection(selection);
196
            Assert.IsEmpty(selectionManager.SelectedText);
197
        }
198
199
        [Test]
200
        public void EmptyDocument()
201
        {
202
            const string TextMessage = "";
203
            IDocument document = TestHelper.MakeDocument(TextMessage);
204
            int offset = 21;
205
            ISelection selection = new SingleWordSelection(document, offset);
206
            SelectionManager selectionManager = new SelectionManager(document);
207
            selectionManager.SetSelection(selection);
208
            Assert.IsEmpty(selectionManager.SelectedText);
209
            TestHelper.CallAllProperties(selection);
210
211
            offset = -2;
212
            selection = new SingleWordSelection(document, offset);
213
            selectionManager.SetSelection(selection);
214
            Assert.IsEmpty(selectionManager.SelectedText);
215
            TestHelper.CallAllProperties(selection);
216
        }
217
218
        [Test]
219
        public void NullDocument()
220
        {
221
            const string TextMessage = null;
222
            IDocument document = TestHelper.MakeDocument(TextMessage);
223
            int offset = 21;
224
            ISelection selection = new SingleWordSelection(document, offset);
225
            SelectionManager selectionManager = new SelectionManager(document);
226
            selectionManager.SetSelection(selection);
227
            Assert.IsEmpty(selectionManager.SelectedText);
228
            TestHelper.CallAllProperties(selection);
229
230
            offset = -2;
231
            selection = new SingleWordSelection(document, offset);
232
            selectionManager.SetSelection(selection);
233
            Assert.IsEmpty(selectionManager.SelectedText);
234
            TestHelper.CallAllProperties(selection);
235
        }
236
237
        
238
239
 
240
241
242
        
243
244
    }
245
}