For this array ($options):    
Array (
    [0] => 0
    [1] => 1
    [2] => 2
)
PHP returns TRUE:
$this->assertTrue( in_array('Bug', $options ) );         // TRUE
$this->assertTrue( in_array('Feature', $options ) );     // TRUE
$this->assertTrue( in_array('Task', $options ) );        // TRUE
$this->assertTrue( in_array('RockAndRoll', $options ) ); // TRUE  
Why?
This is because 0 == "string" is true, and 0 is an element of the array.
Set the parameter $strict in in_array to true:
$this->assertTrue( in_array('Bug', $options, true) );
                        Try adding a third parameter to your function calls;
$this->assertTrue( in_array('Bug', $options, true) ); 
This will ensure the comparisons are type-strict, and should solve your problem.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With