Example #1
0
def test_thread_manager_running(manager: ThreadManager):
    assert manager.get_thread(THREAD_ID) is None

    manager.add_thread(THREAD_ID, test_method)
    time.sleep(0.1)
    saved_thread = manager.get_thread(THREAD_ID)

    assert saved_thread.is_running() is False

    manager.start_threads()

    assert saved_thread.is_running() is True

    manager.__del__()

    assert saved_thread.is_running() is False
Example #2
0
def test_thread_manager_add_remove(manager: ThreadManager):

    manager.add_thread(THREAD_ID, test_method)
    time.sleep(0.1)

    assert manager.get_thread_count() == 1

    exception_flag = False
    try:
        manager.add_thread(THREAD_ID, test_method)
    except ThreadIdAlreadyInUseException:
        exception_flag = True
    saved_thread = manager.get_thread(THREAD_ID)

    assert exception_flag is True
    assert manager.get_thread_count() == 1
    assert saved_thread.is_running() is False
    assert saved_thread.get_name() == THREAD_ID

    manager.start_threads()
    exception_flag = False
    try:
        manager.add_thread(THREAD_ID, test_method)
    except ThreadIdAlreadyInUseException:
        exception_flag = True
    saved_thread = manager.get_thread(THREAD_ID)

    assert exception_flag is True
    assert manager.get_thread_count() == 1
    assert saved_thread.is_running() is True

    manager.remove_thread(WRONG_THREAD_ID)

    assert manager.get_thread_count() == 1

    manager.remove_thread(THREAD_ID)

    assert saved_thread.is_running() is False
    assert manager.get_thread_count() == 0