First iteration on improving surface tests.

However, it is necessary to postpone this, as the upcoming
refactorings will break probably everything.