Originally posted by rahul R khanna:
...if our assumption is false then assertionError occurs...
That part is correct. You are
asserting (assuming) that a boolean condition is true. If it turns out to be false at runtime, then an assertion error is thrown.
However, Parthiban is also correct in pointing out that the second expression is passed to the error message, so if you use
assert false : false; then we would expect the first "false" to cause the error to be thrown, and the second "false" to appear in the error message. So I don't see how "true" is showing in the error message.