Ejemplo n.º 1
0
	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']
Ejemplo n.º 2
0
    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]
Ejemplo n.º 3
0
	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]
Ejemplo n.º 4
0
    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
Ejemplo n.º 5
0
    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
Ejemplo n.º 6
0
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"))
Ejemplo n.º 7
0
 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()
Ejemplo n.º 8
0
 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')
Ejemplo n.º 9
0
    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)
Ejemplo n.º 10
0
    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")
Ejemplo n.º 11
0
 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")
Ejemplo n.º 12
0
 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'
Ejemplo n.º 13
0
 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
Ejemplo n.º 15
0
 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]
Ejemplo n.º 16
0
 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()
Ejemplo n.º 17
0
 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')
Ejemplo n.º 18
0
 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()
Ejemplo n.º 19
0
 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())
Ejemplo n.º 20
0
    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")
Ejemplo n.º 21
0
 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")
Ejemplo n.º 22
0
    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")
Ejemplo n.º 23
0
 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
Ejemplo n.º 24
0
    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")
Ejemplo n.º 25
0
 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
Ejemplo n.º 26
0
 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
Ejemplo n.º 27
0
 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()
Ejemplo n.º 28
0
 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()
Ejemplo n.º 29
0
 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')
Ejemplo n.º 30
0
	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