From 3dbd2b5b55ebab748d0becfe3ed5d88181c1af72 Mon Sep 17 00:00:00 2001 From: Guntis Smaukstelis Date: Thu, 30 Jan 2025 22:57:32 +0200 Subject: [PATCH] Moved parser run to GribParserTest --- README.md | 2 +- src/main/scala/grib/GribParser.scala | 15 --------------- src/main/scala/grib/GribParserTest.scala | 22 ++++++++++++++++++++++ 3 files changed, 23 insertions(+), 16 deletions(-) create mode 100644 src/main/scala/grib/GribParserTest.scala diff --git a/README.md b/README.md index 38d932d..d0a7ed7 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ npm run dev ``` Run one file -```sbt "runMain grib.GribParser"``` +```sbt "runMain grib.GribParserTest"``` ## Backend Tech: - scala: cats-effects, http4s, fs2, circe, scalatest diff --git a/src/main/scala/grib/GribParser.scala b/src/main/scala/grib/GribParser.scala index ee88277..6721af8 100644 --- a/src/main/scala/grib/GribParser.scala +++ b/src/main/scala/grib/GribParser.scala @@ -1,28 +1,13 @@ package grib import cats.effect._ -import cats.effect.unsafe.implicits.global import fs2.io.file.{Files, Path} -import io.circe.generic.auto._ -import io.circe.syntax._ import java.nio.ByteBuffer import java.time.temporal.ChronoUnit import java.time.{ZoneOffset, ZonedDateTime} object GribParser { - def main(args: Array[String]): Unit = { - val fileName = "data/HARMONIE_DINI_SF_2025-01-24T030000Z_2025-01-26T010000Z.grib" - val path = Path(fileName) - - val program = for { - gribList <- parseFile(path) - json = gribList.asJson - _ <- IO.println(json.spaces2) - } yield () - - program.unsafeRunSync() - } def parseFile(path: Path): IO[List[Grib]] = { def loop(ptr: Long, acc: List[Grib]): IO[List[Grib]] = { for { diff --git a/src/main/scala/grib/GribParserTest.scala b/src/main/scala/grib/GribParserTest.scala new file mode 100644 index 0000000..dfcce88 --- /dev/null +++ b/src/main/scala/grib/GribParserTest.scala @@ -0,0 +1,22 @@ +package grib + +import cats.effect.IO +import fs2.io.file.Path +import io.circe.generic.auto._ +import io.circe.syntax._ +import cats.effect.unsafe.implicits.global + +object GribParserTest { + def main(args: Array[String]): Unit = { + val fileName = "data/HARMONIE_DINI_SF_2025-01-24T030000Z_2025-01-26T010000Z.grib" + val path = Path(fileName) + + val program = for { + gribList <- GribParser.parseFile(path) + json = gribList.asJson + _ <- IO.println(json.spaces2) + } yield () + + program.unsafeRunSync() + } +}