From b52a67f1086dac0f1b26895fcbe4de5b22f14144 Mon Sep 17 00:00:00 2001 From: Christian Herdtweck Date: Tue, 12 Jan 2016 13:26:25 +0100 Subject: [PATCH] created unittest for CircularBuffer --- test/buffer_unittest.py | 54 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 54 insertions(+), 0 deletions(-) create mode 100644 test/buffer_unittest.py diff --git a/test/buffer_unittest.py b/test/buffer_unittest.py new file mode 100644 index 0000000..377589c --- /dev/null +++ b/test/buffer_unittest.py @@ -0,0 +1,54 @@ +""" buffer_unittest.py: unit tests for buffers.py + +Tests classes and functions in buffers.py + +Should be able run from python2 and python3! + +For help see :py:mod:`unittest` + +.. codeauthor:: Christian Herdtweck, christian.herdtweck@intra2net.com +""" + +import unittest + +import buffers + + +class CircBufferTester(unittest.TestCase): + """ test class CircularBuffer """ + + def test_illegal_size(self): + for size in (-10, -1, 0): + self.assertRaises(ValueError, buffers.CircularBuffer, size) + + def test_basic(self): + """ tests basic functionality """ + + for size in (1, 2, 4, 8, 16, 32): + buf = buffers.CircularBuffer(size) + self.assertTrue(all(item == None for item in buf.get_all())) + + for elem in range(size*2): + buf.add(elem) + elems = buf.get_all() + start_elem = max(0, elem-size) + print('added {0}, expect elems from {1} to {2} in buf' + .format(elem, start_elem, elem)) + self.assertEqual(elems[:elem+1], range(start_elem, elem+1)) + self.assertTrue(all(elem == None for elem in elems[elem+1:])) + + +#class LogarithmicBufferTest(unittest.TestCase): +# """ test class LogarithmicBuffer """ +# +# def test_some_func(self): +# """ tests some_func """ +# +# this_is_implemented = False +# self.assertTrue(this_is_implemented, 'Appears not yet implemented') +# +# self.fail('Fail in any case, but with this nice message') + + +if __name__ == '__main__': + unittest.main() -- 1.7.1