package rotation_test import ( "fmt" "gotest/rotation" "reflect" "testing" ) // Структура тестовых данных, input - входной массив, // iteration - колличество повторений, // output - ожидаеммый вывод type testdata struct { input []int iteration int output []int } // Входной, повторения, ожидания var test = []testdata{ {[]int{3, 8, 9, 7, 6}, 3, []int{9, 7, 6, 3, 8}}, {[]int{1, 2, 3, 4}, 4, []int{1, 2, 3, 4}}, {[]int{1, 2, 3, -1000}, 1, []int{-1000, 1, 2, 3}}, } func TestRotation(t *testing.T) { t.Run( "insert slices", func(t *testing.T) { for _, data := range test { // Передаём массив и повторения в функцию и записываем результат в переменную v := rotation.Rotation(data.input, data.iteration) // Сравниваем вывод с ожиданием if reflect.DeepEqual(v, data.output) != true { t.Error( "For: ", data.input, "Expected: ", data.output, "Got: ", v, ) } else { fmt.Println( "For: ", data.input, "Iterations", data.iteration, "Expected: ", data.output, "Got: ", v, ) } } }, ) }