예제 #1
0
 def test_underflow(self):
     q = FixedQueue(10)
     with self.assertRaises(Exception):
         q.dequeue()
     
     q.enqueue(0)
     q.dequeue()
     with self.assertRaises(Exception):
         q.dequeue()
예제 #2
0
    def test_overflow(self):
        q = FixedQueue(0)
        with self.assertRaises(Exception):
            q.enqueue(0)

        q = FixedQueue(1)
        q.enqueue(0)
        with self.assertRaises(Exception):
            q.enqueue(0)
예제 #3
0
 def test_enqueue_dequeue(self):
     q = FixedQueue(6)
     q.enqueue(4)
     q.enqueue(1)
     q.enqueue(3)
     self.assertEqual(q.dequeue(), 4)
     
     q.enqueue(8)
     self.assertEqual(q.dequeue(), 1)
     self.assertEqual(q._xs, [4, 1, 3, 8, None, None])
def test_enqueue():

    q = FixedQueue(3)

    q.enqueue(1)
    q.enqueue(2)
    q.enqueue(3)

    assert (len(q) == 3)

    with pytest.raises(Exception):
        q.enqueue(4)
예제 #5
0
파일: test.py 프로젝트: hyejinHong0602/BOJ
        print(*s, sep='  ', end='')
        n = int(input(': '))
        if 1 <= n <= len(Menu):
            return Menu(n)


q = FixedQueue(64)

while True:
    print(f'현재 데이터 개수: {len(q)} / {q.capacity}')
    menu = select_menu()

    if menu == Menu.인큐:
        x = int(input('인큐할 데이터를 입력하세요.:'))
        try:
            q.enqueue(x)
        except FixedQueue.Full:
            print('큐가 가득 찼습니다')

    elif menu == Menu.디큐:
        try:
            x = q.dequeue()
            print(f'디큐한 데이터는 {x}입니다.')
        except FixedQueue.Empty:
            print('큐가 비어있습니다.')

    elif menu == Menu.피크:
        try:
            x = q.peek()
            print(f'피크한 데이터는 {x}입니다')
        except FixedQueue.Empty:
def test_dequeue():

    q = FixedQueue(3)

    q.enqueue(1)
    q.enqueue(2)
    q.enqueue(3)
    assert (q.dequeue() == 1)
    q.enqueue(4)
    assert (q.dequeue() == 2)
    q.enqueue(5)
    assert (q.dequeue() == 3)
    q.enqueue(6)
    assert (q.dequeue() == 4)
    q.enqueue(7)
    assert (q.dequeue() == 5)

    assert (len(q) == 2)
    q.dequeue()
    assert (len(q) == 1)
    q.dequeue()
    assert (len(q) == 0)

    with pytest.raises(IndexError):
        q.dequeue()