mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-07 19:57:07 +02:00
[FancyZones]Monitor identification (#19077)
* moved monitors identifying * changed device id * get wmi info * convert old data * save/load applied layouts * changed monitor identification * id comparison * save/load app zone history * moved com and security init * update ids in editor * lib fix * updated tests * changed comparison * tests * updated id comparison * updated log * moved definition * spell check * resolve conflicts * refactoring * update serial numbers if possible
This commit is contained in:
@@ -102,22 +102,22 @@ namespace FancyZonesUnitTests
|
||||
Assert::AreEqual((size_t)2, AppZoneHistory::instance().GetFullAppZoneHistory().size());
|
||||
|
||||
{
|
||||
FancyZonesDataTypes::DeviceIdData id{
|
||||
.deviceName = L"monitor-1",
|
||||
FancyZonesDataTypes::WorkAreaId id{
|
||||
.monitorId = { .deviceId = { .id = L"monitor-1" } },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{72FA9FC0-26A6-4B37-A834-491C148DFC58}").value()
|
||||
};
|
||||
Assert::IsTrue(AppZoneHistory::instance().GetZoneHistory(L"app-1", id).has_value());
|
||||
}
|
||||
{
|
||||
FancyZonesDataTypes::DeviceIdData id{
|
||||
.deviceName = L"monitor-2",
|
||||
FancyZonesDataTypes::WorkAreaId id{
|
||||
.monitorId = { .deviceId = { .id = L"monitor-2" } },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{72FA9FC0-26A6-4B37-A834-491C148DFC58}").value()
|
||||
};
|
||||
Assert::IsTrue(AppZoneHistory::instance().GetZoneHistory(L"app-1", id).has_value());
|
||||
}
|
||||
{
|
||||
FancyZonesDataTypes::DeviceIdData id{
|
||||
.deviceName = L"monitor-1",
|
||||
FancyZonesDataTypes::WorkAreaId id{
|
||||
.monitorId = { .deviceId = { .id = L"monitor-1" } },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{72FA9FC0-26A6-4B37-A834-491C148DFC58}").value()
|
||||
};
|
||||
Assert::IsTrue(AppZoneHistory::instance().GetZoneHistory(L"app-2", id).has_value());
|
||||
@@ -197,8 +197,8 @@ namespace FancyZonesUnitTests
|
||||
Assert::AreEqual((size_t)1, AppZoneHistory::instance().GetFullAppZoneHistory().size());
|
||||
|
||||
{
|
||||
FancyZonesDataTypes::DeviceIdData id{
|
||||
.deviceName = L"monitor-1",
|
||||
FancyZonesDataTypes::WorkAreaId id{
|
||||
.monitorId = { .deviceId = { .id = L"monitor-1" } },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{72FA9FC0-26A6-4B37-A834-491C148DFC58}").value()
|
||||
};
|
||||
Assert::IsTrue(AppZoneHistory::instance().GetZoneHistory(L"app-1", id).has_value());
|
||||
@@ -208,103 +208,136 @@ namespace FancyZonesUnitTests
|
||||
TEST_METHOD (AppLastZoneInvalidWindow)
|
||||
{
|
||||
const std::wstring zoneSetId = L"{2FEC41DA-3A0B-4E31-9CE1-9473C65D99F2}";
|
||||
const FancyZonesDataTypes::DeviceIdData deviceId{ L"DELA026#5&10a58c63&0&UID16777488_2194_1234_{39B25DD2-130D-4B5D-8851-4791D66B1539}" };
|
||||
const FancyZonesDataTypes::WorkAreaId workAreaId{
|
||||
.monitorId = { .deviceId = { .id = L"DELA026", .instanceId = L"5&10a58c63&0&UID16777488" } },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{39B25DD2-130D-4B5D-8851-4791D66B1539}").value()
|
||||
};
|
||||
const auto window = Mocks::Window();
|
||||
|
||||
Assert::IsTrue(std::vector<ZoneIndex>{} == AppZoneHistory::instance().GetAppLastZoneIndexSet(window, deviceId, zoneSetId));
|
||||
Assert::IsTrue(std::vector<ZoneIndex>{} == AppZoneHistory::instance().GetAppLastZoneIndexSet(window, workAreaId, zoneSetId));
|
||||
|
||||
const int expectedZoneIndex = 1;
|
||||
Assert::IsFalse(AppZoneHistory::instance().SetAppLastZones(window, deviceId, zoneSetId, { expectedZoneIndex }));
|
||||
Assert::IsFalse(AppZoneHistory::instance().SetAppLastZones(window, workAreaId, zoneSetId, { expectedZoneIndex }));
|
||||
}
|
||||
|
||||
TEST_METHOD (AppLastZoneNullWindow)
|
||||
{
|
||||
const std::wstring zoneSetId = L"{2FEC41DA-3A0B-4E31-9CE1-9473C65D99F2}";
|
||||
const FancyZonesDataTypes::DeviceIdData deviceId{ L"DELA026#5&10a58c63&0&UID16777488_2194_1234_{39B25DD2-130D-4B5D-8851-4791D66B1539}" };
|
||||
const FancyZonesDataTypes::WorkAreaId workAreaId{
|
||||
.monitorId = { .deviceId = { .id = L"DELA026", .instanceId = L"5&10a58c63&0&UID16777488" } },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{39B25DD2-130D-4B5D-8851-4791D66B1539}").value()
|
||||
};
|
||||
const auto window = nullptr;
|
||||
|
||||
const int expectedZoneIndex = 1;
|
||||
Assert::IsFalse(AppZoneHistory::instance().SetAppLastZones(window, deviceId, zoneSetId, { expectedZoneIndex }));
|
||||
Assert::IsFalse(AppZoneHistory::instance().SetAppLastZones(window, workAreaId, zoneSetId, { expectedZoneIndex }));
|
||||
}
|
||||
|
||||
TEST_METHOD (AppLastdeviceIdTest)
|
||||
{
|
||||
const std::wstring zoneSetId = L"{2FEC41DA-3A0B-4E31-9CE1-9473C65D99F2}";
|
||||
const FancyZonesDataTypes::DeviceIdData deviceId1{ L"DELA026#5&10a58c63&0&UID16777488_2194_1234_{39B25DD2-130D-4B5D-8851-4791D66B1539}" };
|
||||
const FancyZonesDataTypes::DeviceIdData deviceId2{ L"DELA026#5&10a58c63&0&UID16777489_2194_1234_{39B25DD2-130D-4B5D-8851-4791D66B1539}" };
|
||||
const FancyZonesDataTypes::WorkAreaId workAreaId1{
|
||||
.monitorId = { .deviceId = { .id = L"DELA026", .instanceId = L"5&10a58c63&0&UID16777488" } },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{39B25DD2-130D-4B5D-8851-4791D66B1539}").value()
|
||||
};
|
||||
const FancyZonesDataTypes::WorkAreaId workAreaId2{
|
||||
.monitorId = { .deviceId = { .id = L"DELA027", .instanceId = L"5&10a58c63&0&UID16777489" } },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{39B25DD2-130D-4B5D-8851-4791D66B1539}").value()
|
||||
};
|
||||
const auto window = Mocks::WindowCreate(m_hInst);
|
||||
|
||||
const int expectedZoneIndex = 10;
|
||||
Assert::IsTrue(AppZoneHistory::instance().SetAppLastZones(window, deviceId1, zoneSetId, { expectedZoneIndex }));
|
||||
Assert::IsTrue(std::vector<ZoneIndex>{ expectedZoneIndex } == AppZoneHistory::instance().GetAppLastZoneIndexSet(window, deviceId1, zoneSetId));
|
||||
Assert::IsTrue(std::vector<ZoneIndex>{} == AppZoneHistory::instance().GetAppLastZoneIndexSet(window, deviceId2, zoneSetId));
|
||||
Assert::IsTrue(AppZoneHistory::instance().SetAppLastZones(window, workAreaId1, zoneSetId, { expectedZoneIndex }));
|
||||
Assert::IsTrue(std::vector<ZoneIndex>{ expectedZoneIndex } == AppZoneHistory::instance().GetAppLastZoneIndexSet(window, workAreaId1, zoneSetId));
|
||||
Assert::IsTrue(std::vector<ZoneIndex>{} == AppZoneHistory::instance().GetAppLastZoneIndexSet(window, workAreaId2, zoneSetId));
|
||||
}
|
||||
|
||||
TEST_METHOD (AppLastZoneSetIdTest)
|
||||
{
|
||||
const std::wstring zoneSetId1 = L"{B7A1F5A9-9DC2-4505-84AB-993253839093}";
|
||||
const std::wstring zoneSetId2 = L"{B7A1F5A9-9DC2-4505-84AB-993253839094}";
|
||||
const FancyZonesDataTypes::DeviceIdData deviceId{ L"DELA026#5&10a58c63&0&UID16777488_2194_1234_{39B25DD2-130D-4B5D-8851-4791D66B1539}" };
|
||||
const FancyZonesDataTypes::WorkAreaId workAreaId{
|
||||
.monitorId = { .deviceId = { .id = L"DELA026", .instanceId = L"5&10a58c63&0&UID16777488" } },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{39B25DD2-130D-4B5D-8851-4791D66B1539}").value()
|
||||
};
|
||||
const auto window = Mocks::WindowCreate(m_hInst);
|
||||
|
||||
const int expectedZoneIndex = 10;
|
||||
Assert::IsTrue(AppZoneHistory::instance().SetAppLastZones(window, deviceId, zoneSetId1, { expectedZoneIndex }));
|
||||
Assert::IsTrue(std::vector<ZoneIndex>{ expectedZoneIndex } == AppZoneHistory::instance().GetAppLastZoneIndexSet(window, deviceId, zoneSetId1));
|
||||
Assert::IsTrue(std::vector<ZoneIndex>{} == AppZoneHistory::instance().GetAppLastZoneIndexSet(window, deviceId, zoneSetId2));
|
||||
Assert::IsTrue(AppZoneHistory::instance().SetAppLastZones(window, workAreaId, zoneSetId1, { expectedZoneIndex }));
|
||||
Assert::IsTrue(std::vector<ZoneIndex>{ expectedZoneIndex } == AppZoneHistory::instance().GetAppLastZoneIndexSet(window, workAreaId, zoneSetId1));
|
||||
Assert::IsTrue(std::vector<ZoneIndex>{} == AppZoneHistory::instance().GetAppLastZoneIndexSet(window, workAreaId, zoneSetId2));
|
||||
}
|
||||
|
||||
TEST_METHOD (AppLastZoneRemoveWindow)
|
||||
{
|
||||
const std::wstring zoneSetId = L"{B7A1F5A9-9DC2-4505-84AB-993253839093}";
|
||||
const FancyZonesDataTypes::DeviceIdData deviceId{ L"DELA026#5&10a58c63&0&UID16777488_2194_1234_{39B25DD2-130D-4B5D-8851-4791D66B1539}" };
|
||||
const FancyZonesDataTypes::WorkAreaId workAreaId{
|
||||
.monitorId = { .deviceId = { .id = L"DELA026", .instanceId = L"5&10a58c63&0&UID16777488" } },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{39B25DD2-130D-4B5D-8851-4791D66B1539}").value()
|
||||
};
|
||||
const auto window = Mocks::WindowCreate(m_hInst);
|
||||
|
||||
Assert::IsTrue(AppZoneHistory::instance().SetAppLastZones(window, deviceId, zoneSetId, { 1 }));
|
||||
Assert::IsTrue(AppZoneHistory::instance().RemoveAppLastZone(window, deviceId, zoneSetId));
|
||||
Assert::IsTrue(std::vector<ZoneIndex>{} == AppZoneHistory::instance().GetAppLastZoneIndexSet(window, deviceId, zoneSetId));
|
||||
Assert::IsTrue(AppZoneHistory::instance().SetAppLastZones(window, workAreaId, zoneSetId, { 1 }));
|
||||
Assert::IsTrue(AppZoneHistory::instance().RemoveAppLastZone(window, workAreaId, zoneSetId));
|
||||
Assert::IsTrue(std::vector<ZoneIndex>{} == AppZoneHistory::instance().GetAppLastZoneIndexSet(window, workAreaId, zoneSetId));
|
||||
}
|
||||
|
||||
TEST_METHOD (AppLastZoneRemoveUnknownWindow)
|
||||
{
|
||||
const std::wstring zoneSetId = L"{2FEC41DA-3A0B-4E31-9CE1-9473C65D99F2}";
|
||||
const FancyZonesDataTypes::DeviceIdData deviceId{ L"DELA026#5&10a58c63&0&UID16777488_2194_1234_{39B25DD2-130D-4B5D-8851-4791D66B1539}" };
|
||||
const FancyZonesDataTypes::WorkAreaId workAreaId{
|
||||
.monitorId = { .deviceId = { .id = L"DELA026", .instanceId = L"5&10a58c63&0&UID16777488" } },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{39B25DD2-130D-4B5D-8851-4791D66B1539}").value()
|
||||
};
|
||||
const auto window = Mocks::WindowCreate(m_hInst);
|
||||
|
||||
Assert::IsFalse(AppZoneHistory::instance().RemoveAppLastZone(window, deviceId, zoneSetId));
|
||||
Assert::IsTrue(std::vector<ZoneIndex>{} == AppZoneHistory::instance().GetAppLastZoneIndexSet(window, deviceId, zoneSetId));
|
||||
Assert::IsFalse(AppZoneHistory::instance().RemoveAppLastZone(window, workAreaId, zoneSetId));
|
||||
Assert::IsTrue(std::vector<ZoneIndex>{} == AppZoneHistory::instance().GetAppLastZoneIndexSet(window, workAreaId, zoneSetId));
|
||||
}
|
||||
|
||||
TEST_METHOD (AppLastZoneRemoveUnknownZoneSetId)
|
||||
{
|
||||
const std::wstring zoneSetIdToInsert = L"{2FEC41DA-3A0B-4E31-9CE1-9473C65D99F2}";
|
||||
const std::wstring zoneSetIdToRemove = L"{2FEC41DA-3A0B-4E31-9CE1-9473C65D99F1}";
|
||||
const FancyZonesDataTypes::DeviceIdData deviceId{ L"DELA026#5&10a58c63&0&UID16777488_2194_1234_{39B25DD2-130D-4B5D-8851-4791D66B1539}" };
|
||||
const FancyZonesDataTypes::WorkAreaId workAreaId{
|
||||
.monitorId = { .deviceId = { .id = L"DELA026", .instanceId = L"5&10a58c63&0&UID16777488" } },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{39B25DD2-130D-4B5D-8851-4791D66B1539}").value()
|
||||
};
|
||||
const auto window = Mocks::WindowCreate(m_hInst);
|
||||
|
||||
Assert::IsTrue(AppZoneHistory::instance().SetAppLastZones(window, deviceId, zoneSetIdToInsert, { 1 }));
|
||||
Assert::IsFalse(AppZoneHistory::instance().RemoveAppLastZone(window, deviceId, zoneSetIdToRemove));
|
||||
Assert::IsTrue(std::vector<ZoneIndex>{ 1 } == AppZoneHistory::instance().GetAppLastZoneIndexSet(window, deviceId, zoneSetIdToInsert));
|
||||
Assert::IsTrue(AppZoneHistory::instance().SetAppLastZones(window, workAreaId, zoneSetIdToInsert, { 1 }));
|
||||
Assert::IsFalse(AppZoneHistory::instance().RemoveAppLastZone(window, workAreaId, zoneSetIdToRemove));
|
||||
Assert::IsTrue(std::vector<ZoneIndex>{ 1 } == AppZoneHistory::instance().GetAppLastZoneIndexSet(window, workAreaId, zoneSetIdToInsert));
|
||||
}
|
||||
|
||||
TEST_METHOD (AppLastZoneRemoveUnknownWindowId)
|
||||
{
|
||||
const std::wstring zoneSetId = L"{2FEC41DA-3A0B-4E31-9CE1-9473C65D99F2}";
|
||||
const FancyZonesDataTypes::DeviceIdData deviceIdToInsert{ L"DELA026#5&10a58c63&0&UID16777488_2194_1234_{39B25DD2-130D-4B5D-8851-4791D66B1539}" };
|
||||
const FancyZonesDataTypes::DeviceIdData deviceIdToRemove{ L"DELA026#5&10a58c63&0&UID16777489_2194_1234_{39B25DD2-130D-4B5D-8851-4791D66B1539}" };
|
||||
const FancyZonesDataTypes::WorkAreaId workAreaIdToInsert{
|
||||
.monitorId = { .deviceId = { .id = L"DELA026", .instanceId = L"5&10a58c63&0&UID16777488" } },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{39B25DD2-130D-4B5D-8851-4791D66B1539}").value()
|
||||
};
|
||||
const FancyZonesDataTypes::WorkAreaId workAreaIdToRemove{
|
||||
.monitorId = { .deviceId = { .id = L"DELA027", .instanceId = L"5&10a58c63&0&UID16777489" } },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{39B25DD2-130D-4B5D-8851-4791D66B1539}").value()
|
||||
};
|
||||
const auto window = Mocks::WindowCreate(m_hInst);
|
||||
|
||||
Assert::IsTrue(AppZoneHistory::instance().SetAppLastZones(window, deviceIdToInsert, zoneSetId, { 1 }));
|
||||
Assert::IsFalse(AppZoneHistory::instance().RemoveAppLastZone(window, deviceIdToRemove, zoneSetId));
|
||||
Assert::IsTrue(std::vector<ZoneIndex>{ 1 } == AppZoneHistory::instance().GetAppLastZoneIndexSet(window, deviceIdToInsert, zoneSetId));
|
||||
Assert::IsTrue(AppZoneHistory::instance().SetAppLastZones(window, workAreaIdToInsert, zoneSetId, { 1 }));
|
||||
Assert::IsFalse(AppZoneHistory::instance().RemoveAppLastZone(window, workAreaIdToRemove, zoneSetId));
|
||||
Assert::IsTrue(std::vector<ZoneIndex>{ 1 } == AppZoneHistory::instance().GetAppLastZoneIndexSet(window, workAreaIdToInsert, zoneSetId));
|
||||
}
|
||||
|
||||
TEST_METHOD (AppLastZoneRemoveNullWindow)
|
||||
{
|
||||
const std::wstring zoneSetId = L"{2FEC41DA-3A0B-4E31-9CE1-9473C65D99F2}";
|
||||
const FancyZonesDataTypes::DeviceIdData deviceId{ L"DELA026#5&10a58c63&0&UID16777488_2194_1234_{39B25DD2-130D-4B5D-8851-4791D66B1539}" };
|
||||
const FancyZonesDataTypes::WorkAreaId workAreaId{
|
||||
.monitorId = { .deviceId = { .id = L"DELA026", .instanceId = L"5&10a58c63&0&UID16777488" } },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{39B25DD2-130D-4B5D-8851-4791D66B1539}").value()
|
||||
};
|
||||
const auto window = Mocks::WindowCreate(m_hInst);
|
||||
|
||||
Assert::IsFalse(AppZoneHistory::instance().RemoveAppLastZone(nullptr, deviceId, zoneSetId));
|
||||
Assert::IsFalse(AppZoneHistory::instance().RemoveAppLastZone(nullptr, workAreaId, zoneSetId));
|
||||
}
|
||||
};
|
||||
}
|
||||
@@ -23,6 +23,7 @@ namespace FancyZonesUnitTests
|
||||
{
|
||||
std::filesystem::remove_all(AppliedLayouts::AppliedLayoutsFileName());
|
||||
std::filesystem::remove_all(PTSettingsHelper::get_module_save_folder_location(m_testFolder));
|
||||
AppliedLayouts::instance().LoadData(); // clean data
|
||||
}
|
||||
|
||||
TEST_METHOD (AppliedLayoutsParse)
|
||||
@@ -58,11 +59,12 @@ namespace FancyZonesUnitTests
|
||||
AppliedLayouts::instance().LoadData();
|
||||
Assert::AreEqual((size_t)1, AppliedLayouts::instance().GetAppliedLayoutMap().size());
|
||||
|
||||
FancyZonesDataTypes::DeviceIdData id{
|
||||
.deviceName = L"DELA026#5&10a58c63&0&UID16777488",
|
||||
FancyZonesDataTypes::WorkAreaId id{
|
||||
.monitorId = { .deviceId = { .id = L"DELA026", .instanceId = L"5&10a58c63&0&UID16777488" }, .serialNumber = L"" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{61FA9FC0-26A6-4B37-A834-491C148DFC57}").value()
|
||||
};
|
||||
Assert::IsTrue(AppliedLayouts::instance().GetDeviceLayout(id).has_value());
|
||||
Assert::IsTrue(AppliedLayouts::instance().IsLayoutApplied(id));
|
||||
}
|
||||
|
||||
TEST_METHOD(AppliedLayoutsParseDataWithResolution)
|
||||
@@ -94,11 +96,12 @@ namespace FancyZonesUnitTests
|
||||
AppliedLayouts::instance().LoadData();
|
||||
Assert::AreEqual((size_t)1, AppliedLayouts::instance().GetAppliedLayoutMap().size());
|
||||
|
||||
FancyZonesDataTypes::DeviceIdData id{
|
||||
.deviceName = L"DELA026#5&10a58c63&0&UID16777488",
|
||||
FancyZonesDataTypes::WorkAreaId id{
|
||||
.monitorId = { .deviceId = { .id = L"DELA026", .instanceId = L"5&10a58c63&0&UID16777488" }, .serialNumber = L"" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{61FA9FC0-26A6-4B37-A834-491C148DFC57}").value()
|
||||
};
|
||||
Assert::IsTrue(AppliedLayouts::instance().GetDeviceLayout(id).has_value());
|
||||
Assert::IsTrue(AppliedLayouts::instance().IsLayoutApplied(id));
|
||||
}
|
||||
|
||||
TEST_METHOD (AppliedLayoutsParseDataWithResolution2)
|
||||
@@ -147,11 +150,12 @@ namespace FancyZonesUnitTests
|
||||
AppliedLayouts::instance().LoadData();
|
||||
Assert::AreEqual((size_t)1, AppliedLayouts::instance().GetAppliedLayoutMap().size());
|
||||
|
||||
FancyZonesDataTypes::DeviceIdData id{
|
||||
.deviceName = L"DELA026#5&10a58c63&0&UID16777488",
|
||||
FancyZonesDataTypes::WorkAreaId id{
|
||||
.monitorId = { .deviceId = { .id = L"DELA026", .instanceId = L"5&10a58c63&0&UID16777488" }, .serialNumber = L"" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{61FA9FC0-26A6-4B37-A834-491C148DFC57}").value()
|
||||
};
|
||||
Assert::IsTrue(AppliedLayouts::instance().GetDeviceLayout(id).has_value());
|
||||
Assert::IsTrue(AppliedLayouts::instance().IsLayoutApplied(id));
|
||||
}
|
||||
|
||||
TEST_METHOD (AppliedLayoutsParseDataWithResolution3)
|
||||
@@ -202,11 +206,12 @@ namespace FancyZonesUnitTests
|
||||
AppliedLayouts::instance().LoadData();
|
||||
Assert::AreEqual((size_t)1, AppliedLayouts::instance().GetAppliedLayoutMap().size());
|
||||
|
||||
FancyZonesDataTypes::DeviceIdData id{
|
||||
.deviceName = L"DELA026#5&10a58c63&0&UID16777488",
|
||||
FancyZonesDataTypes::WorkAreaId id{
|
||||
.monitorId = { .deviceId = { .id = L"DELA026", .instanceId = L"5&10a58c63&0&UID16777488" }, .serialNumber = L"" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{61FA9FC0-26A6-4B37-A834-491C148DFC57}").value()
|
||||
};
|
||||
Assert::IsTrue(AppliedLayouts::instance().GetDeviceLayout(id).has_value());
|
||||
Assert::IsTrue(AppliedLayouts::instance().IsLayoutApplied(id));
|
||||
}
|
||||
|
||||
TEST_METHOD (AppliedLayoutsParseEmpty)
|
||||
@@ -262,8 +267,8 @@ namespace FancyZonesUnitTests
|
||||
AppliedLayouts::instance().LoadData();
|
||||
Assert::AreEqual((size_t)1, AppliedLayouts::instance().GetAppliedLayoutMap().size());
|
||||
|
||||
FancyZonesDataTypes::DeviceIdData id{
|
||||
.deviceName = L"VSC9636#5&37ac4db&0&UID160005",
|
||||
FancyZonesDataTypes::WorkAreaId id{
|
||||
.monitorId = { .deviceId = { .id = L"VSC9636", .instanceId = L"5&37ac4db&0&UID160005" }, .serialNumber = L"" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{00000000-0000-0000-0000-000000000000}").value()
|
||||
};
|
||||
Assert::IsTrue(AppliedLayouts::instance().GetDeviceLayout(id).has_value());
|
||||
@@ -295,12 +300,12 @@ namespace FancyZonesUnitTests
|
||||
|
||||
TEST_METHOD (CloneDeviceInfo)
|
||||
{
|
||||
FancyZonesDataTypes::DeviceIdData deviceSrc{
|
||||
.deviceName = L"Device1",
|
||||
FancyZonesDataTypes::WorkAreaId deviceSrc{
|
||||
.monitorId = { .deviceId = { .id = L"Device1", .instanceId = L"" }, .serialNumber = L"" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{00000000-0000-0000-0000-000000000000}").value()
|
||||
};
|
||||
FancyZonesDataTypes::DeviceIdData deviceDst{
|
||||
.deviceName = L"Device2",
|
||||
FancyZonesDataTypes::WorkAreaId deviceDst{
|
||||
.monitorId = { .deviceId = { .id = L"Device2", .instanceId = L"" }, .serialNumber = L"" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{00000000-0000-0000-0000-000000000000}").value()
|
||||
};
|
||||
|
||||
@@ -323,12 +328,12 @@ namespace FancyZonesUnitTests
|
||||
|
||||
TEST_METHOD (CloneDeviceInfoIntoUnknownDevice)
|
||||
{
|
||||
FancyZonesDataTypes::DeviceIdData deviceSrc{
|
||||
.deviceName = L"Device1",
|
||||
FancyZonesDataTypes::WorkAreaId deviceSrc{
|
||||
.monitorId = { .deviceId = { .id = L"Device1", .instanceId = L"" }, .serialNumber = L"" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{00000000-0000-0000-0000-000000000000}").value()
|
||||
};
|
||||
FancyZonesDataTypes::DeviceIdData deviceDst{
|
||||
.deviceName = L"Device2",
|
||||
FancyZonesDataTypes::WorkAreaId deviceDst{
|
||||
.monitorId = { .deviceId = { .id = L"Device2", .instanceId = L"" }, .serialNumber = L"" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{00000000-0000-0000-0000-000000000000}").value()
|
||||
};
|
||||
|
||||
@@ -350,12 +355,12 @@ namespace FancyZonesUnitTests
|
||||
|
||||
TEST_METHOD (CloneDeviceInfoFromUnknownDevice)
|
||||
{
|
||||
FancyZonesDataTypes::DeviceIdData deviceSrc{
|
||||
.deviceName = L"Device1",
|
||||
FancyZonesDataTypes::WorkAreaId deviceSrc{
|
||||
.monitorId = { .deviceId = { .id = L"Device1", .instanceId = L"" }, .serialNumber = L"" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{00000000-0000-0000-0000-000000000000}").value()
|
||||
};
|
||||
FancyZonesDataTypes::DeviceIdData deviceDst{
|
||||
.deviceName = L"Device2",
|
||||
FancyZonesDataTypes::WorkAreaId deviceDst{
|
||||
.monitorId = { .deviceId = { .id = L"Device2", .instanceId = L"" }, .serialNumber = L"" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{00000000-0000-0000-0000-000000000000}").value()
|
||||
};
|
||||
|
||||
@@ -370,12 +375,12 @@ namespace FancyZonesUnitTests
|
||||
|
||||
TEST_METHOD (CloneDeviceInfoNullVirtualDesktopId)
|
||||
{
|
||||
FancyZonesDataTypes::DeviceIdData deviceSrc{
|
||||
.deviceName = L"Device1",
|
||||
FancyZonesDataTypes::WorkAreaId deviceSrc{
|
||||
.monitorId = { .deviceId = { .id = L"Device1", .instanceId = L"" }, .serialNumber = L"" },
|
||||
.virtualDesktopId = GUID_NULL
|
||||
};
|
||||
FancyZonesDataTypes::DeviceIdData deviceDst{
|
||||
.deviceName = L"Device2",
|
||||
FancyZonesDataTypes::WorkAreaId deviceDst{
|
||||
.monitorId = { .deviceId = { .id = L"Device2", .instanceId = L"" }, .serialNumber = L"" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{00000000-0000-0000-0000-000000000000}").value()
|
||||
};
|
||||
|
||||
@@ -399,8 +404,8 @@ namespace FancyZonesUnitTests
|
||||
TEST_METHOD (ApplyLayout)
|
||||
{
|
||||
// prepare
|
||||
FancyZonesDataTypes::DeviceIdData deviceId {
|
||||
.deviceName = L"DELA026#5&10a58c63&0&UID16777488",
|
||||
FancyZonesDataTypes::WorkAreaId deviceId {
|
||||
.monitorId = { .deviceId = { .id = L"DELA026", .instanceId = L"5&10a58c63&0&UID16777488" }, .serialNumber = L"" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{61FA9FC0-26A6-4B37-A834-491C148DFC57}").value()
|
||||
};
|
||||
|
||||
@@ -430,8 +435,8 @@ namespace FancyZonesUnitTests
|
||||
TEST_METHOD (ApplyLayoutReplace)
|
||||
{
|
||||
// prepare
|
||||
FancyZonesDataTypes::DeviceIdData deviceId{
|
||||
.deviceName = L"DELA026#5&10a58c63&0&UID16777488",
|
||||
FancyZonesDataTypes::WorkAreaId deviceId{
|
||||
.monitorId = { .deviceId = { .id = L"DELA026", .instanceId = L"5&10a58c63&0&UID16777488" }, .serialNumber = L"" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{61FA9FC0-26A6-4B37-A834-491C148DFC57}").value()
|
||||
};
|
||||
|
||||
@@ -482,8 +487,8 @@ namespace FancyZonesUnitTests
|
||||
|
||||
TEST_METHOD (ApplyDefaultLayout)
|
||||
{
|
||||
FancyZonesDataTypes::DeviceIdData expected{
|
||||
.deviceName = L"Device",
|
||||
FancyZonesDataTypes::WorkAreaId expected{
|
||||
.monitorId = { .deviceId = { .id = L"Device", .instanceId = L"" }, .serialNumber = L"" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{00000000-0000-0000-0000-000000000000}").value()
|
||||
};
|
||||
|
||||
@@ -497,8 +502,8 @@ namespace FancyZonesUnitTests
|
||||
|
||||
TEST_METHOD (ApplyDefaultLayoutWithNullVirtualDesktopId)
|
||||
{
|
||||
FancyZonesDataTypes::DeviceIdData expected{
|
||||
.deviceName = L"Device",
|
||||
FancyZonesDataTypes::WorkAreaId expected{
|
||||
.monitorId = { .deviceId = { .id = L"Device", .instanceId = L"" }, .serialNumber = L"" },
|
||||
.virtualDesktopId = GUID_NULL
|
||||
};
|
||||
|
||||
@@ -509,5 +514,35 @@ namespace FancyZonesUnitTests
|
||||
|
||||
Assert::IsFalse(actualMap.find(expected) == actualMap.end());
|
||||
}
|
||||
|
||||
TEST_METHOD (IsLayoutApplied)
|
||||
{
|
||||
// prepare
|
||||
FancyZonesDataTypes::WorkAreaId id{
|
||||
.monitorId = { .deviceId = { .id = L"device", .instanceId = L"instance-id" }, .serialNumber = L"serial-number" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{E21F6F29-76FD-4FC1-8970-17AB8AD64847}").value()
|
||||
};
|
||||
AppliedLayouts::instance().ApplyLayout(id, Layout{});
|
||||
|
||||
// test
|
||||
Assert::IsTrue(AppliedLayouts::instance().IsLayoutApplied(id));
|
||||
}
|
||||
|
||||
TEST_METHOD (IsLayoutApplied2)
|
||||
{
|
||||
// prepare
|
||||
FancyZonesDataTypes::WorkAreaId id1{
|
||||
.monitorId = { .deviceId = { .id = L"device-1", .instanceId = L"instance-id-1" }, .serialNumber = L"serial-number-1" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{E21F6F29-76FD-4FC1-8970-17AB8AD64847}").value()
|
||||
};
|
||||
AppliedLayouts::instance().ApplyLayout(id1, Layout{});
|
||||
|
||||
// test
|
||||
FancyZonesDataTypes::WorkAreaId id2{
|
||||
.monitorId = { .deviceId = { .id = L"device-2", .instanceId = L"instance-id-2" }, .serialNumber = L"serial-number-2" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{F21F6F29-76FD-4FC1-8970-17AB8AD64847}").value()
|
||||
};
|
||||
Assert::IsFalse(AppliedLayouts::instance().IsLayoutApplied(id2));
|
||||
}
|
||||
};
|
||||
}
|
||||
@@ -741,15 +741,9 @@ namespace FancyZonesUnitTests
|
||||
TEST_CLASS (DeviceInfoUnitTests)
|
||||
{
|
||||
private:
|
||||
FancyZonesDataTypes::DeviceIdData m_defaultDeviceId{ .deviceName = L"AOC2460#4&fe3a015&0&UID65793", .virtualDesktopId = FancyZonesUtils::GuidFromString(L"{33A2B101-06E0-437B-A61E-CDBECF502907}").value() };
|
||||
DeviceInfoJSON m_defaultDeviceInfo = DeviceInfoJSON{ BackwardsCompatibility::DeviceIdData::ParseDeviceId(L"AOC2460#4&fe3a015&0&UID65793_1920_1080_{33A2B101-06E0-437B-A61E-CDBECF502907}").value(), DeviceInfoData{ ZoneSetData{ L"{33A2B101-06E0-437B-A61E-CDBECF502906}", ZoneSetLayoutType::Custom }, true, 16, 3 } };
|
||||
json::JsonObject m_defaultJson = json::JsonObject::Parse(L"{\"device-id\": \"AOC2460#4&fe3a015&0&UID65793_1920_1200_{39B25DD2-130D-4B5D-8851-4791D66B1539}\", \"active-zoneset\": {\"type\": \"custom\", \"uuid\": \"{33A2B101-06E0-437B-A61E-CDBECF502906}\"}, \"editor-show-spacing\": true, \"editor-spacing\": 16, \"editor-zone-count\": 3}");
|
||||
|
||||
TEST_METHOD_INITIALIZE(Init)
|
||||
{
|
||||
CLSIDFromString(L"{39B25DD2-130D-4B5D-8851-4791D66B1539}", &m_defaultDeviceId.virtualDesktopId);
|
||||
}
|
||||
|
||||
public:
|
||||
TEST_METHOD (FromJson)
|
||||
{
|
||||
@@ -791,9 +785,7 @@ namespace FancyZonesUnitTests
|
||||
const std::wstring m_defaultCustomDeviceStr = L"{\"device-id\": \"AOC2460#4&fe3a015&0&UID65793_1920_1200_{39B25DD2-130D-4B5D-8851-4791D66B1539}\", \"active-zoneset\": {\"type\": \"custom\", \"uuid\": \"{33A2B101-06E0-437B-A61E-CDBECF502906}\"}, \"editor-show-spacing\": true, \"editor-spacing\": 16, \"editor-zone-count\": 3}";
|
||||
const std::wstring m_defaultCustomLayoutStr = L"{\"device-id\": \"AOC2460#4&fe3a015&0&UID65793_1920_1200_{39B25DD2-130D-4B5D-8851-4791D66B1539}\", \"applied-layout\": {\"type\": \"custom\", \"uuid\": \"{33A2B101-06E0-437B-A61E-CDBECF502906}\", \"show-spacing\": true, \"spacing\": 16, \"zone-count\": 3, \"sensitivity-radius\": 30}}";
|
||||
const json::JsonValue m_defaultCustomDeviceValue = json::JsonValue::Parse(m_defaultCustomDeviceStr);
|
||||
|
||||
const FancyZonesDataTypes::DeviceIdData m_defaultDeviceId = FancyZonesDataTypes::DeviceIdData{ .deviceName = L"AOC2460#4&fe3a015&0&UID65793", .virtualDesktopId = FancyZonesUtils::GuidFromString(L"{39B25DD2-130D-4B5D-8851-4791D66B1539}").value() };
|
||||
|
||||
|
||||
TEST_METHOD_INITIALIZE(Init)
|
||||
{
|
||||
std::filesystem::remove_all(PTSettingsHelper::get_module_save_folder_location(m_moduleName));
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalLibraryDirectories>$(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>gdiplus.lib;dwmapi.lib;shlwapi.lib;uxtheme.lib;shcore.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalDependencies>gdiplus.lib;dwmapi.lib;shlwapi.lib;uxtheme.lib;shcore.lib;wbemuuid.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
@@ -55,6 +55,7 @@
|
||||
<ClCompile Include="Util.Spec.cpp" />
|
||||
<ClCompile Include="Util.cpp" />
|
||||
<ClCompile Include="WorkArea.Spec.cpp" />
|
||||
<ClCompile Include="WorkAreaIdTests.Spec.cpp" />
|
||||
<ClCompile Include="Zone.Spec.cpp" />
|
||||
<ClCompile Include="ZoneSet.Spec.cpp" />
|
||||
</ItemGroup>
|
||||
|
||||
@@ -57,6 +57,9 @@
|
||||
<ClCompile Include="AppliedLayoutsTests.Spec.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="WorkAreaIdTests.Spec.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="pch.h">
|
||||
|
||||
@@ -41,28 +41,6 @@ namespace FancyZonesUnitTests
|
||||
|
||||
TEST_CLASS(UtilUnitTests)
|
||||
{
|
||||
TEST_METHOD (TestTrimDeviceId)
|
||||
{
|
||||
// We're interested in the unique part between the first and last #'s
|
||||
// Example input: \\?\DISPLAY#DELA026#5&10a58c63&0&UID16777488#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
|
||||
// Example output: DELA026#5&10a58c63&0&UID16777488
|
||||
const std::wstring input = L"\\\\?\\DISPLAY#DELA026#5&10a58c63&0&UID16777488#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}";
|
||||
const std::wstring actual = TrimDeviceId(input);
|
||||
const std::wstring expected = L"DELA026#5&10a58c63&0&UID16777488";
|
||||
Assert::AreEqual(expected, actual);
|
||||
}
|
||||
|
||||
TEST_METHOD(TestTrimInvalidDeviceId)
|
||||
{
|
||||
// We're interested in the unique part between the first and last #'s
|
||||
// Example input: \\?\DISPLAY#DELA026#5&10a58c63&0&UID16777488#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
|
||||
// Example output: DELA026#5&10a58c63&0&UID16777488
|
||||
const std::wstring input = L"AnInvalidDeviceId";
|
||||
const std::wstring actual = TrimDeviceId(input);
|
||||
const std::wstring expected = L"FallbackDevice";
|
||||
Assert::AreEqual(expected, actual);
|
||||
}
|
||||
|
||||
TEST_METHOD(TestParseDeviceId01)
|
||||
{
|
||||
const std::wstring input = L"AOC0001#5&37ac4db&0&UID160002_1536_960_{E0A2904E-889C-4532-95B1-28FE15C16F66}";
|
||||
|
||||
@@ -23,12 +23,14 @@ namespace FancyZonesUnitTests
|
||||
|
||||
TEST_CLASS (WorkAreaCreationUnitTests)
|
||||
{
|
||||
FancyZonesDataTypes::DeviceIdData m_uniqueId;
|
||||
FancyZonesDataTypes::DeviceIdData m_emptyUniqueId;
|
||||
FancyZonesDataTypes::WorkAreaId m_uniqueId;
|
||||
FancyZonesDataTypes::WorkAreaId m_emptyUniqueId;
|
||||
|
||||
TEST_METHOD_INITIALIZE(Init)
|
||||
{
|
||||
m_uniqueId.deviceName = L"DELA026#5&10a58c63&0&UID16777488";
|
||||
m_uniqueId.monitorId.deviceId.id = L"DELA026";
|
||||
m_uniqueId.monitorId.deviceId.instanceId = L"5&10a58c63&0&UID16777488";
|
||||
m_uniqueId.monitorId.serialNumber = L"serial-number";
|
||||
auto res = CLSIDFromString(L"{39B25DD2-130D-4B5D-8851-4791D66B1539}", &m_uniqueId.virtualDesktopId);
|
||||
Assert::IsTrue(SUCCEEDED(res));
|
||||
|
||||
@@ -70,8 +72,10 @@ namespace FancyZonesUnitTests
|
||||
{
|
||||
using namespace FancyZonesDataTypes;
|
||||
|
||||
FancyZonesDataTypes::DeviceIdData parentUniqueId;
|
||||
parentUniqueId.deviceName = L"DELA026#5&10a58c63&0&UID16777488";
|
||||
FancyZonesDataTypes::WorkAreaId parentUniqueId;
|
||||
parentUniqueId.monitorId.deviceId.id = L"DELA026";
|
||||
parentUniqueId.monitorId.deviceId.instanceId = L"5&10a58c63&0&UID16777488";
|
||||
parentUniqueId.monitorId.serialNumber = L"serial-number";
|
||||
parentUniqueId.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{61FA9FC0-26A6-4B37-A834-491C148DFC57}").value();
|
||||
|
||||
Layout layout{
|
||||
@@ -104,15 +108,17 @@ namespace FancyZonesUnitTests
|
||||
|
||||
TEST_CLASS (WorkAreaUnitTests)
|
||||
{
|
||||
FancyZonesDataTypes::DeviceIdData m_uniqueId;
|
||||
FancyZonesDataTypes::DeviceIdData m_parentUniqueId; // default empty
|
||||
FancyZonesDataTypes::WorkAreaId m_uniqueId;
|
||||
FancyZonesDataTypes::WorkAreaId m_parentUniqueId; // default empty
|
||||
|
||||
HINSTANCE m_hInst{};
|
||||
HMONITOR m_monitor{};
|
||||
|
||||
TEST_METHOD_INITIALIZE(Init)
|
||||
{
|
||||
m_uniqueId.deviceName = L"DELA026#5&10a58c63&0&UID16777488";
|
||||
m_uniqueId.monitorId.deviceId.id = L"DELA026";
|
||||
m_uniqueId.monitorId.deviceId.instanceId = L"5&10a58c63&0&UID16777488";
|
||||
m_uniqueId.monitorId.serialNumber = L"serial-number";
|
||||
CLSIDFromString(L"{39B25DD2-130D-4B5D-8851-4791D66B1539}", &m_uniqueId.virtualDesktopId);
|
||||
|
||||
AppZoneHistory::instance().LoadData();
|
||||
|
||||
@@ -0,0 +1,212 @@
|
||||
#include "pch.h"
|
||||
|
||||
#include <FancyZonesLib/FancyZonesDataTypes.h>
|
||||
#include <FancyZonesLib/util.h>
|
||||
|
||||
#include <FancyZonesTests/UnitTests/Util.h>
|
||||
|
||||
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
|
||||
|
||||
namespace FancyZonesUnitTests
|
||||
{
|
||||
TEST_CLASS (WorkAreaIdComparison)
|
||||
{
|
||||
TEST_METHOD (MonitorHandleSame)
|
||||
{
|
||||
auto monitor = Mocks::Monitor();
|
||||
|
||||
FancyZonesDataTypes::WorkAreaId id1{
|
||||
.monitorId = { .monitor = monitor, .deviceId = { .id = L"device-1", .instanceId = L"instance-id-1" }, .serialNumber = L"serial-number-1" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{E21F6F29-76FD-4FC1-8970-17AB8AD64847}").value()
|
||||
};
|
||||
|
||||
FancyZonesDataTypes::WorkAreaId id2{
|
||||
.monitorId = { .monitor = monitor, .deviceId = { .id = L"device-2", .instanceId = L"instance-id-2" }, .serialNumber = L"serial-number-2" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{E21F6F29-76FD-4FC1-8970-17AB8AD64847}").value()
|
||||
};
|
||||
|
||||
Assert::IsTrue(id1 == id2);
|
||||
}
|
||||
|
||||
TEST_METHOD (MonitorHandleDifferent)
|
||||
{
|
||||
FancyZonesDataTypes::WorkAreaId id1{
|
||||
.monitorId = { .monitor = Mocks::Monitor(), .deviceId = { .id = L"device", .instanceId = L"instance-id" }, .serialNumber = L"serial-number" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{E21F6F29-76FD-4FC1-8970-17AB8AD64847}").value()
|
||||
};
|
||||
|
||||
FancyZonesDataTypes::WorkAreaId id2{
|
||||
.monitorId = { .monitor = Mocks::Monitor(), .deviceId = { .id = L"device", .instanceId = L"instance-id" }, .serialNumber = L"serial-number" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{E21F6F29-76FD-4FC1-8970-17AB8AD64847}").value()
|
||||
};
|
||||
|
||||
Assert::IsFalse(id1 == id2);
|
||||
}
|
||||
|
||||
TEST_METHOD (VirtualDesktopNull)
|
||||
{
|
||||
FancyZonesDataTypes::WorkAreaId id1{
|
||||
.monitorId = { .deviceId = { .id = L"device", .instanceId = L"instance-id" }, .serialNumber = L"serial-number" },
|
||||
.virtualDesktopId = GUID_NULL
|
||||
};
|
||||
|
||||
FancyZonesDataTypes::WorkAreaId id2{
|
||||
.monitorId = { .deviceId = { .id = L"device", .instanceId = L"instance-id" }, .serialNumber = L"serial-number" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{E21F6F29-76FD-4FC1-8970-17AB8AD64847}").value()
|
||||
};
|
||||
|
||||
Assert::IsTrue(id1 == id2);
|
||||
}
|
||||
|
||||
TEST_METHOD (VirtualDesktopDifferent)
|
||||
{
|
||||
FancyZonesDataTypes::WorkAreaId id1{
|
||||
.monitorId = { .deviceId = { .id = L"device", .instanceId = L"instance-id" }, .serialNumber = L"serial-number" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{F21F6F29-76FD-4FC1-8970-17AB8AD64847}").value()
|
||||
};
|
||||
|
||||
FancyZonesDataTypes::WorkAreaId id2{
|
||||
.monitorId = { .deviceId = { .id = L"device", .instanceId = L"instance-id" }, .serialNumber = L"serial-number" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{E21F6F29-76FD-4FC1-8970-17AB8AD64847}").value()
|
||||
};
|
||||
|
||||
Assert::IsFalse(id1 == id2);
|
||||
}
|
||||
|
||||
TEST_METHOD (NoSerialNumber)
|
||||
{
|
||||
FancyZonesDataTypes::WorkAreaId id1{
|
||||
.monitorId = { .deviceId = { .id = L"device", .instanceId = L"instance-id" }, .serialNumber = L"serial-number" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{E21F6F29-76FD-4FC1-8970-17AB8AD64847}").value()
|
||||
};
|
||||
|
||||
FancyZonesDataTypes::WorkAreaId id2{
|
||||
.monitorId = { .deviceId = { .id = L"device", .instanceId = L"instance-id" }, .serialNumber = L"" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{E21F6F29-76FD-4FC1-8970-17AB8AD64847}").value()
|
||||
};
|
||||
|
||||
Assert::IsFalse(id1 == id2);
|
||||
}
|
||||
|
||||
TEST_METHOD (NoSerialNumber2)
|
||||
{
|
||||
FancyZonesDataTypes::WorkAreaId id1{
|
||||
.monitorId = { .deviceId = { .id = L"device", .instanceId = L"instance-id" }, .serialNumber = L"" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{E21F6F29-76FD-4FC1-8970-17AB8AD64847}").value()
|
||||
};
|
||||
|
||||
FancyZonesDataTypes::WorkAreaId id2{
|
||||
.monitorId = { .deviceId = { .id = L"device", .instanceId = L"instance-id" }, .serialNumber = L"serial-number" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{E21F6F29-76FD-4FC1-8970-17AB8AD64847}").value()
|
||||
};
|
||||
|
||||
Assert::IsFalse(id1 == id2);
|
||||
}
|
||||
|
||||
TEST_METHOD (DifferentSerialNumber)
|
||||
{
|
||||
FancyZonesDataTypes::WorkAreaId id1{
|
||||
.monitorId = { .deviceId = { .id = L"device", .instanceId = L"instance-id" }, .serialNumber = L"serial-number" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{E21F6F29-76FD-4FC1-8970-17AB8AD64847}").value()
|
||||
};
|
||||
|
||||
FancyZonesDataTypes::WorkAreaId id2{
|
||||
.monitorId = { .deviceId = { .id = L"device", .instanceId = L"instance-id" }, .serialNumber = L"another-serial-number" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{E21F6F29-76FD-4FC1-8970-17AB8AD64847}").value()
|
||||
};
|
||||
|
||||
Assert::IsFalse(id1 == id2);
|
||||
}
|
||||
|
||||
TEST_METHOD (DefaultMonitorIdDifferentInstanceId)
|
||||
{
|
||||
FancyZonesDataTypes::WorkAreaId id1{
|
||||
.monitorId = { .deviceId = { .id = L"Default_Monitor", .instanceId = L"instance-id" }, .serialNumber = L"" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{E21F6F29-76FD-4FC1-8970-17AB8AD64847}").value()
|
||||
};
|
||||
|
||||
FancyZonesDataTypes::WorkAreaId id2{
|
||||
.monitorId = { .deviceId = { .id = L"Default_Monitor", .instanceId = L"another-instance-id" }, .serialNumber = L"" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{E21F6F29-76FD-4FC1-8970-17AB8AD64847}").value()
|
||||
};
|
||||
|
||||
Assert::IsFalse(id1 == id2);
|
||||
}
|
||||
|
||||
TEST_METHOD (DefaultMonitorIdSameInstanceId)
|
||||
{
|
||||
FancyZonesDataTypes::WorkAreaId id1{
|
||||
.monitorId = { .deviceId = { .id = L"Default_Monitor", .instanceId = L"instance-id" }, .serialNumber = L"" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{E21F6F29-76FD-4FC1-8970-17AB8AD64847}").value()
|
||||
};
|
||||
|
||||
FancyZonesDataTypes::WorkAreaId id2{
|
||||
.monitorId = { .deviceId = { .id = L"Default_Monitor", .instanceId = L"instance-id" }, .serialNumber = L"" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{E21F6F29-76FD-4FC1-8970-17AB8AD64847}").value()
|
||||
};
|
||||
|
||||
Assert::IsTrue(id1 == id2);
|
||||
}
|
||||
|
||||
TEST_METHOD (DifferentId)
|
||||
{
|
||||
FancyZonesDataTypes::WorkAreaId id1{
|
||||
.monitorId = { .deviceId = { .id = L"device-1", .instanceId = L"instance-id" }, .serialNumber = L"" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{E21F6F29-76FD-4FC1-8970-17AB8AD64847}").value()
|
||||
};
|
||||
|
||||
FancyZonesDataTypes::WorkAreaId id2{
|
||||
.monitorId = { .deviceId = { .id = L"device-2", .instanceId = L"instance-id" }, .serialNumber = L"" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{E21F6F29-76FD-4FC1-8970-17AB8AD64847}").value()
|
||||
};
|
||||
|
||||
Assert::IsFalse(id1 == id2);
|
||||
}
|
||||
|
||||
TEST_METHOD (SameIdDifferentInstance)
|
||||
{
|
||||
FancyZonesDataTypes::WorkAreaId id1{
|
||||
.monitorId = { .deviceId = { .id = L"device", .instanceId = L"instance-id-1" }, .serialNumber = L"" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{E21F6F29-76FD-4FC1-8970-17AB8AD64847}").value()
|
||||
};
|
||||
|
||||
FancyZonesDataTypes::WorkAreaId id2{
|
||||
.monitorId = { .deviceId = { .id = L"device", .instanceId = L"instance-id-2" }, .serialNumber = L"" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{E21F6F29-76FD-4FC1-8970-17AB8AD64847}").value()
|
||||
};
|
||||
|
||||
Assert::IsTrue(id1 == id2);
|
||||
}
|
||||
|
||||
TEST_METHOD (SameIdDifferentSerialNumbers)
|
||||
{
|
||||
FancyZonesDataTypes::WorkAreaId id1{
|
||||
.monitorId = { .deviceId = { .id = L"device-1", .instanceId = L"instance-id-1" }, .serialNumber = L"serial-number-1" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{E21F6F29-76FD-4FC1-8970-17AB8AD64847}").value()
|
||||
};
|
||||
|
||||
FancyZonesDataTypes::WorkAreaId id2{
|
||||
.monitorId = { .deviceId = { .id = L"device-1", .instanceId = L"instance-id-2" }, .serialNumber = L"serial-number-2" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{E21F6F29-76FD-4FC1-8970-17AB8AD64847}").value()
|
||||
};
|
||||
|
||||
Assert::IsFalse(id1 == id2);
|
||||
}
|
||||
|
||||
TEST_METHOD (DifferentIdSameSerialNumbers)
|
||||
{
|
||||
FancyZonesDataTypes::WorkAreaId id1{
|
||||
.monitorId = { .deviceId = { .id = L"device-1", .instanceId = L"instance-id-1" }, .serialNumber = L"serial-number-1" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{E21F6F29-76FD-4FC1-8970-17AB8AD64847}").value()
|
||||
};
|
||||
|
||||
FancyZonesDataTypes::WorkAreaId id2{
|
||||
.monitorId = { .deviceId = { .id = L"device-2", .instanceId = L"instance-id-2" }, .serialNumber = L"serial-number-1" },
|
||||
.virtualDesktopId = FancyZonesUtils::GuidFromString(L"{E21F6F29-76FD-4FC1-8970-17AB8AD64847}").value()
|
||||
};
|
||||
|
||||
Assert::IsFalse(id1 == id2);
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user