This test crowds out the interface and verifies that the interface provides a boolean getter named IsRunning .
This test was probably written before the existence of the interface and probably long before any specific IGame classes IGame . I would suggest that if the project has any maturity, there are other tests that implement the actual implementations and test the behavior for this level and probably use the mockery in a more traditional isolationist context, rather than end the theoretical forms.
The value of these types of tests is that it makes you think about how a form or object will be used. Something like the lines "I don’t know exactly what the game is going to do, but I know that I would like to check if it works ...". Thus, this testing style is more suitable for making design decisions, as well as for verifying behavior.
Not the most valuable test on the planet, but serves its purpose, in my opinion.
Edit: I was on the train last night when I was typing this, but I wanted to refer to Andrew Whitaker's comment directly in response.
It can be argued that signatures in the interface itself are sufficient to secure the required contract. However, it really depends on how you relate to your interfaces and ultimately how you test the system that you are trying to test.
There may be a tangible value, explicitly indicating this functionality as a test. You explicitly verify that this is the desired functionality for IGame .
Let's take an example of usage, say that as a designer you know that you want to show a public getter for IsRunning to add it to the interface. But let's say that another developer gets this and sees the property, but does not see any of its applications elsewhere in the code, we can assume that he has the right to delete (or remove code rot, which is usually good) without harm. However, the existence of this test clearly indicates that this property must exist.
Without this test, the developer could change the interface, abandon the implementation, and the project will still compile and run, it would seem, correctly. And that would be much later when someone might notice that the interface has been changed.
With this test, even if it looks like nobody is using it, your test suite will not work. The actually documenting nature of the test tells you that ShouldReturnGameIsRunning() , which at least should spawn a conversation if IGame should really expose an IsRunning getter.