示例#1
0
        private void ValidateActivity(ActivitiesStats stats)
        {
            stats.Lifetime.Total.CaloriesOut.Should().Be(60223);
            stats.Lifetime.Total.Distance.Should().Be(2711.62);
            stats.Lifetime.Total.Floors.Should().Be(2500);
            stats.Lifetime.Total.Steps.Should().Be(203300);

            stats.Lifetime.Tracker.CaloriesOut.Should().Be(27565);
            stats.Lifetime.Tracker.Distance.Should().Be(2579.82);
            stats.Lifetime.Tracker.Floors.Should().Be(2500);
            stats.Lifetime.Tracker.Steps.Should().Be(106934);

            stats.Best.Total.CaloriesOut.Date.Should().Be(new DateTime(2012, 01, 07));
            stats.Best.Total.CaloriesOut.Value.Should().Be(4015);
            stats.Best.Total.Distance.Date.Should().Be(new DateTime(2012, 01, 07));
            stats.Best.Total.Distance.Value.Should().Be(20.31597);
            stats.Best.Total.Floors.Date.Should().Be(new DateTime(2012, 01, 29));
            stats.Best.Total.Floors.Value.Should().Be(14);
            stats.Best.Total.Steps.Date.Should().Be(new DateTime(2012, 01, 07));
            stats.Best.Total.Steps.Value.Should().Be(26901);

            stats.Best.Tracker.CaloriesOut.Date.Should().Be(new DateTime(2012, 01, 07));
            stats.Best.Tracker.CaloriesOut.Value.Should().Be(5699);
            stats.Best.Tracker.Distance.Date.Should().Be(new DateTime(2012, 01, 07));
            stats.Best.Tracker.Distance.Value.Should().Be(20.31597);
            stats.Best.Tracker.Floors.Date.Should().Be(new DateTime(2012, 01, 29));
            stats.Best.Tracker.Floors.Value.Should().Be(14);
            stats.Best.Tracker.Steps.Date.Should().Be(new DateTime(2012, 01, 07));
            stats.Best.Tracker.Steps.Value.Should().Be(26901);
        }
示例#2
0
        public void Can_Deserialize_Activities()
        {
            string content      = SampleDataHelper.GetContent("ActivitiesStats.json");
            var    deserializer = new JsonDotNetSerializer();

            ActivitiesStats stats = deserializer.Deserialize <ActivitiesStats>(content);

            ValidateActivity(stats);
        }
        public async Task GetActivityStatsAsync_Success()
        {
            string content = SampleDataHelper.GetContent("ActivitiesStats.json");

            Func <HttpResponseMessage> responseMessage = new Func <HttpResponseMessage>(() =>
            {
                return(new HttpResponseMessage(HttpStatusCode.OK)
                {
                    Content = new StringContent(content)
                });
            });

            Action <HttpRequestMessage, CancellationToken> verification = new Action <HttpRequestMessage, CancellationToken>((message, token) =>
            {
                Assert.AreEqual(HttpMethod.Get, message.Method);
                Assert.AreEqual("https://api.fitbit.com/1/user/-/activities.json", message.RequestUri.AbsoluteUri);
            });

            FitbitClient fitbitClient = Helper.CreateFitbitClient(responseMessage, verification);

            ActivitiesStats response = await fitbitClient.GetActivitiesStatsAsync();

            ValidateActivity(response);
        }