trpc.group/trpc-go/trpc-go@v1.0.3/naming/loadbalance/options_test.go (about) 1 // 2 // 3 // Tencent is pleased to support the open source community by making tRPC available. 4 // 5 // Copyright (C) 2023 THL A29 Limited, a Tencent company. 6 // All rights reserved. 7 // 8 // If you have downloaded a copy of the tRPC source code from Tencent, 9 // please note that tRPC source code is licensed under the Apache 2.0 License, 10 // A copy of the Apache 2.0 License is included in this file. 11 // 12 // 13 14 package loadbalance 15 16 import ( 17 "context" 18 "testing" 19 "time" 20 21 "github.com/stretchr/testify/assert" 22 ) 23 24 func TestOptions(t *testing.T) { 25 opts := &Options{} 26 ctx := context.Background() 27 WithContext(ctx)(opts) 28 WithNamespace("ns")(opts) 29 WithInterval(time.Second * 2)(opts) 30 WithKey("hash key")(opts) 31 WithReplicas(2)(opts) 32 WithLoadBalanceType("hash")(opts) 33 34 assert.Equal(t, opts.Ctx, ctx) 35 assert.Equal(t, opts.Namespace, "ns") 36 assert.Equal(t, opts.Interval, time.Second*2) 37 assert.Equal(t, opts.Key, "hash key") 38 assert.Equal(t, opts.Replicas, 2) 39 assert.Equal(t, opts.LoadBalanceType, "hash") 40 }