You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: examples_test.go
    path of file: ./repos/grpcui/standalone
    
    the code of the file until where you have to start completion: package standalone

import (
	"encoding/json"
	"google.golang.org/protobuf/encoding/protojson"
	"reflect"
	"testing"

	"google.golang.org/protobuf/proto"

	"github.com/golang/protobuf/protoc-gen-go/descriptor"
)

func TestRequest_MarshalUnmarshal(t *testing.T) {
	tests := []struct {
		name    string
		request ExampleRequest
	}{
		{
			name: "Full request, complex data",
			request: ExampleRequest{
				TimeoutSeconds: 1.0,
				Metadata: []ExampleMetadataPair{
					{
						"key",
						"value",
					},
				},
				Data: map[string]interface{}{
					"field": "fieldValue",
				},
			},
		},
		{
			name: "Full request, string data",
			request: ExampleRequest{
				TimeoutSeconds: 0.002,
				Metadata: []ExampleMetadataPair{
					{
						"key",
						"value",
					},
				},
				Data: "a string",
			},
		},
		{
			name: "No timeout",
			request: ExampleRequest{
				Metadata: []ExampleMetadataPair{
					{
						"key",
						"value",
					},
				},
				Data: map[string]interface{}{
					"field": "fieldValue",
				},
			},
		},
		{
			name: "no data",
			request: ExampleRequest{
				TimeoutSeconds: 0.001,
				Metadata: []ExampleMetadataPair{
					{
						"key",
						"value",
					},
				},
			},
		},
		{
			name: "only timeout",
			request: ExampleRequest{
				TimeoutSeconds: 86400,
			},
		},
		{
			name: "only data",
			request: ExampleRequest{
				Data: "some data",
			},
		},
		{
			name: "only metadata",
			request: ExampleRequest{
				Metadata: []ExampleMetadataPair{
					{
						"a",
						"b",
					},
				},
			},
		},
	}
	for _, test := range tests {
		t.Run(test.name, func(t *testing.T) {
			marshal, err := json.Marshal(test.reque
    
func TestRequest_MarshalUnmarshal(t *testing.T) {
	tests := []struct {
		name    string
		request ExampleRequest
	}{
		{
			name: "Full request, complex data",
			request: ExampleRequest{
				TimeoutSeconds: 1.0,
				Metadata: []ExampleMetadataPair{
					{
						"key",
						"value",
					},
				},
				Data: map[string]interface{}{
					"field": "fieldValue",
				},
			},
		},
		{
			name: "Full request, string data",
			request: ExampleRequest{
				TimeoutSeconds: 0.002,
				Metadata: []ExampleMetadataPair{
					{
						"key",
						"value",
					},
				},
				Data: "a string",
			},
		},
		{
			name: "No timeout",
			request: ExampleRequest{
				Metadata: []ExampleMetadataPair{
					{
						"key",
						"value",
					},
				},
				Data: map[string]interface{}{
					"field": "fieldValue",
				},
			},
		},
		{
			name: "no data",
			request: ExampleRequest{
				TimeoutSeconds: 0.001,
				Metadata: []ExampleMetadataPair{
					{
						"key",
						"value",
					},
				},
			},
		},
		{
			name: "only timeout",
			request: ExampleRequest{
				TimeoutSeconds: 86400,
			},
		},
		{
			name: "only data",
			request: ExampleRequest{
				Data: "some data",
			},
		},
		{
			name: "only metadata",
			request: ExampleRequest{
				Metadata: []ExampleMetadataPair{
					{
						"a",
						"b",
					},
				},
			},
		},
	}
	for _, test := range tests {
		t.Run(test.name, func(t *testing.T) {
			marshal, err := json.Marshal(test.request)
			if err != nil {
				t.Fatalf("marshal failed: %v", err)
			}
			t.Logf("marshaled: %q", string(marshal))

			var unmarshaled ExampleRequest
			err = json.Unmarshal(marshal, &unmarshaled)
			if err != nil {
				t.Fatalf("unmarshal failed: %v", err)
			}

			if test.request.TimeoutSeconds != unmarshaled.TimeoutSeconds {
				t.Fatalf("round trip failure: want %v, got %v", test.request.TimeoutSeconds, unmarshaled.TimeoutSeconds)
			}
			if !reflect.DeepEqual(test.request.Metadata, unmarshaled.Metadata) {
				t.Fatalf("round trip failure: want %#v, got %#v", test.request.Metadata, unmarshaled.Metadata)
			}
			if !reflect.DeepEqual(test.request.Data, unmarshaled.Data) {
				t.Fatalf("round trip failure: want %#v, got %#v", test.request.Data, unmarshaled.Data)
			}
		})
	}
}