This thread may be a little old, but I just encountered the "Error: A test did not resolve to TRUE or FALSE" and arrived at a different solution than earlier posters proposed.
The solution involves preventing the If statement from seeing the defective result returned by TI-Basic's defective boolean operator logic. And to do that we use string().
The following If statement would throw the error:
If 270_ohm=300_ohm Then
But string() isolates the If statement from the defective result returned by the boolean = operator when the statement is false:
If string(270_ohm=300_ohm)="true" Then
So, if I understand your original question correctly: if you entered true and false into the cells of the matrix, the solution would look like:
myMatrix:=[1,true;2,false;3,"some text"]
If you then looped though the matrix rows using the following If statement, row 1 would display true while rows 2 and 3 would display false.
If string(myMatrix[row,2])="true" Then
disp true
Else
disp false
Endif
If you did not use the string() as shown above but simply said »If myMatrix[row,2] Then«, the third row of the matrix would cause the error to be thrown.
All of the above was typed in rather than copied from a syntax-checked file, so there may be some typos but the concept is valid.