MCPcopy Create free account
hub / github.com/Sifchain/sifnode / TestKeeper_InterestRateComputation

Function TestKeeper_InterestRateComputation

x/margin/keeper/keeper_test.go:917–1025  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

915}
916
917func TestKeeper_InterestRateComputation(t *testing.T) {
918 interestRateComputationTests := []struct {
919 name string
920 denom string
921 decimals int64
922 interestRate sdk.Dec
923 interestRateIncrease sdk.Dec
924 interestRateDecrease sdk.Dec
925 interestRateMax sdk.Dec
926 err error
927 errString error
928 }{
929 {
930 name: "interest rate change lesser than decrease and increase",
931 denom: "unregistred_denom",
932 decimals: 18,
933 interestRate: sdk.NewDec(1),
934 interestRateIncrease: sdk.NewDec(1),
935 interestRateDecrease: sdk.NewDec(1),
936 interestRateMax: sdk.NewDec(5),
937 err: nil,
938 },
939 {
940 name: "interest rate change greater than increase",
941 denom: "unregistred_denom",
942 decimals: 18,
943 interestRate: sdk.NewDec(10),
944 interestRateIncrease: sdk.NewDec(1),
945 interestRateDecrease: sdk.NewDec(1),
946 interestRateMax: sdk.NewDec(5),
947 err: nil,
948 },
949 {
950 name: "interest rate greater than rate max",
951 denom: "unregistred_denom",
952 decimals: 18,
953 interestRate: sdk.NewDec(10),
954 interestRateIncrease: sdk.NewDec(1),
955 interestRateDecrease: sdk.NewDec(1),
956 interestRateMax: sdk.NewDec(0),
957 err: nil,
958 },
959 }
960
961 for _, tt := range interestRateComputationTests {
962 tt := tt
963 t.Run(tt.name, func(t *testing.T) {
964 ctx, app, marginKeeper := initKeeper(t)
965
966 app.TokenRegistryKeeper.SetToken(ctx, &tokenregistrytypes.RegistryEntry{
967 Denom: tt.denom,
968 Decimals: tt.decimals,
969 Permissions: []tokenregistrytypes.Permission{tokenregistrytypes.Permission_CLP},
970 })
971
972 data := types.GenesisState{Params: &types.Params{
973 LeverageMax: sdk.NewDec(10),
974 InterestRateMax: tt.interestRateMax,

Callers

nothing calls this directly

Calls 6

initKeeperFunction · 0.85
SetTokenMethod · 0.65
InitGenesisMethod · 0.65
RunMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected