2022-09-20 01:56:29 +03:00
|
|
|
|
package missing_test
|
2022-09-30 23:35:21 +03:00
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"fmt"
|
|
|
|
|
"gotest/missing"
|
|
|
|
|
"testing"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
// Структура тестовых данных, input - входной массив,
|
|
|
|
|
// output - ожидаеммый вывод
|
|
|
|
|
|
|
|
|
|
type testdata struct {
|
|
|
|
|
input []int
|
|
|
|
|
output int
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Входной, повторения, ожидания
|
|
|
|
|
|
|
|
|
|
var test = []testdata{
|
|
|
|
|
{[]int{1, 2, 4, 3, 6}, 5},
|
|
|
|
|
{[]int{1, 2, 3, 5}, 4},
|
|
|
|
|
{[]int{1, 2, 4, 3, -6}, -6},
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestMissing(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
t.Run(
|
|
|
|
|
"insert slices", func(t *testing.T) {
|
|
|
|
|
for _, data := range test {
|
|
|
|
|
// Передаём массив и повторения в функцию и записываем результат в переменную
|
|
|
|
|
v := missing.FindNumber(data.input)
|
|
|
|
|
// Сравниваем вывод с ожиданием
|
|
|
|
|
if v != data.output {
|
|
|
|
|
t.Error(
|
|
|
|
|
"For: ", data.input,
|
|
|
|
|
"Expected: ", data.output,
|
|
|
|
|
"Got: ", v,
|
|
|
|
|
)
|
|
|
|
|
} else {
|
|
|
|
|
fmt.Println(
|
|
|
|
|
"For: ", data.input,
|
|
|
|
|
"Expected: ", data.output,
|
|
|
|
|
"Got: ", v,
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
}
|