Mocking up WifiManager para pruebas unitarias de Android

Estoy tratando de implementar algunas pruebas unitarias para un par de clases que dependen de WifiManager y los ScanResults devueltos. Lo que me gustaría hacer es poder controlar los ScanResults que estoy recibiendo para probar una variedad de condiciones diferentes.

Desafortunadamente ha sido bastante difícil para mí simular con éxito WifiManager (aunque supongo que puedo pasar sus referencias nulas de constructor en mi MockWifiManager). Este solo será mi primer problema, ya que una vez que tenga un MockWifiManager para jugar (¡si esto funciona!) Tendré que crear con éxito mi ScanResults de prueba que no tiene un constructor público (Imagine que es creado por alguna fábrica en alguna parte).

Preguntas: si no tiene un constructor público, ¿puedo incluso extenderlo?

¿Estoy haciendo todo esto mal? A menudo me hacen preguntas sobre cómo hacer una tarea específica, pero en realidad están tratando de resolver un problema diferente de la manera incorrecta, ¿tal vez eso es lo que estoy haciendo aquí?

Soy muy nuevo en Android, así que tener que burlarme de toda esta funcionalidad ha estado tratando de decir lo menos.

¡Gracias por tus aportes!

Edit: Me lo estoy pasando muy mal creando instancias de un MockWifiManager también. El constructor para el administrador de wifi espera un IWifiManager de un tipo que no parece existir en el SDK de Android.

Respuestas a la pregunta(3)

Su respuesta a la pregunta