123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package util
- import (
- . "github.com/smartystreets/goconvey/convey"
- "testing"
- "time"
- )
- var periodTimeTest = [][]string{
- // time, period, now, expected
- {"11:00:00", "1h", "10:00:00", "0000-01-01 11:00:00"},
- {"11:00:00", "1m", "10:00:00", "0000-01-01 10:01:00"},
- {"11:00:00", "1s", "10:00:00", "0000-01-01 10:00:01"},
- {"11:00:00", "8h", "10:00:00", "0000-01-01 11:00:00"},
- {"11:00:00", "12h", "10:00:00", "0000-01-01 11:00:00"},
- {"11:00:00", "23h", "10:00:00", "0000-01-01 11:00:00"},
- {"09:00:10", "1h", "10:00:00", "0000-01-01 10:00:10"},
- {"09:00:10", "1m", "10:00:00", "0000-01-01 10:00:10"},
- {"09:00:10", "1s", "10:00:00", "0000-01-01 10:00:00"},
- {"09:00:10", "8h", "10:00:00", "0000-01-01 17:00:10"},
- {"09:00:10", "12h", "10:00:00", "0000-01-01 21:00:10"},
- {"09:00:10", "4h", "10:00:00", "0000-01-01 13:00:10"},
- {"09:00:10", "24h", "10:00:00", "0000-01-02 09:00:10"},
- {"09:00:10", "8h", "10:00:00", "0000-01-01 17:00:10"},
- }
- func TestGetNextPeriodTime(t *testing.T) {
- Convey("test get period", t, func() {
- for i, v := range periodTimeTest {
- //needTime, _ := time.Parse("15:04:05", v[0])
- period, _ := time.ParseDuration(v[1])
- now, _ := time.Parse("15:04:05", v[2])
- expected, _ := time.Parse("2006-01-02 15:04:05", v[3])
- actual, err := GetNextPeriodTime(v[0], period, now)
- So(err, ShouldEqual, nil)
- t.Logf("[%d]actual:+%v, expected:+%v", i, actual, expected)
- So(actual.Equal(expected), ShouldEqual, true)
- }
- })
- }
- func TestUnSetBit64(t *testing.T) {
- var (
- testCase = [][]int64{
- // attr, bit, result
- {1, 0, 0},
- {2, 0, 2},
- {2, 1, 0},
- {3, 1, 1},
- {3, 64, 3},
- }
- )
- Convey("test for unset bit 64", t, func() {
- for _, v := range testCase {
- So(UnSetBit64(v[0], uint(v[1])), ShouldEqual, v[2])
- }
- })
- }
|