Разбейте свой тест на три части Упорядочить, действовать и утверждать Например,
// Arrange
var someObject = new SomeClass();
var year = 2020;
var month = 2;
var expectedResult = 29;
// Act
var actualResult = someObject.dayInMonth(year, month);
// Assert
Assert.AreEqual(expectedResult, actualResult);
Как упомянул пример @John, когда вам нужно запустить тест для нескольких входов, используйте параметры для TestCaseAttribute
ОБНОВЛЕНИЕ:
TestCaseAttribute example
[TestCase(2020, 1, ExpectedResult=31)]
[TestCase(2020, 2, ExpectedResult=29)]
[TestCase(2020, 3, ExpectedResult=31)]
public int DayInMonthTest(int year, int month)
{
var someObject = new SomeClass();
return someObject.dayInMonth(year, month);
}