logging_test.go 638 Bytes
Newer Older
duanjinfei's avatar
duanjinfei committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
package logging

import (
	"reflect"
	"testing"
)

func TestKVPairSerialization(t *testing.T) {
	testCases := []struct {
		kvpairs  []interface{}
		expected map[string]interface{}
	}{
		{
			[]interface{}{"a", 1, "b", "v"},
			map[string]interface{}{
				"a": 1,
				"b": "v",
			},
		},
		{
			[]interface{}{"a"},
			map[string]interface{}{},
		},
		{
			[]interface{}{"a", 1, "b"},
			map[string]interface{}{},
		},
	}

	for i, tc := range testCases {
		actual := serializeKVPairs(tc.kvpairs...)
		if !reflect.DeepEqual(actual, tc.expected) {
			t.Errorf("Test case %d: Expected result %v, but got %v", i, tc.expected, actual)
		}
	}
}