operation_iterator_test.go

 1package tests
 2
 3import (
 4	"github.com/MichaelMure/git-bug/bug"
 5	"github.com/MichaelMure/git-bug/bug/operations"
 6	"testing"
 7)
 8
 9var (
10	rene = bug.Person{
11		Name:  "René Descartes",
12		Email: "rene@descartes.fr",
13	}
14
15	createOp   = operations.NewCreateOp(rene, "title", "message")
16	setTitleOp = operations.NewSetTitleOp("title2")
17)
18
19func TestOpIterator(t *testing.T) {
20
21	bug1, err := bug.NewBug()
22
23	if err != nil {
24		t.Fatal(err)
25	}
26
27	bug1.Append(createOp)
28	bug1.Append(setTitleOp)
29	bug1.Commit()
30
31	bug1.Append(setTitleOp)
32	bug1.Append(setTitleOp)
33	bug1.Append(setTitleOp)
34	bug1.Commit()
35
36	bug1.Append(setTitleOp)
37	bug1.Append(setTitleOp)
38	bug1.Append(setTitleOp)
39
40	it := bug.NewOperationIterator(bug1)
41
42	counter := 0
43	for it.Next() {
44		_ = it.Value()
45		counter++
46	}
47
48	if counter != 8 {
49		t.Fatalf("Wrong count of value iterated (%d instead of 8)", counter)
50	}
51}