code: func (_m *Scheduler) SelectCPUNodes(nodesInfo []types.NodeInfo, quota float64, memory int64) ([]types.NodeInfo, map[string][]types.CPUMap, int, error) {
  	ret := _m.Called(nodesInfo, quota, memory)
  
  	var r0 []types.NodeInfo
  	if rf, ok := ret.Get(0).(func([]types.NodeInfo, float64, int64) []types.NodeInfo); ok {
  		r0 = rf(nodesInfo, quota, memory)
  	} else {
  		if ret.Get(0) != nil {
  			r0 = ret.Get(0).([]types.NodeInfo)
  		}
  	}
  
  	var r1 map[string][]types.CPUMap
  	if rf, ok := ret.Get(1).(func([]types.NodeInfo, float64, int64) map[string][]types.CPUMap); ok {
  		r1 = rf(nodesInfo, quota, memory)
  	} else {
  		if ret.Get(1) != nil {
  			r1 = ret.Get(1).(map[string][]types.CPUMap)
  		}
  	}
  
  	var r2 int
  	if rf, ok := ret.Get(2).(func([]types.NodeInfo, float64, int64) int); ok {
  		r2 = rf(nodesInfo, quota, memory)
  	} else {
  		r2 = ret.Get(2).(int)
  	}
  
  	var r3 error
  	if rf, ok := ret.Get(3).(func([]types.NodeInfo, float64, int64) error); ok {
  		r3 = rf(nodesInfo, quota, memory)
  	} else {
  		r3 = ret.Error(3)
  	}
  
  	return r0, r1, r2, r3
  }
docs: // SelectCPUNodes provides a mock function with given fields: nodesInfo, quota, memory