github.com/consensys/gnark@v0.11.0/internal/regression_tests/issue1227/issue_1227_test.go (about)

     1  package issue1226
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/consensys/gnark/frontend"
     7  	"github.com/consensys/gnark/test"
     8  )
     9  
    10  type Circuit struct {
    11  	constVal int
    12  	X        frontend.Variable
    13  }
    14  
    15  func (circuit *Circuit) Define(api frontend.API) error {
    16  	api.AssertIsLessOrEqual(circuit.constVal, circuit.X)
    17  	return nil
    18  }
    19  
    20  func TestConstantPath(t *testing.T) {
    21  	assert := test.NewAssert(t)
    22  	assert.CheckCircuit(&Circuit{constVal: 1},
    23  		test.WithValidAssignment(&Circuit{X: 1}),   // 1 <= 1 --> true
    24  		test.WithInvalidAssignment(&Circuit{X: 0})) // 1 <= 0 --> false
    25  	// test edge case where constant is 0
    26  	assert.CheckCircuit(&Circuit{constVal: 0},
    27  		test.WithValidAssignment(&Circuit{X: 1}), // 0 <= 1 --> true
    28  		test.WithValidAssignment(&Circuit{X: 0})) // 0 <= 0 --> true
    29  }