github.com/guilhermebr/docker@v1.4.2-0.20150428121140-67da055cebca/pkg/ioutils/writers_test.go (about)

     1  package ioutils
     2  
     3  import (
     4  	"bytes"
     5  	"strings"
     6  	"testing"
     7  )
     8  
     9  func TestNopWriter(t *testing.T) {
    10  	nw := &NopWriter{}
    11  	l, err := nw.Write([]byte{'c'})
    12  	if err != nil {
    13  		t.Fatal(err)
    14  	}
    15  	if l != 1 {
    16  		t.Fatalf("Expected 1 got %d", l)
    17  	}
    18  }
    19  
    20  func TestWriteCounter(t *testing.T) {
    21  	dummy1 := "This is a dummy string."
    22  	dummy2 := "This is another dummy string."
    23  	totalLength := int64(len(dummy1) + len(dummy2))
    24  
    25  	reader1 := strings.NewReader(dummy1)
    26  	reader2 := strings.NewReader(dummy2)
    27  
    28  	var buffer bytes.Buffer
    29  	wc := NewWriteCounter(&buffer)
    30  
    31  	reader1.WriteTo(wc)
    32  	reader2.WriteTo(wc)
    33  
    34  	if wc.Count != totalLength {
    35  		t.Errorf("Wrong count: %d vs. %d", wc.Count, totalLength)
    36  	}
    37  
    38  	if buffer.String() != dummy1+dummy2 {
    39  		t.Error("Wrong message written")
    40  	}
    41  }