Skip to content
This repository has been archived by the owner on Jun 20, 2023. It is now read-only.

Commit

Permalink
Test all the things
Browse files Browse the repository at this point in the history
  • Loading branch information
ribasushi committed Jan 21, 2020
1 parent 397f536 commit 65d7a6e
Showing 1 changed file with 57 additions and 13 deletions.
70 changes: 57 additions & 13 deletions parse_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,35 +2,79 @@ package chunk

import (
"bytes"
"fmt"
"testing"
)

const (
testTwoThirdsOfBlockPayloadLimit = 2 * (float32(BlockPayloadLimit) / float32(3))
)

func TestParseRabin(t *testing.T) {
max := 1000
r := bytes.NewReader(randBuf(t, max))
chk1 := "rabin-18-25-32"
chk2 := "rabin-15-23-31"
_, err := parseRabinString(r, chk1)
r := bytes.NewReader(randBuf(t, 1000))

_, err := FromString(r, "rabin-18-25-32")
if err != nil {
t.Errorf(err.Error())
}
_, err = parseRabinString(r, chk2)

_, err = FromString(r, "rabin-15-23-31")
if err != ErrRabinMin {
t.Fatalf("Expected an 'ErrRabinMin' error, got: %#v", err)
}

_, err = FromString(r, "rabin-20-20-21")
if err == nil || err.Error() != "incorrect format: rabin-min must be smaller than rabin-avg" {
t.Fatalf("Expected an arg-out-of-order error, got: %#v", err)
}

_, err = FromString(r, "rabin-19-21-21")
if err == nil || err.Error() != "incorrect format: rabin-avg must be smaller than rabin-max" {
t.Fatalf("Expected an arg-out-of-order error, got: %#v", err)
}

_, err = FromString(r, fmt.Sprintf("rabin-19-21-%d", BlockPayloadLimit))
if err != nil {
t.Fatalf("Expected success, got: %#v", err)
}

_, err = FromString(r, fmt.Sprintf("rabin-19-21-%d", 1+BlockPayloadLimit))
if err != ErrSizeMax {
t.Fatalf("Expected 'ErrSizeMax', got: %#v", err)
}

_, err = FromString(r, fmt.Sprintf("rabin-%.0f", testTwoThirdsOfBlockPayloadLimit))
if err != nil {
t.Fatalf("Expected success, got: %#v", err)
}

_, err = FromString(r, fmt.Sprintf("rabin-%.0f", 1+testTwoThirdsOfBlockPayloadLimit))
if err != ErrSizeMax {
t.Fatalf("Expected 'ErrSizeMax', got: %#v", err)
}

}

func TestParseSize(t *testing.T) {
max := 1000
r := bytes.NewReader(randBuf(t, max))
size1 := "size-0"
size2 := "size-32"
_, err := FromString(r, size1)
r := bytes.NewReader(randBuf(t, 1000))

_, err := FromString(r, "size-0")
if err != ErrSize {
t.Fatalf("Expected an 'ErrSize' error, got: %#v", err)
}
_, err = FromString(r, size2)

_, err = FromString(r, "size-32")
if err != nil {
t.Fatalf("Expected success, got: %#v", err)
}

_, err = FromString(r, fmt.Sprintf("size-%d", BlockPayloadLimit))
if err != nil {
t.Fatal(err)
t.Fatalf("Expected success, got: %#v", err)
}

_, err = FromString(r, fmt.Sprintf("size-%d", 1+BlockPayloadLimit))
if err != ErrSizeMax {
t.Fatalf("Expected 'ErrSizeMax', got: %#v", err)
}
}

0 comments on commit 65d7a6e

Please sign in to comment.