gt22 icon

Untitled

gt22 | PRO | 11/08/19 10:34:29 AM UTC | 0 ⭐ | 853 👁️ | Never ⏰ | []
Python |

2.1 KB

|

None

|

0 👍

/

0 👎

from tasks import *
from typing import List, Callable
 
 
def internal_test_transform(func: Callable[[List[int], int, int], List[int]]):
    assert func([], -1, 1) == []
    assert func([-3, -2, -1, 0, 1, 2, 3], -2, 2) == [4, 1, 0, 1, 4]
 
 
def test_transform_simple():
    internal_test_transform(transform_simple)
 
 
def test_transform_list_comprehensions():
    internal_test_transform(transform_list_comprehensions)
 
 
def test_transform_generators():
    internal_test_transform(transform_generators)
 
 
def internal_test_conditional_sum(func: Callable[[List[List[int]]], int]):
    assert func([
        [1, 2],
        [3, 4]
    ]) == 20
    assert func([
        [0, -2],
        [-2, 4]
    ]) == 24
 
 
def test_conditional_sum_2d_simple():
    internal_test_conditional_sum(conditional_sum_2d_simple)
 
 
def test_conditional_sum_2d():
    internal_test_conditional_sum(conditional_sum_2d)
 
 
def test_reverse_array():
    assert reverse_array([], 0, 0) == []
    assert reverse_array([1, 2, 3], 0, 2) == [3, 2, 1]
    assert reverse_array([1, 2, 3, 4, 5], 1, 3) == [4, 3, 2]
 
 
def test_verbing():
    assert verbing('read') == 'reading'
    assert verbing('reading') == 'readingly'
    assert verbing('aa') == 'aa'
    assert verbing('') == ''
 
 
def test_front_back():
    assert front_back([1, 2, 3, 4], [5, 6]) == [1, 2, 5, 3, 4, 6]
    assert front_back([1, 2, 3, 4, 5], [6, 7]) == [1, 2, 3, 6, 4, 5, 7]
    assert front_back([1, 2, 3, 4, 5], [6, 7, 8]) == [1, 2, 3, 6, 7, 4, 5, 8]
    assert front_back([1, 2, 3], []) == [1, 2, 3]
    assert front_back([], [1, 2, 3]) == [1, 2, 3]
    assert front_back([], []) == []
 
 
def test_remove_adjacent():
    assert remove_adjacent([]) == []
    assert remove_adjacent([1]) == [1]
    assert remove_adjacent([1, 2]) == [1, 2]
    assert remove_adjacent([1, 1]) == [1]
    assert remove_adjacent([1, 1, 1]) == [1]
    assert remove_adjacent([1, 2, 2, 3]) == [1, 2, 3]
    assert remove_adjacent([1, 2, 2, 3, 3]) == [1, 2, 3]
    assert remove_adjacent([1, 2, 3]) == [1, 2, 3]
    assert remove_adjacent([1, 2, 3, 2]) == [1, 2, 3, 2]

Comments