39 lines
923 B
Go
39 lines
923 B
Go
package types
|
|
|
|
import (
|
|
"testing"
|
|
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestPoolEqual(t *testing.T) {
|
|
p1 := InitialPool()
|
|
p2 := InitialPool()
|
|
require.True(t, p1.Equal(p2))
|
|
p2.BondedTokens = sdk.NewRat(3)
|
|
require.False(t, p1.Equal(p2))
|
|
}
|
|
|
|
func TestAddBondedTokens(t *testing.T) {
|
|
pool := InitialPool()
|
|
pool.LooseTokens = sdk.NewRat(10)
|
|
pool.BondedTokens = sdk.NewRat(10)
|
|
|
|
pool = pool.looseTokensToBonded(sdk.NewRat(10))
|
|
|
|
require.True(sdk.RatEq(t, sdk.NewRat(20), pool.BondedTokens))
|
|
require.True(sdk.RatEq(t, sdk.NewRat(0), pool.LooseTokens))
|
|
}
|
|
|
|
func TestRemoveBondedTokens(t *testing.T) {
|
|
pool := InitialPool()
|
|
pool.LooseTokens = sdk.NewRat(10)
|
|
pool.BondedTokens = sdk.NewRat(10)
|
|
|
|
pool = pool.bondedTokensToLoose(sdk.NewRat(5))
|
|
|
|
require.True(sdk.RatEq(t, sdk.NewRat(5), pool.BondedTokens))
|
|
require.True(sdk.RatEq(t, sdk.NewRat(15), pool.LooseTokens))
|
|
}
|