Esempio n. 1
0
def test__getattr__():
    """Tests for timestamps and values functionality."""
    # Simple instantiaton
    data = InterfaceData()
    assert data.timestamps == []
    assert data.values == []

    # Instantiation from tuple
    data = InterfaceData(([], []))
    assert data.timestamps == []
    assert data.values == []

    # Instantiation from list
    data = InterfaceData([[1], [2]])
    assert data.timestamps == [1]
    assert data.values == [2]

    # Instantiation from tuple
    data = InterfaceData(([1], [2]))
    assert data.timestamps == [1]
    assert data.values == [2]

    # Instantiation from tuple
    data = InterfaceData(([1, 2], [3, 4]))
    assert data.timestamps == [1, 2]
    assert data.values == [3, 4]
    assert data[0] == (1, 3)
    assert data[1] == (2, 4)

    # Getting as tuple
    assert tuple(data) == (
        (1, 3),
        (2, 4),
    )
Esempio n. 2
0
def test__setattr__():
    """Tests for timestamps and values functionality."""
    data = InterfaceData([[1], [2]])

    # Setting as tuple (not recommended)
    data.timestamps[0] = 3
    assert tuple(data) == ((3, 2), )

    # Setting as attribute (not recommended)
    data.values[0] = 4
    assert tuple(data) == ((3, 4), )
Esempio n. 3
0
def test__setattr__():
    """Tests for __setattr__ function."""
    data = LoggerData({INTERFACE_POWER: ([1], [2])})

    # Setting as dict
    data[INTERFACE_GPIO] = InterfaceData(([3], [4]))
    assert tuple(data[INTERFACE_POWER]) == ((1, 2), )
    assert tuple(data[INTERFACE_GPIO]) == ((3, 4), )

    # Setting as attribute
    data.spi = InterfaceData(([5], [6]))
    assert tuple(data[INTERFACE_SPI]) == ((5, 6), )
Esempio n. 4
0
def test__iadd__():
    """Tests for __iadd__ function."""
    # Add tuple for existing interface
    data = InterfaceData([[1], [2]])
    data += ([2], [3])
    assert tuple(data) == ((1, 2), (2, 3))
    # Add list for existing interface
    data += [[3], [4]]
    assert tuple(data) == ((1, 2), (2, 3), (3, 4))
    # Add InterfaceData for existing interface
    data = InterfaceData([[1], [2]])
    data += InterfaceData([[2, 3], [3, 4]])
    assert tuple(data) == ((1, 2), (2, 3), (3, 4))
Esempio n. 5
0
def test_extend():
    """Tests for extend function."""
    # Simple extention of objects
    data = LoggerData({INTERFACE_POWER: ([1], [2])})
    data1 = InterfaceData([[2], [3]])
    data.extend(INTERFACE_POWER, data1)
    assert tuple(data[INTERFACE_POWER]) == ((1, 2), (2, 3))
Esempio n. 6
0
def test_new_interface_data():
    """Test instantiations."""
    # Simple instantiaton
    data = InterfaceData()
    assert tuple(data) == ()

    # Instantiation from tuple
    data = InterfaceData(([], []))
    assert tuple(data) == ()

    # Instantiation from list
    data = InterfaceData([[1], [2]])
    assert tuple(data) == ((1, 2), )

    # Instantiation from tuple
    data = InterfaceData(([1], [2]))
    assert tuple(data) == ((1, 2), )

    # Instantiation from tuple
    data = InterfaceData(([1, 2], [3, 4]))
    assert tuple(data) == (
        (1, 3),
        (2, 4),
    )

    # Instantiation from two lists
    data = InterfaceData([1, 2], [3, 4])
    assert tuple(data) == (
        (1, 3),
        (2, 4),
    )

    # Instantiation from two ints
    data = InterfaceData(1, 2)
    assert tuple(data) == ((1, 2), )
Esempio n. 7
0
def test__contains__():
    """Tests for __contains__ function."""
    data = InterfaceData(([1, 2], [3, 4]))
    assert ([2], [4]) in data
    assert ([9], [34]) not in data
    assert ([], []) in data
    assert data in data + ([10], [34])
    assert data + ([10], [34]) not in data
    assert data + ([10], [34]) in data + ([10], [34])
Esempio n. 8
0
def test__getitem__():
    """Tests for __getitem__ function."""
    data = InterfaceData(([1, 2], [3, 4]))
    assert data[0] == (1, 3)
    assert data[1] == (2, 4)
    assert data[::-1] == ([2, 1], [4, 3])
    data.append([[9, 8, 7, 6], [34, 45, 56, 67]])
    assert data[4:6] == ([7, 6], [56, 67])

    # Loops
    for timestamp, value in data:
        assert timestamp == 1
        assert value == 3
        break
    for timestamp, value in reversed(data):
        assert timestamp == 6
        assert value == 67
        break
    for sample in data:
        assert InterfaceData(*sample) in data
Esempio n. 9
0
def test__len__():
    """Tests for __len__ function."""
    # Simple instantiaton
    data = InterfaceData()
    assert len(data) == 0

    # Instantiation from tuple
    data = InterfaceData(([], []))
    assert len(data) == 0

    # Instantiation from list
    data = InterfaceData([[1], [2]])
    assert len(data) == 1

    # Instantiation from tuple
    data = InterfaceData(([1], [2]))
    assert len(data) == 1

    # Instantiation from tuple
    data = InterfaceData(([1, 2], [3, 4]))
    assert len(data) == 2
Esempio n. 10
0
def test_init_logger_data():
    """Test instantiations."""
    # Simple instantiaton
    data = LoggerData()
    assert tuple(data[INTERFACE_POWER]) == ()
    assert tuple(data[INTERFACE_GPIO]) == ()

    # Instantiaton from list of interfaces
    data = LoggerData([INTERFACE_GPIO, INTERFACE_POWER])
    assert tuple(data[INTERFACE_POWER]) == ()
    assert tuple(data[INTERFACE_GPIO]) == ()

    # Instantiation from dictionary with empty values
    data = LoggerData({
        INTERFACE_POWER: InterfaceData(),
        INTERFACE_GPIO: InterfaceData()
    })
    assert tuple(data[INTERFACE_POWER]) == ()
    assert tuple(data[INTERFACE_GPIO]) == ()

    # Instantiation from dictionary
    data = LoggerData({INTERFACE_POWER: ([], []), INTERFACE_GPIO: ([], [])})
    assert tuple(data[INTERFACE_POWER]) == ()
    assert tuple(data[INTERFACE_GPIO]) == ()

    # Instantiation from dictionary with data
    data = LoggerData({
        INTERFACE_POWER: ([1], [2]),
        INTERFACE_GPIO: ([3], [4])
    })
    assert tuple(data[INTERFACE_POWER]) == ((1, 2), )
    assert tuple(data[INTERFACE_GPIO]) == ((3, 4), )

    # Instantiation from dictionary with InterfaceData
    data = LoggerData({
        INTERFACE_POWER: InterfaceData(([1], [2])),
        INTERFACE_GPIO: InterfaceData(([3], [4]))
    })
    assert tuple(data[INTERFACE_POWER]) == ((1, 2), )
    assert tuple(data[INTERFACE_GPIO]) == ((3, 4), )
Esempio n. 11
0
def test__add__():
    """Tests for __add__ function."""
    # Simple addition of objects
    data1 = InterfaceData([[1], [2]])
    data2 = InterfaceData([[2], [3]])
    data = data1 + data2
    assert tuple(data) == ((1, 2), (2, 3))
    # Check that data has been deep copied
    data1 = InterfaceData(([4], [5]))
    assert tuple(data) == ((1, 2), (2, 3))
    # Delete original copies (decrease reference count to them)
    del data1
    del data2
    assert tuple(data) == ((1, 2), (2, 3))
    # Check that data has been shallow copied
    data = InterfaceData([[1], [2]])
    data1 = data
    data += InterfaceData([[3], [4]])
    assert tuple(data1) == ((1, 2), (3, 4))
    # Check that data has been deep copied
    data = InterfaceData([[1], [2]])
    data1 = data + InterfaceData()
    data += InterfaceData([[3], [4]])
    assert tuple(data1) == ((1, 2), )
Esempio n. 12
0
def test_extend():
    """Tests for extend function."""
    # Simple extention of objects
    data = InterfaceData([[1], [2]])
    data1 = InterfaceData([[2], [3]])
    data.extend(data1)
    assert tuple(data) == ((1, 2), (2, 3))
    # Extention with empty lists and tuples
    data = InterfaceData([[1], [2]])
    data.extend(InterfaceData())
    assert tuple(data) == ((1, 2), )
    data.extend(InterfaceData(([], [])))
    assert tuple(data) == ((1, 2), )
    data.extend(InterfaceData([[], []]))
    assert tuple(data) == ((1, 2), )
    data.extend(([], []))
    assert tuple(data) == ((1, 2), )
    data.extend([[], []])
    assert tuple(data) == ((1, 2), )
    # Extention with non-empty lists and tuples
    data = InterfaceData([[1], [2]])
    data.extend(InterfaceData())
    assert tuple(data) == ((1, 2), )
    data = InterfaceData([[1], [2]])
    data.extend(InterfaceData(([2], [3])))
    assert tuple(data) == ((1, 2), (2, 3))
    data = InterfaceData([[1], [2]])
    data.extend(InterfaceData([[2], [3]]))
    assert tuple(data) == ((1, 2), (2, 3))
    data = InterfaceData([[1], [2]])
    data.extend(([2], [3]))
    assert tuple(data) == ((1, 2), (2, 3))
    data = InterfaceData([[1], [2]])
    data.extend([[2], [3]])
    assert tuple(data) == ((1, 2), (2, 3))