z_0_filetest.gno

1.46 Kb ยท 50 lines
 1// PKGPATH: gno.land/r/demo/bank1
 2// SEND: 100000000ugnot
 3
 4package bank1
 5
 6import (
 7	"std"
 8	"testing"
 9
10	"gno.land/r/demo/banktest"
11)
12
13func main() {
14	// set up main address and banktest addr.
15	banktestAddr := std.DerivePkgAddr("gno.land/r/demo/banktest")
16	mainaddr := std.DerivePkgAddr("gno.land/r/demo/bank1")
17	testing.SetOriginCaller(mainaddr)
18
19	// get and print balance of mainaddr.
20	// with the SEND, + 200 gnot given by the TestContext, main should have 300gnot.
21	banker := std.NewBanker(std.BankerTypeRealmSend)
22	mainbal := banker.GetCoins(mainaddr)
23	println("main before:", mainbal)
24
25	// simulate a Deposit call. use Send + OriginSend to simulate -send.
26	banker.SendCoins(mainaddr, banktestAddr, std.Coins{{"ugnot", 100_000_000}})
27	testing.SetOriginSend(std.Coins{{"ugnot", 100_000_000}})
28	testing.SetRealm(std.NewUserRealm(mainaddr))
29	res := banktest.Deposit(cross, "ugnot", 50_000_000) // bank1 can't send? should be r/demo/bank1 to r/demo/banktest, is bank1 -> bank1.
30	println("Deposit():", res)
31
32	// print main balance after.
33	mainbal = banker.GetCoins(mainaddr)
34	println("main after:", mainbal)
35
36	// simulate a Render(). banker should have given back all coins.
37	res = banktest.Render("")
38	println(res)
39}
40
41// Output:
42// main before: 100000000ugnot
43// Deposit(): returned!
44// main after: 50000000ugnot
45// ## recent activity
46//
47//  * g1tnpdmvrmtgql8fmxgsq9rwtst5hsxahk3f05dk 100000000ugnot sent, 50000000ugnot returned, at 2009-02-13 11:31pm UTC
48//
49// ## total deposits
50// 50000000ugnot