public async void TestCasePositiveRealRetriever(string text, string[] expectedResults) { var parser = new LinksParser(new WebsiteTitleRetriever()); var result = await parser.Parse(text); Assert.AreEqual(expectedResults.Length, result.Length); for (var i = 0; i < expectedResults.Length; i++) { Assert.AreEqual(expectedResults[i], ((Link)result[i]).url); } }
public async void TestCasePositiveMockRetriever(string text, string[] expectedResults) { var mock = new Mock<ITitleRetriever>(MockBehavior.Strict); foreach (var expectedResult in expectedResults) { mock.Setup(m => m.GetLinkTitle(expectedResult)).Returns(() => Task.FromResult(ExpectedTitle)); } var parser = new LinksParser(mock.Object); var result = await parser.Parse(text); Assert.AreEqual(expectedResults.Length, result.Length); for (var i = 0; i < expectedResults.Length; i++) { Assert.AreEqual(ExpectedTitle, ((Link)result[i]).title); Assert.AreEqual(expectedResults[i], ((Link)result[i]).url); } }