Skip to content

Instantly share code, notes, and snippets.

@valeIT
Forked from eliperkins/MocksPlayground.swift
Created February 4, 2016 13:15
Show Gist options
  • Save valeIT/fb8649b1961423220960 to your computer and use it in GitHub Desktop.
Save valeIT/fb8649b1961423220960 to your computer and use it in GitHub Desktop.
//: Mocks Playground
import UIKit
struct User {
}
struct PushNotificationController {
let registrar: PushNotificationRegistrar
init(registrar: PushNotificationRegistrar) {
self.registrar = registrar
}
var user: User? {
didSet {
if let _ = user {
registrar.registerUserNotificationSettings(UIUserNotificationSettings())
}
}
}
}
protocol PushNotificationRegistrar {
func registerUserNotificationSettings(notificationSettings: UIUserNotificationSettings)
}
extension UIApplication: PushNotificationRegistrar { }
class FauxRegistrar: PushNotificationRegistrar {
var registered = false
func registerUserNotificationSettings(notificationSettings: UIUserNotificationSettings) {
registered = true
}
}
var registrar = FauxRegistrar()
var controller = PushNotificationController(registrar: registrar)
controller.user = User()
registrar.registered
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment