Skip to content

Commit

Permalink
Fix arbs
Browse files Browse the repository at this point in the history
  • Loading branch information
geirolz committed Sep 6, 2024
1 parent 071130b commit 232c06e
Showing 1 changed file with 8 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,28 +16,23 @@

package dev.profunktor.fs2rabbit.testing

import dev.profunktor.fs2rabbit.model.AmqpFieldValue.DecimalVal
import dev.profunktor.fs2rabbit.model.AmqpFieldValue.{DecimalVal, TimestampVal}
import org.scalacheck._

import java.time.Instant
import java.util.Date

object RabbitStdDataArbs {

implicit val bigDecimalArb: Arbitrary[BigDecimal] =
Arbitrary(Arbitrary.arbBigDecimal.arbitrary.filter(DecimalVal.from(_).isDefined))
implicit def bigDecimalArb(implicit a: Arbitrary[DecimalVal]): Arbitrary[BigDecimal] =
Arbitrary(a.arbitrary.map(_.sizeLimitedBigDecimal))

implicit val bigIntArb: Arbitrary[BigInt] =
implicit def bigIntArb(implicit a: Arbitrary[DecimalVal]): Arbitrary[BigInt] =
Arbitrary(bigDecimalArb.arbitrary.map(_.toBigInt))

implicit val arbInstant: Arbitrary[Instant] =
Arbitrary(Arbitrary.arbInstant.arbitrary.map(_.truncatedTo(java.time.temporal.ChronoUnit.SECONDS)))

implicit val arbDate: Arbitrary[Date] =
Arbitrary(
Arbitrary.arbDate.arbitrary
.map(_.toInstant.truncatedTo(java.time.temporal.ChronoUnit.SECONDS))
.map(Date.from)
)
implicit def arbInstant(implicit a: Arbitrary[TimestampVal]): Arbitrary[Instant] =
Arbitrary(a.arbitrary.map(_.instantWithOneSecondAccuracy))

implicit def arbDate(implicit a: Arbitrary[TimestampVal]): Arbitrary[Date] =
Arbitrary(a.arbitrary.map(_.toValueWriterCompatibleJava))
}

0 comments on commit 232c06e

Please sign in to comment.