public void EventShouldFireWhenFileIsChanged()
        {
            var systems    = new List <StarSystem>();
            var watcher    = new NetLogWatcher();
            var fileName   = "test.log";
            var path       = CreateFile(fileName);
            var pathToFile = string.Format(path + "\\{0}", fileName);

            watcher.Watcher.Path = path;


            // C:\dev\EliteExpeditionLog\EliteExpeditionLog\testdata
            // 15-10-30-18:47 Eastern Summer Time  (22:47 GMT) - part 1
            // {19:59:51} System:322(Floawns JM-W f1-322) Body:2 Pos:(9.94721e+009,6.32041e+009,-9.21425e+009) cruising
            watcher.OnNewPosition += delegate(object sender, NetLogWatcherEventArgs e) {
                systems.Add(e.CurrentSystem);
            };

            watcher.Start();


            WriteFile(pathToFile, "Some text");
            WriteFile(pathToFile, "{19:59:51} System:322(Floawns JM-W f1-322) Body:2 Pos:(9.94721e+009,6.32041e+009,-9.21425e+009) cruising");
            Thread.Sleep(100);
            Assert.True(systems.Count > 0);
        }
예제 #2
0
        // events
        private async void EliteExplorer_Load(object sender, EventArgs e)
        {
            if (ParseUser.CurrentUser != null)
            {
                // do stuff with the user
                _user = UserMapper.Map(ParseUser.CurrentUser);
            }
            else
            {
                // show the signup or login screen
                if (!ConfigurationManager.AppSettings.HasKeys())
                {
                    // TODO: Form Popup to signup
                    ConfigurationManager.AppSettings.Add("commander", "The Mule");
                }
                else
                {
                    // TODO: Login screen popup
                    var login = new Login();
                    var a     = true;
                    while (a)
                    {
                        if (login.ShowDialog() == DialogResult.OK)
                        {
                            var commander = login.UsernameText;
                            var pass      = login.PasswordText;

                            try {
                                await ParseUser.LogInAsync(commander, pass);

                                // Login was successful.
                                a = !a;
                            } catch (Exception ex) {
                                // The login failed. Check the error to see why.
                                MessageBox.Show(ex.Message);
                            }
                        }
                    }
                }
            }

            _persistentStore      = new ParsePersistentStore(_user);
            _watcher              = new NetLogWatcher(_persistentStore);
            _watcher.Watcher.Path = @"C:\Users\John Goode\AppData\Local\Frontier_Developments\Products\FORC-FDEV-D-1003\Logs";
            // C:\Users\John Goode\AppData\Local\Frontier_Developments\Products\FORC-FDEV-D-1003\Logs
            _watcher.OnNewPosition += new NetLogWatcherHandler(this.NewPosition);
            //_watcher.SystemFound += _watcher_SystemFound;
            _watcher.Start();
        }
예제 #3
0
        public void TestStart()
        {
            INetLogWatcher logWatcher = new NetLogWatcher();

            Assert.IsTrue(logWatcher.Status == NetLogWatcherStatus.Initialized);

            logWatcher.Start();
            Assert.IsTrue(logWatcher.Status == NetLogWatcherStatus.NoPath);
            var path = @"c:\EliteLogTestFiles";

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }

            logWatcher.Watcher.Path = path;
            Assert.IsTrue(logWatcher.Watcher.Path == path);
            logWatcher.Start();
            Assert.IsTrue(logWatcher.Status == NetLogWatcherStatus.Started);
            Assert.IsTrue(logWatcher.Watcher.EnableRaisingEvents);
        }