Skip to content

Instantly share code, notes, and snippets.

@eofster
Created December 15, 2015 13:22
Show Gist options
  • Save eofster/163dfcce241f60cbc141 to your computer and use it in GitHub Desktop.
Save eofster/163dfcce241f60cbc141 to your computer and use it in GitHub Desktop.
GPS tracker interactor factory spy
class InteractorFactorySpy {
private(set) var invokedTrackID = -1
private(set) var invokedName = ""
private(set) var trackSummaryInteractor: Interactor!
private(set) var trackNameUpdateInteractor: Interactor!
func stubWithTrackSummaryInteractor(interactor: Interactor) {
trackSummaryInteractor = interactor
}
func stubWithTrackNameUpdateInteractor(interactor: Interactor) {
trackNameUpdateInteractor = interactor
}
}
extension InteractorFactorySpy: InteractorFactory {
func createTrackSummaryInteractor(output: TrackSummaryInteractorOutput) -> Interactor {
return trackSummaryInteractor
}
func createTrackNameUpdateInteractor(trackID: Int, name: String) -> Interactor {
invokedTrackID = trackID
invokedName = name
return trackNameUpdateInteractor
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment