Files @ 71893ace4dc0
Branch filter:

Location: NPO-Accounting/oxrlib/tests/__init__.py

Brett Smith
tests: Historical tests use more flexible rate matching.

This lets the tests be more flexible about how much precision is used in
rates when appropriate, and makes them ready to parametrize for
Beancount.
import datetime
import decimal
import io
import pathlib
import random

import pytest

from oxrlib import __main__ as oxrmain

decimal.setcontext(oxrmain.decimal_context())

TEST_DIR = pathlib.Path(__file__).parent

class StringIO(io.StringIO):
    def close(self):
        self.last_value = self.getvalue()
        super().close()

def relpath(*parts):
    return TEST_DIR / pathlib.Path(*parts)

@pytest.fixture
def any_date():
    return datetime.date.today() - datetime.timedelta(days=730 - random.randint(0, 365))