MacMonitor CI/CD Pipeline / Build & Test (Intel x86_64) (push) Successful in 2m37s
47 lines
1.5 KiB
Swift
47 lines
1.5 KiB
Swift
import XCTest
|
|
@testable import MacMonitor
|
|
|
|
final class MMDisplayTests: XCTestCase {
|
|
|
|
func testDisplayManagerActiveDisplays() {
|
|
let manager = MMDisplayManager.shared()
|
|
XCTAssertNotNil(manager, "MMDisplayManager instance should not be nil")
|
|
|
|
let displays = manager.activeDisplays()
|
|
XCTAssertNotNil(displays, "Active displays array should not be nil")
|
|
// In CI or headless/headless VM or real Mac, online display list can be checked
|
|
for display in displays {
|
|
XCTAssertGreaterThan(display.displayID, 0)
|
|
XCTAssertFalse(display.name.isEmpty)
|
|
if display.isOnline {
|
|
XCTAssertGreaterThan(display.width, 0)
|
|
XCTAssertGreaterThan(display.height, 0)
|
|
}
|
|
}
|
|
}
|
|
|
|
func testDisplayInfoInitialization() {
|
|
let info = MMDisplayInfo(
|
|
displayID: 1001,
|
|
name: "Test Display",
|
|
isBuiltin: true,
|
|
isMain: true,
|
|
isOnline: true,
|
|
width: 2560,
|
|
height: 1600,
|
|
refreshRate: 60.0,
|
|
brightness: 0.75
|
|
)
|
|
|
|
XCTAssertEqual(info.displayID, 1001)
|
|
XCTAssertEqual(info.name, "Test Display")
|
|
XCTAssertTrue(info.isBuiltin)
|
|
XCTAssertTrue(info.isMain)
|
|
XCTAssertTrue(info.isOnline)
|
|
XCTAssertEqual(info.width, 2560)
|
|
XCTAssertEqual(info.height, 1600)
|
|
XCTAssertEqual(info.refreshRate, 60.0)
|
|
XCTAssertEqual(info.brightness, 0.75, accuracy: 0.001)
|
|
}
|
|
}
|