123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- package zstd
- import (
- "strconv"
- "testing"
- )
- func TestEncoderLevelFromString(t *testing.T) {
- type args struct {
- s string
- }
- tests := []struct {
- name string
- args args
- want bool
- want1 EncoderLevel
- }{
- {
- name: "fastest",
- args: args{s: "fastest"},
- want: true,
- want1: SpeedFastest,
- },
- {
- name: "fastest-upper",
- args: args{s: "FASTEST"},
- want: true,
- want1: SpeedFastest,
- },
- {
- name: "default",
- args: args{s: "default"},
- want: true,
- want1: SpeedDefault,
- },
- {
- name: "default-UPPER",
- args: args{s: "Default"},
- want: true,
- want1: SpeedDefault,
- },
- {
- name: "invalid",
- args: args{s: "invalid"},
- want: false,
- want1: SpeedDefault,
- },
- {
- name: "unknown",
- args: args{s: "unknown"},
- want: false,
- want1: SpeedDefault,
- },
- {
- name: "empty",
- args: args{s: ""},
- want: false,
- want1: SpeedDefault,
- },
- {
- name: "fastest-string",
- args: args{s: SpeedFastest.String()},
- want: true,
- want1: SpeedFastest,
- },
- {
- name: "default-string",
- args: args{s: SpeedDefault.String()},
- want: true,
- want1: SpeedDefault,
- },
- }
- for _, tt := range tests {
- t.Run(tt.name, func(t *testing.T) {
- got, got1 := EncoderLevelFromString(tt.args.s)
- if got != tt.want {
- t.Errorf("EncoderLevelFromString() got = %v, want %v", got, tt.want)
- }
- if got1 != tt.want1 {
- t.Errorf("EncoderLevelFromString() got1 = %v, want %v", got1, tt.want1)
- }
- })
- }
- }
- func TestEncoderLevelFromZstd(t *testing.T) {
- type args struct {
- level int
- }
- tests := []struct {
- name string
- args args
- want EncoderLevel
- }{
- {
- name: "level-1",
- args: args{level: 1},
- want: SpeedFastest,
- },
- {
- name: "level-minus1",
- args: args{level: -1},
- want: SpeedFastest,
- },
- {
- name: "level-3",
- args: args{level: 3},
- want: SpeedDefault,
- },
- {
- name: "level-4",
- args: args{level: 4},
- want: SpeedDefault,
- },
- }
- for _, tt := range tests {
- t.Run(tt.name, func(t *testing.T) {
- if got := EncoderLevelFromZstd(tt.args.level); got != tt.want {
- t.Errorf("EncoderLevelFromZstd() = %v, want %v", got, tt.want)
- }
- })
- }
- }
- func TestWindowSize(t *testing.T) {
- tests := []struct {
- windowSize int
- err bool
- }{
- {1 << 9, true},
- {1 << 10, false},
- {(1 << 10) + 1, true},
- {(1 << 10) * 3, true},
- {MaxWindowSize, false},
- }
- for _, tt := range tests {
- t.Run(strconv.Itoa(tt.windowSize), func(t *testing.T) {
- var options encoderOptions
- err := WithWindowSize(tt.windowSize)(&options)
- if tt.err {
- if err == nil {
- t.Error("did not get error for invalid window size")
- }
- } else {
- if err != nil {
- t.Error("got error for valid window size")
- }
- if options.windowSize != tt.windowSize {
- t.Error("failed to set window size")
- }
- }
- })
- }
- }
|