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

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

                //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");
            }
            else
            {
                Assert.IsNotNull(result);
                Assert.AreEqual(result.Count, 0);
            }
        }
        public void GetPhoto_Should_Return_Correct_Result(bool initializeWithData)
        {
            Initialize(initializeWithData);
            var service = new AlbumPhotoService(_cacheClient, _albumRepository, _photoRepository);
            var result  = service.GetPhoto(1);

            if (initializeWithData)
            {
                Assert.IsNotNull(result);
                Assert.AreEqual(result.Id, 1);
                Assert.AreEqual(result.AlbumId, 1);
                Assert.AreEqual(result.Title, "Photo1");
                Assert.AreEqual(result.Url, "a");
            }
            else
            {
                Assert.IsNull(result);
            }
        }
        public void GetAllPhotos_Should_Return_Correct_Result(bool initializeWithData)
        {
            Initialize(initializeWithData);
            var service = new AlbumPhotoService(_cacheClient, _albumRepository, _photoRepository);
            var result  = service.GetAllPhotos();

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

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

                //Check Photo2
                Assert.AreEqual(result[1].Id, 2);
                Assert.AreEqual(result[1].AlbumId, 2);
                Assert.AreEqual(result[1].Title, "Photo2");
                Assert.AreEqual(result[1].Url, "b");

                //Check Photo3
                Assert.AreEqual(result[2].Id, 3);
                Assert.AreEqual(result[2].AlbumId, 2);
                Assert.AreEqual(result[2].Title, "Photo3");
                Assert.AreEqual(result[2].Url, "b");

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