erc721_test.gno
1.10 Kb · 29 lines
1package erc721
2
3import (
4 "testing"
5
6 "gno.land/p/moul/kit/store/v0"
7 "gno.land/p/nt/uassert/v0"
8)
9
10// v0 asserted that its own key() padded to width 12. That rule held only below
11// the width: key(10^12) is 13 characters and sorts before key(10^12-1), so the
12// token table would have rendered out of order from that id on. The store key
13// has no width to outgrow, which is what this replaces it with.
14func TestTokenKeysSortNumericallyPastTheOldWidth(t *testing.T) {
15 uassert.True(t, store.ID(2).Key() < store.ID(10).Key(), "2 sorts before 10")
16 uassert.True(t, store.ID(99).Key() < store.ID(100).Key(), "99 sorts before 100")
17 uassert.True(t, store.ID(999999999999).Key() < store.ID(1000000000000).Key(),
18 "and it keeps holding one past v0's width-12 ceiling")
19}
20
21func TestReadOnlyDefaults(t *testing.T) {
22 // on a fresh realm nothing is minted.
23 uassert.Equal(t, int64(0), totalSupply())
24 uassert.False(t, exists(1), "token 1 must not exist before minting")
25
26 var someone address = "g1someoneelsehere000000000000000000000000"
27 uassert.Equal(t, uint64(0), balanceOf(someone))
28 uassert.Equal(t, "", approvedOf(1).String())
29}