12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- package cache
- import (
- "testing"
- "time"
- "github.com/stretchr/testify/assert"
- "github.com/zeromicro/go-zero/core/proc"
- )
- func TestNextDelay(t *testing.T) {
- tests := []struct {
- name string
- input time.Duration
- output time.Duration
- ok bool
- }{
- {
- name: "second",
- input: time.Second,
- output: time.Second * 5,
- ok: true,
- },
- {
- name: "5 seconds",
- input: time.Second * 5,
- output: time.Minute,
- ok: true,
- },
- {
- name: "minute",
- input: time.Minute,
- output: time.Minute * 5,
- ok: true,
- },
- {
- name: "5 minutes",
- input: time.Minute * 5,
- output: time.Hour,
- ok: true,
- },
- {
- name: "hour",
- input: time.Hour,
- output: 0,
- ok: false,
- },
- }
- for _, test := range tests {
- t.Run(test.name, func(t *testing.T) {
- next, ok := nextDelay(test.input)
- assert.Equal(t, test.ok, ok)
- assert.Equal(t, test.output, next)
- proc.Shutdown()
- })
- }
- }
|