예제 #1
0
def thread_map_preserves_order_of_elements():
    original = [0.1, 0.05, 0]
    
    def waiting_identity(value):
        time.sleep(value)
        return value
    
    result = futures.thread_map(waiting_identity, original)
    assert_equal(original, list(result))
예제 #2
0
def thread_map_across_empty_list_returns_empty_iterator():
    result = futures.thread_map(lambda x: x, [])
    assert_equal(0, len(result))
예제 #3
0
def error_is_raised_if_mapping_function_raises_error():
    assert_raises(KurtError, lambda: futures.thread_map(raise_error, [0]))
예제 #4
0
def thread_map_applies_function_to_each_element():
    original = [1, 2, 3]
    result = futures.thread_map(lambda x: x * x, original)
    assert_equal([1, 4, 9], list(result))
예제 #5
0
def passing_identity_function_to_thread_map_preserves_elements():
    original = ["apple", "banana", "coconut"]
    result = futures.thread_map(lambda x: x, original)
    assert_equal(original, list(result))