Actually, I think if you started writing tests for this code before you wrote the class, your implementation would be different. For example, you'd probably end up writing a constructor that initializes your collection so that you can reference it without having to check for null each time. I think it's probably a good practice to write the tests even if you don't think you need them. Often in writing the tests you find that there are a lot of assumptions that you've made that wouldn't have been addressed with your first code attempt.
For example, could the ContainerId ever be less than zero? Would it be an error to attempt to set it to a negative value? Should the collection be initialized by a constructor, i.e., should classes that use this container class have to check for null before accessing or do you want to guarantee the collection will never be null, though it might be empty?
That said, I typically apply some sanity to the process. For example, if I know that the constructor is internally scoped and objects are only created by a Factory class. I'll test the factory methods to ensure that they always produce legal objects, but not necessarily test the container class itself.
I guess the bottom line, for me anyway, is to assume that classes need tests, attempt to write them, and only omit them when I can't think of a meaningful test to write.