AsyncMonitor/Tests/AsyncMonitorTests/AnyAsyncCancellableTests.swift
Sami Samhuri d2b4e0e382
Change the KVO monitoring API
Instead of having a values method that observes and monitors, break out
a values method that returns an AsyncStream and then a monitorValues
method that calls values(for: keyPath).monitor. That method is kind of
superfluous, not sure if it's good to keep it or not.
2025-04-26 17:47:12 -07:00

26 lines
656 B
Swift

@testable import AsyncMonitor
import Testing
@MainActor class AnyAsyncCancellableTests {
var subject: AnyAsyncCancellable!
@Test func cancelsWhenReleased() {
let cancellable = TestCancellable()
subject = AnyAsyncCancellable(cancellable: cancellable)
#expect(!cancellable.isCancelled)
subject = nil
#expect(cancellable.isCancelled)
}
@Test func cancelsWhenCancelled() {
let cancellable = TestCancellable()
subject = AnyAsyncCancellable(cancellable: cancellable)
#expect(!cancellable.isCancelled)
subject.cancel()
#expect(cancellable.isCancelled)
}
}