private void AssertConversion(string projectText, string initialCircuit) { TestSocket test = new TestSocket(new ProjectTester(this.TestContext, projectText, initialCircuit)); test.Tester.CircuitProject.InTransaction(() => { for (int i = 0; i < test.Tester.Input.Length; i++) { int bitWidth = test.Tester.Input[i].BitWidth; for (int value = 0; value < (1 << bitWidth); value++) { test.Tester.Input[i].Value = value; Assert.AreEqual(value, test.Tester.Input[i].Value, "Value set incorrectly"); Assert.IsTrue(test.Tester.CircuitState.Evaluate(true), "Evaluation should be successful"); Assert.AreEqual(value, test.Value(i, bitWidth), "Incorrect result"); } test.Tester.Input[i].Value = 1 << bitWidth; Assert.AreEqual(0, test.Tester.Input[i].Value, "Input should accept values < 1 << bitWidth"); } }); }