예제 #1
0
        public void SetUp()
        {
            _file = MockRepository.GenerateMock<IFile>();
            _recentActivities = new RecentActivities(_file);

            _recentActivities.Update(FIRST_ACTIVITY);
        }
예제 #2
0
        List <Activity> CreateActivityDataWithActivities(CMMotionActivity[] activities, Action completionHandler)
        {
            var results = new List <Activity> ();

            var group = DispatchGroup.Create();
            var queue = new DispatchQueue("resultQueue");

            var filteredActivities = activities.Where(activity => activity.HasActivitySignature() &&
                                                      !activity.Stationary &&
                                                      activity.Confidence != CMMotionActivityConfidence.Low).ToArray <CMMotionActivity> ();

            var activitySegments = FindActivitySegments(filteredActivities);

            foreach (var segment in activitySegments)
            {
                group.Enter();
                pedometer.QueryPedometerData(segment.Item1.StartDate, (NSDate)segment.Item2, (pedometerData, error) => {
                    queue.DispatchAsync(() => {
                        var activity = new Activity(segment.Item1,
                                                    ((DateTime)segment.Item1.StartDate).ToLocalTime(),
                                                    segment.Item2.ToLocalTime(),
                                                    pedometerData);

                        results.Add(activity);
                    });

                    if (error != null)
                    {
                        HandleError(error);
                    }

                    group.Leave();
                });
            }

            group.Notify(DispatchQueue.MainQueue, () => {
                queue.DispatchSync(() => {
                    RecentActivities = results;
                    RecentActivities.Reverse();
                    completionHandler?.Invoke();
                });
            });

            return(results);
        }
예제 #3
0
        public void SetUp()
        {
            _file = MockRepository.GenerateStub<IFile>();
            _recentActivities = new RecentActivities(_file);

            _recentActivities.Update(EXISTING_ACTIVITY_NAME);
            _recentActivities.Update(SECOND_ACTIVITY_NAME);
            _recentActivities.Update(THIRD_ACTIVITY_NAME);
        }
예제 #4
0
        public void SetUp()
        {
            _file = MockRepository.GenerateStub<IFile>();
            _recentActivities = new RecentActivities(_file);

            foreach(string activity in _activities)
                _recentActivities.Update(activity);
        }