diff options
Diffstat (limited to 'recipe_test.go')
-rw-r--r-- | recipe_test.go | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/recipe_test.go b/recipe_test.go new file mode 100644 index 0000000..f5c9b29 --- /dev/null +++ b/recipe_test.go @@ -0,0 +1,24 @@ +package main + +import "testing" + +func TestRecipe(t *testing.T) { + c1 := &StoredChunk{Id: &ChunkId{0, 1}} + c2 := &StoredChunk{Id: &ChunkId{0, 2}} + c3 := &StoredChunk{Id: &ChunkId{0, 3}} + c4 := &StoredChunk{Id: &ChunkId{0, 4}} + c5 := &StoredChunk{Id: &ChunkId{0, 5}} + c6 := &StoredChunk{Id: &ChunkId{0, 6}} + c7 := &StoredChunk{Id: &ChunkId{0, 7}} + source := Recipe{c1, c2, c3, c4} + target := Recipe{c2, c5, c3, c6, c4, c7} + patch := diffRecipe(source, target) + assertSame(t, []RecipeDel{0}, patch.Del, "Patch del part") + assertSame(t, []RecipeIns{ + {1, []Chunk{c5}}, + {3, []Chunk{c6}}, + {5, []Chunk{c7}}, + }, patch.Ins, "Patch ins part") + actual := patchRecipe(source, patch) + assertSame(t, target, actual, "Target obtained from patch application") +} |