@@ -23,7 +23,7 @@ func TestEncoderSelector_CodecMeasure(t *testing.T) {
2323 })
2424 t .Run ("One" , func (t * testing.T ) {
2525 s := NewEncoderSelector (
26- NewEncoderMap (),
26+ NewMultiEncoder (),
2727 rawtopiccommon.SupportedCodecs {rawtopiccommon .CodecRaw },
2828 1 ,
2929 & trace.Topic {},
@@ -210,7 +210,7 @@ func TestCompressMessages(t *testing.T) {
210210 })
211211}
212212
213- func TestEncodersPool (t * testing.T ) {
213+ func TestMultiEncoder (t * testing.T ) {
214214 decompressGzip := func (rd io.Reader ) string {
215215 gzreader , err := gzip .NewReader (rd )
216216 require .NoError (t , err )
@@ -221,67 +221,77 @@ func TestEncodersPool(t *testing.T) {
221221 return string (decompressedMsg )
222222 }
223223
224+ t .Run ("BuffersPool" , func (t * testing.T ) {
225+ testMultiEncoder := NewMultiEncoder ()
226+
227+ buf := & bytes.Buffer {}
228+ for i := 0 ; i < 50 ; i ++ {
229+ testMsg := []byte (fmt .Sprintf ("test_data_%d" , i ))
230+
231+ buf .Reset ()
232+ _ , err := testMultiEncoder .Encode (rawtopiccommon .CodecGzip , buf , bytes .NewReader (testMsg ))
233+ require .NoError (t , err )
234+
235+ require .Equal (t , string (testMsg ), decompressGzip (buf ))
236+ }
237+ })
238+
224239 t .Run ("NotResetableWriter" , func (t * testing.T ) {
225- testEncoderMap := NewEncoderMap ()
240+ testMultiEncoder := NewMultiEncoder ()
241+ require .Len (t , testMultiEncoder .ep , 2 )
226242
227243 buf := & bytes.Buffer {}
228- _ , err := testEncoderMap . Encode (rawtopiccommon .CodecRaw , buf , []byte ("test_data" ))
244+ _ , err := testMultiEncoder . EncodeBytes (rawtopiccommon .CodecRaw , buf , []byte ("test_data" ))
229245 require .NoError (t , err )
230- require .Len (t , testEncoderMap .p , 0 )
231246 require .Equal (t , "test_data" , buf .String ())
232247 })
233248
234249 t .Run ("ResetableWriterCustom" , func (t * testing.T ) {
235- testEncoderMap := NewEncoderMap ()
250+ testMultiEncoder := NewMultiEncoder ()
236251
237- customCodecCode := rawtopiccommon .Codec (5 )
238- testEncoderMap .AddEncoder (customCodecCode , func (writer io.Writer ) (io.WriteCloser , error ) {
252+ customCodecCode := rawtopiccommon .Codec (10001 )
253+ testMultiEncoder .AddEncoder (customCodecCode , func (writer io.Writer ) (io.WriteCloser , error ) {
239254 return gzip .NewWriter (writer ), nil
240255 })
256+ require .Len (t , testMultiEncoder .ep , 3 )
241257
242258 buf := & bytes.Buffer {}
243- _ , err := testEncoderMap . Encode (customCodecCode , buf , []byte ("test_data_1" ))
259+ _ , err := testMultiEncoder . EncodeBytes (customCodecCode , buf , []byte ("test_data_1" ))
244260 require .NoError (t , err )
245- require .Len (t , testEncoderMap .p , 1 )
246261 require .Equal (t , "test_data_1" , decompressGzip (buf ))
247262
248263 buf .Reset ()
249- _ , err = testEncoderMap . Encode (rawtopiccommon .CodecGzip , buf , []byte ("test_data_2" ))
264+ _ , err = testMultiEncoder . EncodeBytes (rawtopiccommon .CodecGzip , buf , []byte ("test_data_2" ))
250265 require .NoError (t , err )
251- require .Len (t , testEncoderMap .p , 2 )
252266 require .Equal (t , "test_data_2" , decompressGzip (buf ))
253267 })
254268
255269 t .Run ("ResetableWriter" , func (t * testing.T ) {
256- testEncoderMap := NewEncoderMap ()
270+ testMultiEncoder := NewMultiEncoder ()
257271
258272 buf := & bytes.Buffer {}
259- _ , err := testEncoderMap . Encode (rawtopiccommon .CodecGzip , buf , []byte ("test_data_1" ))
273+ _ , err := testMultiEncoder . EncodeBytes (rawtopiccommon .CodecGzip , buf , []byte ("test_data_1" ))
260274 require .NoError (t , err )
261- require .Len (t , testEncoderMap .p , 1 )
262275 require .Equal (t , "test_data_1" , decompressGzip (buf ))
263276
264277 buf .Reset ()
265- _ , err = testEncoderMap . Encode (rawtopiccommon .CodecGzip , buf , []byte ("test_data_2" ))
278+ _ , err = testMultiEncoder . EncodeBytes (rawtopiccommon .CodecGzip , buf , []byte ("test_data_2" ))
266279 require .NoError (t , err )
267- require .Len (t , testEncoderMap .p , 1 )
268280 require .Equal (t , "test_data_2" , decompressGzip (buf ))
269281 })
270282
271283 t .Run ("ResetableWriterManyMessages" , func (t * testing.T ) {
272- testEncoderMap := NewEncoderMap ()
284+ testMultiEncoder := NewMultiEncoder ()
273285
274286 buf := & bytes.Buffer {}
275287 for i := 0 ; i < 50 ; i ++ {
276- testMsg := []byte (fmt .Sprintf ("data_ %d" , i ))
288+ testMsg := []byte (fmt .Sprintf ("test_data_ %d" , i ))
277289
278290 buf .Reset ()
279- _ , err := testEncoderMap . Encode (rawtopiccommon .CodecGzip , buf , testMsg )
291+ _ , err := testMultiEncoder . EncodeBytes (rawtopiccommon .CodecGzip , buf , testMsg )
280292 require .NoError (t , err )
281293
282294 require .Equal (t , string (testMsg ), decompressGzip (buf ))
283295 }
284-
285- require .Len (t , testEncoderMap .p , 1 )
286296 })
287297}
0 commit comments