Files
kata-containers/src/runtime/virtcontainers/utils/compare_test.go
Julio Montes aec530904b runtime: virtcontainers/utils: fix govet fieldalignment
Fix structures alignment

Signed-off-by: Julio Montes <julio.montes@intel.com>
2021-07-20 11:59:15 -05:00

96 lines
1.8 KiB
Go

// Copyright (c) 2020 Intel Corporation
//
// SPDX-License-Identifier: Apache-2.0
//
package utils
import (
"testing"
"github.com/stretchr/testify/assert"
)
// nolint: govet
type ExampleStruct struct {
X int
Y string
}
func TestCompareStruct(t *testing.T) {
assert := assert.New(t)
var testStruct1, testStruct2 ExampleStruct
testStruct1 = ExampleStruct{1, "test"}
testStruct2 = ExampleStruct{1, "test"}
result := DeepCompare(testStruct1, testStruct2)
assert.True(result)
testStruct2 = ExampleStruct{2, "test"}
result = DeepCompare(testStruct1, testStruct2)
assert.False(result)
}
func TestCompareArray(t *testing.T) {
assert := assert.New(t)
a1 := [2]string{"test", "array"}
a2 := [2]string{"test", "array"}
result := DeepCompare(a1, a2)
assert.True(result)
a2 = [2]string{"test", "compare"}
result = DeepCompare(a1, a2)
assert.False(result)
a3 := [3]string{"test", "array", "compare"}
result = DeepCompare(a1, a3)
assert.False(result)
}
func TestCompareSlice(t *testing.T) {
assert := assert.New(t)
s1 := []int{1, 2, 3}
s2 := []int{1, 2, 3}
result := DeepCompare(s1, s2)
assert.True(result)
s2 = []int{1, 2, 4}
result = DeepCompare(s1, s2)
assert.False(result)
s2 = []int{1, 2, 3, 4}
result = DeepCompare(s1, s2)
assert.False(result)
}
func TestCompareMap(t *testing.T) {
assert := assert.New(t)
m1 := make(map[string]int)
m1["a"] = 1
m2 := make(map[string]int)
m2["a"] = 1
result := DeepCompare(m1, m2)
assert.True(result)
m1["b"] = 2
result = DeepCompare(m1, m2)
assert.False(result)
m2["b"] = 3
result = DeepCompare(m1, m2)
assert.False(result)
}
func TestDeepCompareValueFailure(t *testing.T) {
assert := assert.New(t)
a := [2]string{"test", "array"}
s := []string{"test", "array"}
result := DeepCompare(a, s)
assert.False(result)
}