You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Naive implements of Castling could get away with it because of spotty test coverage.
Discussion
The Castling tests, along with other tests, were designed to give us a "good enough" assurance that the code was implemented properly. Each of the conditions are tested, but most are only tested from a single perspective.
Reasonable implementations of chess would work if all of these tests work, but students do all sorts of ugly, horrific, and unreasonable things to their code. We should make sure we test it properly.
This visualization was first introduced when the castling tests were most recently factored in #13.
Visualization
The current state of the tested conditions is as follows. Notice the significant holes.
Overview
Naive implements of Castling could get away with it because of spotty test coverage.
Discussion
The Castling tests, along with other tests, were designed to give us a "good enough" assurance that the code was implemented properly. Each of the conditions are tested, but most are only tested from a single perspective.
Reasonable implementations of chess would work if all of these tests work, but students do all sorts of ugly, horrific, and unreasonable things to their code. We should make sure we test it properly.
This visualization was first introduced when the castling tests were most recently factored in #13.
Visualization
The current state of the tested conditions is as follows. Notice the significant holes.
castleWhite
castleBlack
noCastleAfterMove
noCastleThroughPieces
noCastleFromCheck
noCastleThroughCheck
noCastleIntoCheck
The text was updated successfully, but these errors were encountered: