Skip to content

Commit

Permalink
Fix is_valid bug (cosmos#3211)
Browse files Browse the repository at this point in the history
  • Loading branch information
ValarDragon authored and jackzampolin committed Jan 2, 2019
1 parent 5ca8c5b commit 67a1e47
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 5 deletions.
7 changes: 4 additions & 3 deletions types/coin.go
Original file line number Diff line number Diff line change
Expand Up @@ -142,12 +142,13 @@ func (coins Coins) IsValid() bool {
case 0:
return true
case 1:
return coins[0].IsPositive()
default:
if strings.ToLower(coins[0].Denom) != coins[0].Denom {
return false
}
if !coins[0].IsPositive() {
return coins[0].IsPositive()
default:
// Check single coin case
if !(Coins{coins[0]}).IsValid() {
return false
}
lowDenom := coins[0].Denom
Expand Down
13 changes: 11 additions & 2 deletions types/coin_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -255,11 +255,18 @@ func TestCoins(t *testing.T) {
{"mineral", NewInt(1)},
{"tree", NewInt(1)},
}
mixedCase := Coins{
mixedCase1 := Coins{
{"gAs", NewInt(1)},
{"MineraL", NewInt(1)},
{"TREE", NewInt(1)},
}
mixedCase2 := Coins{
{"gAs", NewInt(1)},
{"mineral", NewInt(1)},
}
mixedCase3 := Coins{
{"gAs", NewInt(1)},
}
empty := Coins{
{"gold", NewInt(0)},
}
Expand Down Expand Up @@ -292,7 +299,9 @@ func TestCoins(t *testing.T) {
}

assert.True(t, good.IsValid(), "Coins are valid")
assert.False(t, mixedCase.IsValid(), "Coins denoms contain upper case characters")
assert.False(t, mixedCase1.IsValid(), "Coins denoms contain upper case characters")
assert.False(t, mixedCase2.IsValid(), "First Coins denoms contain upper case characters")
assert.False(t, mixedCase3.IsValid(), "Single denom in Coins contains upper case characters")
assert.True(t, good.IsPositive(), "Expected coins to be positive: %v", good)
assert.False(t, null.IsPositive(), "Expected coins to not be positive: %v", null)
assert.True(t, good.IsAllGTE(empty), "Expected %v to be >= %v", good, empty)
Expand Down

0 comments on commit 67a1e47

Please sign in to comment.