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