-
lunfardo314 authored
- added function to sort slice of addresses - minor edits
lunfardo314 authored- added function to sort slice of addresses - minor edits
outputs_test.go 1.17 KiB
package transaction
import (
"bytes"
"github.com/iotaledger/goshimmer/dapps/valuetransfers/packages/address"
"github.com/iotaledger/goshimmer/dapps/valuetransfers/packages/balance"
"github.com/magiconair/properties/assert"
"golang.org/x/crypto/blake2b"
"testing"
)
func TestOutputs(t *testing.T) {
rndAddrs := make([]address.Address, 15)
for i := range rndAddrs {
rndAddrs[i] = address.RandomOfType(address.VersionED25519)
}
theMap1 := make(map[address.Address][]*balance.Balance)
for i := 0; i < len(rndAddrs); i++ {
theMap1[rndAddrs[i]] = []*balance.Balance{balance.New(balance.ColorIOTA, int64(i))}
}
out1 := NewOutputs(theMap1)
theMap2 := make(map[address.Address][]*balance.Balance)
for i := len(rndAddrs) - 1; i >= 0; i-- {
theMap2[rndAddrs[i]] = []*balance.Balance{balance.New(balance.ColorIOTA, int64(i))}
}
out2 := NewOutputs(theMap2)
//t.Logf("%s", out1.String())
//t.Logf("%s", out2.String())
h1 := hashOutputs(t, out1)
h2 := hashOutputs(t, out2)
assert.Equal(t, bytes.Equal(h1, h2), true)
}
func hashOutputs(t *testing.T, out *Outputs) []byte {
h, err := blake2b.New256(nil)
assert.Equal(t, err, nil)
h.Write(out.Bytes())
return h.Sum(nil)
}