Also this test tests multiple cases; one where the key exists, and one where the key doesn't exist. So I would create 2 methods for that.

A little bit of background information: when test driven development is done, the first thing you start to do is to define test cases before even a single piece of logic is written. So in your mind you just go over the cases, without implementing any code (also ignore the test code). Once you have defined the empty test methods, you implement the test methods and then start to implement the actual code.

This is how tests can drive your design.

In our case, we don't apply TDD, but it really help to think first about the test cases before you are going to start doing the test method implementation.