def test_normalize_config__with_skip_and_header(self): head = textwrap.dedent("""\ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam lorem erat, bibendum sed arcu at, tempor commodo tortor. Phasellus consectetur, nisl quis vestibulum ornare, mi velit imperdiet arcu, eu mattis nulla augue nec ex. Details,Posting Date,"Description",Amount,Type,Balance,Check or Slip #, DEBIT,3/18/2016,"Payment to Chafe card ending in 1234 03/18",-2680.89,ACCT_XFER,3409.86,, CREDIT,3/15/2016,"EMPLOYER INC DIRECT DEP PPD ID: 1111111111",2590.73,ACH_CREDIT,6090.75,, DEBIT,3/14/2016,"INVESTMENT SEC TRANSFER A5144608 WEB ID: 1234456789",-150.00,ACH_DEBIT,3500.02,, """) iconfig, has_header = csv.normalize_config({Col.DATE: 'Posting Date'}, head, skip_lines=4) self.assertEqual({Col.DATE: 1}, iconfig) self.assertTrue(has_header) iconfig, _ = csv.normalize_config({Col.NARRATION: 'Description'}, head, skip_lines=4) self.assertEqual({Col.NARRATION: 2}, iconfig) iconfig, _ = csv.normalize_config( { Col.DATE: 1, Col.NARRATION: 'Check or Slip #' }, head, skip_lines=4) self.assertEqual({Col.DATE: 1, Col.NARRATION: 6}, iconfig) iconfig, _ = csv.normalize_config({Col.DATE: 1}, head, skip_lines=4) self.assertEqual({Col.DATE: 1}, iconfig)
def test_normalize_config__without_header(self): head = textwrap.dedent("""\ DEBIT,3/18/2016,"Payment to Chafe card ending in 1234 03/18",-2680.89,ACCT_XFER,3409.86,, CREDIT,3/15/2016,"EMPLOYER INC DIRECT DEP PPD ID: 1111111111",2590.73,ACH_CREDIT,6090.75,, DEBIT,3/14/2016,"INVESTMENT SEC TRANSFER A5144608 WEB ID: 1234456789",-150.00,ACH_DEBIT,3500.02,, """) iconfig, has_header = csv.normalize_config({Col.DATE: 1}, head) self.assertEqual({Col.DATE: 1}, iconfig) self.assertFalse(has_header) with self.assertRaises(ValueError): csv.normalize_config({Col.DATE: 'Posting Date'}, head)
def test_normalize_config__with_skip_and_without_header(self): head = textwrap.dedent("""\ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam lorem erat, bibendum sed arcu at, tempor commodo tortor. Phasellus consectetur, nisl quis vestibulum ornare, mi velit imperdiet arcu, eu mattis nulla augue nec ex. DEBIT,3/18/2016,"Payment to Chafe card ending in 1234 03/18",-2680.89,ACCT_XFER,3409.86,, CREDIT,3/15/2016,"EMPLOYER INC DIRECT DEP PPD ID: 1111111111",2590.73,ACH_CREDIT,6090.75,, DEBIT,3/14/2016,"INVESTMENT SEC TRANSFER A5144608 WEB ID: 1234456789",-150.00,ACH_DEBIT,3500.02,, """) iconfig, has_header = csv.normalize_config({Col.DATE: 1}, head, skip_lines=4) self.assertEqual({Col.DATE: 1}, iconfig) self.assertFalse(has_header) with self.assertRaises(ValueError): csv.normalize_config({Col.DATE: 'Posting Date'}, head, skip_lines=4)
def test_normalize_config__with_header(self): head = textwrap.dedent("""\ Details,Posting Date,"Description",Amount,Type,Balance,Check or Slip #, DEBIT,3/18/2016,"Payment to Chafe card ending in 1234 03/18",-2680.89,ACCT_XFER,3409.86,, CREDIT,3/15/2016,"EMPLOYER INC DIRECT DEP PPD ID: 1111111111",2590.73,ACH_CREDIT,6090.75,, DEBIT,3/14/2016,"INVESTMENT SEC TRANSFER A5144608 WEB ID: 1234456789",-150.00,ACH_DEBIT,3500.02,, """) iconfig, has_header = csv.normalize_config({Col.DATE: 'Posting Date'}, head) self.assertEqual({Col.DATE: 1}, iconfig) self.assertTrue(has_header) iconfig, _ = csv.normalize_config({Col.NARRATION: 'Description'}, head) self.assertEqual({Col.NARRATION: 2}, iconfig) iconfig, _ = csv.normalize_config( { Col.DATE: 1, Col.NARRATION: 'Check or Slip #' }, head) self.assertEqual({Col.DATE: 1, Col.NARRATION: 6}, iconfig) iconfig, _ = csv.normalize_config({Col.DATE: 1}, head) self.assertEqual({Col.DATE: 1}, iconfig)