Skip to content

Commit

Permalink
Merge pull request #162 from aarondcoleman/issue161
Browse files Browse the repository at this point in the history
Issue161 - Fixing Intraday Minute
  • Loading branch information
mxa0079 committed Mar 10, 2016
2 parents 926af4d + 21de1c5 commit 10655f4
Show file tree
Hide file tree
Showing 6 changed files with 40 additions and 6 deletions.
3 changes: 3 additions & 0 deletions Fitbit.Portable.Tests/Fitbit.Portable.Tests.csproj
Expand Up @@ -231,6 +231,9 @@
<None Include="SampleData\GetFriends-Multiple.json" />
<None Include="SampleData\GetDevices-Double.json" />
<None Include="SampleData\GetDevices-Single.json" />
<Content Include="SampleData\IntradayActivitiesSteps.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<Content Include="SampleData\ApiError.json">
Expand Down
32 changes: 31 additions & 1 deletion Fitbit.Portable.Tests/IntradayTimeSeriesTests.cs
Expand Up @@ -13,7 +13,7 @@ public class IntradayTimeSeriesTests
{
[Test]
[Category("Portable")]
public async void GetIntraDayTimeSeriesAsync_Success()
public async void GetIntraDayTimeSeriesCaloriesIntensityMetsAsync_Success()
{
DateTime expectedResult = new DateTime(2015, 3, 20, 0, 1, 0);

Expand All @@ -33,6 +33,36 @@ public async void GetIntraDayTimeSeriesAsync_Success()
var response = await fitbitClient.GetIntraDayTimeSeriesAsync(IntradayResourceType.CaloriesOut, new DateTime(2015, 3, 20), new TimeSpan(24, 0, 0));

response.DataSet[1].Time.Should().Be(expectedResult);
response.DataSet[1].METs.Should().Be("10");
response.DataSet[1].Level.Should().Be("0");
response.DataSet[1].Value.Should().Be("1.1857000589370628");

}

[Test]
[Category("Portable")]
public async void GetIntraDayTimeSeriesStepsAsync_Success()
{
DateTime expectedResult = new DateTime(2016, 3, 8, 0, 1, 0);

string content = SampleDataHelper.GetContent("IntradayActivitiesSteps.json");
var responseMessage = new Func<HttpResponseMessage>(() =>
{
return new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(content) };
});

var verification = new Action<HttpRequestMessage, CancellationToken>((message, token) =>
{
message.Method.Should().Be(HttpMethod.Get);
message.RequestUri.AbsoluteUri.Should().Be("https://api.fitbit.com/1/user/-/activities/steps/date/2016-03-08/1d.json");
});

var fitbitClient = Helper.CreateFitbitClient(responseMessage, verification);
var response = await fitbitClient.GetIntraDayTimeSeriesAsync(IntradayResourceType.Steps, new DateTime(2016, 3, 8), new TimeSpan(24, 0, 0));

response.DataSet[1].Time.Should().Be(expectedResult);
response.DataSet[1].Value.Should().Be("2");

}
}
}

Large diffs are not rendered by default.

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions Fitbit.Portable/JsonDotNetSerializerExtensions.cs
Expand Up @@ -154,9 +154,9 @@ internal static IntradayData GetIntradayTimeSeriesData(this JsonDotNetSerializer
select new IntradayDataValues
{
Time = DateTime.Parse(date + " " + item["time"]),
Value = item["value"].ToString(),
METs = item["value"].ToString(),
Level = item["level"].ToString()
Value = item["value"].ToObject<double>().ToString("R"), //converting to double is required to keep precision
METs = item["mets"] != null ? item["mets"].ToString() : null,
Level = item["level"] != null ? item["level"].ToString() : null
}).ToList()
};

Expand Down
2 changes: 1 addition & 1 deletion NuGet/package/Fitbit.dev.nuspec
Expand Up @@ -2,7 +2,7 @@
<package >
<metadata>
<id>Fitbit.NET</id>
<version>2.0.0$buildNumber$-RC2-Dev</version>
<version>2.1.0$buildNumber$-RC2-Dev</version>
<title>Fitbit.NET</title>
<authors>Fitbit.Net contributors Team -- @WestDiscGolf, @aarondcoleman, @mxa0079</authors>
<owners></owners>
Expand Down

0 comments on commit 10655f4

Please sign in to comment.