Ejemplo n.º 1
0
 def test_no_cleared_date_when_cleared_date_not_supplied(self):
     cases = [
         ("2014-01-01 x", (datetime.date(2014, 1, 1), None), ""),
         ("2014-01-01 * x", (datetime.date(2014, 1, 1), datetime.date(2014, 1, 1)), "*"),
         ("2014-01-01=2015-01-01 ! x", (datetime.date(2014, 1, 1), datetime.date(2015, 1, 1)), "!"),
     ]
     accountamounts = [("assets", "56 CHF"), ("expenses", "")]
     for expected_line, (date, cleared), statechar in cases:
         res = m.generate_record("x", date, cleared, statechar, accountamounts)[1]
         self.assertEqual(res, expected_line)
    def test_empty_record_auto_goes_last(self):
        accountamounts = [("expenses", ""), ("assets:cash", "56 CHF")]
        res = m.generate_record("x", datetime.date(2014, 1, 1), None, "",
                                accountamounts)
        self.assertListEqual(
            res, """
2014-01-01 x
    assets:cash    56 CHF
    expenses

""".splitlines())
Ejemplo n.º 3
0
    def test_empty_record_auto_goes_last(self):
        accountamounts = [("expenses", ""), ("assets:cash", "56 CHF")]
        res = m.generate_record("x", datetime.date(2014, 1, 1),
                                None, "", accountamounts)
        self.assertListEqual(
            res,
            """
2014-01-01 x
    assets:cash    56 CHF
    expenses

""".splitlines())
Ejemplo n.º 4
0
 def validate(self, grab_focus=False):
     """Raises ValidationError if the transaction is not valid."""
     title, date, auxdate, statechar, lines = (
         self.get_data_for_transaction_record()
     )
     if not title:
         if grab_focus:
             self.payee.grab_focus()
         raise h.TransactionInputValidationError(
             "Transaction title cannot be empty"
         )
     if len(lines) < 2:
         if grab_focus:
             self.lines_grab_focus()
         raise h.TransactionInputValidationError(
             "Enter at least two transaction entries"
         )
     try:
         h.generate_record(title, date, auxdate, statechar, lines,
                           validate=True)
     except h.LedgerParseError as e:
         raise h.TransactionInputValidationError(str(e))
 def test_no_cleared_date_when_cleared_date_not_supplied(self):
     cases = [
         ("2014-01-01 x", (datetime.date(2014, 1, 1), None), ""),
         ("2014-01-01 * x", (datetime.date(2014, 1,
                                           1), datetime.date(2014, 1,
                                                             1)), "*"),
         ("2014-01-01=2015-01-01 ! x", (datetime.date(2014, 1, 1),
                                        datetime.date(2015, 1, 1)), "!"),
     ]
     accountamounts = [("assets", "56 CHF"), ("expenses", "")]
     for expected_line, (date, cleared), statechar in cases:
         res = m.generate_record("x", date, cleared, statechar,
                                 accountamounts)[1]
         self.assertEqual(res, expected_line)
    def test_no_spurious_whitespace(self):
        title = "x"
        date = datetime.date(2014, 1, 1)
        cleared_date = None
        accountamounts = [
            ("assets", "56 CHF"),
            ("expenses", ""),
        ]
        res = m.generate_record(title, date, cleared_date, "", accountamounts)
        self.assertListEqual(
            res, """
2014-01-01 x
    assets      56 CHF
    expenses

""".splitlines())
Ejemplo n.º 7
0
    def test_no_spurious_whitespace(self):
        title = "x"
        date = datetime.date(2014, 1, 1)
        cleared_date = None
        accountamounts = [
            ("assets", "56 CHF"),
            ("expenses", ""),
        ]
        res = m.generate_record(title, date, cleared_date, "", accountamounts)
        self.assertListEqual(
            res,
            """
2014-01-01 x
    assets      56 CHF
    expenses

""".splitlines())
Ejemplo n.º 8
0
 def generate_record(self, *args):
     lines = ledgerhelpers.generate_record(*args)
     self.textview.get_buffer().set_text("\n".join(lines))
Ejemplo n.º 9
0
 def generate_record(self, *args):
     from ledgerhelpers import generate_record
     return generate_record(*args)
Ejemplo n.º 10
0
 def generate_record(self, *args):
     from ledgerhelpers import generate_record
     return generate_record(*args)
Ejemplo n.º 11
0
 def generate_record(self, *args):
     lines = ledgerhelpers.generate_record(*args)
     self.textview.get_buffer().set_text("\n".join(lines))