Código repetitivo no testt unittest

Eu tenho um testcase que se parece com isso:

def MyTestCase(unittest.Testcase):
  def test_input01(self):
    input = read_from_disk('input01')
    output = run(input)
    validated_output = read_from_disk('output01')
    self.assertEquals(output, validated_output)
  def test_input02(self):
    input = read_from_disk('input02')
    # ...
  # and so on, for 30 inputs, from input01 to input30

Agora, eu entendo que o código de teste pode ser um pouco repetitivo, já que a simplicidade é mais importante do que a concisão. Mas isso está se tornando realmente propenso a erros, já que quando decidi mudar a assinatura de algumas funções usadas aqui, tive que fazer a mudança em todos os 30 lugares.

Eu poderia refatorar isso em um loop sobre as entradas conhecidas, mas eu quero que cada entrada permaneça um teste separado, então eu pensei que deveria estar fazendo o teste.test_inputxx métodos.

O que estou fazendo de errado?