standards-c-sharp

Tests should be written as if they are a specification

Don’t

[Test]
public void CalculatorWorks()
{
    var calculator = new Calculator();
    Assert.AreEqual(3, calculator.Add(1, 2));
    Assert.AreEqual(6, calculator.Multiply(3, 2));
}

Do

[Test]
public void Add_CorrectlyAddsTwoNumbers()
{
    var calculator = new Calculator();
    var result = calculator.Add(1, 2);
    Assert.AreEqual(3, result);
}

[Test]
public void Multiply_CorrectlyMultipliesTwoNumbers()
{
    var calculator = new Calculator();
    var result = calculator.Multiply(3, 2);
    Assert.AreEqual(6, result);
}