Hi Duncan, thanks for posting!
The reason NCrunch doesn't work very well with ternary operators is because the resolution of its coverage capture is line by line, rather than statement by statement.
This differs from many other code coverage tools that use 'heat' views colouring the background behind the code to display coverage, and it obscures coverage for ternary operators, multi-statement lines, non-nested LINQ expressions and complex conditions.
To increase the resolution of this code coverage capture would massively increase the complexity of the algorithms used to capture and merge coverage data. NCrunch needs to be able to capture and merge coverage data from multiple concurrent test runs over many thousands (potentially millions) of lines of code in real time. To be able to perform this with the added complexity of needing to break each line down into separate statements without impacting performance is a significant technical challenge with a very high price tag attached to it.
Because of this, I see it as unlikely that such a thing could be implemented in the immediate future. This isn't to say it will never happen, and the value of such a feature is definitely clear - I'm just trying to be realistic about the odds :)
Cheers,
Remco