Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions pymeos/meos_init.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
meos_set_datestyle,
meos_set_intervalstyle,
)
from pymeos_cffi.functions import _ffi


def pymeos_initialize(
Expand All @@ -29,13 +30,13 @@ def pymeos_initialize(

if date_style is not None:
if isinstance(date_style, str):
meos_set_datestyle(date_style, None)
meos_set_datestyle(date_style, _ffi.NULL)
else:
meos_set_datestyle(*date_style)

if interval_style is not None:
if isinstance(interval_style, str):
meos_set_intervalstyle(interval_style, None)
meos_set_intervalstyle(interval_style, 0)
else:
meos_set_intervalstyle(*interval_style)

Expand Down
38 changes: 38 additions & 0 deletions tests/meos_init_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import pytest
from pymeos_cffi import meos_get_datestyle, meos_get_intervalstyle

from pymeos import pymeos_initialize
from tests.conftest import TestPyMEOS


# Laid out as #TestTInterpolation; each test restores the styles it changes, since
# every other test runs under the styles conftest initializes.
class TestPyMEOSInitialize(TestPyMEOS):
@pytest.mark.parametrize(
"date_style, expected",
[
("SQL, DMY", "SQL, DMY"),
("German", "German, DMY"),
("Postgres, MDY", "Postgres, MDY"),
],
ids=["SQL DMY", "German", "Postgres MDY"],
)
def test_date_style(self, date_style, expected):
previous = meos_get_datestyle()
try:
pymeos_initialize("UTC", date_style=date_style)
assert meos_get_datestyle() == expected
finally:
pymeos_initialize("UTC", date_style=previous)

@pytest.mark.parametrize(
"interval_style",
["postgres", "postgres_verbose", "sql_standard", "iso_8601"],
)
def test_interval_style(self, interval_style):
previous = meos_get_intervalstyle()
try:
pymeos_initialize("UTC", interval_style=interval_style)
assert meos_get_intervalstyle() == interval_style
finally:
pymeos_initialize("UTC", interval_style=previous)
Loading