public async Task ReturnCorrectQueryByIdResult()
        {
            var(connection, options) = await CreateUniqueMockDbConnectionForThisTest();

            try
            {
                using (var context = new FittifyContext(options))
                {
                    var entityFromContext = await context
                                            .CardioSets
                                            .Include(i => i.ExerciseHistory)
                                            .FirstOrDefaultAsync(w => w.Id == 2);

                    var serializedEntitesFromContext = JsonConvert.SerializeObject(entityFromContext,
                                                                                   new JsonSerializerSettings()
                    {
                        ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                    });

                    var repo   = new CardioSetRepository(context);
                    var entity = await repo.GetById(2);

                    var serializedEntityFromRepo = JsonConvert.SerializeObject(entity,
                                                                               new JsonSerializerSettings()
                    {
                        ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                    });
                    Assert.AreEqual(serializedEntitesFromContext, serializedEntityFromRepo);
                }
            }
            finally
            {
                connection.Close();
            }
        }
        public async Task ReturnCorrectlyQueriedCollection()
        {
            var(connection, options) = await CreateUniqueMockDbConnectionForThisTest();

            try
            {
                using (var context = new FittifyContext(options))
                {
                    var entitiesFromContext = await context
                                              .CardioSets
                                              .Where(w =>
                                                     w.OwnerGuid == _ownerGuid &&
                                                     w.ExerciseHistoryId == 2 &&
                                                     w.DateTimeStart == new DateTime(1989, 11, 01, 14, 00, 00) &&
                                                     w.DateTimeEnd == new DateTime(1989, 11, 01, 16, 00, 00))
                                              .Include(i => i.ExerciseHistory)
                                              .ToListAsync();

                    var serializedEntitesFromContext = JsonConvert.SerializeObject(entitiesFromContext,
                                                                                   new JsonSerializerSettings()
                    {
                        ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                    });

                    var resourceParameters =
                        new CardioSetResourceParameters()
                    {
                        OwnerGuid         = _ownerGuid,
                        ExerciseHistoryId = 2,
                        FromDateTimeStart = new DateTime(1989, 11, 01, 14, 00, 00),
                        UntilDateTimeEnd  = new DateTime(1989, 11, 01, 16, 00, 00)
                    };
                    var repo       = new CardioSetRepository(context);
                    var collection = await repo.GetPagedCollection(resourceParameters);

                    var serializedEntitiesFromRepo = JsonConvert.SerializeObject(collection,
                                                                                 new JsonSerializerSettings()
                    {
                        ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                    });

                    Assert.AreEqual(serializedEntitesFromContext, serializedEntitiesFromRepo);
                }
            }
            finally
            {
                connection.Close();
            }
        }