I am debugging with breakpoints and I realize the assert call? I thought it was only for unit tests. What does it do more than breakpoint? Since I can breakpoint, why should
Assert can help you give separate messaging behavior between testing and release. For example,
Debug.Assert(x > 2)
will only trigger a break if you are running a "debug" build, not a release build. There's a full example of this behavior here