op_create_test.go

 1package bug
 2
 3import (
 4	"reflect"
 5	"testing"
 6	"time"
 7)
 8
 9func TestCreate(t *testing.T) {
10	snapshot := Snapshot{}
11
12	var rene = Person{
13		Name:  "René Descartes",
14		Email: "rene@descartes.fr",
15	}
16
17	unix := time.Now().Unix()
18
19	create := NewCreateOp(rene, unix, "title", "message", nil)
20
21	create.Apply(&snapshot)
22
23	expected := Snapshot{
24		Title: "title",
25		Comments: []Comment{
26			{Author: rene, Message: "message", UnixTime: create.UnixTime},
27		},
28		Author:    rene,
29		CreatedAt: create.Time(),
30	}
31
32	if !reflect.DeepEqual(snapshot, expected) {
33		t.Fatalf("%v different than %v", snapshot, expected)
34	}
35}