def test_underflow(self): q = FixedQueue(10) with self.assertRaises(Exception): q.dequeue() q.enqueue(0) q.dequeue() with self.assertRaises(Exception): q.dequeue()
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)
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)
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()