From 24131fa255a0437a29bda5d80f6d3780aff47fbd Mon Sep 17 00:00:00 2001 From: Benjamin Dornel <{{ .email }}> Date: Wed, 22 Nov 2023 15:33:24 +0000 Subject: [PATCH 1/5] refactor(statement): treat credit card transactions as debit entry --- pyproject.toml | 2 +- src/monopoly/processor.py | 2 +- src/monopoly/statement.py | 25 ++- tests/integration/banks/citibank/raw.csv | 172 +++++++++--------- .../banks/citibank/transformed.csv | 172 +++++++++--------- tests/integration/banks/dbs/raw.csv | 146 +++++++-------- tests/integration/banks/dbs/transformed.csv | 146 +++++++-------- tests/integration/banks/example/raw.csv | 106 +++++------ .../integration/banks/example/transformed.csv | 106 +++++------ tests/integration/banks/hsbc/raw.csv | 38 ++-- tests/integration/banks/hsbc/transformed.csv | 38 ++-- tests/integration/banks/ocbc/raw.csv | 106 +++++------ tests/integration/banks/ocbc/transformed.csv | 106 +++++------ .../banks/standard_chartered/raw.csv | 54 +++--- .../banks/standard_chartered/transformed.csv | 54 +++--- tests/integration/banks/test_banks.py | 12 +- tests/unit/test_statement_refund.py | 29 +++ tests/unit/test_transaction.py | 2 +- 18 files changed, 679 insertions(+), 637 deletions(-) create mode 100644 tests/unit/test_statement_refund.py diff --git a/pyproject.toml b/pyproject.toml index 6f496919..09f74520 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "monopoly-sg" -version = "0.2.0" +version = "0.3.0" description = "PDF parsing for Singaporean banks" repository = "https://github.com/benjamin-awd/monopoly" authors = ["benjamin-awd "] diff --git a/src/monopoly/processor.py b/src/monopoly/processor.py index 63d183a9..938fb6b0 100644 --- a/src/monopoly/processor.py +++ b/src/monopoly/processor.py @@ -84,7 +84,7 @@ def _perform_safety_check(self, statement: Statement) -> bool: for page in self.document: lines = page.get_textpage().extractText().split("\n") decimal_numbers.update(statement.get_decimal_numbers(lines)) - total_amount = round(statement.df[StatementFields.AMOUNT].sum(), 2) + total_amount = abs(round(statement.df[StatementFields.AMOUNT].sum(), 2)) result = total_amount in decimal_numbers if not result: diff --git a/src/monopoly/statement.py b/src/monopoly/statement.py index ef7fa2b3..82a85d27 100644 --- a/src/monopoly/statement.py +++ b/src/monopoly/statement.py @@ -2,11 +2,12 @@ import re from datetime import datetime from functools import cached_property -from typing import Optional +from typing import Any, Optional from pandas import DataFrame from pydantic import field_validator, model_validator from pydantic.dataclasses import dataclass +from pydantic_core import ArgsKwargs from monopoly.config import StatementConfig, TransactionConfig from monopoly.constants import StatementFields @@ -15,6 +16,7 @@ logger = logging.getLogger(__name__) +# pylint: disable=bad-classmethod-argument @dataclass class Transaction: """ @@ -44,18 +46,30 @@ def prepare_amount_for_float_coercion(cls, amount: str) -> str: (-1.56 ) -> -1.56 """ if isinstance(amount, str): - # change cashback to negative transaction - if amount.startswith("(") and amount.endswith(")"): - amount = "-" + amount return re.sub(r"[,)(\s]", "", amount) return amount + @model_validator(mode="before") # type: ignore + def treat_parenthesis_enclosure_as_credit(self: ArgsKwargs | Any) -> "ArgsKwargs": + """ + Treat amounts enclosed by parentheses (e.g. cashback) as a credit entry + """ + if self.kwargs: + amount: str = self.kwargs["amount"] + if isinstance(amount, str): + if amount.startswith("(") and amount.endswith(")"): + self.kwargs["suffix"] = "CR" + return self + @model_validator(mode="after") - def convert_credit_amount_to_negative(self) -> "Transaction": + def convert_credit_amount_to_negative(self: "Transaction") -> "Transaction": """ Converts transactions with a suffix of "CR" to negative """ if self.suffix == "CR": + self.amount = abs(self.amount) + + else: self.amount = -abs(self.amount) return self @@ -77,7 +91,6 @@ class Statement: @cached_property def transactions(self) -> list[Transaction]: transactions: list[Transaction] = [] - for page in self.pages: lines = self.process_lines(page) for i, line in enumerate(lines): diff --git a/tests/integration/banks/citibank/raw.csv b/tests/integration/banks/citibank/raw.csv index 307511bd..e9ad812b 100644 --- a/tests/integration/banks/citibank/raw.csv +++ b/tests/integration/banks/citibank/raw.csv @@ -1,87 +1,87 @@ transaction_date,description,amount -17 OCT,BALANCE PREVIOUS STATEMENT,1089.65 -17 OCT,FAST INCOMING PAYMENT,-1089.65 -12 OCT,Sandwich Shop @ Goldview SINGAPORE SG,2.36 -14 OCT,Public Transport 191582785 SINGAPORE SG,11.80 -14 OCT,Grocery Store-Parkside S SINGAPORE SG,6.45 -14 OCT,Cafeteria S Singapore SG,16.40 -15 OCT,Bagel House SINGAPORE SG,34.24 -15 OCT,Grocery Store-Meadowside S SINGAPORE SG,14.90 -15 OCT,Great Toast SINGAPORE SG,6.00 -16 OCT,Tea Shop Amsterdam NL,4.59 -16 OCT,Great Toast SINGAPORE SG,2.20 -16 OCT,CAFE DELIGHT - GS SINGAPORE SG,9.80 -16 OCT,GROCER MARKET-PARKWAY S SINGAPORE SG,22.30 -17 OCT,COFFEE HOUSE@BMLB(MB) SINGAPORE SG,7.20 -17 OCT,ITALIAN CUISINE S Singapore SG,16.90 -17 OCT,PUBLIC TRANSIT 197215138 SINGAPORE SG,13.09 -18 OCT,SUNSET HOTEL DINER SINGAPORE SG,61.20 -19 OCT,TOASTY DELIGHT CAFÉ SINGAPORE SG,3.10 -19 OCT,GOURMET TREATS S Singapore SG,16.40 -19 OCT,ONLINE SHOPPING MALL SINGAPORE SG,37.49 -20 OCT,TOASTY DELIGHT CAFÉ SINGAPORE SG,3.10 -21 OCT,ID:1234567890 CITI SMS CASH REBATE,-10.0 -21 OCT,FROZEN FOODS EXPRESS SINGAPORE SG,12.80 -21 OCT,GOURMET TREATS S Singapore SG,16.90 -22 OCT,SUSHI SENSE SINGAPORE SG,46.37 -22 OCT,BURGER KING & GRILL S SINGAPORE SG,10.00 -22 OCT,BURGER KING & GRILL S SINGAPORE SG,8.00 -22 OCT,FASHION HOUSE SINGAPORE PTE SINGAPORE SG,29.80 -22 OCT,PUBLIC TRANSIT 9876543210 SINGAPORE SG,5.02 -23 OCT,FAVEPAYFavePay - Foodie Express Singapore SG,13.50 -23 OCT,TOASTY DELIGHT CAFÉ SINGAPORE SG,13.20 -24 OCT,GOURMET TREATS S Singapore SG,16.40 -24 OCT,DEPARTMENTAL STORE SINGAPORE SG,10.80 -25 OCT,FAVEPAYFavePay - Sushi Delights Singapore SG,8.55 -25 OCT,TOASTY DELIGHT CAFÉ SINGAPORE SG,2.20 -25 OCT,CHILLED GOODS STORE SINGAPORE SG,5.34 -25 OCT,NET*DELICIOUS EATS @ URBAN V SINGAPORE SG,11.80 -26 OCT,SILVER GYM SINGAPORE SG,210.00 -27 OCT,FOOD BAKERY SINGAPORE SG,3.40 -27 OCT,BUS/MRT 12345678 SINGAPORE SG,13.24 -28 OCT,AWESOME TOAST SINGAPORE SG,3.10 -28 OCT,DELUXE MART SINGAPORE SG,16.45 -28 OCT,E-MART EXPRESS SINGAPORE SG,69.92 -28 OCT,TASTY BITES & CO. Pte. Ltd Singapore SG,21.78 -28 OCT,URBAN REFRESHMENTS SINGAPORE SG,9.80 -29 OCT,CULINARY DELIGHTS S Singapore SG,18.04 -29 OCT,TOASTY CAFE SINGAPORE SG,2.90 -29 OCT,Crave & Co. SINGAPORE SG,127.70 -31 OCT,FAVEPAYFavePay - Don K Singapore SG,13.49 -31 OCT,WWW.PIZZAEXPRESS.SG SINGAPORE SG,18.83 -31 OCT,COLD STORAGE SINGAPORE SG,4.60 -01 NOV,ID:1234567890 CITI SMS CASH REBATE,-10.0 -01 NOV,TEA PURCHASE SEATTLE DE,12.10 -02 NOV,TOASTY CAFE SINGAPORE SG,5.80 -02 NOV,TOASTY CAFE SINGAPORE SG,3.10 -02 NOV,TOASTY CAFE SINGAPORE SG,5.40 -02 NOV,Northern Garden Pub SINGAPORE SG,6.50 -02 NOV,Urban Drive Shop Singapore SG,1.00 -02 NOV,BUS/MRT 1234567 SINGAPORE SG,9.47 -03 NOV,TOASTY CAFE SINGAPORE SG,3.10 -03 NOV,URBAN EATS @ GOLDEN GATE SINGAPORE SG,11.80 -03 NOV,Delicious Delights S Singapore SG,16.40 -03 NOV,Tasty Bites SINGAPORE SG,16.90 -04 NOV,Currency Exchange Fee SGD 12.10,16.39 -04 NOV,Flavors Galore S Singapore SG,0.12 -05 NOV,Online Shopper's Paradise SINGAPORE SG,14.90 -05 NOV,FAVEPAYFavePay - Gourmet Singapore SG,21.74 -06 NOV,VIRTUAL MARKETPLACE SINGAPORE SG,13.50 -06 NOV,Delicious Delights S Singapore SG,22.00 -07 NOV,Quick Mart - CORNER STREET SINGAPORE SG,6.50 -07 NOV,SINGAPORE FOODIE HUB SINGAPORE SG,16.90 -07 NOV,Savory Bites S Singapore SG,37.49 -08 NOV,Currency Exchange SGD Fee 12.10,3.10 -09 NOV,Gourmet Haven S Singapore SG,16.40 -09 NOV,Cyber Shopping Zone SINGAPORE SG,2.90 -09 NOV,CCY CONVERSION FEE SGD 22.00,0.22 -10 NOV,YUMMY EATS EXPRESS SINGAPORE SG,10.40 -10 NOV,HEALTHY HARVEST CAFÉ SINGAPORE SG,9.80 -11 NOV,DELIGHTFUL MORNING BAKES SINGAPORE SG,2.20 -12 NOV,FREEZER FRESH MARKET SINGAPORE SG,6.50 -12 NOV,SWIFT AUTO MART SINGAPORE SG,5.50 -12 NOV,ARTISAN'S GOURMET STOP SINGAPORE SG,62.90 -13 NOV,GREAT TOAST SINGAPORE SG,3.10 -14 NOV,Ice Cream Shop SINGAPORE SG,16.39 -14 NOV,John's Gastronomia Singapore SG,16.90 -14 NOV,GREAT TOAST SINGAPORE SG,3.20 +17 OCT,BALANCE PREVIOUS STATEMENT,-1089.65 +17 OCT,FAST INCOMING PAYMENT,1089.65 +12 OCT,Sandwich Shop @ Goldview SINGAPORE SG,-2.36 +14 OCT,Public Transport 191582785 SINGAPORE SG,-11.8 +14 OCT,Grocery Store-Parkside S SINGAPORE SG,-6.45 +14 OCT,Cafeteria S Singapore SG,-16.4 +15 OCT,Bagel House SINGAPORE SG,-34.24 +15 OCT,Grocery Store-Meadowside S SINGAPORE SG,-14.9 +15 OCT,Great Toast SINGAPORE SG,-6.0 +16 OCT,Tea Shop Amsterdam NL,-4.59 +16 OCT,Great Toast SINGAPORE SG,-2.2 +16 OCT,CAFE DELIGHT - GS SINGAPORE SG,-9.8 +16 OCT,GROCER MARKET-PARKWAY S SINGAPORE SG,-22.3 +17 OCT,COFFEE HOUSE@BMLB(MB) SINGAPORE SG,-7.2 +17 OCT,ITALIAN CUISINE S Singapore SG,-16.9 +17 OCT,PUBLIC TRANSIT 197215138 SINGAPORE SG,-13.09 +18 OCT,SUNSET HOTEL DINER SINGAPORE SG,-61.2 +19 OCT,TOASTY DELIGHT CAFÉ SINGAPORE SG,-3.1 +19 OCT,GOURMET TREATS S Singapore SG,-16.4 +19 OCT,ONLINE SHOPPING MALL SINGAPORE SG,-37.49 +20 OCT,TOASTY DELIGHT CAFÉ SINGAPORE SG,-3.1 +21 OCT,ID:1234567890 CITI SMS CASH REBATE,10.0 +21 OCT,FROZEN FOODS EXPRESS SINGAPORE SG,-12.8 +21 OCT,GOURMET TREATS S Singapore SG,-16.9 +22 OCT,SUSHI SENSE SINGAPORE SG,-46.37 +22 OCT,BURGER KING & GRILL S SINGAPORE SG,-10.0 +22 OCT,BURGER KING & GRILL S SINGAPORE SG,-8.0 +22 OCT,FASHION HOUSE SINGAPORE PTE SINGAPORE SG,-29.8 +22 OCT,PUBLIC TRANSIT 9876543210 SINGAPORE SG,-5.02 +23 OCT,FAVEPAYFavePay - Foodie Express Singapore SG,-13.5 +23 OCT,TOASTY DELIGHT CAFÉ SINGAPORE SG,-13.2 +24 OCT,GOURMET TREATS S Singapore SG,-16.4 +24 OCT,DEPARTMENTAL STORE SINGAPORE SG,-10.8 +25 OCT,FAVEPAYFavePay - Sushi Delights Singapore SG,-8.55 +25 OCT,TOASTY DELIGHT CAFÉ SINGAPORE SG,-2.2 +25 OCT,CHILLED GOODS STORE SINGAPORE SG,-5.34 +25 OCT,NET*DELICIOUS EATS @ URBAN V SINGAPORE SG,-11.8 +26 OCT,SILVER GYM SINGAPORE SG,-210.0 +27 OCT,FOOD BAKERY SINGAPORE SG,-3.4 +27 OCT,BUS/MRT 12345678 SINGAPORE SG,-13.24 +28 OCT,AWESOME TOAST SINGAPORE SG,-3.1 +28 OCT,DELUXE MART SINGAPORE SG,-16.45 +28 OCT,E-MART EXPRESS SINGAPORE SG,-69.92 +28 OCT,TASTY BITES & CO. Pte. Ltd Singapore SG,-21.78 +28 OCT,URBAN REFRESHMENTS SINGAPORE SG,-9.8 +29 OCT,CULINARY DELIGHTS S Singapore SG,-18.04 +29 OCT,TOASTY CAFE SINGAPORE SG,-2.9 +29 OCT,Crave & Co. SINGAPORE SG,-127.7 +31 OCT,FAVEPAYFavePay - Don K Singapore SG,-13.49 +31 OCT,WWW.PIZZAEXPRESS.SG SINGAPORE SG,-18.83 +31 OCT,COLD STORAGE SINGAPORE SG,-4.6 +01 NOV,ID:1234567890 CITI SMS CASH REBATE,10.0 +01 NOV,TEA PURCHASE SEATTLE DE,-12.1 +02 NOV,TOASTY CAFE SINGAPORE SG,-5.8 +02 NOV,TOASTY CAFE SINGAPORE SG,-3.1 +02 NOV,TOASTY CAFE SINGAPORE SG,-5.4 +02 NOV,Northern Garden Pub SINGAPORE SG,-6.5 +02 NOV,Urban Drive Shop Singapore SG,-1.0 +02 NOV,BUS/MRT 1234567 SINGAPORE SG,-9.47 +03 NOV,TOASTY CAFE SINGAPORE SG,-3.1 +03 NOV,URBAN EATS @ GOLDEN GATE SINGAPORE SG,-11.8 +03 NOV,Delicious Delights S Singapore SG,-16.4 +03 NOV,Tasty Bites SINGAPORE SG,-16.9 +04 NOV,Currency Exchange Fee SGD 12.10,-16.39 +04 NOV,Flavors Galore S Singapore SG,-0.12 +05 NOV,Online Shopper's Paradise SINGAPORE SG,-14.9 +05 NOV,FAVEPAYFavePay - Gourmet Singapore SG,-21.74 +06 NOV,VIRTUAL MARKETPLACE SINGAPORE SG,-13.5 +06 NOV,Delicious Delights S Singapore SG,-22.0 +07 NOV,Quick Mart - CORNER STREET SINGAPORE SG,-6.5 +07 NOV,SINGAPORE FOODIE HUB SINGAPORE SG,-16.9 +07 NOV,Savory Bites S Singapore SG,-37.49 +08 NOV,Currency Exchange SGD Fee 12.10,-3.1 +09 NOV,Gourmet Haven S Singapore SG,-16.4 +09 NOV,Cyber Shopping Zone SINGAPORE SG,-2.9 +09 NOV,CCY CONVERSION FEE SGD 22.00,-0.22 +10 NOV,YUMMY EATS EXPRESS SINGAPORE SG,-10.4 +10 NOV,HEALTHY HARVEST CAFÉ SINGAPORE SG,-9.8 +11 NOV,DELIGHTFUL MORNING BAKES SINGAPORE SG,-2.2 +12 NOV,FREEZER FRESH MARKET SINGAPORE SG,-6.5 +12 NOV,SWIFT AUTO MART SINGAPORE SG,-5.5 +12 NOV,ARTISAN'S GOURMET STOP SINGAPORE SG,-62.9 +13 NOV,GREAT TOAST SINGAPORE SG,-3.1 +14 NOV,Ice Cream Shop SINGAPORE SG,-16.39 +14 NOV,John's Gastronomia Singapore SG,-16.9 +14 NOV,GREAT TOAST SINGAPORE SG,-3.2 diff --git a/tests/integration/banks/citibank/transformed.csv b/tests/integration/banks/citibank/transformed.csv index 6a9e98d8..4e9b4c34 100644 --- a/tests/integration/banks/citibank/transformed.csv +++ b/tests/integration/banks/citibank/transformed.csv @@ -1,87 +1,87 @@ transaction_date,description,amount -2022-10-17,BALANCE PREVIOUS STATEMENT,1089.65 -2022-10-17,FAST INCOMING PAYMENT,-1089.65 -2022-10-12,Sandwich Shop @ Goldview SINGAPORE SG,2.36 -2022-10-14,Public Transport 191582785 SINGAPORE SG,11.8 -2022-10-14,Grocery Store-Parkside S SINGAPORE SG,6.45 -2022-10-14,Cafeteria S Singapore SG,16.4 -2022-10-15,Bagel House SINGAPORE SG,34.24 -2022-10-15,Grocery Store-Meadowside S SINGAPORE SG,14.9 -2022-10-15,Great Toast SINGAPORE SG,6.0 -2022-10-16,Tea Shop Amsterdam NL,4.59 -2022-10-16,Great Toast SINGAPORE SG,2.2 -2022-10-16,CAFE DELIGHT - GS SINGAPORE SG,9.8 -2022-10-16,GROCER MARKET-PARKWAY S SINGAPORE SG,22.3 -2022-10-17,COFFEE HOUSE@BMLB(MB) SINGAPORE SG,7.2 -2022-10-17,ITALIAN CUISINE S Singapore SG,16.9 -2022-10-17,PUBLIC TRANSIT 197215138 SINGAPORE SG,13.09 -2022-10-18,SUNSET HOTEL DINER SINGAPORE SG,61.2 -2022-10-19,TOASTY DELIGHT CAFÉ SINGAPORE SG,3.1 -2022-10-19,GOURMET TREATS S Singapore SG,16.4 -2022-10-19,ONLINE SHOPPING MALL SINGAPORE SG,37.49 -2022-10-20,TOASTY DELIGHT CAFÉ SINGAPORE SG,3.1 -2022-10-21,ID:1234567890 CITI SMS CASH REBATE,-10.0 -2022-10-21,FROZEN FOODS EXPRESS SINGAPORE SG,12.8 -2022-10-21,GOURMET TREATS S Singapore SG,16.9 -2022-10-22,SUSHI SENSE SINGAPORE SG,46.37 -2022-10-22,BURGER KING & GRILL S SINGAPORE SG,10.0 -2022-10-22,BURGER KING & GRILL S SINGAPORE SG,8.0 -2022-10-22,FASHION HOUSE SINGAPORE PTE SINGAPORE SG,29.8 -2022-10-22,PUBLIC TRANSIT 9876543210 SINGAPORE SG,5.02 -2022-10-23,FAVEPAYFavePay - Foodie Express Singapore SG,13.5 -2022-10-23,TOASTY DELIGHT CAFÉ SINGAPORE SG,13.2 -2022-10-24,GOURMET TREATS S Singapore SG,16.4 -2022-10-24,DEPARTMENTAL STORE SINGAPORE SG,10.8 -2022-10-25,FAVEPAYFavePay - Sushi Delights Singapore SG,8.55 -2022-10-25,TOASTY DELIGHT CAFÉ SINGAPORE SG,2.2 -2022-10-25,CHILLED GOODS STORE SINGAPORE SG,5.34 -2022-10-25,NET*DELICIOUS EATS @ URBAN V SINGAPORE SG,11.8 -2022-10-26,SILVER GYM SINGAPORE SG,210.0 -2022-10-27,FOOD BAKERY SINGAPORE SG,3.4 -2022-10-27,BUS/MRT 12345678 SINGAPORE SG,13.24 -2022-10-28,AWESOME TOAST SINGAPORE SG,3.1 -2022-10-28,DELUXE MART SINGAPORE SG,16.45 -2022-10-28,E-MART EXPRESS SINGAPORE SG,69.92 -2022-10-28,TASTY BITES & CO. Pte. Ltd Singapore SG,21.78 -2022-10-28,URBAN REFRESHMENTS SINGAPORE SG,9.8 -2022-10-29,CULINARY DELIGHTS S Singapore SG,18.04 -2022-10-29,TOASTY CAFE SINGAPORE SG,2.9 -2022-10-29,Crave & Co. SINGAPORE SG,127.7 -2022-10-31,FAVEPAYFavePay - Don K Singapore SG,13.49 -2022-10-31,WWW.PIZZAEXPRESS.SG SINGAPORE SG,18.83 -2022-10-31,COLD STORAGE SINGAPORE SG,4.6 -2022-11-01,ID:1234567890 CITI SMS CASH REBATE,-10.0 -2022-11-01,TEA PURCHASE SEATTLE DE,12.1 -2022-11-02,TOASTY CAFE SINGAPORE SG,5.8 -2022-11-02,TOASTY CAFE SINGAPORE SG,3.1 -2022-11-02,TOASTY CAFE SINGAPORE SG,5.4 -2022-11-02,Northern Garden Pub SINGAPORE SG,6.5 -2022-11-02,Urban Drive Shop Singapore SG,1.0 -2022-11-02,BUS/MRT 1234567 SINGAPORE SG,9.47 -2022-11-03,TOASTY CAFE SINGAPORE SG,3.1 -2022-11-03,URBAN EATS @ GOLDEN GATE SINGAPORE SG,11.8 -2022-11-03,Delicious Delights S Singapore SG,16.4 -2022-11-03,Tasty Bites SINGAPORE SG,16.9 -2022-11-04,Currency Exchange Fee SGD 12.10,16.39 -2022-11-04,Flavors Galore S Singapore SG,0.12 -2022-11-05,Online Shopper's Paradise SINGAPORE SG,14.9 -2022-11-05,FAVEPAYFavePay - Gourmet Singapore SG,21.74 -2022-11-06,VIRTUAL MARKETPLACE SINGAPORE SG,13.5 -2022-11-06,Delicious Delights S Singapore SG,22.0 -2022-11-07,Quick Mart - CORNER STREET SINGAPORE SG,6.5 -2022-11-07,SINGAPORE FOODIE HUB SINGAPORE SG,16.9 -2022-11-07,Savory Bites S Singapore SG,37.49 -2022-11-08,Currency Exchange SGD Fee 12.10,3.1 -2022-11-09,Gourmet Haven S Singapore SG,16.4 -2022-11-09,Cyber Shopping Zone SINGAPORE SG,2.9 -2022-11-09,CCY CONVERSION FEE SGD 22.00,0.22 -2022-11-10,YUMMY EATS EXPRESS SINGAPORE SG,10.4 -2022-11-10,HEALTHY HARVEST CAFÉ SINGAPORE SG,9.8 -2022-11-11,DELIGHTFUL MORNING BAKES SINGAPORE SG,2.2 -2022-11-12,FREEZER FRESH MARKET SINGAPORE SG,6.5 -2022-11-12,SWIFT AUTO MART SINGAPORE SG,5.5 -2022-11-12,ARTISAN'S GOURMET STOP SINGAPORE SG,62.9 -2022-11-13,GREAT TOAST SINGAPORE SG,3.1 -2022-11-14,Ice Cream Shop SINGAPORE SG,16.39 -2022-11-14,John's Gastronomia Singapore SG,16.9 -2022-11-14,GREAT TOAST SINGAPORE SG,3.2 +2022-10-17,BALANCE PREVIOUS STATEMENT,-1089.65 +2022-10-17,FAST INCOMING PAYMENT,1089.65 +2022-10-12,Sandwich Shop @ Goldview SINGAPORE SG,-2.36 +2022-10-14,Public Transport 191582785 SINGAPORE SG,-11.8 +2022-10-14,Grocery Store-Parkside S SINGAPORE SG,-6.45 +2022-10-14,Cafeteria S Singapore SG,-16.4 +2022-10-15,Bagel House SINGAPORE SG,-34.24 +2022-10-15,Grocery Store-Meadowside S SINGAPORE SG,-14.9 +2022-10-15,Great Toast SINGAPORE SG,-6.0 +2022-10-16,Tea Shop Amsterdam NL,-4.59 +2022-10-16,Great Toast SINGAPORE SG,-2.2 +2022-10-16,CAFE DELIGHT - GS SINGAPORE SG,-9.8 +2022-10-16,GROCER MARKET-PARKWAY S SINGAPORE SG,-22.3 +2022-10-17,COFFEE HOUSE@BMLB(MB) SINGAPORE SG,-7.2 +2022-10-17,ITALIAN CUISINE S Singapore SG,-16.9 +2022-10-17,PUBLIC TRANSIT 197215138 SINGAPORE SG,-13.09 +2022-10-18,SUNSET HOTEL DINER SINGAPORE SG,-61.2 +2022-10-19,TOASTY DELIGHT CAFÉ SINGAPORE SG,-3.1 +2022-10-19,GOURMET TREATS S Singapore SG,-16.4 +2022-10-19,ONLINE SHOPPING MALL SINGAPORE SG,-37.49 +2022-10-20,TOASTY DELIGHT CAFÉ SINGAPORE SG,-3.1 +2022-10-21,ID:1234567890 CITI SMS CASH REBATE,10.0 +2022-10-21,FROZEN FOODS EXPRESS SINGAPORE SG,-12.8 +2022-10-21,GOURMET TREATS S Singapore SG,-16.9 +2022-10-22,SUSHI SENSE SINGAPORE SG,-46.37 +2022-10-22,BURGER KING & GRILL S SINGAPORE SG,-10.0 +2022-10-22,BURGER KING & GRILL S SINGAPORE SG,-8.0 +2022-10-22,FASHION HOUSE SINGAPORE PTE SINGAPORE SG,-29.8 +2022-10-22,PUBLIC TRANSIT 9876543210 SINGAPORE SG,-5.02 +2022-10-23,FAVEPAYFavePay - Foodie Express Singapore SG,-13.5 +2022-10-23,TOASTY DELIGHT CAFÉ SINGAPORE SG,-13.2 +2022-10-24,GOURMET TREATS S Singapore SG,-16.4 +2022-10-24,DEPARTMENTAL STORE SINGAPORE SG,-10.8 +2022-10-25,FAVEPAYFavePay - Sushi Delights Singapore SG,-8.55 +2022-10-25,TOASTY DELIGHT CAFÉ SINGAPORE SG,-2.2 +2022-10-25,CHILLED GOODS STORE SINGAPORE SG,-5.34 +2022-10-25,NET*DELICIOUS EATS @ URBAN V SINGAPORE SG,-11.8 +2022-10-26,SILVER GYM SINGAPORE SG,-210.0 +2022-10-27,FOOD BAKERY SINGAPORE SG,-3.4 +2022-10-27,BUS/MRT 12345678 SINGAPORE SG,-13.24 +2022-10-28,AWESOME TOAST SINGAPORE SG,-3.1 +2022-10-28,DELUXE MART SINGAPORE SG,-16.45 +2022-10-28,E-MART EXPRESS SINGAPORE SG,-69.92 +2022-10-28,TASTY BITES & CO. Pte. Ltd Singapore SG,-21.78 +2022-10-28,URBAN REFRESHMENTS SINGAPORE SG,-9.8 +2022-10-29,CULINARY DELIGHTS S Singapore SG,-18.04 +2022-10-29,TOASTY CAFE SINGAPORE SG,-2.9 +2022-10-29,Crave & Co. SINGAPORE SG,-127.7 +2022-10-31,FAVEPAYFavePay - Don K Singapore SG,-13.49 +2022-10-31,WWW.PIZZAEXPRESS.SG SINGAPORE SG,-18.83 +2022-10-31,COLD STORAGE SINGAPORE SG,-4.6 +2022-11-01,ID:1234567890 CITI SMS CASH REBATE,10.0 +2022-11-01,TEA PURCHASE SEATTLE DE,-12.1 +2022-11-02,TOASTY CAFE SINGAPORE SG,-5.8 +2022-11-02,TOASTY CAFE SINGAPORE SG,-3.1 +2022-11-02,TOASTY CAFE SINGAPORE SG,-5.4 +2022-11-02,Northern Garden Pub SINGAPORE SG,-6.5 +2022-11-02,Urban Drive Shop Singapore SG,-1.0 +2022-11-02,BUS/MRT 1234567 SINGAPORE SG,-9.47 +2022-11-03,TOASTY CAFE SINGAPORE SG,-3.1 +2022-11-03,URBAN EATS @ GOLDEN GATE SINGAPORE SG,-11.8 +2022-11-03,Delicious Delights S Singapore SG,-16.4 +2022-11-03,Tasty Bites SINGAPORE SG,-16.9 +2022-11-04,Currency Exchange Fee SGD 12.10,-16.39 +2022-11-04,Flavors Galore S Singapore SG,-0.12 +2022-11-05,Online Shopper's Paradise SINGAPORE SG,-14.9 +2022-11-05,FAVEPAYFavePay - Gourmet Singapore SG,-21.74 +2022-11-06,VIRTUAL MARKETPLACE SINGAPORE SG,-13.5 +2022-11-06,Delicious Delights S Singapore SG,-22.0 +2022-11-07,Quick Mart - CORNER STREET SINGAPORE SG,-6.5 +2022-11-07,SINGAPORE FOODIE HUB SINGAPORE SG,-16.9 +2022-11-07,Savory Bites S Singapore SG,-37.49 +2022-11-08,Currency Exchange SGD Fee 12.10,-3.1 +2022-11-09,Gourmet Haven S Singapore SG,-16.4 +2022-11-09,Cyber Shopping Zone SINGAPORE SG,-2.9 +2022-11-09,CCY CONVERSION FEE SGD 22.00,-0.22 +2022-11-10,YUMMY EATS EXPRESS SINGAPORE SG,-10.4 +2022-11-10,HEALTHY HARVEST CAFÉ SINGAPORE SG,-9.8 +2022-11-11,DELIGHTFUL MORNING BAKES SINGAPORE SG,-2.2 +2022-11-12,FREEZER FRESH MARKET SINGAPORE SG,-6.5 +2022-11-12,SWIFT AUTO MART SINGAPORE SG,-5.5 +2022-11-12,ARTISAN'S GOURMET STOP SINGAPORE SG,-62.9 +2022-11-13,GREAT TOAST SINGAPORE SG,-3.1 +2022-11-14,Ice Cream Shop SINGAPORE SG,-16.39 +2022-11-14,John's Gastronomia Singapore SG,-16.9 +2022-11-14,GREAT TOAST SINGAPORE SG,-3.2 diff --git a/tests/integration/banks/dbs/raw.csv b/tests/integration/banks/dbs/raw.csv index 602404b6..5fe5adcc 100644 --- a/tests/integration/banks/dbs/raw.csv +++ b/tests/integration/banks/dbs/raw.csv @@ -1,74 +1,74 @@ transaction_date,description,amount -05 OCT,PREVIOUS BALANCE,6492.54 -05 OCT,PAYMENT - DBS INTERNET/WIRELESS,-6492.54 -13 SEP,GALACTIC GOODS,14.44 -14 SEP,ZETA DELIGHTS,22.55 -14 SEP,COSMIC CUISINE,22.09 -15 SEP,ESPRESSO UNIVERSE,52.87 -16 SEP,FUSION JUNCTION,30.1 -16 SEP,NEBULA MARKETPLACE,54.43 -16 SEP,MYSTIC AMAZONIA,19.15 -16 SEP,MYSTIC DELICACIES,22.0 -17 SEP,PASTA GALAXY,97.42 -17 SEP,COSMIC CONFECTIONS,10000.0 -18 SEP,ASTRAL BAKEHOUSE,23.29 -18 SEP,NOVA GROCERY,30.21 -19 SEP,ASTRAL TREATS,152.91 -19 SEP,ORBITAL DINER,7.86 -19 SEP,COSMIC COFFEE,8.4 -19 SEP,INTERSTELLAR EATS,6.55 -19 SEP,GALAXY GOURMET,107.69 -19 SEP,ZENITH SNACKS,12.9 -19 SEP,CELESTIAL CAFÉ,15.9 -20 SEP,SOLAR DELIGHTS,32.08 -20 SEP,AURA MART,46.76 -21 SEP,GALAXY TREATS,8.7 -21 SEP,COSMIC FEAST,21.49 -22 SEP,STAR BISTRO,13.65 -22 SEP,ECLIPSE EATS,46.2 -22 SEP,NEBULA NOOK,17.65 -23 SEP,NOVA DELI,57.38 -23 SEP,ZENITH GROCER,42.91 -24 SEP,ASTRA CAFÉ,111.95 -25 SEP,METEOR MUNCH,15.44 -25 SEP,ORBITAL BITE,0.12 -25 SEP,LUNAR GOURMET,32.68 -26 SEP,CELESTIAL CUISINE,8.0 -26 SEP,VENUSIAN SNACKS,11.4 -27 SEP,COSMO DELIGHTS,409.32 -27 SEP,COMET CAFETERIA,44.5 -27 SEP,STARLIGHT DINER,129.65 -27 SEP,GALACTIC GRUB,25.08 -28 SEP,SATELLITE SUPPLY,10.0 -28 SEP,ASTRAL APPETITE,6.8 -28 SEP,SPACEWAY MARKET,8.7 -29 SEP,SOLAR SUSTENANCE,5.35 -29 SEP,METEORITE MEALS,22.0 -02 OCT,ZODIAC ZESTS,40.27 -02 OCT,INTERSTELLAR EATS,48.0 -02 OCT,CONSTELLATION CAFÉ,27.0 -03 OCT,COSMIC CULINARY,17.3 -03 OCT,GALAXY GUSTO,75.0 -03 OCT,AURORA BITES,14.0 -03 OCT,INFINITY INGREDIENTS,249.9 -04 OCT,NOVA NOURISH,25.0 -04 OCT,SOLAR SNACKS,129.48 -05 OCT,MOONLIT MEALS,71.06 -05 OCT,COMET CUISINE,6.3 -05 OCT,METEOR MUNCHIES,14.45 -05 OCT,STARLIGHT BITES,13.82 -06 OCT,CELESTIAL KITCHEN,11.95 -07 OCT,ZENITH ZESTS,21.38 -08 OCT,ASTRAL APPETIZERS,57.83 -08 OCT,GALACTIC GROCERY,56.2 -09 OCT,NEBULA NOURISH,28.39 -09 OCT,ASTRO SNACKS,23.07 -10 OCT,COSMIC CAFTERIA,15.44 -10 OCT,STELLAR SUPPLY,26.61 -10 OCT,MOONBEAM MUNCH,256.41 -10 OCT,ASTRAL GOURMET,63.75 -11 OCT,METEORITE MEALS,17.58 -12 OCT,GALAXY GUSTATION,1400.0 -12 OCT,ZODIAC ZESTS,55.09 -13 OCT,COMET CUISINE,97.95 -13 OCT,NEBULA NOURISH,2277.37 +05 OCT,PREVIOUS BALANCE,-6492.54 +05 OCT,PAYMENT - DBS INTERNET/WIRELESS,6492.54 +13 SEP,GALACTIC GOODS,-14.44 +14 SEP,ZETA DELIGHTS,-22.55 +14 SEP,COSMIC CUISINE,-22.09 +15 SEP,ESPRESSO UNIVERSE,-52.87 +16 SEP,FUSION JUNCTION,-30.1 +16 SEP,NEBULA MARKETPLACE,-54.43 +16 SEP,MYSTIC AMAZONIA,-19.15 +16 SEP,MYSTIC DELICACIES,-22.0 +17 SEP,PASTA GALAXY,-97.42 +17 SEP,COSMIC CONFECTIONS,-10000.0 +18 SEP,ASTRAL BAKEHOUSE,-23.29 +18 SEP,NOVA GROCERY,-30.21 +19 SEP,ASTRAL TREATS,-152.91 +19 SEP,ORBITAL DINER,-7.86 +19 SEP,COSMIC COFFEE,-8.4 +19 SEP,INTERSTELLAR EATS,-6.55 +19 SEP,GALAXY GOURMET,-107.69 +19 SEP,ZENITH SNACKS,-12.9 +19 SEP,CELESTIAL CAFÉ,-15.9 +20 SEP,SOLAR DELIGHTS,-32.08 +20 SEP,AURA MART,-46.76 +21 SEP,GALAXY TREATS,-8.7 +21 SEP,COSMIC FEAST,-21.49 +22 SEP,STAR BISTRO,-13.65 +22 SEP,ECLIPSE EATS,-46.2 +22 SEP,NEBULA NOOK,-17.65 +23 SEP,NOVA DELI,-57.38 +23 SEP,ZENITH GROCER,-42.91 +24 SEP,ASTRA CAFÉ,-111.95 +25 SEP,METEOR MUNCH,-15.44 +25 SEP,ORBITAL BITE,-0.12 +25 SEP,LUNAR GOURMET,-32.68 +26 SEP,CELESTIAL CUISINE,-8.0 +26 SEP,VENUSIAN SNACKS,-11.4 +27 SEP,COSMO DELIGHTS,-409.32 +27 SEP,COMET CAFETERIA,-44.5 +27 SEP,STARLIGHT DINER,-129.65 +27 SEP,GALACTIC GRUB,-25.08 +28 SEP,SATELLITE SUPPLY,-10.0 +28 SEP,ASTRAL APPETITE,-6.8 +28 SEP,SPACEWAY MARKET,-8.7 +29 SEP,SOLAR SUSTENANCE,-5.35 +29 SEP,METEORITE MEALS,-22.0 +02 OCT,ZODIAC ZESTS,-40.27 +02 OCT,INTERSTELLAR EATS,-48.0 +02 OCT,CONSTELLATION CAFÉ,-27.0 +03 OCT,COSMIC CULINARY,-17.3 +03 OCT,GALAXY GUSTO,-75.0 +03 OCT,AURORA BITES,-14.0 +03 OCT,INFINITY INGREDIENTS,-249.9 +04 OCT,NOVA NOURISH,-25.0 +04 OCT,SOLAR SNACKS,-129.48 +05 OCT,MOONLIT MEALS,-71.06 +05 OCT,COMET CUISINE,-6.3 +05 OCT,METEOR MUNCHIES,-14.45 +05 OCT,STARLIGHT BITES,-13.82 +06 OCT,CELESTIAL KITCHEN,-11.95 +07 OCT,ZENITH ZESTS,-21.38 +08 OCT,ASTRAL APPETIZERS,-57.83 +08 OCT,GALACTIC GROCERY,-56.2 +09 OCT,NEBULA NOURISH,-28.39 +09 OCT,ASTRO SNACKS,-23.07 +10 OCT,COSMIC CAFTERIA,-15.44 +10 OCT,STELLAR SUPPLY,-26.61 +10 OCT,MOONBEAM MUNCH,-256.41 +10 OCT,ASTRAL GOURMET,-63.75 +11 OCT,METEORITE MEALS,-17.58 +12 OCT,GALAXY GUSTATION,-1400.0 +12 OCT,ZODIAC ZESTS,-55.09 +13 OCT,COMET CUISINE,-97.95 +13 OCT,NEBULA NOURISH,-2277.37 diff --git a/tests/integration/banks/dbs/transformed.csv b/tests/integration/banks/dbs/transformed.csv index cf2c42c8..0004c3ab 100644 --- a/tests/integration/banks/dbs/transformed.csv +++ b/tests/integration/banks/dbs/transformed.csv @@ -1,74 +1,74 @@ transaction_date,description,amount -2023-10-05,PREVIOUS BALANCE,6492.54 -2023-10-05,PAYMENT - DBS INTERNET/WIRELESS,-6492.54 -2023-09-13,GALACTIC GOODS,14.44 -2023-09-14,ZETA DELIGHTS,22.55 -2023-09-14,COSMIC CUISINE,22.09 -2023-09-15,ESPRESSO UNIVERSE,52.87 -2023-09-16,FUSION JUNCTION,30.1 -2023-09-16,NEBULA MARKETPLACE,54.43 -2023-09-16,MYSTIC AMAZONIA,19.15 -2023-09-16,MYSTIC DELICACIES,22.0 -2023-09-17,PASTA GALAXY,97.42 -2023-09-17,COSMIC CONFECTIONS,10000.0 -2023-09-18,ASTRAL BAKEHOUSE,23.29 -2023-09-18,NOVA GROCERY,30.21 -2023-09-19,ASTRAL TREATS,152.91 -2023-09-19,ORBITAL DINER,7.86 -2023-09-19,COSMIC COFFEE,8.4 -2023-09-19,INTERSTELLAR EATS,6.55 -2023-09-19,GALAXY GOURMET,107.69 -2023-09-19,ZENITH SNACKS,12.9 -2023-09-19,CELESTIAL CAFÉ,15.9 -2023-09-20,SOLAR DELIGHTS,32.08 -2023-09-20,AURA MART,46.76 -2023-09-21,GALAXY TREATS,8.7 -2023-09-21,COSMIC FEAST,21.49 -2023-09-22,STAR BISTRO,13.65 -2023-09-22,ECLIPSE EATS,46.2 -2023-09-22,NEBULA NOOK,17.65 -2023-09-23,NOVA DELI,57.38 -2023-09-23,ZENITH GROCER,42.91 -2023-09-24,ASTRA CAFÉ,111.95 -2023-09-25,METEOR MUNCH,15.44 -2023-09-25,ORBITAL BITE,0.12 -2023-09-25,LUNAR GOURMET,32.68 -2023-09-26,CELESTIAL CUISINE,8.0 -2023-09-26,VENUSIAN SNACKS,11.4 -2023-09-27,COSMO DELIGHTS,409.32 -2023-09-27,COMET CAFETERIA,44.5 -2023-09-27,STARLIGHT DINER,129.65 -2023-09-27,GALACTIC GRUB,25.08 -2023-09-28,SATELLITE SUPPLY,10.0 -2023-09-28,ASTRAL APPETITE,6.8 -2023-09-28,SPACEWAY MARKET,8.7 -2023-09-29,SOLAR SUSTENANCE,5.35 -2023-09-29,METEORITE MEALS,22.0 -2023-10-02,ZODIAC ZESTS,40.27 -2023-10-02,INTERSTELLAR EATS,48.0 -2023-10-02,CONSTELLATION CAFÉ,27.0 -2023-10-03,COSMIC CULINARY,17.3 -2023-10-03,GALAXY GUSTO,75.0 -2023-10-03,AURORA BITES,14.0 -2023-10-03,INFINITY INGREDIENTS,249.9 -2023-10-04,NOVA NOURISH,25.0 -2023-10-04,SOLAR SNACKS,129.48 -2023-10-05,MOONLIT MEALS,71.06 -2023-10-05,COMET CUISINE,6.3 -2023-10-05,METEOR MUNCHIES,14.45 -2023-10-05,STARLIGHT BITES,13.82 -2023-10-06,CELESTIAL KITCHEN,11.95 -2023-10-07,ZENITH ZESTS,21.38 -2023-10-08,ASTRAL APPETIZERS,57.83 -2023-10-08,GALACTIC GROCERY,56.2 -2023-10-09,NEBULA NOURISH,28.39 -2023-10-09,ASTRO SNACKS,23.07 -2023-10-10,COSMIC CAFTERIA,15.44 -2023-10-10,STELLAR SUPPLY,26.61 -2023-10-10,MOONBEAM MUNCH,256.41 -2023-10-10,ASTRAL GOURMET,63.75 -2023-10-11,METEORITE MEALS,17.58 -2023-10-12,GALAXY GUSTATION,1400.0 -2023-10-12,ZODIAC ZESTS,55.09 -2023-10-13,COMET CUISINE,97.95 -2023-10-13,NEBULA NOURISH,2277.37 +2023-10-05,PREVIOUS BALANCE,-6492.54 +2023-10-05,PAYMENT - DBS INTERNET/WIRELESS,6492.54 +2023-09-13,GALACTIC GOODS,-14.44 +2023-09-14,ZETA DELIGHTS,-22.55 +2023-09-14,COSMIC CUISINE,-22.09 +2023-09-15,ESPRESSO UNIVERSE,-52.87 +2023-09-16,FUSION JUNCTION,-30.1 +2023-09-16,NEBULA MARKETPLACE,-54.43 +2023-09-16,MYSTIC AMAZONIA,-19.15 +2023-09-16,MYSTIC DELICACIES,-22.0 +2023-09-17,PASTA GALAXY,-97.42 +2023-09-17,COSMIC CONFECTIONS,-10000.0 +2023-09-18,ASTRAL BAKEHOUSE,-23.29 +2023-09-18,NOVA GROCERY,-30.21 +2023-09-19,ASTRAL TREATS,-152.91 +2023-09-19,ORBITAL DINER,-7.86 +2023-09-19,COSMIC COFFEE,-8.4 +2023-09-19,INTERSTELLAR EATS,-6.55 +2023-09-19,GALAXY GOURMET,-107.69 +2023-09-19,ZENITH SNACKS,-12.9 +2023-09-19,CELESTIAL CAFÉ,-15.9 +2023-09-20,SOLAR DELIGHTS,-32.08 +2023-09-20,AURA MART,-46.76 +2023-09-21,GALAXY TREATS,-8.7 +2023-09-21,COSMIC FEAST,-21.49 +2023-09-22,STAR BISTRO,-13.65 +2023-09-22,ECLIPSE EATS,-46.2 +2023-09-22,NEBULA NOOK,-17.65 +2023-09-23,NOVA DELI,-57.38 +2023-09-23,ZENITH GROCER,-42.91 +2023-09-24,ASTRA CAFÉ,-111.95 +2023-09-25,METEOR MUNCH,-15.44 +2023-09-25,ORBITAL BITE,-0.12 +2023-09-25,LUNAR GOURMET,-32.68 +2023-09-26,CELESTIAL CUISINE,-8.0 +2023-09-26,VENUSIAN SNACKS,-11.4 +2023-09-27,COSMO DELIGHTS,-409.32 +2023-09-27,COMET CAFETERIA,-44.5 +2023-09-27,STARLIGHT DINER,-129.65 +2023-09-27,GALACTIC GRUB,-25.08 +2023-09-28,SATELLITE SUPPLY,-10.0 +2023-09-28,ASTRAL APPETITE,-6.8 +2023-09-28,SPACEWAY MARKET,-8.7 +2023-09-29,SOLAR SUSTENANCE,-5.35 +2023-09-29,METEORITE MEALS,-22.0 +2023-10-02,ZODIAC ZESTS,-40.27 +2023-10-02,INTERSTELLAR EATS,-48.0 +2023-10-02,CONSTELLATION CAFÉ,-27.0 +2023-10-03,COSMIC CULINARY,-17.3 +2023-10-03,GALAXY GUSTO,-75.0 +2023-10-03,AURORA BITES,-14.0 +2023-10-03,INFINITY INGREDIENTS,-249.9 +2023-10-04,NOVA NOURISH,-25.0 +2023-10-04,SOLAR SNACKS,-129.48 +2023-10-05,MOONLIT MEALS,-71.06 +2023-10-05,COMET CUISINE,-6.3 +2023-10-05,METEOR MUNCHIES,-14.45 +2023-10-05,STARLIGHT BITES,-13.82 +2023-10-06,CELESTIAL KITCHEN,-11.95 +2023-10-07,ZENITH ZESTS,-21.38 +2023-10-08,ASTRAL APPETIZERS,-57.83 +2023-10-08,GALACTIC GROCERY,-56.2 +2023-10-09,NEBULA NOURISH,-28.39 +2023-10-09,ASTRO SNACKS,-23.07 +2023-10-10,COSMIC CAFTERIA,-15.44 +2023-10-10,STELLAR SUPPLY,-26.61 +2023-10-10,MOONBEAM MUNCH,-256.41 +2023-10-10,ASTRAL GOURMET,-63.75 +2023-10-11,METEORITE MEALS,-17.58 +2023-10-12,GALAXY GUSTATION,-1400.0 +2023-10-12,ZODIAC ZESTS,-55.09 +2023-10-13,COMET CUISINE,-97.95 +2023-10-13,NEBULA NOURISH,-2277.37 diff --git a/tests/integration/banks/example/raw.csv b/tests/integration/banks/example/raw.csv index cbe3591b..3ff3e24f 100644 --- a/tests/integration/banks/example/raw.csv +++ b/tests/integration/banks/example/raw.csv @@ -1,54 +1,54 @@ transaction_date,description,amount -02/07,LAST MONTH'S BALANCE,412.16 -02/07,PAYMENT BY INTERNET,-412.16 -03/07,DELIGHTFUL BREAKFAST SINGAPORE SG,4.20 -06/07,URBAN TRANSIT CO. SINGAPORE SG,1.38 -07/07,MORNING BITES CAFE SINGAPORE SG,4.20 -13/07,SUNRISE TOAST HAVEN SINGAPORE SG,3.20 -15/07,ARCTIC MARKET SINGAPORE SG,7.00 -16/07,SPEEDY DRIVE SHOP SINGAPORE SG,11.90 -16/07,TRAVELEATS EXPRESS SINGAPORE SG,1.00 -17/07,FROSTED PANTRY SINGAPORE SG,2.51 -18/07,COMMUTE & GO MART SINGAPORE SG,9.90 -18/07,CULINARY CONNECT SINGAPORE SG,6.95 -18/07,NATURE'S OVEN SINGAPORE SG,1.29 -18/07,CHILLED URBAN MART SINGAPORE SG,2.64 -19/07,GLOBAL FLAVORS SINGAPORE SG,5.50 -19/07,FITLIFE ACCESS SINGAPORE SG,17.40 -20/07,MORNING BITE CAFE SINGAPORE SG,8.30 -20/07,FOODIE EXPRESS SINGAPORE 239 SG,36.25 -20/07,GASTRONOMIC OASIS SINGAPORE SG,2.28 -21/07,TRANQUIL TRANSIT SINGAPORE SG,11.90 -21/07,URBAN HARVEST SINGAPORE SG,7.30 -21/07,ENCHANTED CAFE SINGAPORE SG,11.90 -22/07,FROZEN WONDERS SINGAPORE SG,6.10 -22/07,DRIVE-THRU DELIGHTS SINGAPORE SG,238.79 -22/07,FLAVORFUL MARKETPLAC SINGAPORE SG,2.71 -23/07,GOURMET PANTRY SINGAPORE SG,8.50 -23/07,TRAVELER'S PROVISION SINGAPORE SG,59.00 -23/07,EPICUREAN CONNECT SINGAPORE SG,3.20 -23/07,NATURAL BAZAAR SINGAPORE SG,12.90 -24/07,WHOLESOME LIFE SINGAPORE SG,27.75 -24/07,SAVORY MORNING SINGAPORE SG,2.90 -25/07,METRO TRANSIT SINGAPORE SG,17.16 -25/07,SUNNY CAFE SINGAPORE SG,17.40 -25/07,GOLDEN TOAST SINGAPORE SG,13.45 -25/07,-1234 SNOWY MART SINGAPORE SG,1.45 -25/07,DRIVE EXPRESS SINGAPORE SG,3.43 -26/07,GOURMET SHOP SINGAPORE SG,7.30 -26/07,URBAN EATS SINGAPORE SG,11.90 -26/07,FOOD HUB SINGAPORE SG,6.50 -26/07,FRESH FINDS SINGAPORE SG,2.44 -26/07,COZY CAFE SINGAPORE SG,1.29 -27/07,PANTRY PICKS SINGAPORE SG,17.90 -27/07,TRAVEL DELI SINGAPORE SG,3.70 -28/07,GLOBAL GRUB SINGAPORE SG,12.00 -28/07,FITNESS PASS SINGAPORE SG,4.20 -28/07,NATURE FARE SINGAPORE SG,3.04 -29/07,FAST FEAST SINGAPORE SG,15.60 -30/07,QUICK MART SINGAPORE SG,13.52 -30/07,CULINARY WAY SINGAPORE SG,8.95 -30/07,COLD STORAGE SINGAPORE SG,4.20 -31/07,BUS RIDE SINGAPORE SG,11.90 -31/07,EATERY STOP SINGAPORE SG,7.30 -18/07,CASH REBATE,-1.38 +02/07,LAST MONTH'S BALANCE,-412.16 +02/07,PAYMENT BY INTERNET,412.16 +03/07,DELIGHTFUL BREAKFAST SINGAPORE SG,-4.2 +06/07,URBAN TRANSIT CO. SINGAPORE SG,-1.38 +07/07,MORNING BITES CAFE SINGAPORE SG,-4.2 +13/07,SUNRISE TOAST HAVEN SINGAPORE SG,-3.2 +15/07,ARCTIC MARKET SINGAPORE SG,-7.0 +16/07,SPEEDY DRIVE SHOP SINGAPORE SG,-11.9 +16/07,TRAVELEATS EXPRESS SINGAPORE SG,-1.0 +17/07,FROSTED PANTRY SINGAPORE SG,-2.51 +18/07,COMMUTE & GO MART SINGAPORE SG,-9.9 +18/07,CULINARY CONNECT SINGAPORE SG,-6.95 +18/07,NATURE'S OVEN SINGAPORE SG,-1.29 +18/07,CHILLED URBAN MART SINGAPORE SG,-2.64 +19/07,GLOBAL FLAVORS SINGAPORE SG,-5.5 +19/07,FITLIFE ACCESS SINGAPORE SG,-17.4 +20/07,MORNING BITE CAFE SINGAPORE SG,-8.3 +20/07,FOODIE EXPRESS SINGAPORE 239 SG,-36.25 +20/07,GASTRONOMIC OASIS SINGAPORE SG,-2.28 +21/07,TRANQUIL TRANSIT SINGAPORE SG,-11.9 +21/07,URBAN HARVEST SINGAPORE SG,-7.3 +21/07,ENCHANTED CAFE SINGAPORE SG,-11.9 +22/07,FROZEN WONDERS SINGAPORE SG,-6.1 +22/07,DRIVE-THRU DELIGHTS SINGAPORE SG,-238.79 +22/07,FLAVORFUL MARKETPLAC SINGAPORE SG,-2.71 +23/07,GOURMET PANTRY SINGAPORE SG,-8.5 +23/07,TRAVELER'S PROVISION SINGAPORE SG,-59.0 +23/07,EPICUREAN CONNECT SINGAPORE SG,-3.2 +23/07,NATURAL BAZAAR SINGAPORE SG,-12.9 +24/07,WHOLESOME LIFE SINGAPORE SG,-27.75 +24/07,SAVORY MORNING SINGAPORE SG,-2.9 +25/07,METRO TRANSIT SINGAPORE SG,-17.16 +25/07,SUNNY CAFE SINGAPORE SG,-17.4 +25/07,GOLDEN TOAST SINGAPORE SG,-13.45 +25/07,-1234 SNOWY MART SINGAPORE SG,-1.45 +25/07,DRIVE EXPRESS SINGAPORE SG,-3.43 +26/07,GOURMET SHOP SINGAPORE SG,-7.3 +26/07,URBAN EATS SINGAPORE SG,-11.9 +26/07,FOOD HUB SINGAPORE SG,-6.5 +26/07,FRESH FINDS SINGAPORE SG,-2.44 +26/07,COZY CAFE SINGAPORE SG,-1.29 +27/07,PANTRY PICKS SINGAPORE SG,-17.9 +27/07,TRAVEL DELI SINGAPORE SG,-3.7 +28/07,GLOBAL GRUB SINGAPORE SG,-12.0 +28/07,FITNESS PASS SINGAPORE SG,-4.2 +28/07,NATURE FARE SINGAPORE SG,-3.04 +29/07,FAST FEAST SINGAPORE SG,-15.6 +30/07,QUICK MART SINGAPORE SG,-13.52 +30/07,CULINARY WAY SINGAPORE SG,-8.95 +30/07,COLD STORAGE SINGAPORE SG,-4.2 +31/07,BUS RIDE SINGAPORE SG,-11.9 +31/07,EATERY STOP SINGAPORE SG,-7.3 +18/07,CASH REBATE,1.38 diff --git a/tests/integration/banks/example/transformed.csv b/tests/integration/banks/example/transformed.csv index dd67eabf..e2c683ac 100644 --- a/tests/integration/banks/example/transformed.csv +++ b/tests/integration/banks/example/transformed.csv @@ -1,54 +1,54 @@ transaction_date,description,amount -2023-07-02,LAST MONTH'S BALANCE,412.16 -2023-07-02,PAYMENT BY INTERNET,-412.16 -2023-07-03,DELIGHTFUL BREAKFAST SINGAPORE SG,4.2 -2023-07-06,URBAN TRANSIT CO. SINGAPORE SG,1.38 -2023-07-07,MORNING BITES CAFE SINGAPORE SG,4.2 -2023-07-13,SUNRISE TOAST HAVEN SINGAPORE SG,3.2 -2023-07-15,ARCTIC MARKET SINGAPORE SG,7.0 -2023-07-16,SPEEDY DRIVE SHOP SINGAPORE SG,11.9 -2023-07-16,TRAVELEATS EXPRESS SINGAPORE SG,1.0 -2023-07-17,FROSTED PANTRY SINGAPORE SG,2.51 -2023-07-18,COMMUTE & GO MART SINGAPORE SG,9.9 -2023-07-18,CULINARY CONNECT SINGAPORE SG,6.95 -2023-07-18,NATURE'S OVEN SINGAPORE SG,1.29 -2023-07-18,CHILLED URBAN MART SINGAPORE SG,2.64 -2023-07-19,GLOBAL FLAVORS SINGAPORE SG,5.5 -2023-07-19,FITLIFE ACCESS SINGAPORE SG,17.4 -2023-07-20,MORNING BITE CAFE SINGAPORE SG,8.3 -2023-07-20,FOODIE EXPRESS SINGAPORE 239 SG,36.25 -2023-07-20,GASTRONOMIC OASIS SINGAPORE SG,2.28 -2023-07-21,TRANQUIL TRANSIT SINGAPORE SG,11.9 -2023-07-21,URBAN HARVEST SINGAPORE SG,7.3 -2023-07-21,ENCHANTED CAFE SINGAPORE SG,11.9 -2023-07-22,FROZEN WONDERS SINGAPORE SG,6.1 -2023-07-22,DRIVE-THRU DELIGHTS SINGAPORE SG,238.79 -2023-07-22,FLAVORFUL MARKETPLAC SINGAPORE SG,2.71 -2023-07-23,GOURMET PANTRY SINGAPORE SG,8.5 -2023-07-23,TRAVELER'S PROVISION SINGAPORE SG,59.0 -2023-07-23,EPICUREAN CONNECT SINGAPORE SG,3.2 -2023-07-23,NATURAL BAZAAR SINGAPORE SG,12.9 -2023-07-24,WHOLESOME LIFE SINGAPORE SG,27.75 -2023-07-24,SAVORY MORNING SINGAPORE SG,2.9 -2023-07-25,METRO TRANSIT SINGAPORE SG,17.16 -2023-07-25,SUNNY CAFE SINGAPORE SG,17.4 -2023-07-25,GOLDEN TOAST SINGAPORE SG,13.45 -2023-07-25,-1234 SNOWY MART SINGAPORE SG,1.45 -2023-07-25,DRIVE EXPRESS SINGAPORE SG,3.43 -2023-07-26,GOURMET SHOP SINGAPORE SG,7.3 -2023-07-26,URBAN EATS SINGAPORE SG,11.9 -2023-07-26,FOOD HUB SINGAPORE SG,6.5 -2023-07-26,FRESH FINDS SINGAPORE SG,2.44 -2023-07-26,COZY CAFE SINGAPORE SG,1.29 -2023-07-27,PANTRY PICKS SINGAPORE SG,17.9 -2023-07-27,TRAVEL DELI SINGAPORE SG,3.7 -2023-07-28,GLOBAL GRUB SINGAPORE SG,12.0 -2023-07-28,FITNESS PASS SINGAPORE SG,4.2 -2023-07-28,NATURE FARE SINGAPORE SG,3.04 -2023-07-29,FAST FEAST SINGAPORE SG,15.6 -2023-07-30,QUICK MART SINGAPORE SG,13.52 -2023-07-30,CULINARY WAY SINGAPORE SG,8.95 -2023-07-30,COLD STORAGE SINGAPORE SG,4.2 -2023-07-31,BUS RIDE SINGAPORE SG,11.9 -2023-07-31,EATERY STOP SINGAPORE SG,7.3 -2023-07-18,CASH REBATE,-1.38 +2023-07-02,LAST MONTH'S BALANCE,-412.16 +2023-07-02,PAYMENT BY INTERNET,412.16 +2023-07-03,DELIGHTFUL BREAKFAST SINGAPORE SG,-4.2 +2023-07-06,URBAN TRANSIT CO. SINGAPORE SG,-1.38 +2023-07-07,MORNING BITES CAFE SINGAPORE SG,-4.2 +2023-07-13,SUNRISE TOAST HAVEN SINGAPORE SG,-3.2 +2023-07-15,ARCTIC MARKET SINGAPORE SG,-7.0 +2023-07-16,SPEEDY DRIVE SHOP SINGAPORE SG,-11.9 +2023-07-16,TRAVELEATS EXPRESS SINGAPORE SG,-1.0 +2023-07-17,FROSTED PANTRY SINGAPORE SG,-2.51 +2023-07-18,COMMUTE & GO MART SINGAPORE SG,-9.9 +2023-07-18,CULINARY CONNECT SINGAPORE SG,-6.95 +2023-07-18,NATURE'S OVEN SINGAPORE SG,-1.29 +2023-07-18,CHILLED URBAN MART SINGAPORE SG,-2.64 +2023-07-19,GLOBAL FLAVORS SINGAPORE SG,-5.5 +2023-07-19,FITLIFE ACCESS SINGAPORE SG,-17.4 +2023-07-20,MORNING BITE CAFE SINGAPORE SG,-8.3 +2023-07-20,FOODIE EXPRESS SINGAPORE 239 SG,-36.25 +2023-07-20,GASTRONOMIC OASIS SINGAPORE SG,-2.28 +2023-07-21,TRANQUIL TRANSIT SINGAPORE SG,-11.9 +2023-07-21,URBAN HARVEST SINGAPORE SG,-7.3 +2023-07-21,ENCHANTED CAFE SINGAPORE SG,-11.9 +2023-07-22,FROZEN WONDERS SINGAPORE SG,-6.1 +2023-07-22,DRIVE-THRU DELIGHTS SINGAPORE SG,-238.79 +2023-07-22,FLAVORFUL MARKETPLAC SINGAPORE SG,-2.71 +2023-07-23,GOURMET PANTRY SINGAPORE SG,-8.5 +2023-07-23,TRAVELER'S PROVISION SINGAPORE SG,-59.0 +2023-07-23,EPICUREAN CONNECT SINGAPORE SG,-3.2 +2023-07-23,NATURAL BAZAAR SINGAPORE SG,-12.9 +2023-07-24,WHOLESOME LIFE SINGAPORE SG,-27.75 +2023-07-24,SAVORY MORNING SINGAPORE SG,-2.9 +2023-07-25,METRO TRANSIT SINGAPORE SG,-17.16 +2023-07-25,SUNNY CAFE SINGAPORE SG,-17.4 +2023-07-25,GOLDEN TOAST SINGAPORE SG,-13.45 +2023-07-25,-1234 SNOWY MART SINGAPORE SG,-1.45 +2023-07-25,DRIVE EXPRESS SINGAPORE SG,-3.43 +2023-07-26,GOURMET SHOP SINGAPORE SG,-7.3 +2023-07-26,URBAN EATS SINGAPORE SG,-11.9 +2023-07-26,FOOD HUB SINGAPORE SG,-6.5 +2023-07-26,FRESH FINDS SINGAPORE SG,-2.44 +2023-07-26,COZY CAFE SINGAPORE SG,-1.29 +2023-07-27,PANTRY PICKS SINGAPORE SG,-17.9 +2023-07-27,TRAVEL DELI SINGAPORE SG,-3.7 +2023-07-28,GLOBAL GRUB SINGAPORE SG,-12.0 +2023-07-28,FITNESS PASS SINGAPORE SG,-4.2 +2023-07-28,NATURE FARE SINGAPORE SG,-3.04 +2023-07-29,FAST FEAST SINGAPORE SG,-15.6 +2023-07-30,QUICK MART SINGAPORE SG,-13.52 +2023-07-30,CULINARY WAY SINGAPORE SG,-8.95 +2023-07-30,COLD STORAGE SINGAPORE SG,-4.2 +2023-07-31,BUS RIDE SINGAPORE SG,-11.9 +2023-07-31,EATERY STOP SINGAPORE SG,-7.3 +2023-07-18,CASH REBATE,1.38 diff --git a/tests/integration/banks/hsbc/raw.csv b/tests/integration/banks/hsbc/raw.csv index aa2d83a2..380f962f 100644 --- a/tests/integration/banks/hsbc/raw.csv +++ b/tests/integration/banks/hsbc/raw.csv @@ -1,20 +1,20 @@ transaction_date,description,amount -17 Jul,Previous Statement Balance,1627.37 -17 Jul,PUBLIC BUS 123 SINGAPORE SG,1.45 -22 Jul,POSB VPP VISA DIRECT SG,-1627.37 -22 Jul,AMZN Mktp US*12345 Amzn.com/bill WA,34.61 -24 Jul,DCC FEE,0.35 -24 Jul,"CO., LRD.123456 SEOULKIN KR",544.40 -27 Jul,DCC FEE,5.44 -27 Jul,F21 - HAW PAR VILLA SINGAPORE SG,25.00 -30 Jul,AIRBNB * 1234567 123-345-6789 GB,197.39 -01 Aug,DCC FEE,1.97 -02 Aug,AMAZON MKTPLC SG SINGAPORE SG,99.17 -02 Aug,SHOPEE SINGAPORE MP SINGAPORE SG,5.95 -05 Aug,SHOPEE SINGAPORE MP SINGAPORE SG,44.83 -05 Aug,TRIP.COM HOTEL REGE Internet SG,93.10 -09 Aug,Shopee Singapore SINGAPORE SG,31.45 -12 Aug,UNIQLO SINGAPORE PTE. SINGAPORE SG,29.80 -12 Aug,MOS BURGER SINGAPORE SG,23.80 -12 Aug,AMAZON MKTPLC SG SINGAPORE SG,20.99 -13 Aug,AMAZON SG SINGAPORE SG,58.50 +17 Jul,Previous Statement Balance,-1627.37 +17 Jul,PUBLIC BUS 123 SINGAPORE SG,-1.45 +22 Jul,POSB VPP VISA DIRECT SG,1627.37 +22 Jul,AMZN Mktp US*12345 Amzn.com/bill WA,-34.61 +24 Jul,DCC FEE,-0.35 +24 Jul,"CO., LRD.123456 SEOULKIN KR",-544.4 +27 Jul,DCC FEE,-5.44 +27 Jul,F21 - HAW PAR VILLA SINGAPORE SG,-25.0 +30 Jul,AIRBNB * 1234567 123-345-6789 GB,-197.39 +01 Aug,DCC FEE,-1.97 +02 Aug,AMAZON MKTPLC SG SINGAPORE SG,-99.17 +02 Aug,SHOPEE SINGAPORE MP SINGAPORE SG,-5.95 +05 Aug,SHOPEE SINGAPORE MP SINGAPORE SG,-44.83 +05 Aug,TRIP.COM HOTEL REGE Internet SG,-93.1 +09 Aug,Shopee Singapore SINGAPORE SG,-31.45 +12 Aug,UNIQLO SINGAPORE PTE. SINGAPORE SG,-29.8 +12 Aug,MOS BURGER SINGAPORE SG,-23.8 +12 Aug,AMAZON MKTPLC SG SINGAPORE SG,-20.99 +13 Aug,AMAZON SG SINGAPORE SG,-58.5 diff --git a/tests/integration/banks/hsbc/transformed.csv b/tests/integration/banks/hsbc/transformed.csv index cd507265..bbd8c272 100644 --- a/tests/integration/banks/hsbc/transformed.csv +++ b/tests/integration/banks/hsbc/transformed.csv @@ -1,20 +1,20 @@ transaction_date,description,amount -2023-07-17,Previous Statement Balance,1627.37 -2023-07-17,PUBLIC BUS 123 SINGAPORE SG,1.45 -2023-07-22,POSB VPP VISA DIRECT SG,-1627.37 -2023-07-22,AMZN Mktp US*12345 Amzn.com/bill WA,34.61 -2023-07-24,DCC FEE,0.35 -2023-07-24,"CO., LRD.123456 SEOULKIN KR",544.4 -2023-07-27,DCC FEE,5.44 -2023-07-27,F21 - HAW PAR VILLA SINGAPORE SG,25.0 -2023-07-30,AIRBNB * 1234567 123-345-6789 GB,197.39 -2023-08-01,DCC FEE,1.97 -2023-08-02,AMAZON MKTPLC SG SINGAPORE SG,99.17 -2023-08-02,SHOPEE SINGAPORE MP SINGAPORE SG,5.95 -2023-08-05,SHOPEE SINGAPORE MP SINGAPORE SG,44.83 -2023-08-05,TRIP.COM HOTEL REGE Internet SG,93.1 -2023-08-09,Shopee Singapore SINGAPORE SG,31.45 -2023-08-12,UNIQLO SINGAPORE PTE. SINGAPORE SG,29.8 -2023-08-12,MOS BURGER SINGAPORE SG,23.8 -2023-08-12,AMAZON MKTPLC SG SINGAPORE SG,20.99 -2023-08-13,AMAZON SG SINGAPORE SG,58.5 +2023-07-17,Previous Statement Balance,-1627.37 +2023-07-17,PUBLIC BUS 123 SINGAPORE SG,-1.45 +2023-07-22,POSB VPP VISA DIRECT SG,1627.37 +2023-07-22,AMZN Mktp US*12345 Amzn.com/bill WA,-34.61 +2023-07-24,DCC FEE,-0.35 +2023-07-24,"CO., LRD.123456 SEOULKIN KR",-544.4 +2023-07-27,DCC FEE,-5.44 +2023-07-27,F21 - HAW PAR VILLA SINGAPORE SG,-25.0 +2023-07-30,AIRBNB * 1234567 123-345-6789 GB,-197.39 +2023-08-01,DCC FEE,-1.97 +2023-08-02,AMAZON MKTPLC SG SINGAPORE SG,-99.17 +2023-08-02,SHOPEE SINGAPORE MP SINGAPORE SG,-5.95 +2023-08-05,SHOPEE SINGAPORE MP SINGAPORE SG,-44.83 +2023-08-05,TRIP.COM HOTEL REGE Internet SG,-93.1 +2023-08-09,Shopee Singapore SINGAPORE SG,-31.45 +2023-08-12,UNIQLO SINGAPORE PTE. SINGAPORE SG,-29.8 +2023-08-12,MOS BURGER SINGAPORE SG,-23.8 +2023-08-12,AMAZON MKTPLC SG SINGAPORE SG,-20.99 +2023-08-13,AMAZON SG SINGAPORE SG,-58.5 diff --git a/tests/integration/banks/ocbc/raw.csv b/tests/integration/banks/ocbc/raw.csv index 3596bd5d..855fca13 100644 --- a/tests/integration/banks/ocbc/raw.csv +++ b/tests/integration/banks/ocbc/raw.csv @@ -1,54 +1,54 @@ transaction_date,description,amount -02/07,LAST MONTH'S BALANCE,412.16 -02/07,PAYMENT BY INTERNET,-412.16 -03/07,DELIGHTFUL BREAKFAST SINGAPORE SG,4.20 -06/07,URBAN TRANSIT CO. SINGAPORE SG,1.38 -07/07,MORNING BITES CAFÉ SINGAPORE SG,4.20 -13/07,SUNRISE TOAST HAVEN SINGAPORE SG,3.20 -15/07,ARCTIC MARKET SINGAPORE SG,7.00 -16/07,SPEEDY DRIVE SHOP SINGAPORE SG,11.90 -16/07,TRAVELEATS EXPRESS SINGAPORE SG,1.00 -17/07,FROSTED PANTRY SINGAPORE SG,2.51 -18/07,COMMUTE & GO MART SINGAPORE SG,9.90 -18/07,CULINARY CONNECT SINGAPORE SG,6.95 -18/07,NATURE'S OVEN SINGAPORE SG,1.29 -18/07,CHILLED URBAN MART SINGAPORE SG,2.64 -19/07,GLOBAL FLAVORS SINGAPORE SG,5.50 -19/07,FITLIFE ACCESS SINGAPORE SG,17.40 -20/07,MORNING BITE CAFÉ SINGAPORE SG,8.30 -20/07,FOODIE EXPRESS SINGAPORE 239 SG,36.25 -20/07,GASTRONOMIC OASIS SINGAPORE SG,2.28 -21/07,TRANQUIL TRANSIT SINGAPORE SG,11.90 -21/07,URBAN HARVEST SINGAPORE SG,7.30 -21/07,ENCHANTED CAFÉ SINGAPORE SG,11.90 -22/07,FROZEN WONDERS SINGAPORE SG,6.10 -22/07,DRIVE-THRU DELIGHTS SINGAPORE SG,238.79 -22/07,FLAVORFUL MARKETPLAC SINGAPORE SG,2.71 -23/07,GOURMET PANTRY SINGAPORE SG,8.50 -23/07,TRAVELER'S PROVISION SINGAPORE SG,59.00 -23/07,EPICUREAN CONNECT SINGAPORE SG,3.20 -23/07,NATURAL BAZAAR SINGAPORE SG,12.90 -24/07,WHOLESOME LIFE SINGAPORE SG,27.75 -24/07,SAVORY MORNING SINGAPORE SG,2.90 -25/07,METRO TRANSIT SINGAPORE SG,17.16 -25/07,SUNNY CAFÉ SINGAPORE SG,17.40 -25/07,GOLDEN TOAST SINGAPORE SG,13.45 -25/07,-1234 SNOWY MART SINGAPORE SG,1.45 -25/07,DRIVE EXPRESS SINGAPORE SG,3.43 -26/07,GOURMET SHOP SINGAPORE SG,7.30 -26/07,URBAN EATS SINGAPORE SG,11.90 -26/07,FOOD HUB SINGAPORE SG,6.50 -26/07,FRESH FINDS SINGAPORE SG,2.44 -26/07,COZY CAFÉ SINGAPORE SG,1.29 -27/07,PANTRY PICKS SINGAPORE SG,17.90 -27/07,TRAVEL DELI SINGAPORE SG,3.70 -28/07,GLOBAL GRUB SINGAPORE SG,12.00 -28/07,FITNESS PASS SINGAPORE SG,4.20 -28/07,NATURE FARE SINGAPORE SG,3.04 -29/07,FAST FEAST SINGAPORE SG,15.60 -30/07,QUICK MART SINGAPORE SG,13.52 -30/07,CULINARY WAY SINGAPORE SG,8.95 -30/07,COLD STORAGE SINGAPORE SG,4.20 -31/07,BUS RIDE SINGAPORE SG,11.90 -31/07,EATERY STOP SINGAPORE SG,7.30 -18/07,CASH REBATE,-1.38 +02/07,LAST MONTH'S BALANCE,-412.16 +02/07,PAYMENT BY INTERNET,412.16 +03/07,DELIGHTFUL BREAKFAST SINGAPORE SG,-4.2 +06/07,URBAN TRANSIT CO. SINGAPORE SG,-1.38 +07/07,MORNING BITES CAFÉ SINGAPORE SG,-4.2 +13/07,SUNRISE TOAST HAVEN SINGAPORE SG,-3.2 +15/07,ARCTIC MARKET SINGAPORE SG,-7.0 +16/07,SPEEDY DRIVE SHOP SINGAPORE SG,-11.9 +16/07,TRAVELEATS EXPRESS SINGAPORE SG,-1.0 +17/07,FROSTED PANTRY SINGAPORE SG,-2.51 +18/07,COMMUTE & GO MART SINGAPORE SG,-9.9 +18/07,CULINARY CONNECT SINGAPORE SG,-6.95 +18/07,NATURE'S OVEN SINGAPORE SG,-1.29 +18/07,CHILLED URBAN MART SINGAPORE SG,-2.64 +19/07,GLOBAL FLAVORS SINGAPORE SG,-5.5 +19/07,FITLIFE ACCESS SINGAPORE SG,-17.4 +20/07,MORNING BITE CAFÉ SINGAPORE SG,-8.3 +20/07,FOODIE EXPRESS SINGAPORE 239 SG,-36.25 +20/07,GASTRONOMIC OASIS SINGAPORE SG,-2.28 +21/07,TRANQUIL TRANSIT SINGAPORE SG,-11.9 +21/07,URBAN HARVEST SINGAPORE SG,-7.3 +21/07,ENCHANTED CAFÉ SINGAPORE SG,-11.9 +22/07,FROZEN WONDERS SINGAPORE SG,-6.1 +22/07,DRIVE-THRU DELIGHTS SINGAPORE SG,-238.79 +22/07,FLAVORFUL MARKETPLAC SINGAPORE SG,-2.71 +23/07,GOURMET PANTRY SINGAPORE SG,-8.5 +23/07,TRAVELER'S PROVISION SINGAPORE SG,-59.0 +23/07,EPICUREAN CONNECT SINGAPORE SG,-3.2 +23/07,NATURAL BAZAAR SINGAPORE SG,-12.9 +24/07,WHOLESOME LIFE SINGAPORE SG,-27.75 +24/07,SAVORY MORNING SINGAPORE SG,-2.9 +25/07,METRO TRANSIT SINGAPORE SG,-17.16 +25/07,SUNNY CAFÉ SINGAPORE SG,-17.4 +25/07,GOLDEN TOAST SINGAPORE SG,-13.45 +25/07,-1234 SNOWY MART SINGAPORE SG,-1.45 +25/07,DRIVE EXPRESS SINGAPORE SG,-3.43 +26/07,GOURMET SHOP SINGAPORE SG,-7.3 +26/07,URBAN EATS SINGAPORE SG,-11.9 +26/07,FOOD HUB SINGAPORE SG,-6.5 +26/07,FRESH FINDS SINGAPORE SG,-2.44 +26/07,COZY CAFÉ SINGAPORE SG,-1.29 +27/07,PANTRY PICKS SINGAPORE SG,-17.9 +27/07,TRAVEL DELI SINGAPORE SG,-3.7 +28/07,GLOBAL GRUB SINGAPORE SG,-12.0 +28/07,FITNESS PASS SINGAPORE SG,-4.2 +28/07,NATURE FARE SINGAPORE SG,-3.04 +29/07,FAST FEAST SINGAPORE SG,-15.6 +30/07,QUICK MART SINGAPORE SG,-13.52 +30/07,CULINARY WAY SINGAPORE SG,-8.95 +30/07,COLD STORAGE SINGAPORE SG,-4.2 +31/07,BUS RIDE SINGAPORE SG,-11.9 +31/07,EATERY STOP SINGAPORE SG,-7.3 +18/07,CASH REBATE,1.38 diff --git a/tests/integration/banks/ocbc/transformed.csv b/tests/integration/banks/ocbc/transformed.csv index 8bb9b5bc..5b8799b3 100644 --- a/tests/integration/banks/ocbc/transformed.csv +++ b/tests/integration/banks/ocbc/transformed.csv @@ -1,54 +1,54 @@ transaction_date,description,amount -2023-07-02,LAST MONTH'S BALANCE,412.16 -2023-07-02,PAYMENT BY INTERNET,-412.16 -2023-07-03,DELIGHTFUL BREAKFAST SINGAPORE SG,4.2 -2023-07-06,URBAN TRANSIT CO. SINGAPORE SG,1.38 -2023-07-07,MORNING BITES CAFÉ SINGAPORE SG,4.2 -2023-07-13,SUNRISE TOAST HAVEN SINGAPORE SG,3.2 -2023-07-15,ARCTIC MARKET SINGAPORE SG,7.0 -2023-07-16,SPEEDY DRIVE SHOP SINGAPORE SG,11.9 -2023-07-16,TRAVELEATS EXPRESS SINGAPORE SG,1.0 -2023-07-17,FROSTED PANTRY SINGAPORE SG,2.51 -2023-07-18,COMMUTE & GO MART SINGAPORE SG,9.9 -2023-07-18,CULINARY CONNECT SINGAPORE SG,6.95 -2023-07-18,NATURE'S OVEN SINGAPORE SG,1.29 -2023-07-18,CHILLED URBAN MART SINGAPORE SG,2.64 -2023-07-19,GLOBAL FLAVORS SINGAPORE SG,5.5 -2023-07-19,FITLIFE ACCESS SINGAPORE SG,17.4 -2023-07-20,MORNING BITE CAFÉ SINGAPORE SG,8.3 -2023-07-20,FOODIE EXPRESS SINGAPORE 239 SG,36.25 -2023-07-20,GASTRONOMIC OASIS SINGAPORE SG,2.28 -2023-07-21,TRANQUIL TRANSIT SINGAPORE SG,11.9 -2023-07-21,URBAN HARVEST SINGAPORE SG,7.3 -2023-07-21,ENCHANTED CAFÉ SINGAPORE SG,11.9 -2023-07-22,FROZEN WONDERS SINGAPORE SG,6.1 -2023-07-22,DRIVE-THRU DELIGHTS SINGAPORE SG,238.79 -2023-07-22,FLAVORFUL MARKETPLAC SINGAPORE SG,2.71 -2023-07-23,GOURMET PANTRY SINGAPORE SG,8.5 -2023-07-23,TRAVELER'S PROVISION SINGAPORE SG,59.0 -2023-07-23,EPICUREAN CONNECT SINGAPORE SG,3.2 -2023-07-23,NATURAL BAZAAR SINGAPORE SG,12.9 -2023-07-24,WHOLESOME LIFE SINGAPORE SG,27.75 -2023-07-24,SAVORY MORNING SINGAPORE SG,2.9 -2023-07-25,METRO TRANSIT SINGAPORE SG,17.16 -2023-07-25,SUNNY CAFÉ SINGAPORE SG,17.4 -2023-07-25,GOLDEN TOAST SINGAPORE SG,13.45 -2023-07-25,-1234 SNOWY MART SINGAPORE SG,1.45 -2023-07-25,DRIVE EXPRESS SINGAPORE SG,3.43 -2023-07-26,GOURMET SHOP SINGAPORE SG,7.3 -2023-07-26,URBAN EATS SINGAPORE SG,11.9 -2023-07-26,FOOD HUB SINGAPORE SG,6.5 -2023-07-26,FRESH FINDS SINGAPORE SG,2.44 -2023-07-26,COZY CAFÉ SINGAPORE SG,1.29 -2023-07-27,PANTRY PICKS SINGAPORE SG,17.9 -2023-07-27,TRAVEL DELI SINGAPORE SG,3.7 -2023-07-28,GLOBAL GRUB SINGAPORE SG,12.0 -2023-07-28,FITNESS PASS SINGAPORE SG,4.2 -2023-07-28,NATURE FARE SINGAPORE SG,3.04 -2023-07-29,FAST FEAST SINGAPORE SG,15.6 -2023-07-30,QUICK MART SINGAPORE SG,13.52 -2023-07-30,CULINARY WAY SINGAPORE SG,8.95 -2023-07-30,COLD STORAGE SINGAPORE SG,4.2 -2023-07-31,BUS RIDE SINGAPORE SG,11.9 -2023-07-31,EATERY STOP SINGAPORE SG,7.3 -2023-07-18,CASH REBATE,-1.38 +2023-07-02,LAST MONTH'S BALANCE,-412.16 +2023-07-02,PAYMENT BY INTERNET,412.16 +2023-07-03,DELIGHTFUL BREAKFAST SINGAPORE SG,-4.2 +2023-07-06,URBAN TRANSIT CO. SINGAPORE SG,-1.38 +2023-07-07,MORNING BITES CAFÉ SINGAPORE SG,-4.2 +2023-07-13,SUNRISE TOAST HAVEN SINGAPORE SG,-3.2 +2023-07-15,ARCTIC MARKET SINGAPORE SG,-7.0 +2023-07-16,SPEEDY DRIVE SHOP SINGAPORE SG,-11.9 +2023-07-16,TRAVELEATS EXPRESS SINGAPORE SG,-1.0 +2023-07-17,FROSTED PANTRY SINGAPORE SG,-2.51 +2023-07-18,COMMUTE & GO MART SINGAPORE SG,-9.9 +2023-07-18,CULINARY CONNECT SINGAPORE SG,-6.95 +2023-07-18,NATURE'S OVEN SINGAPORE SG,-1.29 +2023-07-18,CHILLED URBAN MART SINGAPORE SG,-2.64 +2023-07-19,GLOBAL FLAVORS SINGAPORE SG,-5.5 +2023-07-19,FITLIFE ACCESS SINGAPORE SG,-17.4 +2023-07-20,MORNING BITE CAFÉ SINGAPORE SG,-8.3 +2023-07-20,FOODIE EXPRESS SINGAPORE 239 SG,-36.25 +2023-07-20,GASTRONOMIC OASIS SINGAPORE SG,-2.28 +2023-07-21,TRANQUIL TRANSIT SINGAPORE SG,-11.9 +2023-07-21,URBAN HARVEST SINGAPORE SG,-7.3 +2023-07-21,ENCHANTED CAFÉ SINGAPORE SG,-11.9 +2023-07-22,FROZEN WONDERS SINGAPORE SG,-6.1 +2023-07-22,DRIVE-THRU DELIGHTS SINGAPORE SG,-238.79 +2023-07-22,FLAVORFUL MARKETPLAC SINGAPORE SG,-2.71 +2023-07-23,GOURMET PANTRY SINGAPORE SG,-8.5 +2023-07-23,TRAVELER'S PROVISION SINGAPORE SG,-59.0 +2023-07-23,EPICUREAN CONNECT SINGAPORE SG,-3.2 +2023-07-23,NATURAL BAZAAR SINGAPORE SG,-12.9 +2023-07-24,WHOLESOME LIFE SINGAPORE SG,-27.75 +2023-07-24,SAVORY MORNING SINGAPORE SG,-2.9 +2023-07-25,METRO TRANSIT SINGAPORE SG,-17.16 +2023-07-25,SUNNY CAFÉ SINGAPORE SG,-17.4 +2023-07-25,GOLDEN TOAST SINGAPORE SG,-13.45 +2023-07-25,-1234 SNOWY MART SINGAPORE SG,-1.45 +2023-07-25,DRIVE EXPRESS SINGAPORE SG,-3.43 +2023-07-26,GOURMET SHOP SINGAPORE SG,-7.3 +2023-07-26,URBAN EATS SINGAPORE SG,-11.9 +2023-07-26,FOOD HUB SINGAPORE SG,-6.5 +2023-07-26,FRESH FINDS SINGAPORE SG,-2.44 +2023-07-26,COZY CAFÉ SINGAPORE SG,-1.29 +2023-07-27,PANTRY PICKS SINGAPORE SG,-17.9 +2023-07-27,TRAVEL DELI SINGAPORE SG,-3.7 +2023-07-28,GLOBAL GRUB SINGAPORE SG,-12.0 +2023-07-28,FITNESS PASS SINGAPORE SG,-4.2 +2023-07-28,NATURE FARE SINGAPORE SG,-3.04 +2023-07-29,FAST FEAST SINGAPORE SG,-15.6 +2023-07-30,QUICK MART SINGAPORE SG,-13.52 +2023-07-30,CULINARY WAY SINGAPORE SG,-8.95 +2023-07-30,COLD STORAGE SINGAPORE SG,-4.2 +2023-07-31,BUS RIDE SINGAPORE SG,-11.9 +2023-07-31,EATERY STOP SINGAPORE SG,-7.3 +2023-07-18,CASH REBATE,1.38 diff --git a/tests/integration/banks/standard_chartered/raw.csv b/tests/integration/banks/standard_chartered/raw.csv index ba2f3b6d..86a3d5f1 100644 --- a/tests/integration/banks/standard_chartered/raw.csv +++ b/tests/integration/banks/standard_chartered/raw.csv @@ -1,28 +1,28 @@ transaction_date,description,amount -17 Apr,BALANCE FROM PREVIOUS STATEMENT,83.74 -17 Apr,BUS/MRT 253656688 SINGAPORE SG,3.66 -17 Apr,BUS/MRT 254457586 SINGAPORE SG,1.15 -17 Apr,BUS/MRT 254374218 SINGAPORE SG,1.45 -18 Apr,BUS/MRT 254725212 SINGAPORE SG,3.43 -18 Apr,BUS/MRT 255094675 SINGAPORE SG,3.97 -19 Apr,BUS/MRT 255699004 SINGAPORE SG,3.13 -21 Apr,BUS/MRT 256315508 SINGAPORE SG,4.17 -24 Apr,BUS/MRT 256711470 SINGAPORE SG,3.43 -25 Apr,BUS/MRT 257089114 SINGAPORE SG,4.13 -25 Apr,BUS/MRT 257475565 SINGAPORE SG,3.98 -25 Apr,BUS/MRT 257873840 SINGAPORE SG,4.51 -26 Apr,BUS/MRT 258504364 SINGAPORE SG,3.32 -24 Apr,PAYMENT - THANK YOU,-83.74 -28 Apr,BUS/MRT 259104495 SINGAPORE SG,4.43 -29 Apr,BUS/MRT 259469982 SINGAPORE SG,4.39 -02 May,BUS/MRT 259868441 SINGAPORE SG,2.27 -03 May,BUS/MRT 260260348 SINGAPORE SG,2.67 -03 May,BUS/MRT 260658884 SINGAPORE SG,4.46 -09 May,BUS/MRT 263205220 SINGAPORE SG,2.6 -09 May,BUS/MRT 263553121 SINGAPORE SG,3.43 -10 May,BUS/MRT 263937279 SINGAPORE SG,3.73 -12 May,BUS/MRT 264586616 SINGAPORE SG,2.6 -13 May,BUS/MRT 264969195 SINGAPORE SG,2.44 -15 May,BUS/MRT 265375918 SINGAPORE SG,2.6 -16 May,BUS/MRT 266113941 SINGAPORE SG,3.97 -16 May,BUS/MRT 266517209 SINGAPORE SG,2.53 +17 Apr,BALANCE FROM PREVIOUS STATEMENT,-83.74 +17 Apr,BUS/MRT 253656688 SINGAPORE SG,-3.66 +17 Apr,BUS/MRT 254457586 SINGAPORE SG,-1.15 +17 Apr,BUS/MRT 254374218 SINGAPORE SG,-1.45 +18 Apr,BUS/MRT 254725212 SINGAPORE SG,-3.43 +18 Apr,BUS/MRT 255094675 SINGAPORE SG,-3.97 +19 Apr,BUS/MRT 255699004 SINGAPORE SG,-3.13 +21 Apr,BUS/MRT 256315508 SINGAPORE SG,-4.17 +24 Apr,BUS/MRT 256711470 SINGAPORE SG,-3.43 +25 Apr,BUS/MRT 257089114 SINGAPORE SG,-4.13 +25 Apr,BUS/MRT 257475565 SINGAPORE SG,-3.98 +25 Apr,BUS/MRT 257873840 SINGAPORE SG,-4.51 +26 Apr,BUS/MRT 258504364 SINGAPORE SG,-3.32 +24 Apr,PAYMENT - THANK YOU,83.74 +28 Apr,BUS/MRT 259104495 SINGAPORE SG,-4.43 +29 Apr,BUS/MRT 259469982 SINGAPORE SG,-4.39 +02 May,BUS/MRT 259868441 SINGAPORE SG,-2.27 +03 May,BUS/MRT 260260348 SINGAPORE SG,-2.67 +03 May,BUS/MRT 260658884 SINGAPORE SG,-4.46 +09 May,BUS/MRT 263205220 SINGAPORE SG,-2.6 +09 May,BUS/MRT 263553121 SINGAPORE SG,-3.43 +10 May,BUS/MRT 263937279 SINGAPORE SG,-3.73 +12 May,BUS/MRT 264586616 SINGAPORE SG,-2.6 +13 May,BUS/MRT 264969195 SINGAPORE SG,-2.44 +15 May,BUS/MRT 265375918 SINGAPORE SG,-2.6 +16 May,BUS/MRT 266113941 SINGAPORE SG,-3.97 +16 May,BUS/MRT 266517209 SINGAPORE SG,-2.53 diff --git a/tests/integration/banks/standard_chartered/transformed.csv b/tests/integration/banks/standard_chartered/transformed.csv index 2493b558..7504def9 100644 --- a/tests/integration/banks/standard_chartered/transformed.csv +++ b/tests/integration/banks/standard_chartered/transformed.csv @@ -1,28 +1,28 @@ transaction_date,description,amount -2023-04-17,BALANCE FROM PREVIOUS STATEMENT,83.74 -2023-04-17,BUS/MRT 253656688 SINGAPORE SG,3.66 -2023-04-17,BUS/MRT 254457586 SINGAPORE SG,1.15 -2023-04-17,BUS/MRT 254374218 SINGAPORE SG,1.45 -2023-04-18,BUS/MRT 254725212 SINGAPORE SG,3.43 -2023-04-18,BUS/MRT 255094675 SINGAPORE SG,3.97 -2023-04-19,BUS/MRT 255699004 SINGAPORE SG,3.13 -2023-04-21,BUS/MRT 256315508 SINGAPORE SG,4.17 -2023-04-24,BUS/MRT 256711470 SINGAPORE SG,3.43 -2023-04-25,BUS/MRT 257089114 SINGAPORE SG,4.13 -2023-04-25,BUS/MRT 257475565 SINGAPORE SG,3.98 -2023-04-25,BUS/MRT 257873840 SINGAPORE SG,4.51 -2023-04-26,BUS/MRT 258504364 SINGAPORE SG,3.32 -2023-04-24,PAYMENT - THANK YOU,-83.74 -2023-04-28,BUS/MRT 259104495 SINGAPORE SG,4.43 -2023-04-29,BUS/MRT 259469982 SINGAPORE SG,4.39 -2023-05-02,BUS/MRT 259868441 SINGAPORE SG,2.27 -2023-05-03,BUS/MRT 260260348 SINGAPORE SG,2.67 -2023-05-03,BUS/MRT 260658884 SINGAPORE SG,4.46 -2023-05-09,BUS/MRT 263205220 SINGAPORE SG,2.6 -2023-05-09,BUS/MRT 263553121 SINGAPORE SG,3.43 -2023-05-10,BUS/MRT 263937279 SINGAPORE SG,3.73 -2023-05-12,BUS/MRT 264586616 SINGAPORE SG,2.6 -2023-05-13,BUS/MRT 264969195 SINGAPORE SG,2.44 -2023-05-15,BUS/MRT 265375918 SINGAPORE SG,2.6 -2023-05-16,BUS/MRT 266113941 SINGAPORE SG,3.97 -2023-05-16,BUS/MRT 266517209 SINGAPORE SG,2.53 +2023-04-17,BALANCE FROM PREVIOUS STATEMENT,-83.74 +2023-04-17,BUS/MRT 253656688 SINGAPORE SG,-3.66 +2023-04-17,BUS/MRT 254457586 SINGAPORE SG,-1.15 +2023-04-17,BUS/MRT 254374218 SINGAPORE SG,-1.45 +2023-04-18,BUS/MRT 254725212 SINGAPORE SG,-3.43 +2023-04-18,BUS/MRT 255094675 SINGAPORE SG,-3.97 +2023-04-19,BUS/MRT 255699004 SINGAPORE SG,-3.13 +2023-04-21,BUS/MRT 256315508 SINGAPORE SG,-4.17 +2023-04-24,BUS/MRT 256711470 SINGAPORE SG,-3.43 +2023-04-25,BUS/MRT 257089114 SINGAPORE SG,-4.13 +2023-04-25,BUS/MRT 257475565 SINGAPORE SG,-3.98 +2023-04-25,BUS/MRT 257873840 SINGAPORE SG,-4.51 +2023-04-26,BUS/MRT 258504364 SINGAPORE SG,-3.32 +2023-04-24,PAYMENT - THANK YOU,83.74 +2023-04-28,BUS/MRT 259104495 SINGAPORE SG,-4.43 +2023-04-29,BUS/MRT 259469982 SINGAPORE SG,-4.39 +2023-05-02,BUS/MRT 259868441 SINGAPORE SG,-2.27 +2023-05-03,BUS/MRT 260260348 SINGAPORE SG,-2.67 +2023-05-03,BUS/MRT 260658884 SINGAPORE SG,-4.46 +2023-05-09,BUS/MRT 263205220 SINGAPORE SG,-2.6 +2023-05-09,BUS/MRT 263553121 SINGAPORE SG,-3.43 +2023-05-10,BUS/MRT 263937279 SINGAPORE SG,-3.73 +2023-05-12,BUS/MRT 264586616 SINGAPORE SG,-2.6 +2023-05-13,BUS/MRT 264969195 SINGAPORE SG,-2.44 +2023-05-15,BUS/MRT 265375918 SINGAPORE SG,-2.6 +2023-05-16,BUS/MRT 266113941 SINGAPORE SG,-3.97 +2023-05-16,BUS/MRT 266517209 SINGAPORE SG,-2.53 diff --git a/tests/integration/banks/test_banks.py b/tests/integration/banks/test_banks.py index e4d6f8b1..059e6643 100644 --- a/tests/integration/banks/test_banks.py +++ b/tests/integration/banks/test_banks.py @@ -15,12 +15,12 @@ @pytest.mark.parametrize( "bank_class, total_amount, statement_date", [ - (Citibank, 1414.07, datetime(2022, 11, 15)), - (Dbs, 16969.17, datetime(2023, 10, 15)), - (Hsbc, 1218.2, datetime(2023, 7, 21)), - (Ocbc, 702.1, datetime(2023, 8, 1)), - (StandardChartered, 82.45, datetime(2023, 5, 16)), - (MonopolyBank, 702.1, datetime(2023, 7, 1)), + (Citibank, -1414.07, datetime(2022, 11, 15)), + (Dbs, -16969.17, datetime(2023, 10, 15)), + (Hsbc, -1218.2, datetime(2023, 7, 21)), + (Ocbc, -702.1, datetime(2023, 8, 1)), + (StandardChartered, -82.45, datetime(2023, 5, 16)), + (MonopolyBank, -702.1, datetime(2023, 7, 1)), ], ) def test_bank_operations( diff --git a/tests/unit/test_statement_refund.py b/tests/unit/test_statement_refund.py new file mode 100644 index 00000000..5517ad92 --- /dev/null +++ b/tests/unit/test_statement_refund.py @@ -0,0 +1,29 @@ +from monopoly.constants import TransactionPatterns +from monopoly.pdf import PdfPage +from monopoly.statement import Statement, Transaction + + +def test_statement_process_refund(statement: Statement): + page_content = ( + "08 SEP AIRBNB * FOO123 456 GB (343.01)\n" + "14 AUG AIRBNB * FOO123 456 GB 343.01\n" + "" + ) + page = PdfPage(raw_text=page_content) + statement.transaction_config.pattern = TransactionPatterns.CITIBANK + statement.pages = [page] + expected_transactions = [ + Transaction( + transaction_date="08 SEP", + description="AIRBNB * FOO123 456 GB", + amount=343.01, + suffix="CR", + ), + Transaction( + transaction_date="14 AUG", + description="AIRBNB * FOO123 456 GB", + amount=-343.01, + suffix=None, + ), + ] + assert statement.transactions == expected_transactions diff --git a/tests/unit/test_transaction.py b/tests/unit/test_transaction.py index d16eff68..6b87e3e4 100644 --- a/tests/unit/test_transaction.py +++ b/tests/unit/test_transaction.py @@ -3,7 +3,7 @@ def test_transaction_handles_comma(): transaction = Transaction("2099-09-10", "foo", "123,123.12") - assert transaction.amount == 123123.12 + assert transaction.amount == -123123.12 def test_transaction_handles_whitespace(): From a80792bea94649d8a2a35aeada5aad1c936dbe8c Mon Sep 17 00:00:00 2001 From: Benjamin Dornel <{{ .email }}> Date: Wed, 22 Nov 2023 17:01:08 +0000 Subject: [PATCH 2/5] fix(README): badges --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ffc9c699..82bb3ef0 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,8 @@ ----------------- -[![Tests](https://github.com/benjamin-awd/monopoly/workflows/tests/badge.svg?branch=main&event=push)](https://github.com/benjamin-awd/monopoly/actions/workflows/tests.yaml) -[![CI](https://github.com/benjamin-awd/monopoly/workflows/ci/badge.svg?branch=main&event=push)](https://github.com/benjamin-awd/monopoly/actions/workflows/ci.yaml) +[![Tests](https://github.com/benjamin-awd/monopoly/actions/workflows/tests.yaml/badge.svg?branch=main&event=push)](https://github.com/benjamin-awd/monopoly/actions/workflows/tests.yaml) +[![CI](https://github.com/benjamin-awd/monopoly/actions/workflows/ci.yaml/badge.svg?branch=main&event=push)](https://github.com/benjamin-awd/monopoly/actions/workflows/ci.yaml) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) [![Linting: pylint](https://img.shields.io/badge/linting-pylint-orange)](https://github.com/pylint-dev/pylint) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) From c13f66fd6fb34640ef3390f5e456c3b8919b5fed Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 23 Nov 2023 16:31:30 +0000 Subject: [PATCH 3/5] build(deps): bump urllib3 from 1.26.16 to 1.26.18 Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.16 to 1.26.18. - [Release notes](https://github.com/urllib3/urllib3/releases) - [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst) - [Commits](https://github.com/urllib3/urllib3/compare/1.26.16...1.26.18) --- updated-dependencies: - dependency-name: urllib3 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- poetry.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/poetry.lock b/poetry.lock index 8cf5fdf2..39c529e1 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. [[package]] name = "annotated-types" @@ -1346,17 +1346,17 @@ files = [ [[package]] name = "urllib3" -version = "1.26.16" +version = "1.26.18" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ - {file = "urllib3-1.26.16-py2.py3-none-any.whl", hash = "sha256:8d36afa7616d8ab714608411b4a3b13e58f463aee519024578e062e141dce20f"}, - {file = "urllib3-1.26.16.tar.gz", hash = "sha256:8f135f6502756bde6b2a9b28989df5fbe87c9970cecaa69041edcce7f0589b14"}, + {file = "urllib3-1.26.18-py2.py3-none-any.whl", hash = "sha256:34b97092d7e0a3a8cf7cd10e386f401b3737364026c45e622aa02903dffe0f07"}, + {file = "urllib3-1.26.18.tar.gz", hash = "sha256:f8ecc1bba5667413457c529ab955bf8c67b45db799d159066261719e328580a0"}, ] [package.extras] -brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] +brotli = ["brotli (==1.0.9)", "brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] From 6dcd3141d3deb7810eb2a41e0740f6c98ec58064 Mon Sep 17 00:00:00 2001 From: Benjamin Dornel <{{ .email }}> Date: Thu, 23 Nov 2023 16:42:03 +0000 Subject: [PATCH 4/5] feat(ci): add dependabot --- .github/dependabot.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..c590bee0 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,10 @@ +version: 2 +updates: + - package-ecosystem: "pip" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "monthly" + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "monthly" From 007e7e634bd412f237bc230dd0c6f767396094dc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 23 Nov 2023 16:45:07 +0000 Subject: [PATCH 5/5] build(deps-dev): bump pylint from 2.17.5 to 3.0.2 Bumps [pylint](https://github.com/pylint-dev/pylint) from 2.17.5 to 3.0.2. - [Release notes](https://github.com/pylint-dev/pylint/releases) - [Commits](https://github.com/pylint-dev/pylint/compare/v2.17.5...v3.0.2) --- updated-dependencies: - dependency-name: pylint dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- poetry.lock | 153 ++++--------------------------------------------- pyproject.toml | 2 +- 2 files changed, 11 insertions(+), 144 deletions(-) diff --git a/poetry.lock b/poetry.lock index 39c529e1..ee5d423b 100644 --- a/poetry.lock +++ b/poetry.lock @@ -24,19 +24,15 @@ files = [ [[package]] name = "astroid" -version = "2.15.6" +version = "3.0.1" description = "An abstract syntax tree for Python with inference support." optional = false -python-versions = ">=3.7.2" +python-versions = ">=3.8.0" files = [ - {file = "astroid-2.15.6-py3-none-any.whl", hash = "sha256:389656ca57b6108f939cf5d2f9a2a825a3be50ba9d589670f393236e0a03b91c"}, - {file = "astroid-2.15.6.tar.gz", hash = "sha256:903f024859b7c7687d7a7f3a3f73b17301f8e42dfd9cc9df9d4418172d3e2dbd"}, + {file = "astroid-3.0.1-py3-none-any.whl", hash = "sha256:7d5895c9825e18079c5aeac0572bc2e4c83205c95d416e0b4fee8bc361d2d9ca"}, + {file = "astroid-3.0.1.tar.gz", hash = "sha256:86b0bb7d7da0be1a7c4aedb7974e391b32d4ed89e33de6ed6902b4b15c97577e"}, ] -[package.dependencies] -lazy-object-proxy = ">=1.4.0" -wrapt = {version = ">=1.14,<2", markers = "python_version >= \"3.11\""} - [[package]] name = "black" version = "23.7.0" @@ -379,51 +375,6 @@ pipfile-deprecated-finder = ["pip-shims (>=0.5.2)", "pipreqs", "requirementslib" plugins = ["setuptools"] requirements-deprecated-finder = ["pip-api", "pipreqs"] -[[package]] -name = "lazy-object-proxy" -version = "1.9.0" -description = "A fast and thorough lazy object proxy." -optional = false -python-versions = ">=3.7" -files = [ - {file = "lazy-object-proxy-1.9.0.tar.gz", hash = "sha256:659fb5809fa4629b8a1ac5106f669cfc7bef26fbb389dda53b3e010d1ac4ebae"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b40387277b0ed2d0602b8293b94d7257e17d1479e257b4de114ea11a8cb7f2d7"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8c6cfb338b133fbdbc5cfaa10fe3c6aeea827db80c978dbd13bc9dd8526b7d4"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:721532711daa7db0d8b779b0bb0318fa87af1c10d7fe5e52ef30f8eff254d0cd"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:66a3de4a3ec06cd8af3f61b8e1ec67614fbb7c995d02fa224813cb7afefee701"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1aa3de4088c89a1b69f8ec0dcc169aa725b0ff017899ac568fe44ddc1396df46"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-win32.whl", hash = "sha256:f0705c376533ed2a9e5e97aacdbfe04cecd71e0aa84c7c0595d02ef93b6e4455"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:ea806fd4c37bf7e7ad82537b0757999264d5f70c45468447bb2b91afdbe73a6e"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:946d27deaff6cf8452ed0dba83ba38839a87f4f7a9732e8f9fd4107b21e6ff07"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79a31b086e7e68b24b99b23d57723ef7e2c6d81ed21007b6281ebcd1688acb0a"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f699ac1c768270c9e384e4cbd268d6e67aebcfae6cd623b4d7c3bfde5a35db59"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bfb38f9ffb53b942f2b5954e0f610f1e721ccebe9cce9025a38c8ccf4a5183a4"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:189bbd5d41ae7a498397287c408617fe5c48633e7755287b21d741f7db2706a9"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-win32.whl", hash = "sha256:81fc4d08b062b535d95c9ea70dbe8a335c45c04029878e62d744bdced5141586"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:f2457189d8257dd41ae9b434ba33298aec198e30adf2dcdaaa3a28b9994f6adb"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:d9e25ef10a39e8afe59a5c348a4dbf29b4868ab76269f81ce1674494e2565a6e"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cbf9b082426036e19c6924a9ce90c740a9861e2bdc27a4834fd0a910742ac1e8"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f5fa4a61ce2438267163891961cfd5e32ec97a2c444e5b842d574251ade27d2"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:8fa02eaab317b1e9e03f69aab1f91e120e7899b392c4fc19807a8278a07a97e8"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e7c21c95cae3c05c14aafffe2865bbd5e377cfc1348c4f7751d9dc9a48ca4bda"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-win32.whl", hash = "sha256:f12ad7126ae0c98d601a7ee504c1122bcef553d1d5e0c3bfa77b16b3968d2734"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-win_amd64.whl", hash = "sha256:edd20c5a55acb67c7ed471fa2b5fb66cb17f61430b7a6b9c3b4a1e40293b1671"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2d0daa332786cf3bb49e10dc6a17a52f6a8f9601b4cf5c295a4f85854d61de63"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cd077f3d04a58e83d04b20e334f678c2b0ff9879b9375ed107d5d07ff160171"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:660c94ea760b3ce47d1855a30984c78327500493d396eac4dfd8bd82041b22be"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:212774e4dfa851e74d393a2370871e174d7ff0ebc980907723bb67d25c8a7c30"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f0117049dd1d5635bbff65444496c90e0baa48ea405125c088e93d9cf4525b11"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-win32.whl", hash = "sha256:0a891e4e41b54fd5b8313b96399f8b0e173bbbfc03c7631f01efbe29bb0bcf82"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:9990d8e71b9f6488e91ad25f322898c136b008d87bf852ff65391b004da5e17b"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9e7551208b2aded9c1447453ee366f1c4070602b3d932ace044715d89666899b"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f83ac4d83ef0ab017683d715ed356e30dd48a93746309c8f3517e1287523ef4"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7322c3d6f1766d4ef1e51a465f47955f1e8123caee67dd641e67d539a534d006"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:18b78ec83edbbeb69efdc0e9c1cb41a3b1b1ed11ddd8ded602464c3fc6020494"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:09763491ce220c0299688940f8dc2c5d05fd1f45af1e42e636b2e8b2303e4382"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-win32.whl", hash = "sha256:9090d8e53235aa280fc9239a86ae3ea8ac58eff66a705fa6aa2ec4968b95c821"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:db1c1722726f47e10e0b5fdbf15ac3b8adb58c091d12b3ab713965795036985f"}, -] - [[package]] name = "mccabe" version = "0.7.0" @@ -954,17 +905,17 @@ testing = ["aiohttp (>=3.8.0,<3.9.0)", "freezegun (>=1.1.0)", "pyhanko-certvalid [[package]] name = "pylint" -version = "2.17.5" +version = "3.0.2" description = "python code static checker" optional = false -python-versions = ">=3.7.2" +python-versions = ">=3.8.0" files = [ - {file = "pylint-2.17.5-py3-none-any.whl", hash = "sha256:73995fb8216d3bed149c8d51bba25b2c52a8251a2c8ac846ec668ce38fab5413"}, - {file = "pylint-2.17.5.tar.gz", hash = "sha256:f7b601cbc06fef7e62a754e2b41294c2aa31f1cb659624b9a85bcba29eaf8252"}, + {file = "pylint-3.0.2-py3-none-any.whl", hash = "sha256:60ed5f3a9ff8b61839ff0348b3624ceeb9e6c2a92c514d81c9cc273da3b6bcda"}, + {file = "pylint-3.0.2.tar.gz", hash = "sha256:0d4c286ef6d2f66c8bfb527a7f8a629009e42c99707dec821a03e1b51a4c1496"}, ] [package.dependencies] -astroid = ">=2.15.6,<=2.17.0-dev0" +astroid = ">=3.0.1,<=3.1.0-dev0" colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} dill = {version = ">=0.3.6", markers = "python_version >= \"3.11\""} isort = ">=4.2.5,<6" @@ -1360,91 +1311,7 @@ brotli = ["brotli (==1.0.9)", "brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotl secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] -[[package]] -name = "wrapt" -version = "1.15.0" -description = "Module for decorators, wrappers and monkey patching." -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" -files = [ - {file = "wrapt-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ca1cccf838cd28d5a0883b342474c630ac48cac5df0ee6eacc9c7290f76b11c1"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e826aadda3cae59295b95343db8f3d965fb31059da7de01ee8d1c40a60398b29"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5fc8e02f5984a55d2c653f5fea93531e9836abbd84342c1d1e17abc4a15084c2"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:96e25c8603a155559231c19c0349245eeb4ac0096fe3c1d0be5c47e075bd4f46"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:40737a081d7497efea35ab9304b829b857f21558acfc7b3272f908d33b0d9d4c"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:f87ec75864c37c4c6cb908d282e1969e79763e0d9becdfe9fe5473b7bb1e5f09"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:1286eb30261894e4c70d124d44b7fd07825340869945c79d05bda53a40caa079"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:493d389a2b63c88ad56cdc35d0fa5752daac56ca755805b1b0c530f785767d5e"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:58d7a75d731e8c63614222bcb21dd992b4ab01a399f1f09dd82af17bbfc2368a"}, - {file = "wrapt-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:21f6d9a0d5b3a207cdf7acf8e58d7d13d463e639f0c7e01d82cdb671e6cb7923"}, - {file = "wrapt-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce42618f67741d4697684e501ef02f29e758a123aa2d669e2d964ff734ee00ee"}, - {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41d07d029dd4157ae27beab04d22b8e261eddfc6ecd64ff7000b10dc8b3a5727"}, - {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54accd4b8bc202966bafafd16e69da9d5640ff92389d33d28555c5fd4f25ccb7"}, - {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fbfbca668dd15b744418265a9607baa970c347eefd0db6a518aaf0cfbd153c0"}, - {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:76e9c727a874b4856d11a32fb0b389afc61ce8aaf281ada613713ddeadd1cfec"}, - {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e20076a211cd6f9b44a6be58f7eeafa7ab5720eb796975d0c03f05b47d89eb90"}, - {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a74d56552ddbde46c246b5b89199cb3fd182f9c346c784e1a93e4dc3f5ec9975"}, - {file = "wrapt-1.15.0-cp310-cp310-win32.whl", hash = "sha256:26458da5653aa5b3d8dc8b24192f574a58984c749401f98fff994d41d3f08da1"}, - {file = "wrapt-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:75760a47c06b5974aa5e01949bf7e66d2af4d08cb8c1d6516af5e39595397f5e"}, - {file = "wrapt-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ba1711cda2d30634a7e452fc79eabcadaffedf241ff206db2ee93dd2c89a60e7"}, - {file = "wrapt-1.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:56374914b132c702aa9aa9959c550004b8847148f95e1b824772d453ac204a72"}, - {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a89ce3fd220ff144bd9d54da333ec0de0399b52c9ac3d2ce34b569cf1a5748fb"}, - {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3bbe623731d03b186b3d6b0d6f51865bf598587c38d6f7b0be2e27414f7f214e"}, - {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3abbe948c3cbde2689370a262a8d04e32ec2dd4f27103669a45c6929bcdbfe7c"}, - {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b67b819628e3b748fd3c2192c15fb951f549d0f47c0449af0764d7647302fda3"}, - {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7eebcdbe3677e58dd4c0e03b4f2cfa346ed4049687d839adad68cc38bb559c92"}, - {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:74934ebd71950e3db69960a7da29204f89624dde411afbfb3b4858c1409b1e98"}, - {file = "wrapt-1.15.0-cp311-cp311-win32.whl", hash = "sha256:bd84395aab8e4d36263cd1b9308cd504f6cf713b7d6d3ce25ea55670baec5416"}, - {file = "wrapt-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:a487f72a25904e2b4bbc0817ce7a8de94363bd7e79890510174da9d901c38705"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:4ff0d20f2e670800d3ed2b220d40984162089a6e2c9646fdb09b85e6f9a8fc29"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9ed6aa0726b9b60911f4aed8ec5b8dd7bf3491476015819f56473ffaef8959bd"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:896689fddba4f23ef7c718279e42f8834041a21342d95e56922e1c10c0cc7afb"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:75669d77bb2c071333417617a235324a1618dba66f82a750362eccbe5b61d248"}, - {file = "wrapt-1.15.0-cp35-cp35m-win32.whl", hash = "sha256:fbec11614dba0424ca72f4e8ba3c420dba07b4a7c206c8c8e4e73f2e98f4c559"}, - {file = "wrapt-1.15.0-cp35-cp35m-win_amd64.whl", hash = "sha256:fd69666217b62fa5d7c6aa88e507493a34dec4fa20c5bd925e4bc12fce586639"}, - {file = "wrapt-1.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:b0724f05c396b0a4c36a3226c31648385deb6a65d8992644c12a4963c70326ba"}, - {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbeccb1aa40ab88cd29e6c7d8585582c99548f55f9b2581dfc5ba68c59a85752"}, - {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38adf7198f8f154502883242f9fe7333ab05a5b02de7d83aa2d88ea621f13364"}, - {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:578383d740457fa790fdf85e6d346fda1416a40549fe8db08e5e9bd281c6a475"}, - {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:a4cbb9ff5795cd66f0066bdf5947f170f5d63a9274f99bdbca02fd973adcf2a8"}, - {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:af5bd9ccb188f6a5fdda9f1f09d9f4c86cc8a539bd48a0bfdc97723970348418"}, - {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:b56d5519e470d3f2fe4aa7585f0632b060d532d0696c5bdfb5e8319e1d0f69a2"}, - {file = "wrapt-1.15.0-cp36-cp36m-win32.whl", hash = "sha256:77d4c1b881076c3ba173484dfa53d3582c1c8ff1f914c6461ab70c8428b796c1"}, - {file = "wrapt-1.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:077ff0d1f9d9e4ce6476c1a924a3332452c1406e59d90a2cf24aeb29eeac9420"}, - {file = "wrapt-1.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5c5aa28df055697d7c37d2099a7bc09f559d5053c3349b1ad0c39000e611d317"}, - {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a8564f283394634a7a7054b7983e47dbf39c07712d7b177b37e03f2467a024e"}, - {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:780c82a41dc493b62fc5884fb1d3a3b81106642c5c5c78d6a0d4cbe96d62ba7e"}, - {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e169e957c33576f47e21864cf3fc9ff47c223a4ebca8960079b8bd36cb014fd0"}, - {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b02f21c1e2074943312d03d243ac4388319f2456576b2c6023041c4d57cd7019"}, - {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f2e69b3ed24544b0d3dbe2c5c0ba5153ce50dcebb576fdc4696d52aa22db6034"}, - {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d787272ed958a05b2c86311d3a4135d3c2aeea4fc655705f074130aa57d71653"}, - {file = "wrapt-1.15.0-cp37-cp37m-win32.whl", hash = "sha256:02fce1852f755f44f95af51f69d22e45080102e9d00258053b79367d07af39c0"}, - {file = "wrapt-1.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:abd52a09d03adf9c763d706df707c343293d5d106aea53483e0ec8d9e310ad5e"}, - {file = "wrapt-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cdb4f085756c96a3af04e6eca7f08b1345e94b53af8921b25c72f096e704e145"}, - {file = "wrapt-1.15.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:230ae493696a371f1dbffaad3dafbb742a4d27a0afd2b1aecebe52b740167e7f"}, - {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63424c681923b9f3bfbc5e3205aafe790904053d42ddcc08542181a30a7a51bd"}, - {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6bcbfc99f55655c3d93feb7ef3800bd5bbe963a755687cbf1f490a71fb7794b"}, - {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c99f4309f5145b93eca6e35ac1a988f0dc0a7ccf9ccdcd78d3c0adf57224e62f"}, - {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b130fe77361d6771ecf5a219d8e0817d61b236b7d8b37cc045172e574ed219e6"}, - {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:96177eb5645b1c6985f5c11d03fc2dbda9ad24ec0f3a46dcce91445747e15094"}, - {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5fe3e099cf07d0fb5a1e23d399e5d4d1ca3e6dfcbe5c8570ccff3e9208274f7"}, - {file = "wrapt-1.15.0-cp38-cp38-win32.whl", hash = "sha256:abd8f36c99512755b8456047b7be10372fca271bf1467a1caa88db991e7c421b"}, - {file = "wrapt-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:b06fa97478a5f478fb05e1980980a7cdf2712015493b44d0c87606c1513ed5b1"}, - {file = "wrapt-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2e51de54d4fb8fb50d6ee8327f9828306a959ae394d3e01a1ba8b2f937747d86"}, - {file = "wrapt-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0970ddb69bba00670e58955f8019bec4a42d1785db3faa043c33d81de2bf843c"}, - {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76407ab327158c510f44ded207e2f76b657303e17cb7a572ffe2f5a8a48aa04d"}, - {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd525e0e52a5ff16653a3fc9e3dd827981917d34996600bbc34c05d048ca35cc"}, - {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d37ac69edc5614b90516807de32d08cb8e7b12260a285ee330955604ed9dd29"}, - {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:078e2a1a86544e644a68422f881c48b84fef6d18f8c7a957ffd3f2e0a74a0d4a"}, - {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2cf56d0e237280baed46f0b5316661da892565ff58309d4d2ed7dba763d984b8"}, - {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7dc0713bf81287a00516ef43137273b23ee414fe41a3c14be10dd95ed98a2df9"}, - {file = "wrapt-1.15.0-cp39-cp39-win32.whl", hash = "sha256:46ed616d5fb42f98630ed70c3529541408166c22cdfd4540b88d5f21006b0eff"}, - {file = "wrapt-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:eef4d64c650f33347c1f9266fa5ae001440b232ad9b98f1f43dfe7a79435c0a6"}, - {file = "wrapt-1.15.0-py3-none-any.whl", hash = "sha256:64b1df0f83706b4ef4cfb4fb0e4c2669100fd7ecacfb59e091fad300d4e04640"}, - {file = "wrapt-1.15.0.tar.gz", hash = "sha256:d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a"}, -] - [metadata] lock-version = "2.0" python-versions = "^3.11, <3.12" -content-hash = "e8f489ed6bb72918f1b6022d99611b86795d41fc92db44e32af6161f10f1e47d" +content-hash = "0c297193ea00260529e2d6b9216b9233ce9acd7931583f903ef66a59cde50034" diff --git a/pyproject.toml b/pyproject.toml index 09f74520..11e44cc9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,7 +27,7 @@ click = "^8.1.7" [tool.poetry.group.dev.dependencies] black = "^23.7.0" -pylint = "^2.17.5" +pylint = ">=2.17.5,<4.0.0" isort = "^5.12.0" taskipy = "^1.12.0" flake8 = "^6.1.0"