61 lines
3.9 KiB
Go
61 lines
3.9 KiB
Go
package hw03_frequency_analysis //nolint:golint
|
||
|
||
import (
|
||
"testing"
|
||
|
||
"github.com/stretchr/testify/assert"
|
||
)
|
||
|
||
// Change to true if needed
|
||
var taskWithAsteriskIsCompleted = false
|
||
|
||
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))
|
||
}
|
||
})
|
||
}
|