GnuCash c935c2f+
Loading...
Searching...
No Matches
gmock-Split.cpp
1#include <config.h>
2
3#include <Transaction.h>
4#include <Account.h>
5
6#include "gmock-Split.hpp"
7#include "gmock-qofbook.hpp"
8
9
11{
12 QofInstanceClass parent_class;
13};
14typedef struct _MockSplitClass MockSplitClass;
15
16G_DEFINE_TYPE(MockSplit, gnc_mocksplit, QOF_TYPE_INSTANCE)
17
18static void
19gnc_mocksplit_init (MockSplit *inst)
20{
21 // function is unused, initialization is done in the MockSplit's C++ constructor
22}
23
24static void
25gnc_mocksplit_class_init (MockSplitClass *klass)
26{
27 // function is unused, class functions are defined in C++ code
28}
29
30
31GType gnc_split_get_type(void)
32{
33 return gnc_mocksplit_get_type();
34}
35
36Split *
38{
39 SCOPED_TRACE("");
40 QofMockBook* mockbook = qof_mockbook(book);
41 return mockbook ? mockbook->malloc_split() : nullptr;
42}
43
44QofBook *
45xaccSplitGetBook (const Split *split)
46{
47 SCOPED_TRACE("");
48 auto mocksplit = gnc_mocksplit(split);
49 return mocksplit ? mocksplit->get_book() : nullptr;
50}
51
52Account *
53xaccSplitGetAccount (const Split *split)
54{
55 SCOPED_TRACE("");
56 auto mocksplit = gnc_mocksplit(split);
57 return mocksplit ? mocksplit->get_account() : nullptr;
58}
59
60void
61xaccSplitSetAccount (Split *split, Account *acc)
62{
63 ASSERT_TRUE(GNC_IS_MOCKSPLIT(split));
64 ASSERT_TRUE(GNC_IS_ACCOUNT(acc));
65 gnc_mocksplit(split)->set_account(acc);
66}
67
68gnc_numeric
69xaccSplitGetAmount (const Split *split)
70{
71 SCOPED_TRACE("");
72 auto mocksplit = gnc_mocksplit(split);
73 return mocksplit ? mocksplit->get_amount() : gnc_numeric_zero();
74}
75
76void
77xaccSplitSetAmount (Split *split, gnc_numeric amt)
78{
79 ASSERT_TRUE(GNC_IS_MOCKSPLIT(split));
80 gnc_mocksplit(split)->set_amount(amt);
81}
82
83gnc_numeric
84xaccSplitGetValue (const Split *split)
85{
86 SCOPED_TRACE("");
87 auto mocksplit = gnc_mocksplit(split);
88 return mocksplit ? mocksplit->get_value() : gnc_numeric_zero();
89}
90
91void
92xaccSplitSetValue (Split *split, gnc_numeric val)
93{
94 ASSERT_TRUE(GNC_IS_MOCKSPLIT(split));
95 gnc_mocksplit(split)->set_value(val);
96}
97
98const char *
99xaccSplitGetMemo (const Split *split)
100{
101 SCOPED_TRACE("");
102 auto mocksplit = gnc_mocksplit(split);
103 return mocksplit ? mocksplit->get_memo() : "";
104}
105
106void
107xaccSplitSetMemo (Split *split, const char *memo)
108{
109 ASSERT_TRUE(GNC_IS_MOCKSPLIT(split));
110 gnc_mocksplit(split)->set_memo(memo);
111}
112
113const char *
114xaccSplitGetOnlineID (const Split *split)
115{
116 SCOPED_TRACE("");
117 auto mocksplit = gnc_mocksplit(split);
118 return mocksplit ? mocksplit->get_online_id() : nullptr;
119}
120
121void
122xaccSplitSetOnlineID (Split *split, const char *id)
123{
124 ASSERT_TRUE(GNC_IS_MOCKSPLIT(split));
125 gnc_mocksplit(split)->set_online_id(id);
126}
127
128char
129xaccSplitGetReconcile (const Split *split)
130{
131 SCOPED_TRACE("");
132 auto mocksplit = gnc_mocksplit(split);
133 return mocksplit ? mocksplit->get_reconcile() : VREC;
134}
135
136void
137xaccSplitSetReconcile (Split *split, char recn)
138{
139 ASSERT_TRUE(GNC_IS_MOCKSPLIT(split));
140 gnc_mocksplit(split)->set_reconcile(recn);
141}
142
143void
145{
146 ASSERT_TRUE(GNC_IS_MOCKSPLIT(split));
147 gnc_mocksplit(split)->set_date_reconciled_secs(secs);
148}
149
150const char *
151xaccSplitGetAction (const Split *split)
152{
153 SCOPED_TRACE("");
154 auto mocksplit = gnc_mocksplit(split);
155 return mocksplit ? mocksplit->get_action() : "";
156}
157
158Split *
159xaccSplitGetOtherSplit (const Split *split)
160{
161 SCOPED_TRACE("");
162 auto mocksplit = gnc_mocksplit(split);
163 return mocksplit ? mocksplit->get_other_split() : nullptr;
164}
165
166Transaction *
167xaccSplitGetParent (const Split *split)
168{
169 SCOPED_TRACE("");
170 auto mocksplit = gnc_mocksplit(split);
171 return mocksplit ? mocksplit->get_parent() : nullptr;
172}
173
174void
175xaccSplitSetParent(Split *split, Transaction *trans)
176{
177 ASSERT_TRUE(GNC_IS_MOCKSPLIT(split));
178 ASSERT_TRUE(GNC_IS_TRANSACTION(trans));
179 gnc_mocksplit(split)->set_parent(trans);
180}
Account handling public routines.
API for Transactions and Splits (journal entries)
gint64 time64
Most systems that are currently maintained, including Microsoft Windows, BSD-derived Unixes and Linux...
Definition gnc-date.h:87
Transaction * xaccSplitGetParent(const Split *split)
Returns the parent transaction of the split.
void xaccSplitSetReconcile(Split *split, char recn)
Set the reconcile flag.
char xaccSplitGetReconcile(const Split *split)
Returns the value of the reconcile flag.
void xaccSplitSetMemo(Split *split, const char *memo)
The memo is an arbitrary string associated with a split.
void xaccSplitSetValue(Split *split, gnc_numeric val)
The xaccSplitSetValue() method sets the value of this split in the transaction's commodity.
Split * xaccMallocSplit(QofBook *book)
Constructor.
void xaccSplitSetAmount(Split *split, gnc_numeric amt)
The xaccSplitSetAmount() method sets the amount in the account's commodity that the split should have...
const char * xaccSplitGetAction(const Split *split)
Returns the action string.
#define VREC
split is void
Definition Split.h:77
gnc_numeric xaccSplitGetValue(const Split *split)
Returns the value of this split in the transaction's commodity.
Account * xaccSplitGetAccount(const Split *split)
Returns the account of this split, which was set through xaccAccountInsertSplit().
const char * xaccSplitGetMemo(const Split *split)
Returns the memo string.
void xaccSplitSetDateReconciledSecs(Split *split, time64 secs)
Set the date on which this split was reconciled by specifying the time as time64.
void xaccSplitSetOnlineID(Split *split, const char *id)
The online_id is the OFX/HBCI "FITID" recorded on a split when it is imported.
const char * xaccSplitGetOnlineID(const Split *split)
Returns the split's online_id.
Split * xaccSplitGetOtherSplit(const Split *split)
The xaccSplitGetOtherSplit() is a convenience routine that returns the other of a pair of splits.
QofBook * xaccSplitGetBook(const Split *split)
Returns the book of this split, i.e.
gnc_numeric xaccSplitGetAmount(const Split *split)
Returns the amount of the split in the account's commodity.
STRUCTS.
QofBook reference.
Definition qofbook-p.hpp:47