Unsafe Operations on Results
Unsafe Operations on Results
get is an unsafe operation
typecheck("Result.valid(42).get") must failWith("value get is not a member of validation.Result")
typecheck("Result.invalid(1337).get") must failWith("value get is not a member of validation.Result")
{import Result.unsafe._; Result.valid[Int, Int](42).get ==== 42}
{import Result.unsafe._; Result.invalid[Int, Int](1337).get must throwA[RuntimeException](message = "Result.invalid")}
getInvalid is an unsafe operation
typecheck("Result.valid(42).getInvalid") must failWith("value getInvalid is not a member of validation.Result")
typecheck("Result.invalid(1337).getInvalid") must failWith("value getInvalid is not a member of validation.Result")
{import Result.unsafe._; Result.valid[Int, Int](42).getInvalid must throwA[RuntimeException](message = "Result.valid")}
{import Result.unsafe._; Result.invalid[Int, Int](1337).getInvalid ==== NonEmptyVector(1337)}
foreach is an unsafe operation
typecheck("Result.valid(42).foreach(_ ==== 42)") must failWith("value foreach is not a member of validation.Result")
typecheck("Result.invalid(1337).foreach(_ ==== 1337)") must failWith("value foreach is not a member of validation.Result")
{import Result.unsafe._; Result.valid[Int, Int](42).foreach(_ ==== 42); true}
{import Result.unsafe._; Result.invalid[Int, Int](1337).foreach(_ ⇒ failure); true}