diff --git a/image/shared/src/main/scala/eu/joaocosta/minart/graphics/image/ImageWriter.scala b/image/shared/src/main/scala/eu/joaocosta/minart/graphics/image/ImageWriter.scala index 1ae64f7d..1c3b47d3 100644 --- a/image/shared/src/main/scala/eu/joaocosta/minart/graphics/image/ImageWriter.scala +++ b/image/shared/src/main/scala/eu/joaocosta/minart/graphics/image/ImageWriter.scala @@ -35,6 +35,6 @@ trait ImageWriter { */ def toByteArray(surface: Surface): Either[String, Array[Byte]] = { val os = new ByteArrayOutputStream() - storeImage(surface, os).map(_ => os.toByteArray) + storeImage(surface, os).right.map(_ => os.toByteArray) } } diff --git a/image/shared/src/main/scala/eu/joaocosta/minart/graphics/image/helpers/ByteReader.scala b/image/shared/src/main/scala/eu/joaocosta/minart/graphics/image/helpers/ByteReader.scala index 99220d15..bac008c8 100644 --- a/image/shared/src/main/scala/eu/joaocosta/minart/graphics/image/helpers/ByteReader.scala +++ b/image/shared/src/main/scala/eu/joaocosta/minart/graphics/image/helpers/ByteReader.scala @@ -118,7 +118,7 @@ object ByteReader { val buffer = List.newBuilder[Int] while (bufferedBytes.hasNext && p(bufferedBytes.head)) { buffer += bufferedBytes.head - bufferedBytes.next + bufferedBytes.next() } bufferedBytes -> buffer.result() } diff --git a/image/shared/src/main/scala/eu/joaocosta/minart/graphics/image/helpers/ByteWriter.scala b/image/shared/src/main/scala/eu/joaocosta/minart/graphics/image/helpers/ByteWriter.scala index d6ed20b3..915b4da9 100644 --- a/image/shared/src/main/scala/eu/joaocosta/minart/graphics/image/helpers/ByteWriter.scala +++ b/image/shared/src/main/scala/eu/joaocosta/minart/graphics/image/helpers/ByteWriter.scala @@ -45,7 +45,7 @@ trait ByteWriter[F[_]] { object ByteWriter { object LazyListByteWriter extends ByteWriter[LazyList] { def toOutputStream[E](data: ByteStreamState[E], os: OutputStream): Either[E, Unit] = - data.run(LazyList.empty[Array[Byte]]).map { case (s, _) => + data.run(LazyList.empty[Array[Byte]]).right.map { case (s, _) => s.foreach(bytes => os.write(bytes)) } @@ -59,7 +59,7 @@ object ByteWriter { object IteratorByteWriter extends ByteWriter[Iterator] { def toOutputStream[E](data: ByteStreamState[E], os: OutputStream): Either[E, Unit] = - data.run(Iterator.empty[Array[Byte]]).map { case (s, _) => + data.run(Iterator.empty).right.map { case (s, _) => s.foreach(bytes => os.write(bytes)) } diff --git a/image/shared/src/test/scala/eu/joaocosta/minart/graphics/image/ImageWriterSpec.scala b/image/shared/src/test/scala/eu/joaocosta/minart/graphics/image/ImageWriterSpec.scala index b3b6e490..2e15a31b 100644 --- a/image/shared/src/test/scala/eu/joaocosta/minart/graphics/image/ImageWriterSpec.scala +++ b/image/shared/src/test/scala/eu/joaocosta/minart/graphics/image/ImageWriterSpec.scala @@ -11,12 +11,12 @@ object ImageWriterSpec extends BasicTestSuite { def roundtripTest(baseResource: Resource, imageFormat: ImageLoader with ImageWriter) = { val (oldPixels, newPixels) = (for { - original <- imageFormat.loadImage(baseResource).get + original <- imageFormat.loadImage(baseResource).get.right.toOption originalPixels = original.getPixels().map(_.toVector) - stored <- imageFormat.toByteArray(original) - loaded <- imageFormat.fromByteArray(stored) + stored <- imageFormat.toByteArray(original).right.toOption + loaded <- imageFormat.fromByteArray(stored).right.toOption loadedPixels = loaded.getPixels().map(_.toVector) - } yield (originalPixels, loadedPixels)).toOption.get + } yield (originalPixels, loadedPixels)).get assert(oldPixels == newPixels) }