def test_value_dated_availability(self): lines = [ '16,191,001,V,150715,2340,1234567890,RP12312312312312/', '88,FR:FP SIP INCOMING', '88,ENDT:20150715', '88,TRID:RP12312312312312', '88,PY:RP1231231231231200 A1234BC 22/03/66', '88,BI:22222222', '88,OB:111111 BUCKINGHAM PALACE OB3:BARCLAYS BANK PLC', '88,BO:11111111 BO1:DOE JO', ] parser = TransactionDetailParser(IteratorHelper(lines)) transaction = parser.parse() self.assertEqual(transaction.funds_type, FundsType.value_dated) self.assertEqual( transaction.availability['date'], datetime.date(day=15, month=7, year=2015) ) self.assertEqual( transaction.availability['time'], datetime.time(hour=23, minute=40) )
def test_parse(self): lines = [ '16,165,1500000,0,DD1620,,DEALER PAYMENTS', ] ii = IteratorHelper(lines) parser = TransactionDetailParser(ii) transaction = parser.parse() self.assertEqual(transaction.type_code, TypeCodes['165']) self.assertEqual(transaction.amount, 1500000) self.assertEqual(transaction.funds_type, FundsType.immediate_availability) self.assertEqual(transaction.bank_reference, 'DD1620') self.assertEqual(transaction.customer_reference, None) self.assertEqual(transaction.text, 'DEALER PAYMENTS')
def test_parse(self): lines = [ '16,165,1500000,0,DD1620,,DEALER PAYMENTS', ] ii = IteratorHelper(lines) parser = TransactionDetailParser(ii) transaction = parser.parse() self.assertEqual(transaction.type_code, TypeCodes['165']) self.assertEqual(transaction.amount, 1500000) self.assertEqual(transaction.funds_type, FundsType.immediate_availability) self.assertEqual(transaction.bank_reference, 'DD1620') self.assertEqual(transaction.customer_reference, None) self.assertEqual( transaction.text, 'DEALER PAYMENTS' )
def test_distributed_availability_simple(self): lines = [ '16,191,005,S,001,003,001,1234567890,RP12312312312312/', '88,FR:FP SIP INCOMING', '88,ENDT:20150715', '88,TRID:RP12312312312312', '88,PY:RP1231231231231200 A1234BC 22/03/66', '88,BI:22222222', '88,OB:111111 BUCKINGHAM PALACE OB3:BARCLAYS BANK PLC', '88,BO:11111111 BO1:DOE JO', ] parser = TransactionDetailParser(IteratorHelper(lines)) transaction = parser.parse() self.assertEqual(transaction.funds_type, FundsType.distributed_availability_simple) self.assertEqual(transaction.amount, 5) self.assertEqual(transaction.availability, OrderedDict([('0', 1), ('1', 3), ('>1', 1)]))
def test_distributed_availability_simple(self): lines = [ '16,191,005,S,001,003,001,1234567890,RP12312312312312/', '88,FR:FP SIP INCOMING', '88,ENDT:20150715', '88,TRID:RP12312312312312', '88,PY:RP1231231231231200 A1234BC 22/03/66', '88,BI:22222222', '88,OB:111111 BUCKINGHAM PALACE OB3:BARCLAYS BANK PLC', '88,BO:11111111 BO1:DOE JO', ] parser = TransactionDetailParser(IteratorHelper(lines)) transaction = parser.parse() self.assertEqual(transaction.funds_type, FundsType.distributed_availability_simple) self.assertEqual(transaction.amount, 5) self.assertEqual( transaction.availability, OrderedDict([('0', 1), ('1', 3), ('>1', 1)]) )
def test_continuation_record(self): lines = [ '16,115,10000000,S,5000000,4000000,1000000/', '88,AX13612,B096132,AMALGAMATED CORP. LOCKBOX', '88,DEPOSIT-MISC. RECEIVABLES' ] parser = TransactionDetailParser(IteratorHelper(lines)) transaction = parser.parse() self.assertEqual(transaction.type_code, TypeCodes['115']) self.assertEqual(transaction.amount, 10000000) self.assertEqual(transaction.funds_type, FundsType.distributed_availability_simple) self.assertEqual( transaction.availability, OrderedDict([('0', 5000000), ('1', 4000000), ('>1', 1000000)])) self.assertEqual(transaction.bank_reference, 'AX13612') self.assertEqual(transaction.customer_reference, 'B096132') self.assertEqual( transaction.text, 'AMALGAMATED CORP. LOCKBOX DEPOSIT-MISC. RECEIVABLES')
def test_continuation_record(self): lines = [ '16,115,10000000,S,5000000,4000000,1000000/', '88,AX13612,B096132,AMALGAMATED CORP. LOCKBOX', '88,DEPOSIT-MISC. RECEIVABLES' ] parser = TransactionDetailParser(IteratorHelper(lines)) transaction = parser.parse() self.assertEqual(transaction.type_code, TypeCodes['115']) self.assertEqual(transaction.amount, 10000000) self.assertEqual(transaction.funds_type, FundsType.distributed_availability_simple) self.assertEqual( transaction.availability, OrderedDict([('0', 5000000), ('1', 4000000), ('>1', 1000000)]) ) self.assertEqual(transaction.bank_reference, 'AX13612') self.assertEqual(transaction.customer_reference, 'B096132') self.assertEqual( transaction.text, 'AMALGAMATED CORP. LOCKBOX DEPOSIT-MISC. RECEIVABLES' )