operation_iterator_test.go

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