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(); } }
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")); } }