Ejemplo n.º 1
0
def test_channeldata_strings():
    tf = TdmsFile("./tests/tdms_files/channeldata_strings.tdms")
    data = tf.group_0.ch_0.data
    assert data.size == 30
    assert data.shape == (3, 10)
    for value, expected in zip(data.flatten(), list(map(str, range(30)))):
        assert value == expected
Ejemplo n.º 2
0
def test_channeldata():
    tf = TdmsFile("./tests/tdms_files/channeldata.tdms")
    data = tf.group_0.ch_0.data
    assert isinstance(data, np.ndarray)
    assert data.size == 10
    for value, expected in zip(data, range(10)):
        assert value == expected
Ejemplo n.º 3
0
def test_analog():
    tf = TdmsFile("./tests/tdms_files/wdt_analog.tdms")
    wf = tf.group_0.ch0.data
    assert isinstance(wf, WaveformDT)
    assert wf.t0 == 0.0
    assert wf.dt == 0.01
    assert wf.size == 100
Ejemplo n.º 4
0
def test_example():
    tf = TdmsFile("./tests/tdms_files/example.tdms")
    ai0_wf = tf.analog.NI_9775_ai0.data
    assert ai0_wf.Y.shape == (4000, )
    x0, y0 = ai0_wf.to_xy()
    assert x0.size == 4000
    assert y0.size == 4000
Ejemplo n.º 5
0
def test_daqmx_resistance():
    tf = TdmsFile("./tests/tdms_files/daqmx_resistance.tdms")
    data = tf.group_0.cDAQ1Mod1_ai0.data
    assert data.size == 10
    assert data[:3].Y == approx((346.556966636, 346.55142377, 346.549397346))
    unit = tf.group_0.cDAQ1Mod1_ai0.unit_string
    assert unit == "Ohms"
Ejemplo n.º 6
0
def test_channeldata_digitalwfmstates():
    tf = TdmsFile("./tests/tdms_files/channeldata_digitalwfmstates.tdms")
    data = tf.group_0.ch_0.data
    assert isinstance(data, WaveformDT)
    assert data.size == 8
    expected = np.asarray(list(range(8)))
    results = data.Y == expected
    assert results.all()
Ejemplo n.º 7
0
def test_channeldata_digitalwfm():
    tf = TdmsFile("./tests/tdms_files/channeldata_digitalwfm.tdms")
    data = tf.group_0.ch_0.data
    assert isinstance(data, WaveformDT)
    assert data.size == 10
    expected = np.asarray([0, 2, 3, 4, 5, 6, 7, 8, 9, 16])
    results = data.Y == expected
    assert results.all()
Ejemplo n.º 8
0
def test_toxy_relative():
    tf = TdmsFile("./tests/tdms_files/daqmx_linear_voltage.tdms")
    wf = tf.group_0.cDAQ1Mod2_ai0.data
    dt = wf.dt
    samples = wf.size
    x = wf.to_xy()[0]
    expected = np.linspace(0.0, samples * dt, samples, False)
    result = x == expected
    assert result.all()
Ejemplo n.º 9
0
def test_daqmx_digital_1ch2linesboolean():
    tf = TdmsFile("./tests/tdms_files/daqmx_digital_1ch2linesboolean.tdms")
    group = tf["group_0 - line0_1"]
    data = group.PXI1Slot7_port0_line0.data
    result = data == np.asarray([0] * 10)
    assert result.all()
    data = group.PXI1Slot7_port0_line1.data
    result = data == np.asarray([1] * 10)
    assert result.all()
Ejemplo n.º 10
0
def test_channeldata_2ch_interleaved():
    tf = TdmsFile("./tests/tdms_files/channeldata_2ch_interleaved.tdms")
    ch_0_values = tf.group_0.ch_0.data
    assert ch_0_values.size == 10
    for value, expected in zip(ch_0_values, range(10)):
        assert value == expected
    ch_1_values = tf.group_0.ch_1.data
    assert ch_1_values.size == 10
    for value, expected in zip(ch_1_values, range(10, 20)):
        assert value == expected
Ejemplo n.º 11
0
def test_channeldata_2groups():
    tf = TdmsFile("./tests/tdms_files/channeldata_2groups.tdms")
    group_0_values = tf.group_0.ch_0.data
    assert group_0_values.size == 10
    for value, expected in zip(group_0_values, range(10)):
        assert value == expected
    group_1_values = tf.group_1.ch_0.data
    assert group_1_values.size == 10
    for value, expected in zip(group_1_values, range(10, 20)):
        assert value == expected
Ejemplo n.º 12
0
def test_daqmx_polynomial_voltage():
    tf = TdmsFile("./tests/tdms_files/daqmx_polynomial_voltage.tdms")
    data = tf.group_0.PXI1Slot7_ai0.data
    assert data.size == 10
    assert data[:3].Y == approx((3.648018064, 3.647857836, 3.647857836))
    t0 = data.t0
    expected = datetime(2019, 10, 3, 2, 44, 38, 544740, tzinfo=timezone.utc)
    expected = expected.astimezone().replace(tzinfo=None)
    assert t0 == expected
    dt = data.dt
    assert dt == 0.001
Ejemplo n.º 13
0
def test_channeldata_continued_interleaved():
    tf = TdmsFile("./tests/tdms_files/channeldata_continued_interleaved.tdms")
    ch_0_values = tf.group_0.ch_0.data
    expected = np.asarray(range(0, 30))
    results = ch_0_values == expected
    assert results.all()
    ch_1_values = tf.group_0.ch_1.data
    expected = []
    for i in range(3):
        expected.extend([i * 10 + j for j in range(9, -1, -1)])
    results = ch_1_values == np.asarray(expected)
    assert results.all()
Ejemplo n.º 14
0
def test_daqmx_linear_voltage():
    tf = TdmsFile("./tests/tdms_files/daqmx_linear_voltage.tdms")
    data = tf.group_0.cDAQ1Mod2_ai0.data
    assert isinstance(data, WaveformDT)
    assert data.size == 10
    assert data[:3].Y == approx((-0.000409137, -0.000727973, -9.0301e-5))
    t0 = data.t0
    expected = datetime(2019, 10, 3, 2, 31, 10, 787163, tzinfo=timezone.utc)
    expected = expected.astimezone().replace(tzinfo=None)
    assert t0 == expected
    dt = data.dt
    assert dt == 0.001
Ejemplo n.º 15
0
def test_channeldata_digitalwfmpattern():
    tf = TdmsFile("./tests/tdms_files/channeldata_digitalwfmpattern.tdms")
    group = tf.group_0
    data = [ch.data for ch in group]
    data.reverse()
    data = list(zip(*data))
    values = []
    for t in data:
        value = 0
        for i, bit_value in enumerate(t):
            value += 2 ** i * bit_value
        values.append(value)
    assert values == list(range(8))
    assert group.wf_start_time == 0.0
Ejemplo n.º 16
0
def test_channeldata_timestamp():
    tf = TdmsFile("./tests/tdms_files/channeldata_timestamp.tdms")
    data = tf.group_0.ch_0.data
    assert isinstance(data[0], datetime)
    assert data.size == 10

    def compute_expected(s):
        t = datetime(2019, 1, 1, 6, 0, s, tzinfo=timezone.utc)
        t = t.astimezone().replace(tzinfo=None)
        return t

    expected = [compute_expected(s) for s in range(10)]
    results = data == expected
    assert results.all()
Ejemplo n.º 17
0
def test_channeldata_2ch_complexsingle():
    tf = TdmsFile("./tests/tdms_files/channeldata_2ch_complexsingle.tdms")
    ch_0_values = tf.group_0.ch_0.data
    assert isinstance(ch_0_values[0], complex)
    assert ch_0_values.size == 10
    expecteds = map(lambda ri: complex(*ri), zip(range(10), range(19, 9, -1)))
    for value, expected in zip(ch_0_values, expecteds):
        assert value == expected
    ch_1_values = tf.group_0.ch_1.data
    assert isinstance(ch_1_values[0], complex)
    assert ch_1_values.size == 10
    expecteds = map(lambda ri: complex(*ri), zip(range(10, 20), range(9, -1, -1)))
    for value, expected in zip(ch_1_values, expecteds):
        assert value == expected
Ejemplo n.º 18
0
def test_toxy_absolute():
    tf = TdmsFile("./tests/tdms_files/wdt_absolutet0.tdms")
    wf = tf.group_0.ch0.data
    expected = datetime(2019, 1, 1, 6, 0, tzinfo=timezone.utc)
    expected = expected.astimezone().replace(tzinfo=None)
    assert wf.t0 == expected
    x, _ = wf.to_xy(False)

    def compute_expected(s):
        t = datetime(2019, 1, 1, 6, 0, s, tzinfo=timezone.utc)
        t = t.astimezone().replace(tzinfo=None)
        return np.datetime64(t)

    expected = np.asarray([compute_expected(s) for s in range(10)])
    results = x == expected
    assert results.all()
Ejemplo n.º 19
0
def test_extraattributes():
    tf = TdmsFile("./tests/tdms_files/wdt_analog.tdms")
    wf = tf.group_0.ch0.data
    assert wf.signal == "sine"
Ejemplo n.º 20
0
def test_daqmx_linear_voltage():
    tf = TdmsFile("./tests/tdms_files/daqmx_linear_voltage.tdms")
    wf = tf.group_0.cDAQ1Mod2_ai0.data
    assert wf.dt == 0.001
    assert wf.Y.shape == (10,)
Ejemplo n.º 21
0
def test_filenotfound():
    with raises(FileNotFoundError):
        TdmsFile("")
Ejemplo n.º 22
0
def test_dir_invalid_name():
    tf = TdmsFile("./tests/tdms_files/invalid attributes names.tdms")
    assert '["file-prop 0"]' in dir(tf)
Ejemplo n.º 23
0
def test_analog_multiplewrites():
    tf = TdmsFile("./tests/tdms_files/wdt_analog_multiplewrites.tdms")
    wf = tf.group_0.ch0.data
    assert wf.Y.shape == (2, 100)
Ejemplo n.º 24
0
def test_channel_iter():
    tf = TdmsFile("./tests/tdms_files/channeldata.tdms")
    for expected, value in enumerate(tf.group_0.ch_0):
        assert value == expected
Ejemplo n.º 25
0
def test_changebyteorder():
    tf = TdmsFile("./tests/tdms_files/change byte order.tdms")
    assert tf.file_prop_0 == 0
    assert tf.file_prop_1 == 1
Ejemplo n.º 26
0
def test_channeldata_timestamp_interleaved():
    tf = TdmsFile("./tests/tdms_files/channeldata_timestamp_interleaved.tdms")
    seconds = [ts.second for ts in tf.group_0.ch_0.data]
    assert seconds == list(range(0, 10, 2))
    seconds = [ts.second for ts in tf.group_0.ch_1.data]
    assert seconds == list(range(1, 10, 2))
Ejemplo n.º 27
0
def test_channeldata_continued():
    tf = TdmsFile("./tests/tdms_files/channeldata_continued.tdms")
    data = tf.group_0.ch_0.data
    assert data.size == 30
    for value, expected in zip(data, range(30)):
        assert value == expected
Ejemplo n.º 28
0
def test_channeldata_nodata():
    tf = TdmsFile("./tests/tdms_files/channeldata_nodata.tdms")
    data = tf.group_0.ch_0.data
    assert data.size == 0
Ejemplo n.º 29
0
def test_channeldata_bigendian():
    tf = TdmsFile("./tests/tdms_files/channeldata_bigendian.tdms")
    data = tf.group_0.ch_0.data
    assert data.size == 10
    for value, expected in zip(data, range(10)):
        assert value == expected
Ejemplo n.º 30
0
def test_logfile():
    tf = TdmsFile("./tests/tdms_files/log.tdms")
    data = tf.run0.temperature.data
    assert len(data) == 13