Files
PowerToys/src/modules/cmdpal/Tests/Microsoft.CmdPal.Ext.System.UnitTests/BasicTests.cs
Yu Leng 2a53fd137a [cmdpal] Migrate some plugin's unit tests from PT run to cmdpal. (#40462)
<!-- Enter a brief description/summary of your PR here. What does it
fix/what does it change/how was it tested (even manually, if necessary)?
-->
## Summary of the Pull Request
Migrate blow plugin's from UT to cmdpal:
1. TimeDate
2. WindowWalker
3. System
4. Registry

This PR is mostly helped by Copilot. Please feel free to change cases in
the future.

<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist

- [x] **Closes:** #40461
- [x] **Communication:** I've discussed this with core contributors
already. If the work hasn't been agreed, this work might be rejected
- [x] **Tests:** Added/updated and all pass
- [ ] **Localization:** All end-user-facing strings can be localized
- [ ] **Dev docs:** Added/updated
- [ ] **New binaries:** Added on the required places
- [ ] [JSON for
signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json)
for new binaries
- [ ] [WXS for
installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs)
for new binaries and localization folder
- [ ] [YML for CI
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml)
for new test projects
- [ ] [YML for signed
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml)
- [ ] **Documentation updated:** If checked, please file a pull request
on [our docs
repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys)
and link it here: #xxx

<!-- Provide a more detailed description of the PR, other things fixed,
or any additional comments/features here -->
## Detailed Description of the Pull Request / Additional comments

<!-- Describe how you validated the behavior. Add automated tests
wherever possible, but list manual validation steps taken as well -->
## Validation Steps Performed

---------

Co-authored-by: Yu Leng <yuleng@microsoft.com>
2025-07-22 17:25:07 +08:00

85 lines
2.6 KiB
C#

// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System;
using Microsoft.CmdPal.Ext.System.Helpers;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.CmdPal.Ext.System.UnitTests;
[TestClass]
public class BasicTests
{
[TestMethod]
public void CommandsHelperTest()
{
// Setup & Act
var commands = Commands.GetSystemCommands(false, false, false, false);
// Assert
Assert.IsNotNull(commands);
Assert.IsTrue(commands.Count > 0);
}
[TestMethod]
public void IconsHelperTest()
{
// Assert
Assert.IsNotNull(Icons.FirmwareSettingsIcon);
Assert.IsNotNull(Icons.LockIcon);
Assert.IsNotNull(Icons.LogoffIcon);
Assert.IsNotNull(Icons.NetworkAdapterIcon);
Assert.IsNotNull(Icons.RecycleBinIcon);
Assert.IsNotNull(Icons.RestartIcon);
Assert.IsNotNull(Icons.RestartShellIcon);
Assert.IsNotNull(Icons.ShutdownIcon);
Assert.IsNotNull(Icons.SleepIcon);
}
[TestMethod]
public void Win32HelpersTest()
{
// Setup & Act
// These methods should not throw exceptions
var firmwareType = Win32Helpers.GetSystemFirmwareType();
// Assert
// Just testing that they don't throw exceptions
Assert.IsTrue(Enum.IsDefined(typeof(FirmwareType), firmwareType));
}
[TestMethod]
public void NetworkConnectionPropertiesTest()
{
// Test that network connection properties can be accessed without throwing exceptions
try
{
var networkPropertiesList = NetworkConnectionProperties.GetList();
// If we have network connections, test accessing their properties
if (networkPropertiesList.Count > 0)
{
var networkProperties = networkPropertiesList[0];
// Access properties (these used to be methods)
var ipv4 = networkProperties.IPv4;
var ipv6 = networkProperties.IPv6Primary;
var macAddress = networkProperties.PhysicalAddress;
// Test passes if no exceptions are thrown
Assert.IsTrue(true);
}
else
{
// If no network connections, test still passes
Assert.IsTrue(true);
}
}
catch
{
Assert.Fail("Network properties should not throw exceptions");
}
}
}