Files
marte_dev_tools/test/isolation_test.go
2026-02-02 14:26:19 +01:00

38 lines
880 B
Go

package integration
import (
"testing"
"github.com/marte-community/marte-dev-tools/internal/index"
"github.com/marte-community/marte-dev-tools/internal/parser"
)
func TestIsolatedFileIsolation(t *testing.T) {
pt := index.NewProjectTree()
// File 1: Project file
f1 := "#package P\n+A = { Class = C }"
p1 := parser.NewParser(f1)
c1, _ := p1.Parse()
pt.AddFile("f1.marte", c1)
// File 2: Isolated file
f2 := "+B = { Class = C }"
p2 := parser.NewParser(f2)
c2, _ := p2.Parse()
pt.AddFile("f2.marte", c2)
pt.ResolveReferences()
// Try finding A from f2
isoNode := pt.IsolatedFiles["f2.marte"]
if pt.ResolveName(isoNode, "A", nil) != nil {
t.Error("Isolated file f2 should not see global A")
}
// Try finding B from f1
pNode := pt.Root.Children["P"]
if pt.ResolveName(pNode, "B", nil) != nil {
t.Error("Project file f1 should not see isolated B")
}
}