public void GetAllAlbums_Should_Return_Correct_Result(bool initializeWithData)
        {
            Initialize(initializeWithData);
            var service = new AlbumPhotoService(_cacheClient, _albumRepository, _photoRepository);
            var result  = service.GetAllAlbums();

            if (initializeWithData)
            {
                Assert.IsNotNull(result);
                Assert.AreEqual(result.Count, 3);

                //Check Album1
                Assert.AreEqual(result[0].Id, 1);
                Assert.AreEqual(result[0].UserId, 1);
                Assert.AreEqual(result[0].Title, "Album1");

                Assert.AreEqual(result[0].Photos.Count, 1);
                Assert.AreEqual(result[0].Photos[0].Id, 1);
                Assert.AreEqual(result[0].Photos[0].AlbumId, 1);
                Assert.AreEqual(result[0].Photos[0].Title, "Photo1");
                Assert.AreEqual(result[0].Photos[0].Url, "a");

                //Check Album2
                Assert.AreEqual(result[1].Id, 2);
                Assert.AreEqual(result[1].UserId, 2);
                Assert.AreEqual(result[1].Title, "Album2");

                Assert.AreEqual(result[1].Photos.Count, 2);
                Assert.AreEqual(result[1].Photos[0].Id, 2);
                Assert.AreEqual(result[1].Photos[0].AlbumId, 2);
                Assert.AreEqual(result[1].Photos[0].Title, "Photo2");
                Assert.AreEqual(result[1].Photos[0].Url, "b");
                Assert.AreEqual(result[1].Photos[1].Id, 3);
                Assert.AreEqual(result[1].Photos[1].AlbumId, 2);
                Assert.AreEqual(result[1].Photos[1].Title, "Photo3");
                Assert.AreEqual(result[1].Photos[1].Url, "b");

                //Check Album3
                Assert.AreEqual(result[2].Id, 3);
                Assert.AreEqual(result[2].UserId, 2);
                Assert.AreEqual(result[2].Title, "Album3");

                Assert.AreEqual(result[2].Photos.Count, 1);
                Assert.AreEqual(result[2].Photos[0].Id, 4);
                Assert.AreEqual(result[2].Photos[0].AlbumId, 3);
                Assert.AreEqual(result[2].Photos[0].Title, "Photo4");
                Assert.AreEqual(result[2].Photos[0].Url, "c");
            }
            else
            {
                Assert.IsNotNull(result);
                Assert.AreEqual(result.Count, 0);
            }
        }