func (_m *FS) Join(elem ...string) string {
	_va := make([]interface{}, len(elem))
	for _i := range elem {
		_va[_i] = elem[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 string
	if rf, ok := ret.Get(0).(func(...string) string); ok {
		r0 = rf(elem...)
	} else {
		r0 = ret.Get(0).(string)
	}

	return r0
}
// Join provides a mock function with given fields: elem
Join provides a mock function with given fields: elem
// Join provides a mock function with given fields : elem
func (_m *FS) Join(elem ...string) string {
	_va := make([]interface{}, len(elem))
	for _i := range elem {
		_va[_i] = elem[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)
	var r0 string
	if rf, ok := ret.Get(0).(func(...string) string); ok {
		r0 = rf(elem...)
	} else {
		r0 = ret.Get(0).(string)
	}
	return r0
}
func ( _m * FS ) Join ( elem ... string ) string { _va := make ( [ ] interface { } , len ( elem ) ) for _i := range elem { _va [ _i ] = elem [ _i ] } var _ca [ ] interface { } _ca = append ( _ca , _va ... ) ret := _m . Called ( _ca ... ) var r0 string if rf , ok := ret . Get ( 0 ) . ( func ( ... string ) string ) ; ok { r0 = rf ( elem ... ) } else { r0 = ret . Get ( 0 ) . ( string ) } return r0 }
Join provides a mock function with given fields: elem
Join provides a mock function with given fields : elem