package main import ( "git.beejay.kim/Gshopper/sentio" "github.com/samber/lo" ) type portfolio_stub []position_stub func newStubPortfolio(elem ...position_stub) sentio.Portfolio { var p portfolio_stub p = append(p, elem...) return p } func (p portfolio_stub) Get(symbol string) (sentio.Position, bool) { return lo.Find(p, func(item position_stub) bool { return item.symbol == symbol }) } func (p portfolio_stub) Positions() []sentio.Position { return lo.Map(p, func(item position_stub, _ int) sentio.Position { return item }) } type position_stub struct { symbol string size float64 price float64 } func (p position_stub) GetSize() float64 { return p.size } func (p position_stub) GetAvgPrice() float64 { return p.price } func (p position_stub) GetSymbol() string { return p.symbol }