Pop quiz: which of these test assertions will pass?
assert true
assert true, true
assert true, false
assert true, 'false'
assert 'true', false
assert 'true', 'true'
assert 'true', 'false'
You might be surprised to learn that every single one of these assertions pass successfully. From the documentation, you can see that assert() takes 2 arguments: a boolean and an optional message. In each of the above cases, you’re passing a true value as the first argument and then an (unintended) optional message.
What you probably meant to do is use assert_equal(). This method takes 3 arguments: 2 boolean values and an optional message. This is the one you need when you intend to compare 2 values against each other.