//checks output when changing control bit public override bool TestGate() { Control.Value = 1; String first_string = "["; String second_string = "["; for (int i = 0; i < Size; i++) { Input[i].Value = 1; first_string = first_string + "1"; second_string = second_string + "0"; } first_string = first_string + "]"; second_string = second_string + "]"; if (!Output1.ToString().Equals(second_string) || !Output2.ToString().Equals(first_string)) { return(false); } Control.Value = 0; if (!Output1.ToString().Equals(first_string) || !Output2.ToString().Equals(second_string)) { return(false); } return(true); }