def testPositiveBalanceNov2015NoCompleted(self): """Statement is missing a completed date for the latest line in the new November 2015 CSV format.""" stmt = BettermentPlugin(None, {}).get_parser(NOV_2015_CSV_PATH_NO_COMPLETED).parse() self.assertAlmostEqual(1631.25, stmt.start_balance) self.assertAlmostEqual(1240.33, stmt.end_balance) self.assertEqual(date(2015, 10, 29), to_date(stmt.start_date)) self.assertEqual(date(2015, 11, 10), to_date(stmt.end_date)) self.assertEqual(11, len(stmt.lines)) for stline in stmt.lines: self.assertTrue(stline.memo in ('Initial Deposit from ****', 'Market Change', 'Dividend')) self.assertFalse(is_zero(stline.amount)) self.assertTrue(date(2015, 11, 10) >= to_date(stline.date) >= date(2015, 10, 29))
def testPositiveBalance(self): """Statement starts with a positive balance.""" stmt = BettermentPlugin(None, {}).get_parser(POS_CSV_PATH).parse() self.assertAlmostEqual(1000.0, stmt.start_balance) self.assertAlmostEqual(1817.44, stmt.end_balance) self.assertEqual(date(2015, 9, 22), to_date(stmt.start_date)) self.assertEqual(date(2015, 9, 25), to_date(stmt.end_date)) self.assertEqual(5, len(stmt.lines)) for stline in stmt.lines: self.assertTrue(stline.memo in ('Initial Deposit from ****', 'Market Change')) self.assertFalse(is_zero(stline.amount)) self.assertTrue(date(2015, 9, 25) >= to_date(stline.date) >= date(2015, 9, 22))
def testPositiveBalanceNov2015(self): """Statement starts with a positive balance and the new November 2015 CSV format.""" stmt = BettermentPlugin(None, {}).get_parser(NOV_2015_CSV_PATH).parse() self.assertAlmostEqual(1631.25, stmt.start_balance) self.assertAlmostEqual(1254.43, stmt.end_balance) self.assertEqual(date(2015, 10, 29), to_date(stmt.start_date)) self.assertEqual(date(2015, 11, 11), to_date(stmt.end_date)) self.assertEqual(12, len(stmt.lines)) for stline in stmt.lines: self.assertTrue(stline.memo in ('Initial Deposit from ****', 'Market Change', 'Dividend')) self.assertFalse(is_zero(stline.amount)) self.assertTrue(date(2015, 11, 11) >= to_date(stline.date) >= date(2015, 10, 29))
def testEmptyEndingBalance(self): """Strip out pending transactions.""" stmt = BettermentPlugin(None, {}).get_parser(BLANK_BAL_PATH).parse() self.assertAlmostEqual(1319.74, stmt.start_balance) self.assertAlmostEqual(1692.68, stmt.end_balance) self.assertEqual(date(2015, 10, 2), to_date(stmt.start_date)) self.assertEqual(date(2015, 10, 2), to_date(stmt.end_date)) self.assertEqual(3, len(stmt.lines)) for stline in stmt.lines: self.assertTrue(stline.memo in ('Dividend Reinvestment', 'Market Change')) self.assertFalse(is_zero(stline.amount)) self.assertEqual(date(2015, 10, 2), to_date(stline.date))