38 lines
1.2 KiB
Swift
38 lines
1.2 KiB
Swift
import XCTest
|
|
@testable import MacMonitor
|
|
|
|
final class MacMonitorCoreTests: XCTestCase {
|
|
func testCoordinatorLifecycle() {
|
|
let coordinator = MMTelemetryCoordinator.shared
|
|
XCTAssertNotNil(coordinator)
|
|
|
|
coordinator.sampleInterval = 0.5
|
|
XCTAssertEqual(coordinator.sampleInterval, 0.5)
|
|
|
|
coordinator.start()
|
|
XCTAssertTrue(coordinator.isRunning)
|
|
|
|
coordinator.stop()
|
|
XCTAssertFalse(coordinator.isRunning)
|
|
}
|
|
|
|
func testTelemetryDomainConversion() {
|
|
let domainStr = MMTelemetryDomainToString(.cpu)
|
|
XCTAssertEqual(domainStr, "CPU")
|
|
|
|
let thermalStr = MMTelemetryDomainToString(.thermal)
|
|
XCTAssertEqual(thermalStr, "Thermal")
|
|
}
|
|
|
|
@MainActor
|
|
func testSystemTelemetryStoreInitialStateAndProviders() {
|
|
let store = SystemTelemetryStore.shared
|
|
XCTAssertNotNil(store)
|
|
XCTAssertEqual(store.registeredProviderCount, 17)
|
|
XCTAssertFalse(store.hostModel.isEmpty)
|
|
XCTAssertFalse(store.kernelVersion.isEmpty)
|
|
XCTAssertGreaterThanOrEqual(store.physicalCpuCount, 1)
|
|
XCTAssertGreaterThanOrEqual(store.logicalCpuCount, 1)
|
|
}
|
|
}
|