Files
circom-starter/test/division.test.js
Blaine Bublitz f53e6251b2 feat: Implement testing using hardhat-circom utilities (#8)
chore: Utilize calculateLabeledWitness
chore: Update lockfile
2022-06-20 17:26:42 -07:00

44 lines
1.3 KiB
JavaScript

const hre = require("hardhat");
const { assert } = require("chai");
describe("division circuit", () => {
let circuit;
const sampleInput = {
x1: "13",
x2: "7",
x3: "4",
x4: "2",
};
const sanityCheck = true;
before(async () => {
circuit = await hre.circuitTest.setup("division");
});
it("produces a witness with valid constraints", async () => {
const witness = await circuit.calculateWitness(sampleInput, sanityCheck);
await circuit.checkConstraints(witness);
});
it("has expected witness values", async () => {
const witness = await circuit.calculateLabeledWitness(
sampleInput,
sanityCheck
);
assert.propertyVal(witness, "main.x1", sampleInput.x1);
assert.propertyVal(witness, "main.x2", sampleInput.x2);
assert.propertyVal(witness, "main.x3", sampleInput.x3);
assert.propertyVal(witness, "main.x4", sampleInput.x4);
assert.propertyVal(witness, "main.y1", undefined);
assert.propertyVal(witness, "main.y2", undefined);
assert.propertyVal(witness, "main.out", "3");
});
it("has the correct output", async () => {
const expected = { out: 3 };
const witness = await circuit.calculateWitness(sampleInput, sanityCheck);
await circuit.assertOut(witness, expected);
});
});