public void Cached_DynamoQuery_does_cached_duplicate_requests_when_MaxAge_Custom_Cached()
        {
            var request = new CustomQueryCacheMaxAgeDataRockstars();
            var client  = new CachedServiceClient(new JsonServiceClient(Config.ListeningOn));

            var response = client.Get(request);

            Assert.That(client.CacheHits, Is.EqualTo(0));
            Assert.That(response.Results.Count, Is.EqualTo(Rockstars.Count));

            response = client.Get(request);
            Assert.That(client.CacheHits, Is.EqualTo(1));
            Assert.That(response.Results.Count, Is.EqualTo(Rockstars.Count));

            response = client.Get(new CustomQueryCacheMaxAgeDataRockstars {
                Age = 27
            });
            Assert.That(client.CacheHits, Is.EqualTo(1));
            Assert.That(response.Results.Count, Is.EqualTo(Rockstars.Count(x => x.Age == 27)));
        }
        public void Cached_DynamoQuery_does_return_NotModified_when_MustRevalidate()
        {
            var request = new QueryCacheMustRevalidateDataRockstars();
            var client  = new CachedServiceClient(new JsonServiceClient(Config.ListeningOn));

            var response = client.Get(request);

            Assert.That(client.NotModifiedHits, Is.EqualTo(0));
            Assert.That(response.Results.Count, Is.EqualTo(Rockstars.Count));

            response = client.Get(request);
            Assert.That(client.NotModifiedHits, Is.EqualTo(1));
            Assert.That(response.Results.Count, Is.EqualTo(Rockstars.Count));

            response = client.Get(new QueryCacheMustRevalidateDataRockstars {
                Age = 27
            });
            Assert.That(client.CacheHits, Is.EqualTo(0));
            Assert.That(client.NotModifiedHits, Is.EqualTo(1));
            Assert.That(response.Results.Count, Is.EqualTo(Rockstars.Count(x => x.Age == 27)));
        }