Пример #1
0
    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)
        )
Пример #2
0
    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')
Пример #4
0
    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)]))
Пример #6
0
    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')
Пример #8
0
    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'
        )