It was a really bad idea to write tests which will cause assert to fail.

Since passing an invalid data here seems to be more of programmer's error rather than a possible runtime situation I think it's enough to use asserts and don't add exceptions. If you decide to go this way, then remove tests. Or if you think that it's appropriate to throw exceptions here, replace asserts with them.