package diffstore

import (
	"testing"

	assert "github.com/stretchr/testify/require"
	"go.skia.org/infra/go/testutils/unittest"
	"go.skia.org/infra/golden/go/diff"
	"go.skia.org/infra/golden/go/types"
)

func TestMetricMapCodec(t *testing.T) {
	unittest.SmallTest(t)

	codec := MetricMapCodec{}

	// Initialize a dummy diff.DiffMetrics instance.
	diffMetrics := &diff.DiffMetrics{
		NumDiffPixels:    1,
		PixelDiffPercent: 0.5,
		MaxRGBADiffs:     []int{2, 3, 4, 5},
		DimDiffer:        true,
		Diffs: map[string]float32{
			"testMetric": 0.1,
		},
	}

	// Put diffMetrics into a map with an MD5 digest as the key.
	diffMap := map[types.Digest]interface{}{}
	testDigest := types.Digest("5460652359b9b272d520baaddaeddb5c")
	diffMap[testDigest] = diffMetrics

	// Encode the data.
	bytes, err := codec.Encode(diffMap)
	assert.NoError(t, err)

	// Decode the serialized data.
	data, err := codec.Decode(bytes)
	assert.NoError(t, err)

	// Verify the deserialized data is the correct type and is structurally
	// equivalent to the encoded data.
	assert.IsType(t, data, map[types.Digest]interface{}{})
	assert.Equal(t, diffMap, data)
}
