github.com/ydb-platform/ydb-go-sdk/v3@v3.89.2/internal/xtest/to_json_test.go (about) 1 package xtest 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/require" 7 ) 8 9 func TestToJSON(t *testing.T) { 10 for _, tt := range []struct { 11 name string 12 v interface{} 13 s string 14 }{ 15 { 16 name: CurrentFileLine(), 17 v: int64(123), 18 s: "123", 19 }, 20 { 21 name: CurrentFileLine(), 22 v: struct { 23 A string 24 B int64 25 C bool 26 }{ 27 A: "123", 28 B: 123, 29 C: true, 30 }, 31 s: "{\n\t\"A\": \"123\",\n\t\"B\": 123,\n\t\"C\": true\n}", 32 }, 33 { 34 name: CurrentFileLine(), 35 v: map[string]struct { 36 A string 37 B int64 38 C bool 39 }{ 40 "abc": { 41 A: "123", 42 B: 123, 43 C: true, 44 }, 45 "def": { 46 A: "456", 47 B: 456, 48 C: false, 49 }, 50 }, 51 s: "{\n\t\"abc\": {\n\t\t\"A\": \"123\",\n\t\t\"B\": 123,\n\t\t\"C\": true\n\t},\n\t\"def\": {\n\t\t\"A\": \"456\",\n\t\t\"B\": 456,\n\t\t\"C\": false\n\t}\n}", //nolint:lll 52 }, 53 } { 54 t.Run(tt.name, func(t *testing.T) { 55 require.Equal(t, tt.s, ToJSON(tt.v)) 56 }) 57 } 58 }