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

import Foundation

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

        }
    }
    
    public var returnsError: InteractorError? {
        get {
            return returnsErrors.first
        }
