List view
Basically, we need a set of fast, measurable, automated tests to determine whether modifications we make to the SharpChess engine, make it stronger or weaker at winning games of chess. One way to achieve this is by using a set of "test" chess positions, where the "best move" (answer) for each position is specified with each test. We can then develop a set of test that load these test position, and instruct SharpChess to solve them. We'll need to measure whether a) SharpChess finds the correct move, or not; and b) measure how long it takes for SharpChess to find the correct move. Once we have run all the tests we'll then have pass or fail data, and also timings for each test. Then we can work on improving the SharpChess engine, to pass more tests, and improve the timings. A list of test chess positions can be found at the link below. They'll likely be many more test positions that can be found on the internet. http://chessprogramming.wikispaces.com/Test-Positions
No due date•0/1 issues closedUnit tests to cover all aspects of the chess position Evaluation function (player.score in SharpChess), which ensure that the evaluation function is performing as expected. Note this task isn't to try and improve the Evaluation function, but simply to add tests to ensure that it is functioning as expected. Background: The evaluation function returns a numeric score that determines the relative quality of a chess position. The better the evaluation function, then the smarter SharpChess will be! The evulation function will be called many times per second, and consequently must contain very efficient code, which executes as quickly as possible! See ChessWiki for mroe background in the chess engine Evaluation Function. http://chessprogramming.wikispaces.com/Evaluation
No due date•0/1 issues closedUnit tests to ensure that of SharpChess's move searching algorithm, whichit uses to find the best move, is functioning as expected. e.g. Alpha-Beta, Iterative deepening, null-move forward pruning, transposition table etc. See ChessWiki for further information of the Chess Engine Search function: http://chessprogramming.wikispaces.com/Search
No due date•0/1 issues closedUnit tests cover all aspects of standard chess game rules. to ensure that it is not possible for the chess game to be in an illegal state.
No due date•0/1 issues closedDomain Model classes and GUI files are partioned into separtate assemblies and namespaces. Domain Model classes should be contained in SharpChess.Model namespace and assembly. GUI classes should be contained in SharpChess.GUI namespace and assembly.
No due date•0/1 issues closedSharpChess code passes all Visual Studio Code Analysis rules.
No due date•0/1 issues closedSource code passes all StyleCop rules.
No due date•0/1 issues closed