public static void Run(string systemType, ArisConnection cxn, FrameListener frameListener) { SendCommand sendCmd = cmd => { Console.WriteLine("Sending command:"); Console.WriteLine(cmd.ToString()); cxn.SendCommand(cmd); }; (int, int, int, List <ValueTuple <string, string> >) RunTestCases() { var failures = new List <ValueTuple <string, string> >(); int testCaseCount = 0, passCount = 0; foreach (var testCase in testCases) { ++testCaseCount; string testName = null; var(passed, message) = testCase.Invoke(out testName, systemType, sendCmd, frameListener); if (testName == null) { throw new Exception("Name was not set in the " + testCaseCount + "th test case"); } passCount += passed ? 1 : 0; var prefix = passed ? "+++ PASS: "******"*** FAIL: "; Console.WriteLine("Test: " + testName); Console.WriteLine(prefix + message); if (!passed) { failures.Add((testName, message)); } } var failCount = testCaseCount - passCount; return(testCaseCount, passCount, failCount, failures); } var(total, passes, fails, failureInfo) = RunTestCases(); Console.WriteLine(); Console.WriteLine($"Tests completed. {total} test cases run, {passes} succeeded."); if (fails > 0) { Console.WriteLine($"*** {fails} test cases failed. ***"); foreach (var(testName, message) in failureInfo) { Console.WriteLine($" Failed: {testName}; {message}"); } } }
public static bool TryCreate(IPAddress arisIPAddr, out ArisConnection connection) { connection = null; var socket = new TcpClient(); socket.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true); var ep = new IPEndPoint(arisIPAddr, 56888); socket.Connect(ep); connection = new ArisConnection(socket); return(true); }