Example #1
0
        public void AsteroidsDAL_CSV_ReadCSV()
        {
            // 1. Stufe: Einlesen der Asteroiden aus der CSV- Datei
            //    und erfassen im Sammler
            AsteroidsBL.IAsteroidsCollector collector = new AsteroidsCollector();
            try
            {
                var reader = new AsteroidsCSVReader("Asteroids.csv", 2);
                while (!reader.EOF)
                {
                    var asteroid = reader.Read();
                    collector.Add(asteroid);
                }

                Assert.IsTrue(collector.Count > 0);

                var repo = collector.CreateRepository();

                var view      = new Impl.ViewMockUp();
                var presenter = new Impl.PresenterV1(view, repo);

                presenter.BtnNewClick();

                Assert.IsFalse(view.EnableNewBtn);
                Assert.IsTrue(view.EnableDiameterMaxInKm);
                Assert.IsTrue(view.EnableDiameterMinInKm);
                Assert.IsTrue(view.EnableOrbitSunRadiusMaxInAU);
                Assert.IsTrue(view.EnableOrbitSunRadiusMinInAU);
                Assert.IsFalse(view.EnableFilterBtn);

                view.DiameterMinInKm = 100.0;
                //view.OrbitSunRadiusMinInAU = 3.0;

                presenter.BtnDefSortClick();

                Assert.IsFalse(view.EnableSortBtn);
                Assert.IsFalse(view.EnableDiameterMaxInKm);
                Assert.IsFalse(view.EnableDiameterMinInKm);
                Assert.IsFalse(view.EnableOrbitSunRadiusMaxInAU);
                Assert.IsFalse(view.EnableOrbitSunRadiusMinInAU);
                Assert.IsTrue(view.EnableFilterBtn);

                Assert.IsTrue(view.EnableSortByDiameterAsc);
                Assert.IsTrue(view.EnableSortByOrbitSunRadiusAsc);

                view.SortByDiameterAsc = false;

                presenter.BtnFilterClick();


                Assert.IsTrue(view.AsteroidSelection.Any());
                var res = view.AsteroidSelection.Get();
            }
            catch (Exception ex)
            {
                Assert.Fail();
            }
        }
Example #2
0
        private async void openToolStripMenuItem_Click(object sender, EventArgs e)
        {
            tabControl1.SelectedTab = tabImportCSV;

            if (openAsteroidsCSV.ShowDialog() == DialogResult.OK)
            {
                // Erfassung vorbereiten
                mko.TraceHlp.ThrowArgExIfNot(File.Exists(openAsteroidsCSV.FileName), "Die Datei " + openAsteroidsCSV.FileName + " existiert nicht");


                collector = new AsteroidsBL.AsteroidsCollector();

                //UpdateCollectorCounterTimer.Enabled = true;
                UpdateCollectorCounterTimer.Start();

                log.Log(mko.Log.RC.CreateStatus("Einlesevorgang gestartet"));

                await Task.Run(() =>
                {
                    var reader = new AsteroidsDAL.CSV.AsteroidsCSVReader(openAsteroidsCSV.FileName, 2);

                    // geht nicht aus einem anderen Thread
                    //lblImportCsvCountAsteroids.Text = "HAllo";

                    while (!reader.EOF)
                    {
                        collector.Add(reader.Read());
                    }
                });

                UpdateCollectorCounterTimer.Stop();

                //UpdateCollectorCounterTimer_Tick(null, null);

                repo      = collector.CreateRepository();
                presenter = new Impl.PresenterV1(this, repo);

                log.Log(mko.Log.RC.CreateStatus("Einlesen erfolgreich beendet"));
            }
        }