public ImageModel Get(ImageLinkModel model)
		{
			var book = retriever.GetById(model.Id);
			var preparedImage = preparer.Prepare(model.Width, model.Height, book.Image, "png");

			return new ImageModel(preparedImage, "image/png");
		}
		public void Get_GivenIdForBook_ShouldCallImagePreparerWithBooksDetails()
		{
			var book = GetBookWithImageSimulatedToExist();

			var linkModel = new ImageLinkModel {Id = book.Id};

			endpoint.Get(linkModel);

			preparer.AssertWasCalled(x => x.Prepare(linkModel.Width, linkModel.Height, book.Image, "png"));
		}
		public void Get_GivenIdForBook_ShouldCollborateWithImagePreparer_ToGetImage()
		{
			var book = GetBookWithImageSimulatedToExist();
			
			var imageData = new byte[] {1, 2, 3, 4, 5, 6};
			preparer.Stub(x => x.Prepare(1, 1, null, "")).Return(imageData).IgnoreArguments();

			var linkModel = new ImageLinkModel {Id = book.Id};

			var output = endpoint.Get(linkModel);

			Assert.AreEqual(imageData, output.Data);
		}