github.com/operator-framework/operator-lifecycle-manager@v0.30.0/pkg/controller/registry/resolver/solver/constraints_test.go (about)

     1  package solver
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  )
     8  
     9  func TestOrder(t *testing.T) {
    10  	type tc struct {
    11  		Name       string
    12  		Constraint Constraint
    13  		Expected   []Identifier
    14  	}
    15  
    16  	for _, tt := range []tc{
    17  		{
    18  			Name:       "mandatory",
    19  			Constraint: Mandatory(),
    20  		},
    21  		{
    22  			Name:       "prohibited",
    23  			Constraint: Prohibited(),
    24  		},
    25  		{
    26  			Name:       "dependency",
    27  			Constraint: Dependency("a", "b", "c"),
    28  			Expected:   []Identifier{"a", "b", "c"},
    29  		},
    30  		{
    31  			Name:       "conflict",
    32  			Constraint: Conflict("a"),
    33  		},
    34  	} {
    35  		t.Run(tt.Name, func(t *testing.T) {
    36  			assert.Equal(t, tt.Expected, tt.Constraint.order())
    37  		})
    38  	}
    39  }