reorder built-in ruleset stages so game over is checked first (#79)

This commit is contained in:
Rob O'Dwyer 2022-06-01 15:21:27 -07:00 committed by GitHub
parent f0dc0bcb38
commit 426da8ac5e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 17 additions and 43 deletions

View file

@ -13,9 +13,14 @@ func TestRoyaleRulesetInterface(t *testing.T) {
}
func TestRoyaleDefaultSanity(t *testing.T) {
boardState := &BoardState{}
boardState := &BoardState{
Snakes: []Snake{
{ID: "1", Body: []Point{{X: 0, Y: 0}}},
{ID: "2", Body: []Point{{X: 0, Y: 1}}},
},
}
r := RoyaleRuleset{StandardRuleset: StandardRuleset{HazardDamagePerTurn: 1}, ShrinkEveryNTurns: 0}
_, err := r.CreateNextBoardState(boardState, []SnakeMove{{"", ""}})
_, err := r.CreateNextBoardState(boardState, []SnakeMove{{"1", "right"}, {"2", "right"}})
require.Error(t, err)
require.Equal(t, errors.New("royale game can't shrink more frequently than every turn"), err)