2019-09-04 18:26:26 +02:00
|
|
|
#include "pch.h"
|
|
|
|
|
#include "lib\ZoneSet.h"
|
|
|
|
|
|
|
|
|
|
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
|
|
|
|
|
|
|
|
|
|
namespace FancyZonesUnitTests
|
|
|
|
|
{
|
2019-12-10 10:28:24 +03:00
|
|
|
TEST_CLASS(ZoneWindowUnitTests){
|
|
|
|
|
public:
|
|
|
|
|
TEST_METHOD(TestCreateZoneWindow){
|
|
|
|
|
winrt::com_ptr<IZoneWindow> zoneWindow = MakeZoneWindow(nullptr, Mocks::Instance(), Mocks::Monitor(), L"DeviceId", L"MyVirtualDesktopId", false);
|
|
|
|
|
Assert::IsNotNull(zoneWindow.get());
|
|
|
|
|
}
|
2019-09-04 18:26:26 +02:00
|
|
|
|
2019-12-10 10:28:24 +03:00
|
|
|
TEST_METHOD(TestDeviceId)
|
|
|
|
|
{
|
|
|
|
|
// Window initialization requires a valid HMONITOR - just use the primary for now.
|
|
|
|
|
HMONITOR pimaryMonitor = MonitorFromWindow(nullptr, MONITOR_DEFAULTTOPRIMARY);
|
|
|
|
|
winrt::com_ptr<IZoneWindow> zoneWindow = MakeZoneWindow(nullptr, Mocks::Instance(), pimaryMonitor, L"SomeRandomValue", L"MyVirtualDesktopId", false);
|
|
|
|
|
// We have no way to test the correctness, just do our best and check its not an empty string.
|
|
|
|
|
Assert::IsTrue(zoneWindow->DeviceId().size() > 0);
|
|
|
|
|
}
|
2019-09-04 18:26:26 +02:00
|
|
|
|
2019-12-10 10:28:24 +03:00
|
|
|
TEST_METHOD(TestUniqueId)
|
|
|
|
|
{
|
|
|
|
|
// Unique id of the format "ParsedMonitorDeviceId_MonitorWidth_MonitorHeight_VirtualDesktopId
|
|
|
|
|
// Example: "DELA026#5&10a58c63&0&UID16777488_1024_768_MyVirtualDesktopId"
|
|
|
|
|
std::wstring deviceId(L"\\\\?\\DISPLAY#DELA026#5&10a58c63&0&UID16777488#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}");
|
|
|
|
|
// Window initialization requires a valid HMONITOR - just use the primary for now.
|
|
|
|
|
HMONITOR pimaryMonitor = MonitorFromWindow(nullptr, MONITOR_DEFAULTTOPRIMARY);
|
|
|
|
|
MONITORINFO info;
|
|
|
|
|
info.cbSize = sizeof(info);
|
|
|
|
|
Assert::IsTrue(GetMonitorInfo(pimaryMonitor, &info));
|
2019-09-04 18:26:26 +02:00
|
|
|
|
2019-12-10 10:28:24 +03:00
|
|
|
Rect monitorRect = Rect(info.rcMonitor);
|
|
|
|
|
std::wstringstream ss;
|
|
|
|
|
ss << L"DELA026#5&10a58c63&0&UID16777488_" << monitorRect.width() << "_" << monitorRect.height() << "_MyVirtualDesktopId";
|
2019-09-04 18:26:26 +02:00
|
|
|
|
2019-12-10 10:28:24 +03:00
|
|
|
winrt::com_ptr<IZoneWindow> zoneWindow = MakeZoneWindow(nullptr, Mocks::Instance(), pimaryMonitor, deviceId.c_str(), L"MyVirtualDesktopId", false);
|
|
|
|
|
Assert::AreEqual(zoneWindow->UniqueId().compare(ss.str()), 0);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
;
|
2019-09-04 18:26:26 +02:00
|
|
|
}
|