/// <summary>
 /// 异步写入单点
 /// </summary>
 /// <param name="Value"></param>
 /// <param name="Start"></param>
 /// <param name="T"></param>
 public WriteInvoke(object Value, int Start, Type T)
 {
     PointValue = new WritePoint(Value, Start, T);
 }
示例#2
0
        static int Main(string[] args)
        {
            Console.WriteLine("Album Art Downloader XUI Script Tester");
            Console.WriteLine("(this is an internal development tool)");
            Console.WriteLine();

            if (!ScriptManager.CompileIfRequired())
            {
                WaitForExit(-1);
                return(-1); //Failed
            }
            ScriptManager.LoadScripts();

            //Create a lookup of script by name
            var scripts = ScriptManager.Scripts.ToDictionary(script => script.Name);

            WritePoint status = new WritePoint();

            Console.WriteLine();
            Console.WriteLine();

            //Read through test list
            using (var testList = File.OpenText(Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location), "TestList.txt")))
            {
                while (!testList.EndOfStream)
                {
                    string line = testList.ReadLine();
                    if (line == "END")
                    {
                        break;                 //Premature end requested
                    }
                    if (!line.StartsWith(";")) //; Used for comment marking
                    {
                        string[] fields = line.Split('\t');

                        IScript script;
                        if (scripts.TryGetValue(fields[0], out script))
                        {
                            using (status.WriteAt())
                            {
                                Console.Write(new String(' ', Console.WindowWidth - status.X));
                                Console.SetCursorPosition(status.X, status.Y);
                                Console.Write("Testing: " + script.Name);
                            }

                            TestScript(script, fields[1], fields[2]);
                        }
                        else
                        {
                            Console.WriteLine("WARNING: Could not find script: " + fields[0]);
                        }
                    }
                }
            }

            using (status.WriteAt())
            {
                Console.Write(new String(' ', Console.WindowWidth - status.X));
            }

            Console.WriteLine();
            Console.WriteLine("All tests complete");

            WaitForExit(0);
            return(0);
        }