aboutsummaryrefslogtreecommitdiff
path: root/slice/slice_test.go
blob: b73946e7c90de4d3dadb47fb0447b06670237503 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package slice

import (
	"testing"

	"github.com/n-peugnet/dna-backup/testutils"
)

func TestPatch(t *testing.T) {
	source := Slice{1, 2, 3, 4}
	target := Slice{2, 5, 3, 6, 4, 7, 8}
	patch := DiffSlice(source, target)
	testutils.AssertSame(t, []SliceDel{0}, patch.Del, "Patch del part")
	testutils.AssertSame(t, []SliceIns{
		{1, Slice{5}},
		{3, Slice{6}},
		{5, Slice{7, 8}},
	}, patch.Ins, "Patch ins part")
	actual := PatchSlice(source, patch)
	testutils.AssertSame(t, target, actual, "Target obtained from patch application")
}