public void ChangeFeedRequestOptions_AddsStartTime()
        {
            RequestMessage request = new RequestMessage();
            ChangeFeedStartFromRequestOptionPopulator visitor = new ChangeFeedStartFromRequestOptionPopulator(request);

            ChangeFeedStartFrom.Time(new DateTime(1985, 1, 1, 0, 0, 0, DateTimeKind.Utc)).Accept(visitor);

            Assert.AreEqual(
                expected: "Tue, 01 Jan 1985 00:00:00 GMT",
                actual: request.Headers[Documents.HttpConstants.HttpHeaders.IfModifiedSince]);
            Assert.IsNull(request.Headers.IfNoneMatch);
        }
        public void ChangeFeedRequestOptions_AddsFeedRange()
        {
            FeedRange feedRange = new FeedRangePartitionKeyRange("randomPK");

            ChangeFeedStartFrom[] froms = new ChangeFeedStartFrom[]
            {
                ChangeFeedStartFrom.Beginning(feedRange),
                ChangeFeedStartFrom.Now(feedRange),
                ChangeFeedStartFrom.Time(DateTime.MinValue.ToUniversalTime(), feedRange)
            };

            foreach (ChangeFeedStartFrom from in froms)
            {
                RequestMessage request = new RequestMessage();
                ChangeFeedStartFromRequestOptionPopulator visitor = new ChangeFeedStartFromRequestOptionPopulator(request);
                from.Accept(visitor);

                Assert.AreEqual(
                    expected: "randomPK",
                    actual: request.PartitionKeyRangeId.PartitionKeyRangeId);
            }
        }