forked from gregobal/otus-go
-
Notifications
You must be signed in to change notification settings - Fork 0
/
top_test.go
60 lines (54 loc) · 3.88 KB
/
top_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
package hw03_frequency_analysis //nolint:golint
import (
"testing"
"github.com/stretchr/testify/assert"
)
// Change to true if needed
var taskWithAsteriskIsCompleted = true
var text = `Как видите, он спускается по лестнице вслед за своим
другом Кристофером Робином, головой вниз, пересчитывая
ступеньки собственным затылком: бум-бум-бум. Другого способа
сходить с лестницы он пока не знает. Иногда ему, правда,
кажется, что можно бы найти какой-то другой способ, если бы он
только мог на минутку перестать бумкать и как следует
сосредоточиться. Но увы - сосредоточиться-то ему и некогда.
Как бы то ни было, вот он уже спустился и готов с вами
познакомиться.
- Винни-Пух. Очень приятно!
Вас, вероятно, удивляет, почему его так странно зовут, а
если вы знаете английский, то вы удивитесь еще больше.
Это необыкновенное имя подарил ему Кристофер Робин. Надо
вам сказать, что когда-то Кристофер Робин был знаком с одним
лебедем на пруду, которого он звал Пухом. Для лебедя это было
очень подходящее имя, потому что если ты зовешь лебедя
громко: "Пу-ух! Пу-ух!"- а он не откликается, то ты всегда
можешь сделать вид, что ты просто понарошку стрелял; а если ты
звал его тихо, то все подумают, что ты просто подул себе на
нос. Лебедь потом куда-то делся, а имя осталось, и Кристофер
Робин решил отдать его своему медвежонку, чтобы оно не пропало
зря.
А Винни - так звали самую лучшую, самую добрую медведицу
в зоологическом саду, которую очень-очень любил Кристофер
Робин. А она очень-очень любила его. Ее ли назвали Винни в
честь Пуха, или Пуха назвали в ее честь - теперь уже никто не
знает, даже папа Кристофера Робина. Когда-то он знал, а теперь
забыл.
Словом, теперь мишку зовут Винни-Пух, и вы знаете почему.
Иногда Винни-Пух любит вечерком во что-нибудь поиграть, а
иногда, особенно когда папа дома, он больше любит тихонько
посидеть у огня и послушать какую-нибудь интересную сказку.
В этот вечер...`
func TestTop10(t *testing.T) {
t.Run("no words in empty string", func(t *testing.T) {
assert.Len(t, Top10(""), 0)
})
t.Run("positive test", func(t *testing.T) {
if taskWithAsteriskIsCompleted {
expected := []string{"он", "а", "и", "что", "ты", "не", "если", "то", "его", "кристофер", "робин", "в"}
assert.Subset(t, expected, Top10(text))
} else {
expected := []string{"он", "и", "а", "что", "ты", "не", "если", "-", "то", "Кристофер"}
assert.ElementsMatch(t, expected, Top10(text))
}
})
}