This repository has been archived by the owner on May 1, 2024. It is now read-only.
forked from olebedev/when
-
Notifications
You must be signed in to change notification settings - Fork 0
/
casual_test.go
65 lines (54 loc) · 2.8 KB
/
casual_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
54
55
56
57
58
59
60
61
62
63
64
65
package ru_test
import (
"testing"
"time"
"github.com/geneva/when"
"github.com/geneva/when/rules"
"github.com/geneva/when/rules/ru"
)
func TestCasualDate(t *testing.T) {
fixt := []Fixture{
{"Это нужно сделать прямо сейчас", 33, "прямо сейчас", 0},
{"Это нужно сделать сегодня", 33, "сегодня", 0},
{"Это нужно сделать завтра вечером", 33, "завтра", time.Hour * 24},
{"Это нужно было сделать вчера вечером", 42, "вчера", -(time.Hour * 24)},
{"Это нужно сделать до завтра", 33, "до завтра", time.Hour * 24},
}
w := when.New(nil)
w.Add(ru.CasualDate(rules.Skip))
ApplyFixtures(t, "ru.CasualDate", w, fixt)
}
func TestCasualTime(t *testing.T) {
fixt := []Fixture{
{"Это нужно было сделать этим утром ", 42, "этим утром", 8 * time.Hour},
{"Это нужно сделать до обеда", 33, "до обеда", 12 * time.Hour},
{"Это нужно сделать после обеда", 33, "после обеда", 15 * time.Hour},
{"Это нужно сделать к вечеру", 33, "к вечеру", 18 * time.Hour},
{"вечером", 0, "вечером", 18 * time.Hour},
{"вечером", 0, "вечером", 18 * time.Hour},
}
w := when.New(nil)
w.Add(ru.CasualTime(rules.Skip))
ApplyFixtures(t, "ru.CasualTime", w, fixt)
}
func TestCasualDateCasualTime(t *testing.T) {
fixt := []Fixture{
{"Это нужно сделать завтра после обеда", 33, "завтра после обеда", (15 + 24) * time.Hour},
{"Это нужно сделать завтра утром", 33, "завтра утром", (8 + 24) * time.Hour},
{"Это нужно было сделать вчера утром", 42, "вчера утром", (8 - 24) * time.Hour},
{"Это нужно было сделать вчера после обеда", 42, "вчера после обеда", (15 - 24) * time.Hour},
{"помыть окна до вечера", 22, "до вечера", 18 * time.Hour},
{"помыть окна до обеда", 22, "до обеда", 12 * time.Hour},
{"сделать это к вечеру", 22, "к вечеру", 18 * time.Hour},
{"помыть окна завтра утром", 22, "завтра утром", 32 * time.Hour},
{"написать письмо во вторник после обеда", 50, "после обеда", 15 * time.Hour},
{"написать письмо до утра ", 30, "до утра", 8 * time.Hour},
{"к вечеру", 0, "к вечеру", 18 * time.Hour},
}
w := when.New(nil)
w.Add(
ru.CasualDate(rules.Skip),
ru.CasualTime(rules.Override),
)
ApplyFixtures(t, "ru.CasualDate|ru.CasualTime", w, fixt)
}