feat(scala): m01–m06 port with shared fixtures
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
045029639e
commit
1e186733d1
23 files changed
+771
-2
No files matched your search
@@ -0,0 +1,31 @@
|
||||
package snake
|
||||
|
||||
import Fixtures.*
|
||||
|
||||
class M03RulesSuite extends munit.FunSuite:
|
||||
cases("m03-move").foreach { c =>
|
||||
test(s"move: ${c("name").str}") {
|
||||
val a = c("args")
|
||||
assertEquals(Rules.move(point(a(0)), direction(a(1))), point(c("expected")))
|
||||
}
|
||||
}
|
||||
|
||||
cases("m03-in-bounds").foreach { c =>
|
||||
test(s"inBounds: ${c("name").str}") {
|
||||
val a = c("args")
|
||||
assertEquals(Rules.inBounds(gameState(a(0)), point(a(1))), c("expected").bool)
|
||||
}
|
||||
}
|
||||
|
||||
cases("m03-turn").foreach { c =>
|
||||
test(s"turn: ${c("name").str}") {
|
||||
val a = c("args")
|
||||
assertEquals(Rules.turn(gameState(a(0)), direction(a(1))), gameState(c("expected")))
|
||||
}
|
||||
}
|
||||
|
||||
cases("m03-advance").foreach { c =>
|
||||
test(s"advance: ${c("name").str}") {
|
||||
assertEquals(Rules.advance(gameState(c("args")(0))), gameState(c("expected")))
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user