From e3ed2fcc757753da17f741a4c52fb9f05f1d985a Mon Sep 17 00:00:00 2001 From: wendtalexander Date: Wed, 2 Oct 2024 15:52:29 +0200 Subject: [PATCH] [test] adding testcases for get method of buffer --- test/test_buffer.py | 58 ++++++++++++++++++++++++++++++++++++++------- 1 file changed, 50 insertions(+), 8 deletions(-) diff --git a/test/test_buffer.py b/test/test_buffer.py index e208185..87ec1f9 100644 --- a/test/test_buffer.py +++ b/test/test_buffer.py @@ -1,18 +1,19 @@ import pytest import numpy as np +from IPython import embed -from usbdaq import RingBuffer +from pyrelacs.dataio.circbuffer import CircBuffer def test_init(): - buff = RingBuffer(1000, 2) + buff = CircBuffer(1000, 2) assert buff.size == 1000 assert buff.channel_count == 2 def test_hasvalue(): - buff = RingBuffer(1000, 2) + buff = CircBuffer(1000, 2) assert buff.has_value(0, 0) == False assert buff.has_value(-1, 0) == False @@ -39,18 +40,59 @@ def test_hasvalue(): def test_validrange(): - pass + buff = CircBuffer(1000, 2) + # without any values the range is (0, 0) + assert buff.valid_range() == (0, 0) -def test_write(): - buff = RingBuffer(1000, 2) + buff.append(0, 0) + assert buff.valid_range() == (0, 1) - samplecount = 1000 + for i in range(100): + buff.append(i, 0) + + assert buff.valid_range() == (0, 101) + + for i in range(1000): + buff.append(i, 0) + + assert buff.valid_range() == (0, 1000) def test_get(): - pass + buff = CircBuffer(1000, 2) + + # with no items written to the buffer + with pytest.raises(IndexError): + item = buff.get(index=-1) + + buff.append(10, 0) + item = buff.get(index=-1) + assert item == 10 + + # Check if index is not written jet + with pytest.raises(IndexError): + item = buff.get(index=10) + + for i in range(1000): + buff.append(i, 0) + item = buff.get(index=-1) + # the first item should be 999.0 because of we append a value in the earlier test + assert item == 999.0 + + with pytest.raises(IndexError): + item = buff.get(10001) def test_read(): pass + + +def test_write(): + buff = CircBuffer(1000, 2) + + samplecount = 1000 + + +if __name__ == "__main__": + test_get()