Updated script that can be controled by Nodejs web app
This commit is contained in:
@ -0,0 +1,76 @@
|
||||
import dateutil.tz
|
||||
import numpy as np
|
||||
import pytest
|
||||
|
||||
from pandas import (
|
||||
DatetimeIndex,
|
||||
date_range,
|
||||
to_datetime,
|
||||
)
|
||||
from pandas.core.arrays import datetimes
|
||||
|
||||
|
||||
class TestDatetimeIndexIteration:
|
||||
@pytest.mark.parametrize(
|
||||
"tz", [None, "UTC", "US/Central", dateutil.tz.tzoffset(None, -28800)]
|
||||
)
|
||||
def test_iteration_preserves_nanoseconds(self, tz):
|
||||
# GH#19603
|
||||
index = DatetimeIndex(
|
||||
["2018-02-08 15:00:00.168456358", "2018-02-08 15:00:00.168456359"], tz=tz
|
||||
)
|
||||
for i, ts in enumerate(index):
|
||||
assert ts == index[i] # pylint: disable=unnecessary-list-index-lookup
|
||||
|
||||
def test_iter_readonly(self):
|
||||
# GH#28055 ints_to_pydatetime with readonly array
|
||||
arr = np.array([np.datetime64("2012-02-15T12:00:00.000000000")])
|
||||
arr.setflags(write=False)
|
||||
dti = to_datetime(arr)
|
||||
list(dti)
|
||||
|
||||
def test_iteration_preserves_tz(self):
|
||||
# see GH#8890
|
||||
index = date_range("2012-01-01", periods=3, freq="h", tz="US/Eastern")
|
||||
|
||||
for i, ts in enumerate(index):
|
||||
result = ts
|
||||
expected = index[i] # pylint: disable=unnecessary-list-index-lookup
|
||||
assert result == expected
|
||||
|
||||
def test_iteration_preserves_tz2(self):
|
||||
index = date_range(
|
||||
"2012-01-01", periods=3, freq="h", tz=dateutil.tz.tzoffset(None, -28800)
|
||||
)
|
||||
|
||||
for i, ts in enumerate(index):
|
||||
result = ts
|
||||
expected = index[i] # pylint: disable=unnecessary-list-index-lookup
|
||||
assert result._repr_base == expected._repr_base
|
||||
assert result == expected
|
||||
|
||||
def test_iteration_preserves_tz3(self):
|
||||
# GH#9100
|
||||
index = DatetimeIndex(
|
||||
["2014-12-01 03:32:39.987000-08:00", "2014-12-01 04:12:34.987000-08:00"]
|
||||
)
|
||||
for i, ts in enumerate(index):
|
||||
result = ts
|
||||
expected = index[i] # pylint: disable=unnecessary-list-index-lookup
|
||||
assert result._repr_base == expected._repr_base
|
||||
assert result == expected
|
||||
|
||||
@pytest.mark.parametrize("offset", [-5, -1, 0, 1])
|
||||
def test_iteration_over_chunksize(self, offset, monkeypatch):
|
||||
# GH#21012
|
||||
chunksize = 5
|
||||
index = date_range(
|
||||
"2000-01-01 00:00:00", periods=chunksize - offset, freq="min"
|
||||
)
|
||||
num = 0
|
||||
with monkeypatch.context() as m:
|
||||
m.setattr(datetimes, "_ITER_CHUNKSIZE", chunksize)
|
||||
for stamp in index:
|
||||
assert index[num] == stamp
|
||||
num += 1
|
||||
assert num == len(index)
|
Reference in New Issue
Block a user