title: Mock UNNotificationResponse & UNNotification (and other iOS platform classes with init() marked as unavailable)
body: <p>I need to mock <code>UNNotificationResponse</code> and <code>UNNotification</code> so that I can test my implementation of:</p>
  
  <p><code>func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -&gt; Swift.Void)</code></p>
  
  <p>However I can't usefully subclass these classes because <code>init()</code> is specifically marked as <code>unavailable</code>, resulting in compilation errors like this if I try:</p>
  
  <p><code>/Path/to/PushClientTests.swift:38:5: Cannot override 'init' which has been marked unavailable
  </code></p>
  
  <p>What alternate approaches can be taken here? I look into going down the Protocol Oriented Programming route, however since I do not control the API being called, I can't modify it to take the protocols I'd write.</p>