-
Notifications
You must be signed in to change notification settings - Fork 84
/
Copy pathweekday_test.go
53 lines (41 loc) · 1.91 KB
/
weekday_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package ru_test
import (
"testing"
"time"
"github.com/olebedev/when"
"github.com/olebedev/when/rules"
"github.com/olebedev/when/rules/ru"
)
func TestWeekday(t *testing.T) {
// current is Friday
fixt := []Fixture{
// past/last
{"это нужно было сделать в прошлый Понедельник", 45, "прошлый Понедельник", -(2 * 24 * time.Hour)},
{"прошлая суббота", 0, "прошлая суббота", -(4 * 24 * time.Hour)},
{"прошлая пятница", 0, "прошлая пятница", -(5 * 24 * time.Hour)},
{"в последнюю среду", 3, "последнюю среду", -(7 * 24 * time.Hour)},
{"в прошлый вторник", 3, "прошлый вторник", -(24 * time.Hour)},
// next
{"в следующий вторник", 3, "следующий вторник", 6 * 24 * time.Hour},
{"напиши мне в следующую среду, договоримся", 23, "следующую среду", 7 * 24 * time.Hour},
{"следующая суббота", 0, "следующая суббота", 3 * 24 * time.Hour},
{"в следующую суббота", 3, "следующую суббота", 3 * 24 * time.Hour},
// this
{"в этот вторник", 3, "этот вторник", -(24 * time.Hour)},
{"напиши мне в эту среду, договоримся", 23, "эту среду", 0},
{"эта суббота", 0, "эта суббота", 3 * 24 * time.Hour},
{"во вторник", 0, "во вторник", 6 * 24 * time.Hour},
{"в субботу", 0, "в субботу", 3 * 24 * time.Hour},
}
w := when.New(nil)
w.Add(ru.Weekday(rules.Override))
ApplyFixtures(t, "ru.Weekday", w, fixt)
}
func TestWeekdayNil(t *testing.T) {
fixt := []Fixture{
{"завтра", 0, "", 0},
}
w := when.New(nil)
w.Add(ru.Weekday(rules.Override))
ApplyFixturesNil(t, "ru.Weekday nil", w, fixt)
}