48 lines
1.6 KiB
C#
48 lines
1.6 KiB
C#
using Moq;
|
|
using NUnit.Framework;
|
|
using Schaad.Finance.Api;
|
|
using Schaad.Finance.Services;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
namespace Schaad.Finance.Tests
|
|
{
|
|
[TestFixture]
|
|
public class CreditCardStatementServiceTest
|
|
{
|
|
private CreditCardStatementService service;
|
|
|
|
[SetUp]
|
|
public void Startup()
|
|
{
|
|
var pdfParsingServiceMock = new Mock<IPdfParsingService>();
|
|
pdfParsingServiceMock.Setup(t => t.ExtractText(It.IsAny<string>(), It.IsAny<int>())).Returns(() => new List<string>()
|
|
{
|
|
" Einkaufs-Datum",
|
|
" 13.07.2019 14.07.2019 Clay Schaad 13.70",
|
|
" 13.07.2019 14.07.2019 Clay Schaad2 23.50",
|
|
" dummy test",
|
|
" Saldo per "
|
|
});
|
|
service = new CreditCardStatementService(pdfParsingServiceMock.Object);
|
|
}
|
|
|
|
[Test]
|
|
public void ReadFile_CembraCsv()
|
|
{
|
|
var transactions = service.ReadFile(CreditCardProvider.CembraCsv, @"Data\cembra.csv", System.Text.Encoding.UTF8);
|
|
|
|
Assert.That(transactions.Count, Is.EqualTo(4));
|
|
Assert.That(transactions.Sum(t => t.Amount), Is.EqualTo(144.60m));
|
|
}
|
|
|
|
[Test]
|
|
public void ReadFile_CembraPdf()
|
|
{
|
|
var transactions = service.ReadFile(CreditCardProvider.CembraPdf, "", System.Text.Encoding.UTF8);
|
|
|
|
Assert.That(transactions.Count, Is.EqualTo(2));
|
|
Assert.That(transactions.Sum(t => t.Amount), Is.EqualTo(37.20m));
|
|
}
|
|
}
|
|
}
|