3from gnucash
import Book, Account, Split, Transaction
17class TestSplit(SplitSession):
19 MEMO =
"cookie monster"
20 self.assertEqual(
'', self.split.GetMemo() )
21 self.split.SetMemo(MEMO)
22 self.assertEqual( MEMO, self.split.GetMemo() )
24 def test_online_id(self):
25 FITID =
"20240131-0001-1234567890"
27 self.assertEqual(
None, self.split.GetOnlineID() )
28 self.assertFalse( self.split.HasOnlineID() )
29 self.split.SetOnlineID(FITID)
30 self.assertEqual( FITID, self.split.GetOnlineID() )
31 self.assertTrue( self.split.HasOnlineID() )
33 self.split.SetOnlineID(
"")
34 self.assertEqual(
None, self.split.GetOnlineID() )
35 self.assertFalse( self.split.HasOnlineID() )
39 ACCT.SetCommodity(self.currency)
40 self.split.SetAccount(ACCT)
41 self.assertTrue( ACCT.Equal(self.split.GetAccount(),
True) )
44 domain1 =
"gnc.engine.scrub"
45 msg1 =
"[xaccScrubUtilityGetOrMakeAccount()] No currency specified!"
46 level = G_LOG_LEVEL_CRITICAL
48 check1.log_domain = domain1
49 check1.log_level = level
51 hdlr1 = test_set_checked_handler(domain1, level, check1)
52 domain2 =
"gnc.engine"
53 msg2 =
"[xaccTransScrubSplits()] Transaction doesn't have a currency!"
54 level = G_LOG_LEVEL_CRITICAL
56 check2.log_domain = domain2
57 check2.log_level = level
59 hdlr2 = test_set_checked_handler(domain2, level, check2)
61 TRANS = Transaction(self.book)
62 self.split.SetParent(TRANS)
63 TRANS.SetCurrency(self.currency)
64 TRANS.SetDescription(
"Foo")
65 self.assertEqual( TRANS.GetDescription(), self.split.GetParent().GetDescription() )
67 g_log_remove_handler(domain2, hdlr2)
68 g_log_remove_handler(domain1, hdlr1)
72 self.assertTrue( self.split.Equal(COPY,
True,
False,
False) )
74 TRANS = Transaction(self.book)
75 self.split.SetParent(TRANS)
76 self.assertTrue( self.split == TRANS.GetSplitList()[0] )
77 self.assertTrue( self.split != Split(self.book) )