MainViewModelTest.cs
1 // Copyright (c) Microsoft Corporation 2 // The Microsoft Corporation licenses this file to you under the MIT license. 3 // See the LICENSE file in the project root for more information. 4 5 using Microsoft.VisualStudio.TestTools.UnitTesting; 6 using PowerLauncher.ViewModel; 7 8 namespace Wox.Test 9 { 10 [TestClass] 11 public class MainViewModelTest 12 { 13 [TestMethod] 14 public void MainViewModelGetAutoCompleteTextReturnsEmptyStringWhenInputIsNull() 15 { 16 // Arrange 17 int index = 0; 18 string input = null; 19 string query = "M"; 20 21 // Act 22 string autoCompleteText = MainViewModel.GetAutoCompleteText(index, input, query); 23 24 // Assert 25 Assert.AreEqual(string.Empty, autoCompleteText); 26 } 27 28 [TestMethod] 29 public void MainViewModelGetAutoCompleteTextReturnsEmptyStringWhenInputIsEmpty() 30 { 31 // Arrange 32 int index = 0; 33 string input = string.Empty; 34 string query = "M"; 35 36 // Act 37 string autoCompleteText = MainViewModel.GetAutoCompleteText(index, input, query); 38 39 // Assert 40 Assert.AreEqual(string.Empty, autoCompleteText); 41 } 42 43 [TestMethod] 44 public void MainViewModelGetAutoCompleteTextReturnsEmptyStringWhenQueryIsNull() 45 { 46 // Arrange 47 int index = 0; 48 string input = "M"; 49 string query = null; 50 51 // Act 52 string autoCompleteText = MainViewModel.GetAutoCompleteText(index, input, query); 53 54 // Assert 55 Assert.AreEqual(string.Empty, autoCompleteText); 56 } 57 58 [TestMethod] 59 public void MainViewModelGetAutoCompleteTextReturnsEmptyStringWhenQueryIsEmpty() 60 { 61 // Arrange 62 int index = 0; 63 string input = "M"; 64 string query = string.Empty; 65 66 // Act 67 string autoCompleteText = MainViewModel.GetAutoCompleteText(index, input, query); 68 69 // Assert 70 Assert.AreEqual(string.Empty, autoCompleteText); 71 } 72 73 [TestMethod] 74 public void MainViewModelGetAutoCompleteTextReturnsEmptyStringWhenIndexIsNonZero() 75 { 76 // Arrange 77 int index = 2; 78 string input = "Visual"; 79 string query = "Vis"; 80 81 // Act 82 string autoCompleteText = MainViewModel.GetAutoCompleteText(index, input, query); 83 84 // Assert 85 Assert.AreEqual(string.Empty, autoCompleteText); 86 } 87 88 [TestMethod] 89 public void MainViewModelGetAutoCompleteTextReturnsMatchingStringWhenIndexIsZeroAndMatch() 90 { 91 // Arrange 92 int index = 0; 93 string input = "VISUAL"; 94 string query = "VIs"; 95 string expectedAutoCompleteText = "VIsUAL"; 96 97 // Act 98 string autoCompleteText = MainViewModel.GetAutoCompleteText(index, input, query); 99 100 // Assert 101 Assert.AreEqual(expectedAutoCompleteText, autoCompleteText); 102 } 103 104 [TestMethod] 105 public void MainViewModelGetAutoCompleteTextReturnsEmptyStringWhenIndexIsZeroAndNoMatch() 106 { 107 // Arrange 108 int index = 0; 109 string input = "VISUAL"; 110 string query = "Vim"; 111 string expectedAutoCompleteText = string.Empty; 112 113 // Act 114 string autoCompleteText = MainViewModel.GetAutoCompleteText(index, input, query); 115 116 // Assert 117 Assert.AreEqual(expectedAutoCompleteText, autoCompleteText); 118 } 119 120 [TestMethod] 121 public void MainViewModelGetSearchTextReturnsEmptyStringWhenInputIsNull() 122 { 123 // Arrange 124 int index = 0; 125 string input = null; 126 string query = "M"; 127 128 // Act 129 string autoCompleteText = MainViewModel.GetSearchText(index, input, query); 130 131 // Assert 132 Assert.AreEqual(string.Empty, autoCompleteText); 133 } 134 135 [TestMethod] 136 public void MainViewModelGetSearchTextReturnsEmptyStringWhenInputIsEmpty() 137 { 138 // Arrange 139 int index = 0; 140 string input = string.Empty; 141 string query = "M"; 142 143 // Act 144 string autoCompleteText = MainViewModel.GetSearchText(index, input, query); 145 146 // Assert 147 Assert.AreEqual(string.Empty, autoCompleteText); 148 } 149 150 [TestMethod] 151 public void MainViewModelGetSearchTextReturnsInputStringWhenQueryIsNull() 152 { 153 // Arrange 154 int index = 0; 155 string input = "Visual"; 156 string query = null; 157 158 // Act 159 string autoCompleteText = MainViewModel.GetSearchText(index, input, query); 160 161 // Assert 162 Assert.AreEqual(input, autoCompleteText); 163 } 164 165 [TestMethod] 166 public void MainViewModelGetSearchTextReturnsInputStringWhenQueryIsEmpty() 167 { 168 // Arrange 169 int index = 0; 170 string input = "Visual"; 171 string query = string.Empty; 172 173 // Act 174 string autoCompleteText = MainViewModel.GetSearchText(index, input, query); 175 176 // Assert 177 Assert.AreEqual(input, autoCompleteText); 178 } 179 180 [TestMethod] 181 public void MainViewModelGetSearchTextReturnsMatchingStringWithCaseWhenIndexIsZeroAndMatch() 182 { 183 // Arrange 184 int index = 0; 185 string input = "VISUAL"; 186 string query = "VIs"; 187 string expectedAutoCompleteText = "VIsUAL"; 188 189 // Act 190 string autoCompleteText = MainViewModel.GetSearchText(index, input, query); 191 192 // Assert 193 Assert.AreEqual(expectedAutoCompleteText, autoCompleteText); 194 } 195 196 [TestMethod] 197 public void MainViewModelGetSearchTextReturnsInputWhenIndexIsZeroAndNoMatch() 198 { 199 // Arrange 200 int index = 0; 201 string input = "VISUAL"; 202 string query = "Vim"; 203 204 // Act 205 string autoCompleteText = MainViewModel.GetSearchText(index, input, query); 206 207 // Assert 208 Assert.AreEqual(input, autoCompleteText); 209 } 210 211 [TestMethod] 212 public void ShouldAutoCompleteTextBeEmptyShouldReturnFalseWhenAutoCompleteTextIsEmpty() 213 { 214 // Arrange 215 string queryText = "Te"; 216 string autoCompleteText = string.Empty; 217 218 // Act 219 bool result = MainViewModel.ShouldAutoCompleteTextBeEmpty(queryText, autoCompleteText); 220 221 // Assert 222 Assert.AreEqual(false, result); 223 } 224 225 [TestMethod] 226 public void ShouldAutoCompleteTextBeEmptyShouldReturnTrueWhenQueryTextMatchAutoCompleteText() 227 { 228 // Arrange 229 string queryText = "Te"; 230 string autoCompleteText = "Teams"; 231 232 // Act 233 bool result = MainViewModel.ShouldAutoCompleteTextBeEmpty(queryText, autoCompleteText); 234 235 // Assert 236 Assert.AreEqual(false, result); 237 } 238 239 [TestMethod] 240 public void ShouldAutoCompleteTextBeEmptyShouldReturnTrueWhenQueryTextIsEmpty() 241 { 242 // Arrange 243 string queryText = string.Empty; 244 string autoCompleteText = "Teams"; 245 246 // Act 247 bool result = MainViewModel.ShouldAutoCompleteTextBeEmpty(queryText, autoCompleteText); 248 249 // Assert 250 Assert.AreEqual(true, result); 251 } 252 253 [TestMethod] 254 public void ShouldAutoCompleteTextBeEmptyShouldReturnTrueWhenQueryTextDoesNotMatchAutoCompleteText() 255 { 256 // Arrange 257 string queryText = "TE"; 258 string autoCompleteText = "Teams"; 259 260 // Act 261 bool result = MainViewModel.ShouldAutoCompleteTextBeEmpty(queryText, autoCompleteText); 262 263 // Assert 264 Assert.AreEqual(true, result); 265 } 266 } 267 }