@Test
    public void testGetSubset() {
        DoubleIntervalMap<double[]> map = new DoubleIntervalMap<double[]>();
        StupidDoubleIntervalMap stupid = new StupidDoubleIntervalMap();
        RandomIter iter = new RandomIter( getSeed(), 0, 1000 );

        final int testCount = 2000;
        final int subtestCount = 100;

        for( int t = 0; t < testCount; t++ ) {
            int keyCount = iter.mRand.nextInt( 200 );

            for( int i = 0; i < keyCount; i++ ) {
                double[] key = iter.next();
                map.put( key, key );
                stupid.put( key, key );
            }
        }

        for( int i = 0; i < subtestCount; i++ ) {
            double[] key = iter.next();
            double[] a = map.getSubset( key );
            double[] b = stupid.getContained( key );

            if( (a == null) != (b == null) || a != null && a[0] != b[0] && a[1] != b[1] ) {
                map.getSubset( key );
            }

            assertEquals( a, b );
        }
    }