1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
import doctest
from ofxstatement.plugins.flatex import FlatexCsvStatementParser
def doctest_FlatexCsvStatementParser():
"""Test FlatexCsvStatementParser
Open sample csv to parse
>>> import os
>>> csvfile = os.path.join(os.path.dirname(__file__),
... 'samples', 'flatex.csv')
Create parser object and parse:
>>> fin = open(csvfile, 'r', encoding='iso-8859-1')
>>> parser = FlatexCsvStatementParser(fin)
>>> statement = parser.parse()
Check what we've got:
>>> statement.account_id
>>> len(statement.lines)
12
>>> statement.start_balance
>>> statement.start_date
>>> statement.end_balance
>>> statement.end_date
>>> statement.currency
'EUR'
Check first line
>>> l = statement.lines[0]
>>> l.amount
-1672.5
>>> l.payee
>>> l.memo
'Ausführung ORDER Kauf,CNE1000004Y2 12345678,TA-Nr.: 12345678'
>>> l.date
datetime.datetime(2015, 4, 7, 0, 0)
Check one more line:
>>> l=statement.lines[2]
>>> l.amount
-13.49
>>> l.payee
>>> l.memo
'Gebühren Ordernummer,12345678 Transnr 12345678,TA-Nr.: 12345678'
>>> l.date
datetime.datetime(2015, 4, 8, 0, 0)
Check one more line with slashes in memo:
>>> l=statement.lines[8]
>>> l.amount
8.55
>>> l.memo
'Erträgnisausschüttung,LU0136412771,TA-Nr.: 12345678'
>>> l.date
datetime.datetime(2015, 4, 9, 0, 0)
"""
def test_suite(*args):
return doctest.DocTestSuite(optionflags=(doctest.NORMALIZE_WHITESPACE|
doctest.ELLIPSIS|
doctest.REPORT_ONLY_FIRST_FAILURE|
doctest.REPORT_NDIFF
))
load_tests = test_suite
if __name__ == "__main__":
doctest.testmod()
|