71 lines
1.6 KiB
Go
71 lines
1.6 KiB
Go
// Copyright 2018 The agentx authors
|
|
// Licensed under the LGPLv3 with static-linking exception.
|
|
// See LICENCE file for details.
|
|
|
|
package value_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
"github.com/posteo/go-agentx/value"
|
|
)
|
|
|
|
func TestCommonPrefix(t *testing.T) {
|
|
oid := value.MustParseOID("1.3.6.1.2")
|
|
result := oid.CommonPrefix(value.MustParseOID("1.3.6.1.4"))
|
|
assert.Equal(t, value.MustParseOID("1.3.6.1"), result)
|
|
}
|
|
|
|
func TestCompareOIDs_Less(t *testing.T) {
|
|
oid1 := value.OID{1, 3, 6, 1, 2}
|
|
oid2 := value.OID{1, 3, 6, 1, 4}
|
|
|
|
// oid1 < oid2
|
|
expected := -1
|
|
assert.Equal(t, expected, value.CompareOIDs(oid1, oid2))
|
|
}
|
|
|
|
func TestCompareOIDs_Greater(t *testing.T) {
|
|
oid1 := value.OID{1, 3, 6, 1, 2}
|
|
oid2 := value.OID{1, 3, 6, 1, 4}
|
|
|
|
// oid2 > oid1
|
|
expected := 1
|
|
assert.Equal(t, expected, value.CompareOIDs(oid2, oid1))
|
|
}
|
|
|
|
func TestCompareOIDs_Equals(t *testing.T) {
|
|
oid1 := value.OID{1, 3, 6, 1, 4}
|
|
oid2 := value.OID{1, 3, 6, 1, 4}
|
|
|
|
// oid1 == oid2
|
|
expected := 0
|
|
assert.Equal(t, expected, value.CompareOIDs(oid1, oid2))
|
|
}
|
|
|
|
func TestCompareOIDs_NilValue(t *testing.T) {
|
|
oid1 := value.OID{1, 3, 6, 1, 4}
|
|
var oid2 value.OID
|
|
|
|
// oid2 is nil, thus oid1 is greater
|
|
expected := 1
|
|
assert.Equal(t, expected, value.CompareOIDs(oid1, oid2))
|
|
}
|
|
|
|
func TestSortOIDs(t *testing.T) {
|
|
var oidList []value.OID
|
|
oid1 := value.OID{1, 3, 6, 1}
|
|
oid2 := value.OID{1, 3, 6, 5, 7}
|
|
oid3 := value.OID{1, 3, 6, 1, 12}
|
|
oid4 := value.OID{1, 3, 6, 5}
|
|
|
|
oidList = append(oidList, oid1, oid2, oid3, oid4)
|
|
value.SortOIDs(oidList)
|
|
|
|
var expect []value.OID
|
|
expect = append(expect, oid1, oid3, oid4, oid2)
|
|
assert.Equal(t, expect, oidList)
|
|
}
|