32 lines
780 B
Go
32 lines
780 B
Go
package query_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
"go.datafortress.dev/pkg/central-arch-spec-models/query"
|
|
)
|
|
|
|
const (
|
|
MULTIPLE_LEVELS_QUERY_REF = "instruction:LDR_Base_Offset.binding:base"
|
|
FULLY_QUALIFIED_QUERY_REF = "c1:e1.c2:e2"
|
|
NOT_FULLY_QUALIFIED_QUERY_REF = "c1:e1.c2"
|
|
)
|
|
|
|
func TestRefParsing(t *testing.T) {
|
|
var ref query.Reference = MULTIPLE_LEVELS_QUERY_REF
|
|
var query, err = ref.Parse()
|
|
|
|
require.Nil(t, err)
|
|
|
|
var instrContainer = query.Container
|
|
require.Equal(t, "instruction", instrContainer.Name)
|
|
require.NotNil(t, instrContainer.NextElement)
|
|
|
|
var instrElement = instrContainer.NextElement
|
|
require.Equal(t, "LDR_Base_Offset", instrElement.Name)
|
|
require.NotNil(t, instrElement.NextContainer)
|
|
|
|
// TODO Continue testing
|
|
}
|