public void UpdateFromHeader_DictionaryTest()
{
var status = new TwitterApiStatus();
var header = new Dictionary <string, string>
{
["X-Rate-Limit-Limit"] = "150",
["X-Rate-Limit-Remaining"] = "100",
["X-Rate-Limit-Reset"] = "1356998400",
["X-MediaRateLimit-Limit"] = "30",
["X-MediaRateLimit-Remaining"] = "20",
["X-MediaRateLimit-Reset"] = "1357084800",
["X-Access-Level"] = "read-write-directmessages",
};
Assert.Raises <TwitterApiStatus.AccessLimitUpdatedEventArgs>(
x => status.AccessLimitUpdated += x,
x => status.AccessLimitUpdated -= x,
() => status.UpdateFromHeader(header, "/statuses/home_timeline")
);
var rateLimit = status.AccessLimit["/statuses/home_timeline"];
Assert.Equal(150, rateLimit.AccessLimitCount);
Assert.Equal(100, rateLimit.AccessLimitRemain);
Assert.Equal(new DateTimeUtc(2013, 1, 1, 0, 0, 0), rateLimit.AccessLimitResetDate);
var mediaLimit = status.MediaUploadLimit;
Assert.Equal(30, mediaLimit.AccessLimitCount);
Assert.Equal(20, mediaLimit.AccessLimitRemain);
Assert.Equal(new DateTimeUtc(2013, 1, 2, 0, 0, 0), mediaLimit.AccessLimitResetDate);
Assert.Equal(TwitterApiAccessLevel.ReadWriteAndDirectMessage, status.AccessLevel);
}