QueryTests.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 System.Linq; 6 using Microsoft.CmdPal.Ext.UnitTestBase; 7 using Microsoft.VisualStudio.TestTools.UnitTesting; 8 9 namespace Microsoft.CmdPal.Ext.Apps.UnitTests; 10 11 [TestClass] 12 public class QueryTests : CommandPaletteUnitTestBase 13 { 14 [TestMethod] 15 public void QueryReturnsExpectedResults() 16 { 17 // Arrange 18 var mockCache = new MockAppCache(); 19 var win32App = TestDataHelper.CreateTestWin32Program("Notepad", "C:\\Windows\\System32\\notepad.exe"); 20 var uwpApp = TestDataHelper.CreateTestUWPApplication("Calculator"); 21 mockCache.AddWin32Program(win32App); 22 mockCache.AddUWPApplication(uwpApp); 23 24 for (var i = 0; i < 10; i++) 25 { 26 mockCache.AddWin32Program(TestDataHelper.CreateTestWin32Program($"App{i}")); 27 mockCache.AddUWPApplication(TestDataHelper.CreateTestUWPApplication($"UWP App {i}")); 28 } 29 30 var page = new AllAppsPage(mockCache); 31 var provider = new AllAppsCommandProvider(page); 32 33 // Act 34 var allItems = page.GetItems(); 35 36 // Assert 37 var notepadResult = Query("notepad", allItems).FirstOrDefault(); 38 Assert.IsNotNull(notepadResult); 39 Assert.AreEqual("Notepad", notepadResult.Title); 40 41 var calculatorResult = Query("cal", allItems).FirstOrDefault(); 42 Assert.IsNotNull(calculatorResult); 43 Assert.AreEqual("Calculator", calculatorResult.Title); 44 } 45 }