2023-05-25 13:06:39 +03:00
|
|
|
package parse
|
|
|
|
|
|
|
|
|
|
import cats.effect.unsafe.implicits.global
|
2023-12-17 22:48:24 +02:00
|
|
|
//import db.FileService
|
2023-05-25 13:06:39 +03:00
|
|
|
import org.scalatest.funsuite.AnyFunSuite
|
|
|
|
|
import org.scalatest.matchers.should.Matchers
|
2025-02-14 14:46:31 +02:00
|
|
|
import parse.csv.Aggregate.{AggregateKey, DoubleValue, TimeDoubleList, UserQuery}
|
2023-05-25 13:06:39 +03:00
|
|
|
|
|
|
|
|
import java.time.LocalDateTime
|
|
|
|
|
import java.time.format.DateTimeFormatter
|
2023-07-03 23:17:43 +03:00
|
|
|
import java.time.temporal.ChronoUnit
|
2023-05-25 13:06:39 +03:00
|
|
|
import scala.collection.immutable.HashMap
|
|
|
|
|
|
|
|
|
|
class ParserSpec extends AnyFunSuite with Matchers {
|
|
|
|
|
|
2023-12-17 22:48:24 +02:00
|
|
|
// test("QueryData should return correct sum result") {
|
|
|
|
|
// val formatter = DateTimeFormatter.ofPattern("yyyyMMdd_HHmm")
|
|
|
|
|
// val from = LocalDateTime.parse("20230515_0905", formatter)
|
|
|
|
|
// val to = LocalDateTime.parse("20230516_0942", formatter)
|
|
|
|
|
// val userQuery = UserQuery(List("Bauska", "Dagda", "Daugavgrīva", "Rīga"), "precipitation", AggregateKey.Sum, ChronoUnit.HOURS)
|
|
|
|
|
//
|
|
|
|
|
// val fileService = FileService.of.unsafeRunSync()
|
|
|
|
|
//
|
|
|
|
|
// val lines = fileService.getInRange(from, to).unsafeRunSync()
|
|
|
|
|
// val parsed = Parser.queryData(userQuery, lines)
|
|
|
|
|
//
|
|
|
|
|
// parsed shouldBe HashMap(
|
|
|
|
|
// "Dagda" -> Some(DoubleValue(0.6)),
|
|
|
|
|
// "Rīga" -> Some(DoubleValue(7.9)),
|
|
|
|
|
// "Daugavgrīva" -> Some(DoubleValue(5.9)),
|
|
|
|
|
// "Bauska" -> Some(DoubleValue(3.0))
|
|
|
|
|
// )
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// test("QueryData should return correct list result") {
|
|
|
|
|
// val formatter = DateTimeFormatter.ofPattern("yyyyMMdd_HHmm")
|
|
|
|
|
// val from = LocalDateTime.parse("20230516_0400", formatter)
|
|
|
|
|
// val to = LocalDateTime.parse("20230516_0800", formatter)
|
|
|
|
|
// val userQuery = UserQuery(List("Rīga"), "precipitation", AggregateKey.List, ChronoUnit.HOURS)
|
|
|
|
|
//
|
|
|
|
|
// val fileService = FileService.of.unsafeRunSync()
|
|
|
|
|
//
|
|
|
|
|
// val lines = fileService.getInRange(from, to).unsafeRunSync()
|
|
|
|
|
// val parsed = Parser.queryData(userQuery, lines)
|
|
|
|
|
//
|
|
|
|
|
// parsed shouldBe HashMap(
|
|
|
|
|
// "Rīga" ->
|
|
|
|
|
// Some(TimeDoubleList(List(
|
|
|
|
|
// ("2023-05-16T04:00", Some(1.9)),
|
|
|
|
|
// ("2023-05-16T05:00", Some(4.5)),
|
|
|
|
|
// ("2023-05-16T06:00", Some(1.5)),
|
|
|
|
|
// ("2023-05-16T07:00", Some(0.0)),
|
|
|
|
|
// )))
|
|
|
|
|
// )
|
|
|
|
|
// }
|
2023-05-25 13:06:39 +03:00
|
|
|
}
|