Theories en C#
Un solo cuerpo de prueba, muchos casos.
using Xunit;
public class FizzTests
{
static string Fizz(int n) => (n % 3, n % 5) switch
{
(0, 0) => "FizzBuzz", (0, _) => "Fizz",
(_, 0) => "Buzz", _ => n.ToString(),
};
[Theory]
[InlineData(3, "Fizz")]
[InlineData(10, "Buzz")]
[InlineData(15, "FizzBuzz")]
[InlineData(7, "7")]
public void Maps_the_classics(int n, string expected)
{
Assert.Equal(expected, Fizz(n));
}
}
Cómo funciona
[Theory]más[InlineData]corre el cuerpo por cada fila.- El switch con patrón de tupla es el código bajo prueba, en el mismo archivo.
- Cuatro filas cubren Fizz, Buzz, ambos y ninguno.
Palabras clave y builtins usados aquí
classintpublicstaticstringswitchusingvoid
El intento, en números
- Líneas
- 20
- Caracteres a escribir
- 373
- Tokens
- 90
- Ritmo de tres estrellas
- 85 tpm
Al ritmo de tres estrellas de 85 tokens por minuto, este intento toma unos 64 segundos.
Paso 2 de 3 en Pruebas; paso 11 de 16 en El ecosistema abierto.