func (_m *Ringpop) GetReachableMembers(predicates ...swim.MemberPredicate) ([]string, error) {
	ret := _m.Called(predicates)
	var r0 []string
	if rf, ok := ret.Get(0).(func(...swim.MemberPredicate) []string); ok {
		r0 = rf(predicates...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]string)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(...swim.MemberPredicate) error); ok {
		r1 = rf(predicates...)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
GetReachableMembers provides a mock function with given fields: predicates
package mocks
import "github.com/stretchr/testify/mock"
import "time"
import "github.com/uber/ringpop-go/events"
import "github.com/uber/ringpop-go/forward"
import "github.com/uber/ringpop-go/swim"
import "github.com/uber/tchannel-go"
type Ringpop struct {
	mock.Mock
}
func (_m *Ringpop) Destroy() {
	_m.Called()
}
func (_m *Ringpop) App() string {
	ret := _m.Called()
	var r0 string
	if rf, ok := ret.Get(0).(func() string); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(string)
	}
	return r0
}
func (_m *Ringpop) WhoAmI() (string, error) {
	ret := _m.Called()
	var r0 string
	if rf, ok := ret.Get(0).(func() string); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(string)
	}
	var r1 error
	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Ringpop) Uptime() (time.Duration, error) {
	ret := _m.Called()
	var r0 time.Duration
	if rf, ok := ret.Get(0).(func() time.Duration); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(time.Duration)
	}
	var r1 error
	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Ringpop) Bootstrap(opts *swim.BootstrapOptions) ([]string, error) {
	ret := _m.Called(opts)
	var r0 []string
	if rf, ok := ret.Get(0).(func(*swim.BootstrapOptions) []string); ok {
		r0 = rf(opts)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]string)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(*swim.BootstrapOptions) error); ok {
		r1 = rf(opts)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Ringpop) Checksum() (uint32, error) {
	ret := _m.Called()
	var r0 uint32
	if rf, ok := ret.Get(0).(func() uint32); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(uint32)
	}
	var r1 error
	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Ringpop) Lookup(key string) (string, error) {
	ret := _m.Called(key)
	var r0 string
	if rf, ok := ret.Get(0).(func(string) string); ok {
		r0 = rf(key)
	} else {
		r0 = ret.Get(0).(string)
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(string) error); ok {
		r1 = rf(key)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Ringpop) LookupN(key string, n int) ([]string, error) {
	ret := _m.Called(key, n)
	var r0 []string
	if rf, ok := ret.Get(0).(func(string, int) []string); ok {
		r0 = rf(key, n)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]string)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(string, int) error); ok {
		r1 = rf(key, n)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}