github.com/iden3/go-circom-witnesscalc@v0.2.1-0.20230314155733-dd1f248a91b6/circom2witnesscalc_test.go (about) 1 package witnesscalc 2 3 import ( 4 "io/fs" 5 "io/ioutil" 6 "testing" 7 8 "github.com/stretchr/testify/require" 9 ) 10 11 const defaultFileMode = 0644 12 13 func TestCircom2CalculateWitness(t *testing.T) { 14 wasmBytes, err := ioutil.ReadFile("test_files/circom2/circuit.wasm") 15 require.NoError(t, err) 16 17 inputBytes, err := ioutil.ReadFile("test_files/circom2/input.json") 18 require.NoError(t, err) 19 20 calc, err := NewCircom2WitnessCalculator(wasmBytes, true) 21 require.NoError(t, err) 22 require.NotEmpty(t, calc) 23 24 inputs, err := ParseInputs(inputBytes) 25 require.NoError(t, err) 26 27 witness, err := calc.CalculateWitness(inputs, true) 28 require.NoError(t, err) 29 require.NotEmpty(t, witness) 30 } 31 32 func TestCircom2CalculateBinWitness(t *testing.T) { 33 wasmBytes, err := ioutil.ReadFile("test_files/circom2/circuit.wasm") 34 require.NoError(t, err) 35 36 inputBytes, err := ioutil.ReadFile("test_files/circom2/input.json") 37 require.NoError(t, err) 38 39 calc, err := NewCircom2WitnessCalculator(wasmBytes, true) 40 require.NoError(t, err) 41 require.NotEmpty(t, calc) 42 43 inputs, err := ParseInputs(inputBytes) 44 require.NoError(t, err) 45 46 witnessBytes, err := calc.CalculateBinWitness(inputs, true) 47 require.NoError(t, err) 48 require.NotEmpty(t, witnessBytes) 49 } 50 51 func TestCircom2CalculateWTNSBin(t *testing.T) { 52 wasmBytes, err := ioutil.ReadFile("test_files/circom2/circuit.wasm") 53 require.NoError(t, err) 54 55 inputBytes, err := ioutil.ReadFile("test_files/circom2/input.json") 56 require.NoError(t, err) 57 58 calc, err := NewCircom2WitnessCalculator(wasmBytes, true) 59 require.NoError(t, err) 60 require.NotEmpty(t, calc) 61 62 inputs, err := ParseInputs(inputBytes) 63 require.NoError(t, err) 64 65 wtnsBytes, err := calc.CalculateWTNSBin(inputs, true) 66 require.NoError(t, err) 67 require.NotEmpty(t, wtnsBytes) 68 69 _ = ioutil.WriteFile("test_files/circom2/witness.wtns", wtnsBytes, fs.FileMode(defaultFileMode)) 70 }