Ejemplo n.º 1
0
        public void T02_LoadResultsFromResultsXmlTest()
        {
            var results = ImportController.LoadResultsFromXmlIntoCollections().ToList();

            Assert.AreEqual(10, results.GroupBy(res => res.Team).Count());
            Assert.AreEqual(24, results.GroupBy(res => res.Driver).Count());
            Assert.AreEqual(300, results.Count);
        }
        public void T03_LoadVerstappenResults()
        {
            // Lade Verstappens Platzierungen in ein anonymes Objekt { City, Position }
            // Sortiert nach der Rennnummer
            var results    = ImportController.LoadResultsFromXmlIntoCollections().ToList();
            var verstappen = results
                             .Where(s => s.Driver.Lastname.Contains("Verstappen"))
                             .OrderBy(s => s.Race.Number)
                             .ToArray();

            Assert.AreEqual(15, verstappen.Length);
            Assert.AreEqual(5, verstappen[0].Position);
            Assert.AreEqual(1, verstappen[14].Position);
        }
Ejemplo n.º 3
0
        public void T03_LoadVettelsResults()
        {
            // Lade Vettels Platzierungen in ein anonymes Objekt { City, Position}
            // Sortiert nach der Rennnummer
            // Assert.Fail("Not implemented!");
            var resultsList = ImportController.LoadResultsFromXmlIntoCollections().ToList();
            var results     = resultsList.OrderBy(o => o.Race.Number)
                              .Where(w => w.Driver.Name == "Vettel Sebastian")
                              .Select(sV => new
            {
                City     = sV.Race.City,
                Position = sV.Position,
            }).ToList();

            Assert.AreEqual(1, results[0].Position);
            Assert.AreEqual(4, results[7].Position);
            Assert.AreEqual(18, results[13].Position);
        }
Ejemplo n.º 4
0
        public void T04_LoadVerstappenResults()
        {
            // Lade Verstappens Platzierungen in ein anonymes Objekt { City, Position }
            // Sortiert nach der Rennnummer
            var results    = ImportController.LoadResultsFromXmlIntoCollections().ToArray();
            var endResults = results
                             .Where(res => res.Driver.Name.Equals("Verstappen Max"))
                             .OrderBy(res => res.Race.Number)
                             .ToList();

            Assert.AreEqual(21, endResults.Count);

            Assert.AreEqual(10, endResults[0].Position);
            Assert.AreEqual("Melbourne", endResults[0].Race.City);

            Assert.AreEqual(6, endResults[14].Position);
            Assert.AreEqual("Marina Bay", endResults[14].Race.City);
        }
Ejemplo n.º 5
0
        public async Task D03_LoadResults_Get_Teams_Drivers_Races()
        {
            string dbName = Guid.NewGuid().ToString();

            using (ApplicationDbContext dbContext = GetDbContext(dbName))
            {
                var results = ImportController.LoadResultsFromXmlIntoCollections().ToList();

                dbContext.Results.AddRange(results);

                await dbContext.SaveChangesAsync();
            }
            using (ApplicationDbContext dbContext = GetDbContext(dbName))
            {
                Assert.AreEqual(11, dbContext.Teams.Count());
                Assert.AreEqual(24, dbContext.Drivers.Count());
                Assert.AreEqual(21, dbContext.Races.Count());
            }
        }
        static async Task Main(string[] args)
        {
            Console.WriteLine("Import der Rennen und Ergebnisse in die Datenbank");
            using (ApplicationDbContext dbContext = new ApplicationDbContext())
            {
                await ResetDatabaseAsync();

                Console.WriteLine("Daten werden von results.xml eingelesen");

                var results = ImportController.LoadResultsFromXmlIntoCollections().ToArray();
                if (results.Length == 0)
                {
                    Console.WriteLine("!!! Es wurden keine Rennergebnisse eingelesen");
                    return;
                }
                Console.WriteLine($"  Es wurden {results.Count()} Rennergebnisse eingelesen!");
                dbContext.Results.AddRange(results);
                Console.WriteLine("Ergebnisse werden in Datenbank gespeichert (persistiert)");
                await dbContext.SaveChangesAsync();

                Console.Write("Beenden mit Eingabetaste ...");
                Console.ReadLine();
            }
        }