z_2_filetest.gno

1.27 Kb ยท 51 lines
 1// Empty line between the directives is important for them to be parsed
 2// independently. :facepalm:
 3
 4// PKGPATH: gno.land/r/demo/bank1
 5
 6package bank1
 7
 8import (
 9	"std"
10	"testing"
11
12	"gno.land/r/demo/banktest"
13)
14
15func main() {
16	banktestAddr := std.DerivePkgAddr("gno.land/r/demo/banktest")
17
18	// print main balance before.
19	mainaddr := std.DerivePkgAddr("gno.land/r/demo/bank1")
20	testing.SetOriginCaller(mainaddr)
21
22	banker := std.NewBanker(std.BankerTypeReadonly)
23	mainbal := banker.GetCoins(mainaddr)
24	println("main before:", mainbal) // plus OriginSend equals 300.
25
26	// simulate a Deposit call.
27	testing.IssueCoins(banktestAddr, std.Coins{{"ugnot", 100000000}})
28	testing.SetOriginSend(std.Coins{{"ugnot", 100000000}})
29	testing.SetRealm(std.NewCodeRealm("gno.land/r/demo/banktest"))
30	res := banktest.Deposit("ugnot", 55000000)
31	println("Deposit():", res)
32
33	// print main balance after.
34	mainbal = banker.GetCoins(mainaddr)
35	println("main after:", mainbal) // now 255.
36
37	// simulate a Render().
38	res = banktest.Render("")
39	println(res)
40}
41
42// Output:
43// main before:
44// Deposit(): returned!
45// main after: 55000000ugnot
46// ## recent activity
47//
48//  * g1tnpdmvrmtgql8fmxgsq9rwtst5hsxahk3f05dk 100000000ugnot sent, 55000000ugnot returned, at 2009-02-13 11:31pm UTC
49//
50// ## total deposits
51// 45000000ugnot