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