Andrew,
Isolator doesn't explicitly consider the arguments passed into the WhenCalled statements. When the method is called (with any arguments) the BurnException will be throw.
This is done to keep the tests robust and not fail if an argument is changed.
Indexers, will work as you expect, allowing different indexes to return different values.
In a coming version we will enable different behavior depending on the arguments passed