function createUnionTest( param, elements ) {
	var vals;
	var desc;
	var tmpl;
	var type;
	var i;

	desc = '';
	for ( i = 0; i < elements.length; i++ ) {
		if ( i > 0 ) {
			desc += ' or ';
		}
		type = elements[ i ].name;
		desc += DESCRIPTIONS[ type ] || '{{TODO:desc}}';
		if ( vals ) {
			vals = intersect( vals, VALUES[ type ] );
		} else {
			vals = VALUES[ type ];
		}
	}
	vals = vals.join( ',\n\t\t' );

	tmpl = replace( TEST, '{{param}}', param );
	tmpl = replace( tmpl, '{{desc}}', desc );
	tmpl = replace( tmpl, '{{values}}', vals );
	return tmpl;
}
Creates a test for a parameter of a union type.

@private
@param {string} param - parameter name
@param {ObjectArray} elements - union elements
@returns {string} generated test