summaryrefslogtreecommitdiff
path: root/rust/actualbudget_to_schist_transformer/tests/common/account_matchers.rs
diff options
context:
space:
mode:
Diffstat (limited to 'rust/actualbudget_to_schist_transformer/tests/common/account_matchers.rs')
-rw-r--r--rust/actualbudget_to_schist_transformer/tests/common/account_matchers.rs32
1 files changed, 32 insertions, 0 deletions
diff --git a/rust/actualbudget_to_schist_transformer/tests/common/account_matchers.rs b/rust/actualbudget_to_schist_transformer/tests/common/account_matchers.rs
new file mode 100644
index 0000000..599f31f
--- /dev/null
+++ b/rust/actualbudget_to_schist_transformer/tests/common/account_matchers.rs
@@ -0,0 +1,32 @@
+use schist_models::account::Account;
+
+pub fn get_account_matchers() -> Vec<Box<dyn Fn(&Account) -> bool>> {
+ vec![
+ Box::new(|a| matches_bank_account(a)),
+ Box::new(|a| matches_cash_account(a)),
+ ]
+}
+
+fn matches_bank_account(account: &Account) -> bool {
+ match account {
+ Account {
+ name,
+ opening_balance: 0,
+ opening_date,
+ ..
+ } => name == "My bank account" && *opening_date == "2024-08-01".parse().unwrap(),
+ _ => false,
+ }
+}
+
+fn matches_cash_account(account: &Account) -> bool {
+ match account {
+ Account {
+ name,
+ opening_balance: 0,
+ opening_date,
+ ..
+ } => name == "My cash account" && *opening_date == "2024-08-01".parse().unwrap(),
+ _ => false,
+ }
+}