diff --git a/digits-work-sample-go.d/transaction.go b/digits-work-sample-go.d/transaction.go index c78da9f..de3ab88 100644 --- a/digits-work-sample-go.d/transaction.go +++ b/digits-work-sample-go.d/transaction.go @@ -50,6 +50,16 @@ func (trn Transaction) isRefund() bool { // Transactions represents a list of Transaction type Transactions []Transaction +func (trns Transactions) expenses() Transactions { + result := make(Transactions, 0, len(trns)) + for i := range trns { + if !trns[i].isRefund() { + result = append(result, trns[i]) + } + } + return result +} + // Sum adds all transactions together. func (trns Transactions) Sum() Amount { result := Amount(0.0)