Skip to content
This repository has been archived by the owner on May 12, 2021. It is now read-only.

Commit

Permalink
Merge pull request #2932 from cmaf/unittest-virtcontainers-utils-compare
Browse files Browse the repository at this point in the history
virtcontainers: Add unit test for utils/compare.go
  • Loading branch information
jodh-intel authored Sep 8, 2020
2 parents 5f11f43 + 0868c2a commit 038a700
Showing 1 changed file with 94 additions and 0 deletions.
94 changes: 94 additions & 0 deletions virtcontainers/utils/compare_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
// Copyright (c) 2020 Intel Corporation
//
// SPDX-License-Identifier: Apache-2.0
//

package utils

import (
"testing"

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

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)
}

0 comments on commit 038a700

Please sign in to comment.