public void GivenAmountCannotBeParsed_WhenConvert_ThenReturnNull(string line)
        {
            // Arrange

            // Act
            var converter = new NabCsvToTransactionConverter(_logger);
            var result    = converter.Convert(Guid.NewGuid(), Guid.NewGuid(), line);

            // Assert
            result.Should().BeNull();
        }
        public void GivenLineHasMoreOrLessThan7Items_WhenConvert_ThenNullReturned(string line)
        {
            // Arrange

            // Act
            var converter = new NabCsvToTransactionConverter(_logger);
            var result    = converter.Convert(Guid.NewGuid(), Guid.NewGuid(), line);

            // Assert
            result.Should().BeNull();
        }
        public void GivenLineHas7Items_WhenConvert_ThenTransactionReturnedWithTypeUsingFifthItem(string line)
        {
            // Arrange

            // Act
            var converter = new NabCsvToTransactionConverter(_logger);
            var result    = converter.Convert(Guid.NewGuid(), Guid.NewGuid(), line);

            // Assert
            string[] data = line.Split(",", StringSplitOptions.None);

            result.Should().NotBeNull();
            result.Type.Should().Be(data[4]);
        }
        public void GivenStartsWithDate_WhenConvert_ThenNullReturned()
        {
            // Arrange
            string line = "Date,2,3,4,5,6,7";

            // Act
            var converter = new NabCsvToTransactionConverter(_logger);
            var result    = converter.Convert(Guid.NewGuid(), Guid.NewGuid(), line);

            // Assert
            string[] data = line.Split(",", StringSplitOptions.None);

            result.Should().BeNull();
        }
        public void GivenLineHas7Items_WhenConvert_ThenTransactionReturnedWithIdUserIdAndAccountId(string line)
        {
            // Arrange
            var userId    = Guid.NewGuid();
            var accountId = Guid.NewGuid();

            // Act
            var converter = new NabCsvToTransactionConverter(_logger);
            var result    = converter.Convert(userId, accountId, line);

            // Assert
            result.Should().NotBeNull();
            result.Id.Should().NotBe(Guid.Empty);
            result.UserId.Should().Be(userId);
            result.AccountId.Should().Be(accountId);
        }