コード例 #1
0
ファイル: Raw.cs プロジェクト: rumstil/eqlogparser
        public void Parse_Valid()
        {
            var raw = LogRawEvent.Parse("[Wed Feb 20 18:02:00 2019] LOADING, PLEASE WAIT...");

            Assert.NotNull(raw);
            Assert.Equal(new DateTime(2019, 2, 20, 18, 2, 00).ToUniversalTime(), raw.Timestamp);
            Assert.Equal("LOADING, PLEASE WAIT...", raw.Text);
        }
コード例 #2
0
ファイル: Raw.cs プロジェクト: rumstil/eqlogparser
        public void Parse_Invalid()
        {
            var raw = LogRawEvent.Parse("");

            Assert.Null(raw);

            raw = LogRawEvent.Parse("Wed Feb 20 18:02:00 2019] LOADING, PLEASE WAIT...");
            Assert.Null(raw);
        }
コード例 #3
0
ファイル: Utils.cs プロジェクト: rumstil/eqlogparser
        /// <summary>
        /// Perform timing tests on all parsers.
        /// </summary>
        public static void TimeParsers(LogReader file)
        {
            var parser = new LogParser();

            parser.Player = LogOpenEvent.GetPlayerFromFileName(file.Path);

            // load raw log lines once
            var etimer = Stopwatch.StartNew();
            var events = new List <LogRawEvent>();

            while (true)
            {
                var s = file.ReadLine();
                if (s == null)
                {
                    break;
                }
                var e = LogRawEvent.Parse(s);
                if (e != null)
                {
                    events.Add(e);
                }
            }
            ;
            Console.Error.WriteLine("Loaded {0} events in {1}", events.Count, etimer.Elapsed);

            // time individual parsers
            foreach (var p in parser.Parsers)
            {
                var ptimer = Stopwatch.StartNew();
                var pcount = 0;
                foreach (var e in events)
                {
                    var result = p.Invoke(e);
                    if (result != null && !(result is LogRawEvent))
                    {
                        pcount++;
                    }
                }
                Console.Error.WriteLine("{0,-20} {1,10} in {2}", p.Method.DeclaringType.Name, pcount, ptimer.Elapsed);
            }

            Console.WriteLine("***");
        }