From: Christian Herdtweck Date: Tue, 12 Jan 2016 12:26:25 +0000 (+0100) Subject: created unittest for CircularBuffer X-Git-Tag: v1.2~83 X-Git-Url: http://developer.intra2net.com/git/?a=commitdiff_plain;h=b52a67f1086dac0f1b26895fcbe4de5b22f14144;p=pyi2ncommon created unittest for CircularBuffer --- 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()