RIBsTests/Interactor/PresentableInteractorTests.swift (22 lines of code) (raw):

// // PresentableInteractorTests.swift // RIBs // // Created by Alex Bush on 6/23/25. // @testable import RIBs import XCTest import RxSwift protocol TestPresenter {} final class PresenterMock: TestPresenter {} final class PresentableInteractorTests: XCTestCase { private var interactor: PresentableInteractor<TestPresenter>! override func setUp() { super.setUp() } func test_deinit_doesNotLeakPresenter() { // given let presenterMock = PresenterMock() let disposeBag = DisposeBag() interactor = PresentableInteractor<TestPresenter>(presenter: presenterMock) var status: LeakDetectionStatus = .DidComplete LeakDetector.instance.status.subscribe { newStatus in status = newStatus }.disposed(by: disposeBag) // when interactor = nil // then XCTAssertEqual(status, .InProgress) } }