private void Check(List <string> inputs, List <ExtendedBitArray> args, List <ExtendedBitArray> prevStates, List <ExtendedBitArray> nextStates, List <bool> overrides, List <int> result) { var controller = new FlagsController(); for (var i = 0; i < inputs.Count; i++) { if (args != null) { controller.SetArgument(args[i]); } controller.SetPreviousState(prevStates[i]); controller.UpdateFlags(nextStates[i], inputs[i], overrides[i]); Assert.AreEqual(result[i], controller.Flags.NumValue()); } }