devicepath/pci_test.go

39 lines
960 B
Go

package devicepath_test
import (
"testing"
"git.faercol.me/faercol/devicepath"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestToString(t *testing.T) {
t.Run("Only digits", func(t *testing.T) {
expected := "Pci(0x0,0x1)"
dev := devicepath.NewPCIDevicePath(0, 1)
assert.Equal(t, expected, dev.String())
})
t.Run("Letters", func(t *testing.T) {
expected := "Pci(0x2,0xa)"
dev := devicepath.NewPCIDevicePath(2, 10)
assert.Equal(t, expected, dev.String())
})
}
func TestParsePCIString(t *testing.T) {
t.Run("OK device < 16", func(t *testing.T) {
rawStr := "Pci(0x0,0x1)"
var dev devicepath.PCIDevicePath
require.NoError(t, dev.ParseString(rawStr))
assert.Equal(t, rawStr, dev.String())
})
t.Run("OK device > 16", func(t *testing.T) {
rawStr := "Pci(0x1f,0x2)"
var dev devicepath.PCIDevicePath
require.NoError(t, dev.ParseString(rawStr))
assert.Equal(t, rawStr, dev.String())
})
}