loci_test.gno
1.14 Kb ยท 40 lines
1package loci
2
3import (
4 "std"
5 "testing"
6
7 "gno.land/p/demo/testutils"
8)
9
10func TestLociStore(t *testing.T) {
11 t.Run("TestSet", func(t *testing.T) {
12 testing.SetRealm(std.NewCodeRealm("gno.land/r/test/test"))
13 caller := std.PreviousRealm()
14 store := New()
15 // Ensure that the value is nil before setting it.
16 if r1 := store.Get(caller.Address()); r1 != nil {
17 t.Errorf("expected value to be nil, got '%s'", r1)
18 }
19 store.Set([]byte("hello"))
20 if r2 := store.Get(caller.Address()); string(r2) != "hello" {
21 t.Errorf("expected value to be 'hello', got '%s'", r2)
22 }
23 store.Set([]byte("world"))
24 if r3 := store.Get(caller.Address()); string(r3) != "world" {
25 t.Errorf("expected value to be 'world', got '%s'", r3)
26 }
27 })
28 t.Run("TestGet", func(t *testing.T) {
29 testing.SetRealm(std.NewCodeRealm("gno.land/r/test/test"))
30 caller := std.PreviousRealm()
31 store := New()
32 store.Set([]byte("hello"))
33 if r0 := store.Get(testutils.TestAddress("nil_user")); r0 != nil {
34 t.Errorf("expected value to be nil, got '%s'", r0)
35 }
36 if r1 := store.Get(caller.Address()); string(r1) != "hello" {
37 t.Errorf("expected value to be 'hello', got '%s'", r1)
38 }
39 })
40}