--- /dev/null
+""" 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()