from DataStructures by Paul Richards
Set and map datastructures implemented in pure Matlab

SortedSetTest
function test = SortedSetTest
    test = munit_testcase;

    function setup
    end

    function teardown
    end

    function test_create
        set = SortedSet();
        test.assert( @() isequal(class(set), 'SortedSet') );
        test.assert( @() IsEmpty(set) );
        test.assert( @() Size(set) == 0 );
    end

    function test_insert
        map = JavaSortedMap();
        CheckConstraints(map);
        values = randperm(20);
        values = [values values(1:5)];
        for i = 1:25
            map = Insert(map, mod(i-1, 20)+1, values(i));
            CheckConstraints(map);
        end
        test.assert( @() ~IsEmpty(map) );
        size = Size(map);
        test.assert( @() size == 20 );
        [ first_key, first_value ] = First(map);
        test.assert( @() first_key == 1 );
        test.assert( @() first_value == values(21) );
        [ last_key, last_value ] = Last(map);
        test.assert( @() last_key == 20 );
        test.assert( @() last_value == values(20) );
        keys = randperm(20);
        for k = keys
            [map, removed_value] = Remove(map, k);
            CheckConstraints(map);
            if k > 5
                test.assert( @() removed_value == values(k) );
            else
                test.assert( @() removed_value == values(k + 20) );
            end
            size = size - 1;
            test.assert( @() IsEmpty(map) == (size == 0) );
            map_size = Size(map);
            test.assert( @() map_size == size );
        end
        test.assert( @() size == 0 ); % sanity check
    end

end

Contact us at files@mathworks.com