forked from p15670423/monkey
Common: Add queue_to_list()
This commit is contained in:
parent
2804ba9b07
commit
487d1c55af
|
@ -1,3 +1,7 @@
|
||||||
|
import queue
|
||||||
|
from typing import Any, List
|
||||||
|
|
||||||
|
|
||||||
class abstractstatic(staticmethod):
|
class abstractstatic(staticmethod):
|
||||||
__slots__ = ()
|
__slots__ = ()
|
||||||
|
|
||||||
|
@ -15,3 +19,14 @@ class Singleton(type):
|
||||||
if cls not in cls._instances:
|
if cls not in cls._instances:
|
||||||
cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs)
|
cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs)
|
||||||
return cls._instances[cls]
|
return cls._instances[cls]
|
||||||
|
|
||||||
|
|
||||||
|
def queue_to_list(q: queue.Queue) -> List[Any]:
|
||||||
|
list_ = []
|
||||||
|
try:
|
||||||
|
while True:
|
||||||
|
list_.append(q.get_nowait())
|
||||||
|
except queue.Empty:
|
||||||
|
pass
|
||||||
|
|
||||||
|
return list_
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
from queue import Queue
|
||||||
|
|
||||||
|
from common.utils.code_utils import queue_to_list
|
||||||
|
|
||||||
|
|
||||||
|
def test_empty_queue_to_empty_list():
|
||||||
|
q = Queue()
|
||||||
|
|
||||||
|
list_ = queue_to_list(q)
|
||||||
|
|
||||||
|
assert len(list_) == 0
|
||||||
|
|
||||||
|
|
||||||
|
def test_queue_to_list():
|
||||||
|
expected_list = [8, 6, 7, 5, 3, 0, 9]
|
||||||
|
q = Queue()
|
||||||
|
for i in expected_list:
|
||||||
|
q.put(i)
|
||||||
|
|
||||||
|
list_ = queue_to_list(q)
|
||||||
|
|
||||||
|
assert list_ == expected_list
|
Loading…
Reference in New Issue