 import Foundation
 
-class InteractorSpy<Request: InteractorRequestProtocol>: Interactor {
+public class InteractorSpy<Request: InteractorRequestProtocol>: Interactor {
     
-    var returnsResponses = [Request.Response]()
-    var returnsErrors = [InteractorError]()
+    public var returnsResponses = [Request.Response]()
+    public var returnsErrors = [InteractorError]()
     
-    let noError = InteractorError(message: "no error")
+    public let noError = InteractorError(message: "no error")
     
-    private(set) var executedRequests = [Request]()
+    public private(set) var executedRequests = [Request]()
     
-    func execute(_ request: Request) {
+    public func execute(_ request: Request) {
         executedRequests.append(request)
         
         if let error = returnsErrors.first {

    
    // MARK: - Response Helper
    
    var returnsResponse: Request.Response? {
        get {
            return returnsResponses.first
        }

    
    // MARK: - Request Count
    
    public var lastRequest: Request? {
        get {
            return executedRequests.last
        }
    }
    
    public var isCalledOnce: Bool {
        get {
            return executedRequests.count == 1
        }
    }
    
    public var isNeverCalled: Bool {
        get {
            return executedRequests.count == 0
        }
