DEV-1761: New rules API (#118)
* DEV-1761: Clean up Ruleset interface (#115) * remove legacy ruleset types and simplify ruleset interface * remove unnecessary settings argument from Ruleset interface * decouple rules.Settings from client API and store settings as strings * DEV 1761: Add new BoardState and Point fields (#117) * add Point.TTL, Point.Value, GameState and PointState to BoardState * allow maps to access BoardState.GameState,PointState * add PreUpdateBoard and refactor snail_mode with it * fix bug where an extra turn was printed to the console * fix formatting * fix lint errors Co-authored-by: JonathanArns <jonathan.arns@googlemail.com>
This commit is contained in:
parent
639362ef46
commit
82e1999126
50 changed files with 1349 additions and 1610 deletions
|
|
@ -27,7 +27,7 @@ func TestPipelineRuleset(t *testing.T) {
|
|||
name: "test",
|
||||
pipeline: p,
|
||||
}
|
||||
ended, err := pr.IsGameOver(&BoardState{})
|
||||
ended, _, err := pr.Execute(&BoardState{}, nil)
|
||||
require.NoError(t, err)
|
||||
require.True(t, ended)
|
||||
|
||||
|
|
@ -37,7 +37,7 @@ func TestPipelineRuleset(t *testing.T) {
|
|||
name: "test",
|
||||
pipeline: p,
|
||||
}
|
||||
ended, err = pr.IsGameOver(&BoardState{})
|
||||
ended, _, err = pr.Execute(&BoardState{}, nil)
|
||||
require.NoError(t, err)
|
||||
require.False(t, ended)
|
||||
|
||||
|
|
@ -56,10 +56,10 @@ func TestPipelineRuleset(t *testing.T) {
|
|||
pipeline: p,
|
||||
}
|
||||
require.Empty(t, b.Food)
|
||||
b, err = pr.ModifyInitialBoardState(b)
|
||||
_, b, err = pr.Execute(b, nil)
|
||||
require.NoError(t, err)
|
||||
require.Empty(t, b.Food, "food should not be added on initialisation phase")
|
||||
b, err = pr.CreateNextBoardState(b, mockSnakeMoves())
|
||||
_, b, err = pr.Execute(b, mockSnakeMoves())
|
||||
require.NoError(t, err)
|
||||
require.NotEmpty(t, b.Food, "fodo should be added now")
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue