Escreva o código mais simples que faz os testes passarem.
Nenhum de vocês fez isso, até onde eu posso ver.
Passo 1 do bebê.
Teste: Para a entrada "1,2", a soma dos números é 3
Faça o teste falhar:
throw NotImplementedException();
Faça o teste passar:
return 3;
Etapa 2 do bebê.
Teste: Para a entrada "1,2" retorno soma dos números, que é 3Teste: Para a entrada "4,5", a soma dos números, que é 9
O segundo teste falha, então passe:
numbers = input.Split(',');
return int.Parse(numbers[0]) + int.Parse(numbers[1]);
(maneira mais simples que uma lista de se ... retornar)
Você pode certamente argumentar que a Implementação Óbvia, neste caso, mas se você estava falando sobre como fazê-lo estritamente em pequenos passos, então estes são os passos corretos, IMO.
O argumento é que, se você não escrever o segundo teste, alguma faísca brilhante poderá aparecer mais tarde e "refatorar" seu código para ler:
return input.Length; # Still satisfies the first test
E, sem executar as duas etapas, você nunca fez o segundo teste ficar vermelho (o que significa que o teste em si é suspeito).