¡¡¡¡namespace MSTestTester.Tests;
¡¡¡¡[TestClass]
¡¡¡¡public class UnitTest1
¡¡¡¡{
¡¡¡¡ private readonly DataChecker _dataChecker;
¡¡¡¡ public UnitTest1()
¡¡¡¡ {
¡¡¡¡ _dataChecker = new DataChecker();
¡¡¡¡ }
¡¡¡¡ [TestMethod]
¡¡¡¡ [DataRow(-1)]
¡¡¡¡ [DataRow(0)]
¡¡¡¡ [DataRow(1)]
¡¡¡¡ public void IsPrime_ValuesLessThan2_ReturnFalse(int value)
¡¡¡¡ {
¡¡¡¡ var result = _dataChecker.IsPrime(value);
¡¡¡¡
¡¡¡¡ Assert.IsFalse(result, $"{value} should not be prime");
¡¡¡¡ }
¡¡¡¡ [DataTestMethod]
¡¡¡¡ [DataRow(1, 1, 2)]
¡¡¡¡ [DataRow(2, 2, 4)]
¡¡¡¡ [DataRow(3, 3, 6)]
¡¡¡¡ [DataRow(0, 0, 1)] // The test run with this row fails
¡¡¡¡ public void AddInt_DataRowTest(int x, int y, int expected)
¡¡¡¡ {
¡¡¡¡ int actual = _dataChecker.AddInt(x, y);
¡¡¡¡ Assert.AreEqual(expected, actual,"x:<{0}> y:<{1}>",new object[] { x, y });
¡¡¡¡ }
¡¡¡¡ public static IEnumerable<object[]> AdditionData
¡¡¡¡ {
¡¡¡¡ get
¡¡¡¡ {
¡¡¡¡ return new[]
¡¡¡¡ {
¡¡¡¡ new object[] { 1, 1, 2 },
¡¡¡¡ new object[] { 2, 2, 4 },
¡¡¡¡ new object[] { 3, 3, 6 },
¡¡¡¡ new object[] { 0, 0, 1 },
¡¡¡¡ };
¡¡¡¡ }
¡¡¡¡ }
¡¡¡¡ [TestMethod]
¡¡¡¡ [DynamicData(nameof(AdditionData))]
¡¡¡¡ public void AddIntegers_FromDynamicDataTest(int x, int y, int expected)
¡¡¡¡ {
¡¡¡¡ int actual = _dataChecker.AddInt(x, y);
¡¡¡¡ Assert.AreEqual(expected, actual, "x:<{0}> y:<{1}>", new object[] { x, y });
¡¡¡¡ }
¡¡¡¡}