Esempio n. 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))
Esempio n. 2
0
def thread_map_across_empty_list_returns_empty_iterator():
    result = futures.thread_map(lambda x: x, [])
    assert_equal(0, len(result))
Esempio n. 3
0
def error_is_raised_if_mapping_function_raises_error():
    assert_raises(KurtError, lambda: futures.thread_map(raise_error, [0]))
Esempio n. 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))
Esempio n. 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))