OSDN Git Service

add TestGetMiningAddress
authorChengcheng Zhang <943420582@qq.com>
Wed, 17 Jul 2019 02:29:04 +0000 (10:29 +0800)
committerChengcheng Zhang <943420582@qq.com>
Wed, 17 Jul 2019 02:29:04 +0000 (10:29 +0800)
database/account_store_test.go

index 40ab152..3365dd6 100644 (file)
@@ -570,3 +570,45 @@ func TestGetControlProgram(t *testing.T) {
                }
        }
 }
+
+func TestGetMiningAddress(t *testing.T) {
+       testDB := dbm.NewDB("testdb", "leveldb", "temp")
+       defer func() {
+               testDB.Close()
+               os.RemoveAll("temp")
+       }()
+
+       cases := []struct {
+               program *acc.CtrlProgram
+       }{
+               {
+                       program: &acc.CtrlProgram{},
+               },
+               {
+                       program: &acc.CtrlProgram{
+                               AccountID: "account1",
+                       },
+               },
+       }
+
+       accountStore := NewAccountStore(testDB)
+       for i, c := range cases {
+               as := accountStore.InitBatch()
+               if err := as.SetMiningAddress(c.program); err != nil {
+                       t.Fatal(err)
+               }
+
+               if err := as.CommitBatch(); err != nil {
+                       t.Fatal(err)
+               }
+
+               gotProgram, err := as.GetMiningAddress()
+               if err != nil {
+                       t.Fatal(err)
+               }
+
+               if !testutil.DeepEqual(gotProgram, c.program) {
+                       t.Errorf("case %v: got control program, got: %v, want: %v.", i, gotProgram, c.program)
+               }
+       }
+}