/
uzer_007
/
Rixea
Обзор
Документация
Войти
/
uzer_007
/
Rixea
Код
Запросы
0
Задачи
Вики
Пакеты
5
Релизы
2
CI/CD
Аналитика
Безопасность
master
modules/util/diff_slice_test.go
74 строки
2 KB
uzer_007
feat: первая версия Rixea
02 авг 2026, 22:16
02 авг 2026, 22:16
d4f7504
Код
Авторство
О чём код?
// Copyright 2026 Uzer_007. All rights reserved. // SPDX-License-Identifier: MIT package util import ( "testing" "github.com/stretchr/testify/assert" ) func TestDiffSliceBasic(t *testing.T) { // Typical integer cases t.Run("additions", func(t *testing.T) { added, removed := DiffSlice([]int{1, 2}, []int{1, 2, 3}) assert.Equal(t, []int{3}, added) assert.Empty(t, removed) }) t.Run("removals", func(t *testing.T) { added, removed := DiffSlice([]int{1, 2, 3}, []int{1, 2}) assert.Empty(t, added) assert.Equal(t, []int{3}, removed) }) t.Run("no changes", func(t *testing.T) { added, removed := DiffSlice([]int{1, 2}, []int{1, 2}) assert.Empty(t, added) assert.Empty(t, removed) }) t.Run("empty slices", func(t *testing.T) { added, removed := DiffSlice([]int{}, []int{}) assert.Empty(t, added) assert.Empty(t, removed) }) t.Run("overlapping elements", func(t *testing.T) { added, removed := DiffSlice([]int{1, 2, 4}, []int{2, 3, 4}) assert.Equal(t, []int{3}, added) assert.Equal(t, []int{1}, removed) }) } func TestDiffSliceOrderAndDuplicates(t *testing.T) { oldSlice := []int{1, 2, 2, 3} newSlice := []int{2, 4, 2, 5} added, removed := DiffSlice(oldSlice, newSlice) assert.Equal(t, []int{4, 5}, added) assert.Equal(t, []int{1, 3}, removed) } func TestDiffSliceDeduplicatesOutput(t *testing.T) { // Test case from issue: newSlice contains [4, 4, 5] and oldSlice is [1] // added should return [4, 5], not [4, 4, 5] t.Run("deduplicates added", func(t *testing.T) { added, removed := DiffSlice([]int{1}, []int{4, 4, 5}) assert.Equal(t, []int{4, 5}, added) assert.Equal(t, []int{1}, removed) }) t.Run("deduplicates removed", func(t *testing.T) { added, removed := DiffSlice([]int{1, 1, 2}, []int{3}) assert.Equal(t, []int{3}, added) assert.Equal(t, []int{1, 2}, removed) }) t.Run("deduplicates both", func(t *testing.T) { added, removed := DiffSlice([]int{1, 1, 2, 2}, []int{3, 3, 4, 4}) assert.Equal(t, []int{3, 4}, added) assert.Equal(t, []int{1, 2}, removed) }) }