-
-
Notifications
You must be signed in to change notification settings - Fork 26
/
Copy pathtask_test.go
67 lines (59 loc) · 2.42 KB
/
task_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
66
67
package main
import (
"fmt"
"strings"
"testing"
)
type task struct {
K int
Input string
Result string
}
func TestTask(t *testing.T) {
var taskItems = generateTasks()
for i := 0; i < len(taskItems); i++ {
t.Run(fmt.Sprintf("Test %d", i+1), func(t *testing.T) {
res := solution(taskItems[i].K, strings.Split(taskItems[i].Input, " "))
if strings.Join(res, " ") != taskItems[i].Result {
t.Errorf("Неверный ответ решения!\nОтвет: %s \nВерно: %s", strings.Join(res, " "), taskItems[i].Result)
}
})
}
}
// generateTasks создает задачи для теста
func generateTasks() (tasks []task) {
tasks = append(
tasks,
task{
K: 5,
Input: "0 1 4 9 0",
Result: "0 1 2 1 0",
},
task{
K: 6,
Input: "0 7 9 4 8 20",
Result: "0 1 2 3 4 5",
},
task{
K: 9,
Input: "98 0 10 77 0 59 28 0 94",
Result: "1 0 1 1 0 1 1 0 1",
},
task{
K: 9,
Input: "64 68 37 11 77 80 48 82 0",
Result: "8 7 6 5 4 3 2 1 0",
},
task{
K: 20,
Input: "0 0 20 0 0 0 0 40 0 0 65 73 77 0 79 0 82 0 0 0",
Result: "0 0 1 0 0 0 0 1 0 0 1 2 1 0 1 0 1 0 0 0",
},
task{
K: 100,
Input: "453711875 549231112 912076297 728440337 860232213 322653209 595801117 131964447 791407655 609482791 273008693 254099001 151722051 529828428 0 390815834 897204836 424688243 579298440 478242441 902418060 691973261 270165665 895559842 518829753 823401147 979741378 312390349 343285456 985809106 593765082 71373021 565784798 285728478 723175133 486400741 432401639 685025521 211914482 473690361 373750524 862995200 617452294 165581579 2755862 493630230 31744281 976295195 607670044 71142175 765716256 538166053 435577128 675496237 604298033 151483194 81099067 454522683 881482563 464874309 330614599 717462344 481418070 0 177763673 120525148 558441830 958049644 841846639 428930419 382281077 977823099 820120446 405528454 242160011 816726924 143926672 160348052 178267038 792557476 30897064 294090152 348437423 366211509 342114231 340238782 442921409 7987654 569753033 521263055 618353106 344185810 505109467 904851934 769808356 443824105 900135920 42350064 399316990 0",
Result: "14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0",
},
)
return
}