Search Apps Documentation Source Content File Folder Download Copy Actions Download

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}