Good reading. A couple of points.
You can drop the Context if you are only testing Java code and run it as a pure JUnit test, its much quicker as it runs on the JVM as opposed to the device for InstrumentionTests. This was recently introduces to Android Studio to make this easier :-)
The Spy would also be termed a Partial Mock in other frameworks, real unless it’s mocked. I don’t know why Mockito calls it differently.