示例#1
0
        public void TestLoadFileToDatabase()
        {
            var configuration = new ConfigurationBuilder()
                                .AddInMemoryCollection(new Dictionary <string, string>()
            {
                { "ConnectionStrings:Default", "Data Source=geosports.db" }
            }).Build();

            var dbContext = new OpenSportLogContext(configuration);

            dbContext.Database.EnsureDeleted();
            dbContext.Database.Migrate();

            string         path     = @"data\data_tiny.fitlog";
            FitLogImporter importer = new FitLogImporter();

            List <ActivityEntity> activities = new List <ActivityEntity>();
            var athlete = new AthleteEntity(activities, "Sample", 1);

            dbContext.Athletes.Add(athlete);

            using (FileStream fs = File.OpenRead(path))
            {
                foreach (var activity in importer.ImportActivitiesStream(fs, new Dictionary <string, ACTIVITY_SPORT> {
                    { "e41b80e4-fa5f-48e3-95be-d0e66b72ab7c", ACTIVITY_SPORT.BIKING },
                    { "eca38408-cb82-42ed-b242-166b43b785a6", ACTIVITY_SPORT.RUNNING },
                    { "6f2fdaf9-4c5a-4c2c-a4fa-5be42e9733dd", ACTIVITY_SPORT.SWIMMING }
                }))
                {
                    athlete.Activities.Add(activity);
                }
            }
            dbContext.SaveChanges();
            var count = dbContext.Athletes.CountAsync().GetAwaiter().GetResult();

            Assert.AreEqual(1, count);

            count = dbContext.Athletes.Include(a => a.Activities).CountAsync().GetAwaiter().GetResult();
            Assert.AreEqual(1, count);

            var activitiesRead = dbContext.Athletes.Include(a => a.Activities).ToList()[0].Activities;

            Assert.IsTrue(activitiesRead.Count > 0);

            var tracksPointsRead = dbContext.Athletes
                                   .FirstOrDefault()
                                   .Activities
                                   .FirstOrDefault()
                                   .Tracks
                                   .FirstOrDefault()
                                   .TrackSegments
                                   .FirstOrDefault()
                                   .TrackPoints;

            Assert.IsTrue(tracksPointsRead.Count > 0);

            //dbContext.Database.EnsureDeleted();
        }
示例#2
0
        public void TestCreateDatabase()
        {
            var configuration = new ConfigurationBuilder()
                                .AddInMemoryCollection(new Dictionary <string, string>()
            {
                { "ConnectionStrings:Default", "Data Source=geosports.db" }
            }).Build();

            var dbContext = new OpenSportLogContext(configuration);

            dbContext.Database.EnsureDeleted();
            dbContext.Database.Migrate();
            //dbContext.Database.EnsureDeleted();
        }