Add onLineContaining ...

...as it will often be easier to test against a particular line by referencing its content rather than figuring out the line number.
Redundant maybe, but still way better than atColumn(15) in my opinion. Otherwise, what about an overload, something like onLineContaining(String before, String after), where the error point is expected to be exactly at the start of the `after` string? So in your example it would be onLineContaining("class ", "Foo"). This overload could return `ChainingClause<UnsuccessfulCompilationClause>` to exclude .onColumn afterwards. Or perhaps replace one two-argument method with some fluent alternative like .onLineWithTextBeforeError("class ").andTextAfterError("Foo")?