codingfab
12/28/2019 - 2:09 PM

eviter-duplication-multiple-testcasesource-method

Usage of TestCaseSource attribute with class property

[TestFixture]
public class MyComplexLogicShould
{
    [Test]
    [TestCaseSource(typeof(MyTestCases),"TestData")]
    public int ReturnExpectedResult(int a, int b)
    {
        var sut = new MyClass();
        
        return sut.MyComplexLogic(a,b);
    }
}

public class MyTestCases
{
    public static IEnumerable<TestCaseData> TestData
    {
      get
      {
        yield return new TestCaseData(10,22).Returns(32);
        yield return new TestCaseData(20,44).Returns(64);
        yield return new TestCaseData(15,17).Returns(32);
      }
    } 
}