UWPTests.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; 6 using System.Collections.Generic; 7 8 using Castle.Core.Internal; 9 using Microsoft.Plugin.Program.Programs; 10 using Microsoft.VisualStudio.TestTools.UnitTesting; 11 using Moq; 12 13 namespace Microsoft.Plugin.Program.UnitTests.Programs 14 { 15 [TestClass] 16 public class UWPTests 17 { 18 private static readonly PackageWrapper DevelopmentModeApp = new PackageWrapper( 19 "DevelopmentApp", 20 "DevelopmentApp", 21 "DevelopmentApp", 22 false, 23 true, 24 "AppxManifests/DevelopmentApp"); 25 26 private static readonly PackageWrapper FrameworkApp = new PackageWrapper( 27 "FrameworkApp", 28 "FrameworkApp", 29 "FrameworkApp", 30 true, 31 false, 32 "AppxManifests/FrameworkApp"); 33 34 private static readonly PackageWrapper PackagedApp = new PackageWrapper( 35 "PackagedApp", 36 "PackagedApp", 37 "PackagedApp", 38 false, 39 false, 40 "AppxManifests/PackagedApp"); 41 42 [TestMethod] 43 public void AllShouldReturnPackagesWithDevelopmentModeWhenCalled() 44 { 45 // Arrange 46 Main.Settings = new ProgramPluginSettings(); 47 List<IPackage> packages = new List<IPackage>() { DevelopmentModeApp, PackagedApp }; 48 var mock = new Mock<IPackageManager>(); 49 mock.Setup(x => x.FindPackagesForCurrentUser()).Returns(packages); 50 UWP.PackageManagerWrapper = mock.Object; 51 52 // Act 53 var applications = UWP.All(); 54 55 // Assert 56 Assert.AreEqual(2, applications.Length); 57 Assert.IsTrue(Array.FindAll(applications, x => x.Name == "DevelopmentApp").Length > 0); 58 Assert.IsTrue(Array.FindAll(applications, x => x.Name == "PackagedApp").Length > 0); 59 } 60 61 [TestMethod] 62 public void AllShouldNotReturnPackageFrameworksWhenCalled() 63 { 64 // Arrange 65 Main.Settings = new ProgramPluginSettings(); 66 List<IPackage> packages = new List<IPackage>() { FrameworkApp, PackagedApp }; 67 var mock = new Mock<IPackageManager>(); 68 mock.Setup(x => x.FindPackagesForCurrentUser()).Returns(packages); 69 UWP.PackageManagerWrapper = mock.Object; 70 71 // Act 72 var applications = UWP.All(); 73 74 // Assert 75 Assert.AreEqual(1, applications.Length); 76 Assert.IsTrue(Array.FindAll(applications, x => x.Name == "PackagedApp").Length > 0); 77 } 78 79 [TestMethod] 80 public void PowerToysRunShouldNotAddInvalidAppWhenIndexingUWPApplications() 81 { 82 // Arrange 83 PackageWrapper invalidPackagedApp = new PackageWrapper(); 84 Main.Settings = new ProgramPluginSettings(); 85 List<IPackage> packages = new List<IPackage>() { invalidPackagedApp }; 86 var mock = new Mock<IPackageManager>(); 87 mock.Setup(x => x.FindPackagesForCurrentUser()).Returns(packages); 88 UWP.PackageManagerWrapper = mock.Object; 89 90 // Act 91 var applications = UWP.All(); 92 93 // Assert 94 Assert.AreEqual(0, applications.Length); 95 } 96 } 97 }