Skip to content

Commit

Permalink
chore: Improve deepcopy test
Browse files Browse the repository at this point in the history
Closes: #28
Signed-off-by: Michael Gasch <mgasch@vmware.com>
  • Loading branch information
Michael Gasch committed Jan 31, 2022
1 parent abf7ffe commit 814b67c
Showing 1 changed file with 9 additions and 6 deletions.
15 changes: 9 additions & 6 deletions memlog_internal_test.go
Expand Up @@ -13,9 +13,8 @@ import (
)

func TestRecord_immutable(t *testing.T) {
data := newTestData(t, "1")

t.Run("deepCopy", func(t *testing.T) {
data := newTestData(t, "1")
now := time.Now().UTC()
testCases := []struct {
name string
Expand All @@ -33,10 +32,11 @@ func TestRecord_immutable(t *testing.T) {
}
})

t.Run("read, modify copy, read", func(t *testing.T) {
t.Run("write, read, modify record, read", func(t *testing.T) {
ctx := context.Background()
c := clock.NewMock()

data := newTestData(t, "1")
now := c.Now().UTC()
l, err := New(ctx, WithClock(c))
assert.NilError(t, err)
Expand All @@ -53,17 +53,20 @@ func TestRecord_immutable(t *testing.T) {
assert.Equal(t, r.Metadata.Offset, offset)
assert.DeepEqual(t, r.Data, data)

// modify fields
// modify source data and record fields
dataCopy := make([]byte, len(data))
copy(dataCopy, data)
data = []byte("2")
r.Metadata.Created = time.Now().UTC()
r.Metadata.Offset = 10
r.Data = []byte("changed")
r.Data = data

// assert record immutable
r2, err := l.read(ctx, offset)
assert.NilError(t, err)
assert.Equal(t, r2.Metadata.Created, now)
assert.Equal(t, r2.Metadata.Offset, offset)
assert.DeepEqual(t, r2.Data, data)
assert.DeepEqual(t, r2.Data, dataCopy)
})
}

Expand Down

0 comments on commit 814b67c

Please sign in to comment.