コード例 #1
0
 def test_clear(self):
     #Test clear on front only
     tdb = Structs.DoubleBuffer()
     tdb._write_front_buffer(3)
     tdb._write_front_buffer(4)
     tdb._write_back_buffer(100)
     tdb._write_back_buffer(200)
     tdb.clear(front=True, back=False)
     
     expected_front = []
     actual_front = tdb.get_front_buffer_items()
     self.assertListEqual(expected_front, actual_front)
     expected_back = [100, 200]
     actual_back = tdb.get_back_buffer_items()
     self.assertListEqual(expected_back, actual_back)
     
     #Test clear on back only
     tdb = Structs.DoubleBuffer()
     tdb._write_front_buffer(3)
     tdb._write_front_buffer(4)
     tdb._write_back_buffer(100)
     tdb._write_back_buffer(200)
     tdb.clear(front=False, back=True)
     
     expected_front = [3, 4]
     actual_front = tdb.get_front_buffer_items()
     self.assertListEqual(expected_front, actual_front)
     expected_back = []
     actual_back = tdb.get_back_buffer_items()
     self.assertListEqual(expected_back, actual_back)
     
     #Test clear on both
     tdb = Structs.DoubleBuffer()
     tdb._write_front_buffer(3)
     tdb._write_front_buffer(4)
     tdb._write_back_buffer(100)
     tdb._write_back_buffer(200)
     tdb.clear(front=True, back=True)
     
     expected_front = []
     actual_front = tdb.get_front_buffer_items()
     self.assertListEqual(expected_front, actual_front)
     expected_back = []
     actual_back = tdb.get_back_buffer_items()
     self.assertListEqual(expected_back, actual_back)
     
     #Test clear on neither
     tdb = Structs.DoubleBuffer()
     tdb._write_front_buffer(3)
     tdb._write_front_buffer(4)
     tdb._write_back_buffer(100)
     tdb._write_back_buffer(200)
     tdb.clear(front=False, back=False)
     
     expected_front = [3, 4]
     actual_front = tdb.get_front_buffer_items()
     self.assertListEqual(expected_front, actual_front)
     expected_back = [100, 200]
     actual_back = tdb.get_back_buffer_items()
     self.assertListEqual(expected_back, actual_back)
コード例 #2
0
 def test_push(self):
     #Test wrong type push
     tdb = Structs.DoubleBuffer()
     
     #Test proper push
     tdb.push(3)
     tbd_fb = tdb.get_front_buffer_items()
     tbd_bb = tdb.get_back_buffer_items()
     expected_fb = 0
     expected_bb = 1
     actual_fb = len(tbd_fb)
     actual_bb = len(tbd_bb)
     self.assertTrue(expected_fb == actual_fb)
     self.assertTrue(expected_bb == actual_bb)
コード例 #3
0
 def test_flip_exact(self):
     tdb = Structs.DoubleBuffer()
     tdb.push(3)
     tdb.push(4)
     tdb.flip(mode='exact')
     tdb.push(100)
     tdb.push(200)
     tdb.flip(mode='exact')
     
     expected_front = [100, 200]
     actual_front = tdb.get_front_buffer_items()
     self.assertListEqual(expected_front, actual_front)
     expected_back = [3, 4]
     actual_back = tdb.get_back_buffer_items()
     self.assertListEqual(expected_back, actual_back)
コード例 #4
0
 def test_pop(self):
     #Test that pop from empty list raises IndexError
     tdb = Structs.DoubleBuffer()
     with self.assertRaises(IndexError):
         tdb.pop()
     
     #Test that pop after push STILL raises IndexError since push is to bbuf
     tdb = Structs.DoubleBuffer()
     tdb.push(3)
     with self.assertRaises(IndexError):
         tdb.pop()
     
     #Test that pop after push AND flip correctly gets the value back
         #Push an value after the flip to make sure that value doesn't get returned
             #(should be in back buffer)
     tdb = Structs.DoubleBuffer()
     tdb.push("Yellow")
     tdb.flip(mode='exact')
     tdb.push("Red")
     expected = "Yellow"
     actual = tdb.pop()
     self.assertTrue(expected == actual)
     with self.assertRaises(IndexError):
         tdb.pop()
コード例 #5
0
 def test_flip_transfer_front(self):
     tdb = Structs.DoubleBuffer()
     tdb.push(3)
     tdb.push(4)
     tdb.flip(mode='exact') #This flip is simply so that we can put stuff
                             #In both buffers
     tdb.push(100)
     tdb.push(200)
     
     tdb.flip(mode='transfer_front') #This is the flip we're testing
     
     expected_front = [100, 200, 3, 4]
     actual_front = tdb.get_front_buffer_items()
     self.assertListEqual(expected_front, actual_front)
     expected_back = []
     actual_back = tdb.get_back_buffer_items()
     self.assertListEqual(expected_back, actual_back)