github.com/Schaudge/grailbase@v0.0.0-20240223061707-44c758a471c0/tsv/writer_test.go (about)

     1  // Copyright 2018 GRAIL, Inc. All rights reserved.
     2  // Use of this source code is governed by the Apache 2.0
     3  // license that can be found in the LICENSE file.
     4  
     5  package tsv_test
     6  
     7  import (
     8  	"bytes"
     9  	"testing"
    10  
    11  	"github.com/Schaudge/grailbase/tsv"
    12  )
    13  
    14  func TestWriter(t *testing.T) {
    15  	var buf bytes.Buffer
    16  	tw := tsv.NewWriter(&buf)
    17  	tw.WriteString("field1")
    18  	tw.WriteUint32(2)
    19  	tw.WritePartialString("field")
    20  	tw.WriteByte('3')
    21  	tw.WriteBytes([]byte{'f', 'i', 'e', 'l', 'd', '4'})
    22  	tw.WriteFloat64(1.2345, 'G', 6)
    23  	tw.WriteInt64(123456)
    24  	err := tw.EndLine()
    25  	if err != nil {
    26  		t.Errorf("Error while adding end of line")
    27  	}
    28  	tw.Flush()
    29  	got := buf.String()
    30  	want := "field1\t2\tfield3\tfield4\t1.2345\t123456\n"
    31  	if got != want {
    32  		t.Errorf("got: %q, want %q", got, want)
    33  	}
    34  }