coinflip_test.gno
1.61 Kb ยท 68 lines
1package coinflip
2
3import (
4 "chain"
5 "chain/banker"
6 "testing"
7
8 "gno.land/p/nt/testutils"
9)
10
11var coinflipAddr = chain.PackageAddress("gno.land/r/sacha/coinflip")
12
13func TestGetRealmBalance(t *testing.T) {
14 value := GetRealmBalance(cross)
15
16 if value != 0 {
17 t.Fatalf("Expected 0, got %v", value)
18 }
19}
20
21func TestFlip(t *testing.T) {
22 value := flip(1)
23
24 if value != true {
25 t.Fatalf("Expected true, got %v", value)
26 }
27
28 value = flip(0)
29
30 if value != false {
31 t.Fatalf("Expected false, got %v", value)
32 }
33}
34
35func TestWithdrawal(t *testing.T) {
36 banker_ := banker.NewBanker(banker.BankerTypeReadonly)
37 sachaAddr := address("g1jpg2hmsh8j4f60u4vkseqh5azeupns8vhrstfm")
38
39 testing.IssueCoins(coinflipAddr, chain.Coins{{"ugnot", 100000000}})
40
41 testing.SetRealm(testing.NewUserRealm(sachaAddr))
42
43 Withdrawal(cross, 1000)
44
45 mainbal := banker_.GetCoins(coinflipAddr)
46 sachabal := banker_.GetCoins(sachaAddr)
47
48 if !(mainbal[0].Amount == 99999000 && sachabal[0].Amount == 1000) {
49 t.Fatalf("Expected main balance to be 99999100 and sacha balance to be 900, got %v and %v", mainbal, sachabal)
50 }
51}
52
53func TestSendPrize(t *testing.T) {
54 banker_ := banker.NewBanker(banker.BankerTypeReadonly)
55 aliceAddr := testutils.TestAddress("alice")
56
57 testing.IssueCoins(coinflipAddr, chain.Coins{{"ugnot", 100000000}})
58
59 testing.SetRealm(testing.NewUserRealm(aliceAddr))
60
61 sendPrize(cross, aliceAddr, 1000)
62
63 mainbal := banker_.GetCoins(coinflipAddr)
64 alicebal := banker_.GetCoins(aliceAddr)
65 if !(mainbal[0].Amount == 99999000 && alicebal[0].Amount == 1000) {
66 t.Fatalf("Expected main balance to be 99999100 and alice balance to be 900, got %v and %v", mainbal, alicebal)
67 }
68}