mirror of
https://github.com/samsonjs/AsyncMonitor.git
synced 2026-03-25 08:25:47 +00:00
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.
19 lines
552 B
Swift
19 lines
552 B
Swift
@testable import AsyncMonitor
|
|
import Testing
|
|
|
|
@MainActor class AsyncCancellableTests {
|
|
var cancellables = Set<AnyAsyncCancellable>()
|
|
|
|
@Test func storeInsertsIntoSetAndKeepsSubjectAlive() throws {
|
|
var subject: TestCancellable? = TestCancellable()
|
|
weak var weakSubject: TestCancellable? = subject
|
|
try #require(subject).store(in: &cancellables)
|
|
#expect(cancellables.count == 1)
|
|
subject = nil
|
|
#expect(weakSubject != nil)
|
|
|
|
cancellables.removeAll()
|
|
|
|
#expect(weakSubject == nil)
|
|
}
|
|
}
|