operation_pack_test.go

 1package tests
 2
 3import (
 4	"encoding/json"
 5	"reflect"
 6	"testing"
 7
 8	"github.com/MichaelMure/git-bug/bug"
 9)
10
11func TestOperationPackSerialize(t *testing.T) {
12	opp := &bug.OperationPack{}
13
14	opp.Append(createOp)
15	opp.Append(setTitleOp)
16	opp.Append(addCommentOp)
17	opp.Append(setStatusOp)
18	opp.Append(labelChangeOp)
19
20	data, err := json.Marshal(opp)
21	if err != nil {
22		t.Fatal(err)
23	}
24
25	var opp2 *bug.OperationPack
26	err = json.Unmarshal(data, &opp2)
27	if err != nil {
28		t.Fatal(err)
29	}
30
31	if !reflect.DeepEqual(opp, opp2) {
32		t.Fatalf("%v and %v are different", opp, opp2)
33	}
34}