public TestPlaceholderDatasetCombiner()
        {
            var fetcher = new FakePlaceholderFetcher();

            _logger = NullLogger.Instance;
            _albums = JsonArrayLoader.GetObjects(fetcher.GetAlbumsAsync().Result, _logger).ToList();
            _photos = JsonArrayLoader.GetObjects(fetcher.GetPhotosAsync().Result, _logger).ToList();
        }
        public void ExceptionIsThrownForInvalidJson()
        {
            //Arrange
            var json = "invalid";

            //Act/Assert
            var action = new Action(() => JsonArrayLoader.GetObjects(json, NullLogger.Instance).ToList());

            action.Should().Throw <InvalidJsonException>();
        }
        public void OnlyJObjectsAreReturned()
        {
            //Arrange
            var json = "[ 1, 2, 3, {a:4}, 5]";

            //Act
            var result = JsonArrayLoader.GetObjects(json, NullLogger.Instance).ToList();

            //Assert
            var expected = new object[] { JObject.Parse("{a:4}") };

            result.Should().BeEquivalentTo(expected);
        }
        public void JsonObjectsAreReturned()
        {
            //Arrange
            var fetcher = new FakePlaceholderFetcher();
            var json    = fetcher.GetAlbumsAsync().Result;
            var array   = JArray.Parse(json);

            //Act
            var objects = JsonArrayLoader.GetObjects(json, NullLogger.Instance);

            //Assert
            objects.Count().Should().Be(array.Count);
        }