using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Filtration.Models; using Filtration.Services; using Moq; using NUnit.Framework; namespace Filtration.Tests.Services { [TestFixture] public class TestUpdateService { [Test] public void DeserializeUpdateData_ReturnsCorrectData() { // Arrange var testInputData = @" 1 3 2015-07-01 http://www.google.com * Release notes line 1 * Release notes line 2 * More really great release notes! "; var expectedResult = new UpdateData { LatestVersionMajorPart = 1, LatestVersionMinorPart = 3, DownloadUrl = "http://www.google.com", ReleaseDate = new DateTime(2015, 7, 1), ReleaseNotes = @"* Release notes line 1 * Release notes line 2 * More really great release notes!" }; var mockHTTPService = new Mock(); var service = new UpdateCheckService(mockHTTPService.Object); // Act var result = service.DeserializeUpdateData(testInputData); // Assert Assert.AreEqual(expectedResult.LatestVersionMajorPart, result.LatestVersionMajorPart); Assert.AreEqual(expectedResult.LatestVersionMinorPart, result.LatestVersionMinorPart); Assert.AreEqual(expectedResult.DownloadUrl, result.DownloadUrl); Assert.AreEqual(expectedResult.ReleaseDate, result.ReleaseDate); Assert.AreEqual(expectedResult.ReleaseNotes, result.ReleaseNotes); } } }