                 let controller = GeocodeController(geocoder: geocoder)
                 let location = CLLocation(latitude: 3, longitude: 4)
 
+                var value: CLPlacemark?
                 var error: Error?
                 var isCompleted = false
-                controller.reverseGeocodeLocation(location).subscribeError({
-                    error = $0
-                }, completed: {
-                    isCompleted = true
-                })
+                var isInterrupted = false
+
+                controller.reverseGeocode(location).start { event in
+                    switch event {
+                    case let .value(val):
+                        value = val
+                    case let .failed(err):
+                        error = err
+                    case .completed:
+                        isCompleted = true
+                    case .interrupted:
+                        isInterrupted = true
+                    }
+                }
 
                 geocoder.cancelGeocode()
-                RunLoop.current.run(until: Date().addingTimeInterval(0.1))
 
+                expect(isInterrupted).toEventually(beTrue())
+                expect(isCompleted).to(beFalse())
                 expect(error).to(beNil())
-                expect(isCompleted).to(beFalse())
+                expect(value).to(beNil())
             }
         }
     }

                let location = CLLocation(latitude: 1, longitude: 2)

                var isComplete = false
                var error: Error?
                var place: CLPlacemark?

                controller.reverseGeocodeLocation(location).subscribeNext({
                    place = $0
                }, error: {
                    error = $0
                }, completed: {
                    isComplete = true
                })

                expect(isComplete).toEventually(beTrue())
                expect(place?.location?.coordinate).to(equal(location.coordinate))

import CoreLocation
import Quick
import Nimble
import ReactiveSwift
@testable import Tropos

final class GeocodeControllerSpec: QuickSpec {
