github.com/alkemics/goflow@v0.2.1/checkers/cycles/check_test.go (about)

     1  package cycles_test
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/require"
     7  
     8  	"github.com/alkemics/goflow"
     9  	"github.com/alkemics/goflow/checkers/cycles"
    10  	"github.com/alkemics/goflow/gfutil/gfgo"
    11  	"github.com/alkemics/goflow/wrappers/after"
    12  	"github.com/alkemics/goflow/wrappers/bind"
    13  	"github.com/alkemics/goflow/wrappers/gonodes"
    14  	"github.com/alkemics/goflow/wrappers/varnames"
    15  )
    16  
    17  func TestCycles(t *testing.T) {
    18  	var loader gfgo.NodeLoader
    19  	err := loader.Load("github.com/alkemics/goflow/example/nodes")
    20  	require.NoError(t, err)
    21  
    22  	wrappers := []goflow.GraphWrapper{
    23  		gonodes.Wrapper(&loader),
    24  		bind.Wrapper,
    25  		varnames.Wrapper,
    26  		goflow.FromNodeWrapper(after.Wrapper),
    27  		varnames.CompilableWrapper,
    28  	}
    29  
    30  	checkers := []goflow.Checker{
    31  		cycles.Check,
    32  	}
    33  	require.NoError(t, gfgo.TestCheck(t, wrappers, checkers, "ok.yml"))
    34  	require.Error(t, gfgo.TestCheck(t, wrappers, checkers, "ko.yml"))
    35  }