예제 #1
0
def test_object_is_stringified():
    """Test that an object is stringified."""
    assert apply_slicing(
        {'test': 'bob'},
        {
            'from': -5,
            'to': -2
        },
    ) == 'bob'
예제 #2
0
def test_list():
    """Test that we can slice a list and that its not cast to string."""
    assert apply_slicing(
        [0, 1, 2],
        {
            'from': 1,
            'to': None
        },
    ) == [1, 2]
예제 #3
0
def test_middle_of_value():
    """Test that we can get a value in middle of string."""
    assert apply_slicing('test', {'from': 1, 'to': 3}) == 'es'
예제 #4
0
def test_float_is_stringified():
    """Test that a float value is stringfied."""
    assert apply_slicing(123.123, {'from': -3}) == '123'
예제 #5
0
def test_boolean_is_stringified():
    """Test that a boolean value is stringfied."""
    assert apply_slicing(False, {'from': 0, 'to': 1}) == 'F'  # noqa: WPS425
예제 #6
0
def test_negative_to():
    """Test that a negative to value ends cut at end minus to."""
    assert apply_slicing('01234', {'from': 0, 'to': -2}) == '012'
예제 #7
0
def test_int_is_stringified():
    """Test that a non string value will be stringified before slice."""
    assert apply_slicing(123, {'from': 2}) == '3'
예제 #8
0
def test_negative_from():
    """Test that a negative from value starts cutting at the end minus from."""
    assert apply_slicing('012345', {'from': -2}) == '45'
예제 #9
0
def test_no_value_is_ok():
    """When value is None we get a Success(None)."""
    assert apply_slicing(None, {}) is None
예제 #10
0
def test_start_to_end():
    """Test that we can slice from start to end."""
    assert apply_slicing('test', {'from': 0, 'to': None}) == 'test'
예제 #11
0
def test_start_to_middle():
    """Test that we can slice from start to middle."""
    assert apply_slicing('test', {'from': 0, 'to': 3}) == 'tes'
예제 #12
0
def test_middle_to_end():
    """Test that we can slice from middle to end of value."""
    assert apply_slicing('test', {'from': 1}) == 'est'
예제 #13
0
def test_slice_range_on_range_out_of_string():
    """Test that slice range out of the string."""
    assert apply_slicing('0123', {'from': 5, 'to': 10}) == ''
예제 #14
0
def test_slice_range_longer_than_string():
    """Test that slice range longer than the string length returns string."""
    assert apply_slicing('0123', {'from': 0, 'to': 50}) == '0123'