def test_dequeue(self): c = CircularBuffer(6) c.enqueue('R') c.enqueue('I') c.enqueue('N') assert c.size == 3 assert c.elements == [None, None, None, 'R', 'I', 'N'] assert c.dequeue() == 'R' assert c.size == 2 assert c.elements == [None, None, None, None, 'I', 'N'] assert c.dequeue() == 'I' assert c.size == 1 assert c.elements == [None, None, None, None, None, 'N'] assert c.is_empty() == False assert c.dequeue() == 'N' assert c.size == 0 assert c.elements == [None, None, None, None, None, None] assert c.dequeue() == None assert c.size == 0 assert c.is_empty() == True new = CircularBuffer(4) new.enqueue('A') new.enqueue('B') new.enqueue('C') new.enqueue('D') assert new.elements == ['A', 'B', 'C', 'D'] assert new.dequeue() == 'A' assert new.elements == [None, 'B', 'C', 'D'] new.enqueue('E') new.enqueue('F') assert new.elements == ['C', 'D', 'E', 'F'] assert new.dequeue() == 'C' assert new.dequeue() == 'D' assert new.elements == [None, None, 'E', 'F']
def test_init(self): c = CircularBuffer(3) assert c.size == 0 assert c.list == [None, None, None] CircVal = CircularBuffer(2) assert CircVal.size == 0 assert CircVal.list == [None, None]
def test_init(self): c = CircularBuffer() assert c.size == 0 assert c.max_size == 12 assert c.elements == [None, None, None, None, None, None, None, None, None, None, None, None] c = CircularBuffer(4) assert c.size == 0 assert c.max_size == 4 assert c.elements == [None, None, None, None]
def test_enqueue(self): c = CircularBuffer(3) c.enqueue(2) c.enqueue(3) c.enqueue(4) assert c.list == [2, 3, 4] cc = CircularBuffer(3) cc.enqueue(2) cc.enqueue(3) cc.enqueue(4) cc.enqueue(5) assert cc.list == [3, 4, 5] assert cc.front() == 3
def test_dequeue(self): c = CircularBuffer(3) c.enqueue(2) c.enqueue(3) assert c.list == [None, 2, 3] assert c.dequeue() == 2 assert c.list == [None, None, 3] cc = CircularBuffer(3) cc.enqueue(2) cc.enqueue(3) cc.enqueue(4) cc.enqueue(5) assert cc.list == [3, 4, 5] assert cc.front() == 3
def main(): file = open("books.txt", 'r') books = file.readlines() file.close() file_name = "raw_corpus.txt" n = 4 sentence = list() text = load_words(file_name) current_words = CircularBuffer(n) for i in range(n - 1): current_words.enqueue(text[i].lower()) new_text = text[n - 1:] markov = {} for i in range(len(new_text) - n): current_words.enqueue(new_text[i].lower()) key = tuple(current_words.items()) if key not in markov: markov[key] = Dictogram() print(key) print(markov[key]) print(i) markov[key].add_count(new_text[i + 1], 1) for key in markov: print("key: " + str(key)) print(markov[key]) pickle.dump(markov, open("save.p", "wb"))
def __init__(self, peer_id, socket): self.peer_id = peer_id self.socket = socket self.pending_requests = {} # req_id -> ValueEvent self.incoming_buffer = msgpack.Unpacker() self.outgoing_buffer = CircularBuffer(OUTGOING_PEER_BUFFER_SIZE) self.lock = threading.Lock()
def test_overwrite_replaces_oldest_item(self): buf = CircularBuffer(2) buf.write('1') buf.write('2') buf.overwrite('3') self.assertEqual(buf.read(), '2') self.assertEqual(buf.read(), '3')
def __init__(self, row1=23, row2=19, row3=18, row4=26, col1=16, col2=17, col3=21, col4=22): self.rows = [None] * 4 self.cols = [None] * 4 self.cb = CircularBuffer(32) self.row_pins = [row1, row2, row3, row4] self.col_pins = [col1, col2, col3, col4] for i in range(4): print("self.rows[%d]: %d" % (i, self.row_pins[i])) for i in range(4): print("self.cols[%d]: %d" % (i, self.col_pins[i])) # set all pins to input with pull_up for row in range(4): self.rows[row] = Pin(self.row_pins[row], Pin.OUT) self.rows[row].off() # set the level to zero for col in range(4): self.cols[col] = Pin(self.col_pins[col], Pin.IN, Pin.PULL_UP) self.cols[col].irq(handler=None) self.cols[col].irq(trigger=Pin.IRQ_FALLING, handler=self.key_change)
def test_reading_empty_buffer_should_fail(self): buf = CircularBuffer(1) with self.assertRaises(BufferError) as err: buf.read() self.assertEqual(type(err.exception), BufferEmptyException) self.assertEqual(err.exception.args[0], "Circular buffer is empty")
def test_overwrite_replaces_the_oldest_item_on_full_buffer(self): buf = CircularBuffer(2) buf.write("1") buf.write("2") buf.overwrite("3") self.assertEqual(buf.read(), "2") self.assertEqual(buf.read(), "3")
def test_multiple_enqueue_dequeue(test): q = CircularBuffer(max_size=4, iterable=['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']) assert q.is_empty() is False assert q.is_full() is True assert q.dequeue() == 'E' assert q.length() == 3 assert q.is_empty() is False assert q.is_full() is False assert q.dequeue() == 'F' assert q.length() == 2 assert q.is_empty() is False assert q.is_full() is False assert q.dequeue() == 'G' assert q.length() == 1 assert q.is_empty() is False assert q.is_full() is False assert q.dequeue() == 'H' assert q.length() == 0 assert q.is_empty() is True assert q.is_full() is False assert q.enqueue('I') == None q.enqueue('J') q.enqueue('K') q.enqueue('L') assert q.enqueue('M') == 'I'
def test_init_max_size_greater_than_iterable(test): q = CircularBuffer(max_size=4, iterable=['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']) assert q.length() == 4 assert q.is_empty() is False assert q.is_full() is True assert q.front() == 'E'
def _nearly_full_buffer(self): cb = CircularBuffer(5) cb.add_to_end('a') cb.add_to_end('b') cb.add_to_end('c') cb.add_to_end('d') return cb
def test_insert(self): buffer = CircularBuffer(2) buffer.insert(0) assert buffer.values() == [0, None] buffer.insert(1) assert buffer.values() == [0, 1] buffer.insert(2) assert buffer.values() == [2, 1]
def test_overwrite_non_full_buffer(self): buf = CircularBuffer(2) buf.overwrite('1') buf.overwrite('2') self.assertEqual('1', buf.read()) self.assertEqual('2', buf.read()) with self.assertRaises(BufferEmptyException): buf.read()
def test_read_position_is_maintained_across_multiple_writes(self): buf = CircularBuffer(3) buf.write('1') buf.write('2') self.assertEqual(buf.read(), '1') buf.write('3') self.assertEqual(buf.read(), '2') self.assertEqual(buf.read(), '3')
def test_write_and_read_back_multiple_items(self): buf = CircularBuffer(2) buf.write('1') buf.write('2') self.assertEqual('1', buf.read()) self.assertEqual('2', buf.read()) with self.assertRaises(BufferEmptyException): buf.read()
def test_read_back_oldest_item(self): buf = CircularBuffer(3) buf.write('1') buf.write('2') buf.read() buf.write('3') buf.read() self.assertEqual('3', buf.read())
def test_full_buffer_can_t_be_written_to(self): buf = CircularBuffer(1) buf.write("1") with self.assertRaises(BufferError) as err: buf.write("2") self.assertEqual(type(err.exception), BufferFullException) self.assertEqual(err.exception.args[0], "Circular buffer is full")
def test_read_position_is_maintained_even_across_multiple_writes(self): buf = CircularBuffer(3) buf.write("1") buf.write("2") self.assertEqual(buf.read(), "1") buf.write("3") self.assertEqual(buf.read(), "2") self.assertEqual(buf.read(), "3")
def test_items_cleared_out_of_buffer_can_t_be_read(self): buf = CircularBuffer(1) buf.write("1") buf.clear() with self.assertRaises(BufferError) as err: buf.read() self.assertEqual(type(err.exception), BufferEmptyException) self.assertEqual(err.exception.args[0], "Circular buffer is empty")
def test_enqueue_full(self): q = CircularBuffer(iterable=['A', 'B', 'C', 'D', 'E', 'F', 'G']) assert q.length() == 7 assert q.enqueue('H') == None assert q.length() == 8 assert q.is_full() is True assert q.enqueue('I') == 'A' assert q.length() == 8 assert q.is_full() is True
def test_each_item_may_only_be_read_once(self): buf = CircularBuffer(1) buf.write("1") self.assertEqual(buf.read(), "1") with self.assertRaises(BufferError) as err: buf.read() self.assertEqual(type(err.exception), BufferEmptyException) self.assertEqual(err.exception.args[0], "Circular buffer is empty")
def __init__(self, fixed_size): self.vs1 = WebcamVideoStream(src=0) #For anylizing self.vs1.start() self.vs2 = WebcamVideoStream(src=0) #For anylizing self.vs2.start() self.cb = CircularBuffer(fixed_size) self.stopped = False self.current_stream = (None, None) self.disp = None self.haptic = None
def test_front(self): q = CircularBuffer() assert q.front() is None q.enqueue('A') assert q.front() == 'A' q.enqueue('B') assert q.front() == 'A' q.dequeue() assert q.front() == 'B' q.dequeue() assert q.front() is None
def test_dequeue(self): q = CircularBuffer(iterable=['A', 'B', 'C']) assert q.dequeue() == 'A' assert q.length() == 2 assert q.dequeue() == 'B' assert q.length() == 1 assert q.dequeue() == 'C' assert q.length() == 0 assert q.is_empty() is True with self.assertRaises(ValueError): q.dequeue()
def test_initial_clear_does_not_affect_wrapping_around(self): buf = CircularBuffer(2) buf.clear() buf.write("1") buf.write("2") buf.overwrite("3") buf.overwrite("4") self.assertEqual(buf.read(), "3") self.assertEqual(buf.read(), "4") with self.assertRaisesWithMessage(BaseException): buf.read()
def test_over_write_replaces_oldest_remaning_item(self): buf = CircularBuffer(3) buf.write('1') buf.write('2') buf.write('3') self.assertEqual(buf.read(), '1') buf.write('4') buf.overwrite('5') self.assertEqual(buf.read(), '3') self.assertEqual(buf.read(), '4') self.assertEqual(buf.read(), '5')
def test_enqueue(self): c = CircularBuffer(6) assert c.size == 0 assert c.elements == [None, None, None, None, None, None] c.enqueue('R') c.enqueue('I') c.enqueue('N') assert c.elements == [None, None, None, 'R', 'I', 'N'] assert c.size == 3 new = CircularBuffer(4) new.enqueue('A') new.enqueue('B') new.enqueue('C') new.enqueue('D') assert new.elements == ['A', 'B', 'C', 'D'] assert new.is_full() == True assert new.size == 4 new.enqueue('E') assert new.elements == ['B', 'C', 'D', 'E'] assert new.size == 4