@@ -30,9 +30,9 @@ class EvaluatorSpec extends FunSpec with Matchers {
30
30
31
31
it(" can load dependencies for an evaluation" ) {
32
32
val code = """
33
- import cats._
33
+ import cats._
34
34
35
- Eval.now(42).value
35
+ Eval.now(42).value
36
36
"""
37
37
val remotes = List (" https://oss.sonatype.org/content/repositories/releases/" )
38
38
val dependencies = List (
@@ -81,5 +81,47 @@ Eval.now(42).value
81
81
case EvalResult .Success (_, 42 , _) =>
82
82
}
83
83
}
84
+
85
+ it(" can run code from the exercises content" ) {
86
+ val code = """
87
+ import stdlib._
88
+ Asserts.scalaTestAsserts(true)
89
+ """
90
+ val remotes = List (" https://oss.sonatype.org/content/repositories/releases/" )
91
+ val dependencies = List (
92
+ (" org.scala-exercises" , " exercises-stdlib_2.11" , " 0.2.0" )
93
+ )
94
+
95
+ val result : EvalResult [Unit ] = evaluator.eval(
96
+ code,
97
+ remotes = remotes,
98
+ dependencies = dependencies
99
+ )
100
+
101
+ result should matchPattern {
102
+ case EvalResult .Success (_, (), _) =>
103
+ }
104
+ }
105
+
106
+ it(" captures exceptions when running the exercises content" ) {
107
+ val code = """
108
+ import stdlib._
109
+ Asserts.scalaTestAsserts(false)
110
+ """
111
+ val remotes = List (" https://oss.sonatype.org/content/repositories/releases/" )
112
+ val dependencies = List (
113
+ (" org.scala-exercises" , " exercises-stdlib_2.11" , " 0.2.0" )
114
+ )
115
+
116
+ val result : EvalResult [Unit ] = evaluator.eval(
117
+ code,
118
+ remotes = remotes,
119
+ dependencies = dependencies
120
+ )
121
+
122
+ result should matchPattern {
123
+ case EvalResult .EvalRuntimeError (_, Some (RuntimeError (err : TestFailedException , _))) =>
124
+ }
125
+ }
84
126
}
85
127
}
0 commit comments