Configurar o método de teste com entradas diferentes

Eu quero testar o seguinte método em c # para todos os caminhos de código.

public int foo (int x)
{
    if(x == 1)
        return 1;
    if(x==2)
        return 2;
    else
        return 0;
}

Eu vi issoteste unitário pex onde várias entradas são testadas. Como posso criar um teste de unidade que aceite várias entradas?

[TestMethod()] //some setup here??
    public void fooTest()
    {
         //some assert
    }

Eu quero evitar a criação de um método de teste para cada entrada. Eu estou trabalhando com o Visual Studio 2010/2012 e .net 4.0

questionAnswers(3)

yourAnswerToTheQuestion