コード例 #1
0
        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}");
                }
            }
        }
コード例 #2
0
        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);
        }