I prefer not to have that assert... if we go by this route we can end up with lots of asserts at the start of each method.

I prefer to write test which will prevent us from calling this method with bad arguments.