Logo
Книга для начинающих
ВходРегистрация
/
Программирование
/
Курс Golang
/

Множественные операции над слайсами

Golang: Множественные операции над слайсами

Задание

Коммерческий опыт и Трудоустройство

Полезное

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются
Если вы столкнулись с трудностями и не знаете, что делать, задайте вопрос в нашем большом и дружном телеграм-сообществе
  1. Привет, Мир!
  2. Go, Go, Go
  3. Переменные
  4. Функции
  5. Логический тип
  6. Математика и числа
  7. Строки
  8. Полезные функции для строк
  9. Условные конструкции
  10. Альтернативная условная конструкция
  11. Константы
  12. Цикл For
  13. Структуры и методы в Go
  14. Генерация строк в циклах
  15. Указатели
  16. Возврат структур из функций
  17. Nil
  18. Преобразование типов
  19. Ошибки
  20. Анонимные функции (Лямбды)
  21. Массивы
  22. Срезы
  23. Цикл for и срезы
  24. Структуры в срезах
  25. Сравнение срезов
  26. Слайсы из срезов
  27. Множественные операции над слайсами
  28. Копирование срезов
  29. Передача срезов в функцию
  30. Сортировка срезов
  31. Карты
  32. Обход карт
  33. Хранение структур в картах
  34. Вложенные карты
  35. Практики использования карт
/
Программирование
/
Курс Golang
/

Множественные операции над слайсами

Golang: Множественные операции над слайсами

Задание

Коммерческий опыт и Трудоустройство

Полезное

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются
← ПредыдущийСледующий →
Loading...
← ПредыдущийСледующий →
← ПредыдущийСледующий →

Ваше упражнение проверяется по этим тестам

// Тесты
package solution

import (
	"testing"

	"github.com/stretchr/testify/assert"
)

func TestCompareProductLists(t *testing.T) {
	tests := []struct {
		name          string
		oldList       []string
		newList       []string
		expectedAdded []string
		expectedRem   []string
	}{
		{
			name:          "One added and one removed",
			oldList:       []string{"apple", "banana", "orange"},
			newList:       []string{"banana", "kiwi", "apple"},
			expectedAdded: []string{"kiwi"},
			expectedRem:   []string{"orange"},
		},
		{
			name:          "All new",
			oldList:       []string{},
			newList:       []string{"milk"},
			expectedAdded: []string{"milk"},
			expectedRem:   []string{},
		},
		{
			name:          "All removed",
			oldList:       []string{"bread"},
			newList:       []string{},
			expectedAdded: []string{},
			expectedRem:   []string{"bread"},
		},
		{
			name:          "No changes",
			oldList:       []string{"water"},
			newList:       []string{"water"},
			expectedAdded: []string{},
			expectedRem:   []string{},
		},
	}

	for _, tt := range tests {
		t.Run(tt.name, func(t *testing.T) {
			added, removed := CompareProductLists(tt.oldList, tt.newList)
			assert.ElementsMatch(t, tt.expectedAdded, added)
			assert.ElementsMatch(t, tt.expectedRem, removed)
		})
	}
}
← ПредыдущийСледующий →

Решение учителя откроется через:

20:00

waiting_clock
← ПредыдущийСледующий →