Skip to content

Commit 38fe807

Browse files
mjohanse-emrMichael Johansen
andauthored
Add Timing.has_sample_interval. (#107)
Signed-off-by: Michael Johansen <michael.johansen@ni.com> Co-authored-by: Michael Johansen <michael.johansen@ni.com>
1 parent 0880222 commit 38fe807

File tree

4 files changed

+20
-15
lines changed

4 files changed

+20
-15
lines changed

src/nitypes/waveform/_timing/_timing.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,11 @@ def time_offset(self) -> _TTimeOffset_co:
217217
raise RuntimeError("The waveform timing does not have a time offset.")
218218
return value
219219

220+
@property
221+
def has_sample_interval(self) -> bool:
222+
"""Indicates whether the waveform timing has a sample interval."""
223+
return self._sample_interval is not None
224+
220225
@property
221226
def sample_interval(self) -> _TSampleInterval_co:
222227
"""The time interval between samples."""

tests/unit/waveform/_timing/test_bintime.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def test___empty___no_time_offset() -> None:
4545

4646

4747
def test___empty___no_sample_interval() -> None:
48-
assert Timing.empty._sample_interval is None
48+
assert not Timing.empty.has_sample_interval
4949
with pytest.raises(RuntimeError) as exc:
5050
_ = Timing.empty.sample_interval
5151

@@ -65,7 +65,7 @@ def test___no_args___create_with_no_interval___creates_empty_waveform_timing() -
6565
assert_type(timing, Timing[dt.datetime, dt.timedelta, dt.timedelta])
6666
assert not timing.has_timestamp
6767
assert not timing.has_time_offset
68-
assert timing._sample_interval is None
68+
assert not timing.has_sample_interval
6969
assert timing.sample_interval_mode == SampleIntervalMode.NONE
7070

7171

@@ -76,7 +76,7 @@ def test___timestamp___create_with_no_interval___creates_waveform_timing_with_ti
7676
assert_type(timing, Timing[bt.DateTime, dt.timedelta, dt.timedelta])
7777
assert timing.timestamp == timestamp
7878
assert not timing.has_time_offset
79-
assert timing._sample_interval is None
79+
assert not timing.has_sample_interval
8080
assert timing.sample_interval_mode == SampleIntervalMode.NONE
8181

8282

@@ -90,7 +90,7 @@ def test___timestamp_and_time_offset___create_with_no_interval___creates_wavefor
9090
assert_type(timing, Timing[bt.DateTime, bt.TimeDelta, dt.timedelta])
9191
assert timing.timestamp == timestamp
9292
assert timing.time_offset == time_offset
93-
assert timing._sample_interval is None
93+
assert not timing.has_sample_interval
9494
assert timing.sample_interval_mode == SampleIntervalMode.NONE
9595

9696

@@ -103,7 +103,7 @@ def test___time_offset___create_with_no_interval___creates_waveform_timing_with_
103103
assert_type(timing, Timing[dt.datetime, bt.TimeDelta, dt.timedelta])
104104
assert not timing.has_timestamp
105105
assert timing.time_offset == time_offset
106-
assert timing._sample_interval is None
106+
assert not timing.has_sample_interval
107107
assert timing.sample_interval_mode == SampleIntervalMode.NONE
108108

109109

tests/unit/waveform/_timing/test_datetime.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ def test___empty___no_time_offset() -> None:
4444

4545

4646
def test___empty___no_sample_interval() -> None:
47-
assert Timing.empty._sample_interval is None
47+
assert not Timing.empty.has_sample_interval
4848
with pytest.raises(RuntimeError) as exc:
4949
_ = Timing.empty.sample_interval
5050

@@ -64,7 +64,7 @@ def test___no_args___create_with_no_interval___creates_empty_waveform_timing() -
6464
assert_type(timing, Timing[dt.datetime, dt.timedelta, dt.timedelta])
6565
assert not timing.has_timestamp
6666
assert not timing.has_time_offset
67-
assert timing._sample_interval is None
67+
assert not timing.has_sample_interval
6868
assert timing.sample_interval_mode == SampleIntervalMode.NONE
6969

7070

@@ -75,7 +75,7 @@ def test___timestamp___create_with_no_interval___creates_waveform_timing_with_ti
7575
assert_type(timing, Timing[dt.datetime, dt.timedelta, dt.timedelta])
7676
assert timing.timestamp == timestamp
7777
assert not timing.has_time_offset
78-
assert timing._sample_interval is None
78+
assert not timing.has_sample_interval
7979
assert timing.sample_interval_mode == SampleIntervalMode.NONE
8080

8181

@@ -89,7 +89,7 @@ def test___timestamp_and_time_offset___create_with_no_interval___creates_wavefor
8989
assert_type(timing, Timing[dt.datetime, dt.timedelta, dt.timedelta])
9090
assert timing.timestamp == timestamp
9191
assert timing.time_offset == time_offset
92-
assert timing._sample_interval is None
92+
assert not timing.has_sample_interval
9393
assert timing.sample_interval_mode == SampleIntervalMode.NONE
9494

9595

@@ -102,7 +102,7 @@ def test___time_offset___create_with_no_interval___creates_waveform_timing_with_
102102
assert_type(timing, Timing[dt.datetime, dt.timedelta, dt.timedelta])
103103
assert not timing.has_timestamp
104104
assert timing.time_offset == time_offset
105-
assert timing._sample_interval is None
105+
assert not timing.has_sample_interval
106106
assert timing.sample_interval_mode == SampleIntervalMode.NONE
107107

108108

tests/unit/waveform/_timing/test_hightime.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def test___empty___no_time_offset() -> None:
4545

4646

4747
def test___empty___no_sample_interval() -> None:
48-
assert Timing.empty._sample_interval is None
48+
assert not Timing.empty.has_sample_interval
4949
with pytest.raises(RuntimeError) as exc:
5050
_ = Timing.empty.sample_interval
5151

@@ -65,7 +65,7 @@ def test___no_args___create_with_no_interval___creates_empty_waveform_timing() -
6565
assert_type(timing, Timing[dt.datetime, dt.timedelta, dt.timedelta])
6666
assert not timing.has_timestamp
6767
assert not timing.has_time_offset
68-
assert timing._sample_interval is None
68+
assert not timing.has_sample_interval
6969
assert timing.sample_interval_mode == SampleIntervalMode.NONE
7070

7171

@@ -76,7 +76,7 @@ def test___timestamp___create_with_no_interval___creates_waveform_timing_with_ti
7676
assert_type(timing, Timing[ht.datetime, dt.timedelta, dt.timedelta])
7777
assert timing.timestamp == timestamp
7878
assert not timing.has_time_offset
79-
assert timing._sample_interval is None
79+
assert not timing.has_sample_interval
8080
assert timing.sample_interval_mode == SampleIntervalMode.NONE
8181

8282

@@ -90,7 +90,7 @@ def test___timestamp_and_time_offset___create_with_no_interval___creates_wavefor
9090
assert_type(timing, Timing[ht.datetime, ht.timedelta, dt.timedelta])
9191
assert timing.timestamp == timestamp
9292
assert timing.time_offset == time_offset
93-
assert timing._sample_interval is None
93+
assert not timing.has_sample_interval
9494
assert timing.sample_interval_mode == SampleIntervalMode.NONE
9595

9696

@@ -103,7 +103,7 @@ def test___time_offset___create_with_no_interval___creates_waveform_timing_with_
103103
assert_type(timing, Timing[dt.datetime, ht.timedelta, dt.timedelta])
104104
assert not timing.has_timestamp
105105
assert timing.time_offset == time_offset
106-
assert timing._sample_interval is None
106+
assert not timing.has_sample_interval
107107
assert timing.sample_interval_mode == SampleIntervalMode.NONE
108108

109109

0 commit comments

Comments
 (0)