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