I never got the idea of asserts -- why should you ever use them?
I mean, let\'s say I were a formula driver and all the asserts were things like security belt, helm
From Code Complete 2: "Use error-handling for conditions you expect to occur; use assertions for conditions that should never occur."
A commonly-cited example is checking for zero in the denominator before a division.
You're expected to strip the assertions out of production code. They are in there during development to help you catch mistakes.
Unit tests are not a replacement for assertions.