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
6 changes: 3 additions & 3 deletions .github/workflows/pylint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Set up Python 3
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: '3.9'
python-version: '3.10'
cache: 'pip'
cache-dependency-path: 'requirements_dev.txt'
- name: Install dependencies
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/win_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ jobs:
runs-on: windows-latest
strategy:
matrix:
python-version: ['3.9', '3.10', '3.11', '3.12']
python-version: ['3.10', '3.11', '3.12', '3.13', '3.14']
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
Expand Down
218 changes: 109 additions & 109 deletions tests/test_datatypes.py
Original file line number Diff line number Diff line change
@@ -1,109 +1,109 @@
"""
Copyright DEWETRON GmbH 2022

Dmd reader library - Unit Tests for internal demo DMD datatypes
"""


import pyDmdReader


DMD_FILE = "DMD_DEMO_FILE"


def test_check_demo_file():
dmd = pyDmdReader.DmdReader(DMD_FILE)
assert dmd.version.major == 1 and dmd.version.minor >= 1

assert len(dmd.channel_names) >= 5

assert dmd.channel_names[0] == "AI 0/0 (Demo)"
channel = dmd.channels["AI 0/0 (Demo)"]
assert channel.description == "DEMO Analog"
assert channel.unit == "V"
assert channel.sample_rate == 10000.0
assert channel.dtype == "float64"
data = dmd.read_dataframe("AI 0/0 (Demo)")
assert len(data) == 40002
assert len(data.columns) == 1
assert data.dtypes[0] == "float64"

assert dmd.channel_names[1] == "Cnt 0/0 (Demo)"
channel = dmd.channels["Cnt 0/0 (Demo)"]
assert channel.dtype == "float64"
data = dmd.read_dataframe("Cnt 0/0 (Demo)")
assert len(data) == 10000
assert len(data.columns) == 1
assert data.dtypes[0] == "float64"

assert dmd.channel_names[2] == "DI 1/1 (Demo)"
channel = dmd.channels["DI 1/1 (Demo)"]
assert channel.dtype == "i4"
data = dmd.read_dataframe("DI 1/1 (Demo)")
assert len(data) == 10000
assert len(data.columns) == 1
assert data.dtypes[0] == "int32"
assert data.iloc[0].name == 0.000
assert data.iloc[0][0] == 0
assert data.iloc[1].name == 0.001
assert data.iloc[1][0] == 1

assert dmd.channel_names[3] == "VC 1/1 (Demo)"
channel = dmd.channels["VC 1/1 (Demo)"]
assert channel.dtype == "complex128"
data = dmd.read_dataframe("VC 1/1 (Demo)")
assert len(data) == 10000
assert len(data.columns) == 5
assert data.dtypes[0] == "complex128"

assert dmd.channel_names[4] == "VS 1/1 (Demo)"
channel = dmd.channels["VS 1/1 (Demo)"]
assert channel.dtype == "float64"
data = dmd.read_dataframe("VS 1/1 (Demo)")
assert len(data) == 10000
assert len(data.columns) == 10
assert data.columns[0] == "VS 1/1 (Demo)[0]"
assert data.dtypes[0] == "float64"
assert data.iloc[0].name == 0.000
assert sum(abs(data.iloc[0] - [0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])) < 1e-15

dmd.close()

def test_check_demo_file_unique_ids():
dmd = pyDmdReader.DmdReader(DMD_FILE)
assert dmd.version.major == 1 and dmd.version.minor >= 1

assert len(dmd.channel_names) == len(dmd.channel_ids)

channel = dmd.channels["AI 0/0 (Demo)"]
unique_id = channel.handle.value
channel2 = dmd.allchannels[unique_id]
assert channel.name == channel2.name
assert channel == channel2

def test_check_demo_file_multicolumn():
dmd = pyDmdReader.DmdReader(DMD_FILE)
data = dmd.read_dataframe(["Cnt 0/0 (Demo)", "DI 1/1 (Demo)", "VS 1/1 (Demo)"])

assert len(data.dtypes) == 12
assert data.dtypes[0] == "float64"
assert data.dtypes[1] == "int32"
assert data.dtypes[2] == "float64"

dmd.close()

def test_version():
v = pyDmdReader.Version(1,2)
assert v.major == 1
assert v.minor == 2
assert v.micro == 0
assert str(v) == "1.2"

v = pyDmdReader.Version(1,2,3)
assert v.major == 1
assert v.minor == 2
assert v.micro == 3
assert str(v) == "1.2.3"

assert str(pyDmdReader.Version.parse("9.8")) == "9.8"
assert str(pyDmdReader.Version.parse("9.8.7")) == "9.8.7"
"""
Copyright DEWETRON GmbH 2022
Dmd reader library - Unit Tests for internal demo DMD datatypes
"""
import pyDmdReader
DMD_FILE = "DMD_DEMO_FILE"
def test_check_demo_file():
dmd = pyDmdReader.DmdReader(DMD_FILE)
assert dmd.version.major == 1 and dmd.version.minor >= 1
assert len(dmd.channel_names) >= 5
assert dmd.channel_names[0] == "AI 0/0 (Demo)"
channel = dmd.channels["AI 0/0 (Demo)"]
assert channel.description == "DEMO Analog"
assert channel.unit == "V"
assert channel.sample_rate == 10000.0
assert channel.dtype == "float64"
data = dmd.read_dataframe("AI 0/0 (Demo)")
assert len(data) == 40002
assert len(data.columns) == 1
assert data.dtypes.iloc[0] == "float64"
assert dmd.channel_names[1] == "Cnt 0/0 (Demo)"
channel = dmd.channels["Cnt 0/0 (Demo)"]
assert channel.dtype == "float64"
data = dmd.read_dataframe("Cnt 0/0 (Demo)")
assert len(data) == 10000
assert len(data.columns) == 1
assert data.dtypes.iloc[0] == "float64"
assert dmd.channel_names[2] == "DI 1/1 (Demo)"
channel = dmd.channels["DI 1/1 (Demo)"]
assert channel.dtype == "i4"
data = dmd.read_dataframe("DI 1/1 (Demo)")
assert len(data) == 10000
assert len(data.columns) == 1
assert data.dtypes.iloc[0] == "int32"
assert data.iloc[0].name == 0.000
assert data.iloc[0, 0] == 0
assert data.iloc[1].name == 0.001
assert data.iloc[1, 0] == 1
assert dmd.channel_names[3] == "VC 1/1 (Demo)"
channel = dmd.channels["VC 1/1 (Demo)"]
assert channel.dtype == "complex128"
data = dmd.read_dataframe("VC 1/1 (Demo)")
assert len(data) == 10000
assert len(data.columns) == 5
assert data.dtypes.iloc[0] == "complex128"
assert dmd.channel_names[4] == "VS 1/1 (Demo)"
channel = dmd.channels["VS 1/1 (Demo)"]
assert channel.dtype == "float64"
data = dmd.read_dataframe("VS 1/1 (Demo)")
assert len(data) == 10000
assert len(data.columns) == 10
assert data.columns[0] == "VS 1/1 (Demo)[0]"
assert data.dtypes.iloc[0] == "float64"
assert data.iloc[0].name == 0.000
assert sum(abs(data.iloc[0] - [0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])) < 1e-15
dmd.close()
def test_check_demo_file_unique_ids():
dmd = pyDmdReader.DmdReader(DMD_FILE)
assert dmd.version.major == 1 and dmd.version.minor >= 1
assert len(dmd.channel_names) == len(dmd.channel_ids)
channel = dmd.channels["AI 0/0 (Demo)"]
unique_id = channel.handle.value
channel2 = dmd.allchannels[unique_id]
assert channel.name == channel2.name
assert channel == channel2
def test_check_demo_file_multicolumn():
dmd = pyDmdReader.DmdReader(DMD_FILE)
data = dmd.read_dataframe(["Cnt 0/0 (Demo)", "DI 1/1 (Demo)", "VS 1/1 (Demo)"])
assert len(data.dtypes) == 12
assert data.dtypes.iloc[0] == "float64"
assert data.dtypes.iloc[1] == "int32"
assert data.dtypes.iloc[2] == "float64"
dmd.close()
def test_version():
v = pyDmdReader.Version(1,2)
assert v.major == 1
assert v.minor == 2
assert v.micro == 0
assert str(v) == "1.2"
v = pyDmdReader.Version(1,2,3)
assert v.major == 1
assert v.minor == 2
assert v.micro == 3
assert str(v) == "1.2.3"
assert str(pyDmdReader.Version.parse("9.8")) == "9.8"
assert str(pyDmdReader.Version.parse("9.8.7")) == "9.8.7"
Loading