toMatchAssetWeight( resources, type, val, source ) {
        const assets = resources.filter( res => res.type.toLowerCase() === type.toLowerCase() ),
              totalWeight =  assets.reduce(( carry, res ) => {
                carry += res.length;
                return carry;
              }, 0 );

        return expectReturn( totalWeight < val, `[${ source }] expected `
          + `total weight of ${ type } assets to be under`
          + ` ${ util.bytesToString( val ) }, but found ${ assets.length } assets `
          + `with total weight ${ util.bytesToString( totalWeight ) }` );
    }
@param {Object} resources [{ url, type, length},..]
@param {String} type
@param {Number} val
@param {String} source
@returns {Object}