
@include test-module('_map-values') {
    $map: ('a': 1, 'b': 2, 'c': 3);

    @include test('should work with a _pluck style iteratee') {
        $actual: _map-values(('a': ('b': 1)), 'b');

        @include assert-equal($actual, ('a': 1));
    }

    @include test('should work on a map with no iteratee') {
        @include assert-equal(_map-values($map), $map);
    }

    @include test('should accept a falsey map argument') {
        @each $value in $test-falsey {
            @include assert-equal(_map-values($value), ());
        }
    }

    @include test('should be chainable') {
        $actual: _($map, _map-values test-square);

        @include assert-equal($actual, ('a': 1, 'b': 4, 'c': 9));
    }

    @include test('should work with shifted argument syntax for function') {
        $colors: ('a': #111, 'b': #222, 'c': #333);
        $actual: _map-values($colors, lighten 10%);
        $expected: ('a': #2b2b2b, 'b': #3c3c3c, 'c': #4d4d4d);

        @include assert-maps-equal($actual, $expected);
    }
}