github.com/influx6/npkg@v0.8.8/nbytes/seeker/seeker_test.go (about) 1 package seeker_test 2 3 import ( 4 "bytes" 5 "testing" 6 7 "github.com/influx6/npkg/nbytes/seeker" 8 tests "github.com/influx6/npkg/ntests" 9 ) 10 11 func TestBufferedPeeker(t *testing.T) { 12 content := []byte("Thunder world, Reckage before the dawn") 13 buff := seeker.NewBufferedPeeker(content) 14 15 if buff.Length() != len(content) { 16 tests.Failed("Should have same length has content") 17 } 18 tests.Passed("Should have same length has content") 19 20 buff.Peek(2) 21 if buff.Area() != len(content) { 22 tests.Failed("Should have same length has content") 23 } 24 tests.Passed("Should have same length has content") 25 26 next := buff.Next(2) 27 if !bytes.Equal(next, content[:2]) { 28 tests.Failed("Should match sub elements of same area") 29 } 30 tests.Passed("Should match sub elements of same area") 31 32 next = buff.Next(100) 33 if !bytes.Equal(next, content[2:]) { 34 tests.Failed("Should match sub elements of rest of slice") 35 } 36 tests.Passed("Should match sub elements of rest of slice") 37 38 if len(buff.Peek(2)) != 0 { 39 tests.Failed("Should have index way past length of slice") 40 } 41 tests.Passed("Should have index way past length of slice") 42 43 buff.Reverse(5) 44 if len(buff.Peek(2)) == 0 { 45 tests.Failed("Should have index way back within slice") 46 } 47 tests.Passed("Should have index way back within slice") 48 49 buff.Reverse(100) 50 next = buff.Next(2) 51 if !bytes.Equal(next, content[:2]) { 52 tests.Failed("Should match sub elements of same area") 53 } 54 tests.Passed("Should match sub elements of same area") 55 }