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 = @"
0.2
2015-07-01
http://www.google.com
* Release notes line 1
* Release notes line 2
* More really great release notes!
";
var expectedResult = new UpdateData
{
CurrentVersion = 0.2m,
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.CurrentVersion, result.CurrentVersion);
Assert.AreEqual(expectedResult.DownloadUrl, result.DownloadUrl);
Assert.AreEqual(expectedResult.ReleaseDate, result.ReleaseDate);
Assert.AreEqual(expectedResult.ReleaseNotes, result.ReleaseNotes);
}
}
}