mirror of
https://github.com/hanzo-fi/numscript.git
synced 2026-10-30 20:54:52 +00:00
26 lines
908 B
Go
26 lines
908 B
Go
package specs_format
|
|
|
|
import (
|
|
"math/big"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestCompareMovementsMultiplicity(t *testing.T) {
|
|
x := Movement{Source: "world", Destination: "a", Asset: "USD", Amount: big.NewInt(1)}
|
|
y := Movement{Source: "world", Destination: "b", Asset: "USD", Amount: big.NewInt(1)}
|
|
|
|
// [x, x] must not equal [x, y]
|
|
require.False(t, compareMovements(Movements{x, x}, Movements{x, y}))
|
|
require.False(t, compareMovements(Movements{x, y}, Movements{x, x}))
|
|
|
|
// order-independent and multiplicity-exact equality still holds
|
|
require.True(t, compareMovements(Movements{x, y}, Movements{y, x}))
|
|
require.True(t, compareMovements(Movements{x, x}, Movements{x, x}))
|
|
|
|
// differing amount on the same key is not equal
|
|
z := Movement{Source: "world", Destination: "a", Asset: "USD", Amount: big.NewInt(2)}
|
|
require.False(t, compareMovements(Movements{x}, Movements{z}))
|
|
}
|