Exemplo n.º 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();
            }
        }
        public async Task 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);

                // 2. Stufe: Aus gesammelten Asteroiden ein
                //           Repository formen.
                var repository = collector.CreateRepository();

                // 3. Abfragen auf dem Repository formulieren und ausführen
                var qbld = repository.GetNewQueryBuilder();

                qbld.MinDiameterInKm = 10.0;
                qbld.MaxDiameterInKm = 50.0;

                // 4. Definition der Sortierreihenfolgen
                var SortBld = qbld.GetSortOrderBuilder();

                SortBld.OrderByDiameterAsc = true;

                // Gefilterte und Sortierte Menge als IFilteredSortedSet Objekte abrufen
                var fsSet = SortBld.GetFilteredSortedSet();
                Assert.IsTrue(fsSet.Any());

                // Zugrif auf die einzelnen Elemente
                var elems = fsSet.Get();
                Assert.IsTrue(elems.First().DiameterInKm > elems.Last().DiameterInKm);


                await qbld.EnqueueFilteredInAsync(queue);

                Ampel.WaitOne();
            }
            catch (Exception ex)
            {
                Assert.Fail();
            }
        }
Exemplo n.º 3
0
 public AsteroidsCollectorMVVM()
 {
     _collector = new AsteroidsCollector();
 }