Skip to content

Instantly share code, notes, and snippets.

@lazyval
lazyval / Example.scala
Created November 27, 2018 15:37
RecordMatcher failure example
import java.math.MathContext
import shapeless.datatype.record._
object Example extends App {
case class BigBoy(x: BigDecimal)
implicit def compareBigDecimals(x: BigDecimal, y: BigDecimal): Boolean = {
println("custom bigdecimal comparison invoked")
x.compareTo(y) == 0
@lazyval
lazyval / values.scala
Created November 25, 2019 18:44
Value classes example
class Meter(val value: Double) extends AnyVal {
def toFeet = new Feet(value * 3.281)
}
class Feet(val value: Double) extends AnyVal {
def toMeter = new Meter(value / 3.281)
}
object Example {
def convert(meter: Meter): Feet = {
meter.toFeet
@lazyval
lazyval / Example.scala
Created November 26, 2019 13:22
Scalacheck example for trivial scalatest violation
package com.spotify
import org.scalatest.prop.GeneratorDrivenPropertyChecks
import org.scalatest.{FlatSpec, Matchers}
class ExampleTest extends FlatSpec with Matchers with GeneratorDrivenPropertyChecks {
implicit override val generatorDrivenConfig =
PropertyCheckConfig(minSize = 100, maxSize = 200)
"strings" should "have same length when lowercased / uppercased" in {