Начиная с Python 3.4, вы можете сделать это следующим образом:
def test_output(self):
for i in range(1,11):
with self.subTest(i=i):
....
self.assertEqual(fn(i),output[i])
На тот случай, если кто-то еще окажется здесь, устранение мертвого пространства с помощью более грубой частоты дискретизации не делает практически никакой разницы . Любая удаленно безопасная (например, наличие границы для образцов артефактов) более грубая выборка в любом случае захватывает большую часть сетки в любом удаленно нетривиальном поле.
Ускорение оценки основного поля (с тяжелой памятью) казалось в основном решают проблемы с производительностью.
Попробуйте вместо этого маршевые тетраэдры - математика проще, что позволяет рассматривать меньшее количество случаев на ячейку.