github.com/graybobo/golang.org-package-offline-cache@v0.0.0-20200626051047-6608995c132f/x/image/tiff/buffer_test.go (about)

     1  // Copyright 2011 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package tiff
     6  
     7  import (
     8  	"io"
     9  	"strings"
    10  	"testing"
    11  )
    12  
    13  var readAtTests = []struct {
    14  	n   int
    15  	off int64
    16  	s   string
    17  	err error
    18  }{
    19  	{2, 0, "ab", nil},
    20  	{6, 0, "abcdef", nil},
    21  	{3, 3, "def", nil},
    22  	{3, 5, "f", io.EOF},
    23  	{3, 6, "", io.EOF},
    24  }
    25  
    26  func TestReadAt(t *testing.T) {
    27  	r := newReaderAt(strings.NewReader("abcdef"))
    28  	b := make([]byte, 10)
    29  	for _, test := range readAtTests {
    30  		n, err := r.ReadAt(b[:test.n], test.off)
    31  		s := string(b[:n])
    32  		if s != test.s || err != test.err {
    33  			t.Errorf("buffer.ReadAt(<%v bytes>, %v): got %v, %q; want %v, %q", test.n, test.off, err, s, test.err, test.s)
    34  		}
    35  	}
    36  }