Answers.Body: <p>Chessbase 6 light version, free if you can find it, has an option to view the notation in descriptive notation.<br>
  <a href="http://forums.ubi.com/showthread.php/499956-How-to-Convert-Descriptive-to-Algebraic-Forums" rel="nofollow">http://forums.ubi.com/showthread.php/499956-How-to-Convert-Descriptive-to-Algebraic-Forums</a> may be a useful link.</p>
  
  <p>The promotion does go before the check. There is no check before the promotion.  Some people put an "=" before the promotion.</p>
  
  <p>An interesting game to try to convert would be one with multiply Queens.  This gives a promotion and ambiguity.  You should also get a game with Queenside castling.  When I test my move generator, I setup a semi-random position to test each position.  To test your output, I agree with Tony Ennis, convert it to algebraic and play through the game.  If all else fails, post them online and ask for someone to check the result.</p>
  
  <p>Descriptive notation lesson:
  The first character is the piece being moved, pawns are not considered a pieces except for when they are capturing.  The second character is "-" for a normal move or "x" for captures; if a Pawn captures, use the piece symbol, "PxP."  The third character is the square where it lands.  The files are named after the piece's home square.  The third character is the rank counting from the side which made the move.  "e4" is written as "P-K4" if White played the move else "P-K5."</p>
  
  <p>Note:  The old style did not include a rank if it is the first.</p>
  
  <p>Ambiguity is settled by an expanded description.  The first method is to try to expand the destination square.  That is if you move a Bishop to "N5", if both Bishop can reach "N5", the square is expanded to either "QN5" or "KN5."  If two pieces can reach the same square, the piece is expanded by the original side it started on.  That is if both Knights can go to "Q2," you prefix the piece with its starting side, e.g. "QN-Q2."  If a promotion occurred, you have to use long notation, "QN5-N6."</p>
  
  <p>Castling was "castles" with the expanded form being "castlesQ."  In modern times, people adopt the algebraic form.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-28T20:12:57.043Z
Answers.Text: Warning considering ambiguity: With 3 Q, it can happen you must specify the complete starting field. (E.g. Qd4-e5, with a Qd6 and Qf4 present)
Answers.UserDisplayName: Hauke Reddmann
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-03-20T16:46:27.787Z
Answers.LastActivityDate: 2016-03-20T16:56:04.647Z
Answers.LastEditDate: 2016-03-20T16:56:04.647Z
Answers.UserDisplayName: Mike Jones
Answers.Body: <p>For sample games, just write a program which generates a sequence of games each composed solely of randomly selected moves. A file with a few million random PGN games should be sufficient to cover all cases of interest.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-01-11T17:23:26.327Z
Answers.Text: Random data is helpful in testing, but it's not a substitute for thoughtful test design. Further, with random moves, how do you propose to check that the result is correct?
Answers.UserDisplayName: Pete Becker
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-01-11T18:08:22.260Z
Answers.Text: I think there is some merit to using random moves, or scavenging large numbers of real games and using those. But certainly the corner cases must be considered and added to the testing database.
Answers.UserDisplayName: Tony Ennis
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-01-11T10:48:04.027Z
Answers.LastActivityDate: 2016-01-11T10:48:04.027Z
Answers.UserDisplayName: ChessNotation
Body: <p>I've made a small program that takes a list of moves in ICCF notation and translates them to the following:</p>
  
  <ul>
  <li>SAN</li>
  <li>FAN</li>
  <li>LAN</li>
  <li>MAN</li>
  <li>RAN</li>
  <li>CRAN</li>
  <li>Smith</li>
  <li>Descriptive</li>
  <li>Coordinate</li>
  <li>ICCF</li>
  </ul>
  
  <p>For example, a starting move of <code>2133</code> (<code>Nc3</code> in SAN):</p>
  
  <pre><code>SAN  FAN  LAN     MAN  RAN     CRAN  Smith  Descriptive  Coord  ICCF  Comments
  Nc3  ♘c3  Nb1-c3  Nc3  Nb1-c3  Nc3   b1c3   QN1N-QB3     B1-C3  2133
  </code></pre>
  
  <p>Unfortunately, I'm having some difficulty understanding a few of the rules of the various notation formats (especially Descriptive - as you can see, it doesn't currently omit the unambiguous ranks/files because I haven't implemented the check for unambiguous <em>destination</em> ranks/files yet... so it's possibly a bit too descriptive). For example, checks (e.g. <code>+</code>) are added to the end of a move, but promotions (e.g. <code>Q</code>) are also added to the end of a move. What if both happen at the same time? For that particular situation, I'm pretty sure the check is listed after the promotion indicator, but I'm even more sure that there are other situations I'm not even thinking of.</p>
  
  <p>What I'm hoping for (and haven't been able to find with a few Google searches, as I don't even know what search terms would produce it if it existed) is a sample game with moves that create these uncommon notations, so that I can input them into my program as a kind of test suite, see what it produces, and check the results. Alternatively, a simple list of these situations (e.g. "a pawn that captures a piece into a promotion, for a check") would be good too.</p>
  
  <p>If, once I've done that, I can't tell if the program's output is even correct, I'll ask a separate question about it.</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-01-11T18:03:47.893Z
Comments.Text: To know if the result is correct, run a game through a converter, and then convert it back to the original format. The resulting game should be identical. Of course this means you'll have to write a converter to go the other way, too. But it would be the easiest way to check the converters because then you could suck in any game you could find, and there are tens of thousands.
Comments.UserDisplayName: Tony Ennis
Tags: <software><notation>
Title: Moves to test a notation generator
ThreadText: # Moves to test a notation generator
  
  (Asked by: username_0 on 2015-08-22)
  
  I've made a small program that takes a list of moves in ICCF notation and translates them to the following:
  
  SAN
  FAN
  LAN
  MAN
  RAN
  CRAN
  Smith
  Descriptive
  Coordinate
  ICCF
  
  For example, a starting move of 2133 (Nc3 in SAN):
  SAN  FAN  LAN     MAN  RAN     CRAN  Smith  Descriptive  Coord  ICCF  Comments
  Nc3  ♘c3  Nb1-c3  Nc3  Nb1-c3  Nc3   b1c3   QN1N-QB3     B1-C3  2133
  
  Unfortunately, I'm having some difficulty understanding a few of the rules of the various notation formats (especially Descriptive - as you can see, it doesn't currently omit the unambiguous ranks/files because I haven't implemented the check for unambiguous destination ranks/files yet... so it's possibly a bit too descriptive). For example, checks (e.g. +) are added to the end of a move, but promotions (e.g. Q) are also added to the end of a move. What if both happen at the same time? For that particular situation, I'm pretty sure the check is listed after the promotion indicator, but I'm even more sure that there are other situations I'm not even thinking of.
  What I'm hoping for (and haven't been able to find with a few Google searches, as I don't even know what search terms would produce it if it existed) is a sample game with moves that create these uncommon notations, so that I can input them into my program as a kind of test suite, see what it produces, and check the results. Alternatively, a simple list of these situations (e.g. "a pawn that captures a piece into a promotion, for a check") would be good too.
  If, once I've done that, I can't tell if the program's output is even correct, I'll ask a separate question about it.
  
  **Tags:** software, notation
  
  > **Comments:**
  > **username_1**: To know if the result is correct, run a game through a converter, and then convert it back to the original format. The resulting game should be identical. Of course this means you'll have to write a converter to go the other way, too. But it would be the easiest way to check the converters because then you could suck in any game you could find, and there are tens of thousands.  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_2 on 2016-03-20. Score: 1
  
  Chessbase 6 light version, free if you can find it, has an option to view the notation in descriptive notation.  
  <http://forums.ubi.com/showthread.php/499956-How-to-Convert-Descriptive-to-Algebraic-Forums> may be a useful link.
  
  The promotion does go before the check. There is no check before the promotion. Some people put an "=" before the promotion.
  
  An interesting game to try to convert would be one with multiply Queens. This gives a promotion and ambiguity. You should also get a game with Queenside castling. When I test my move generator, I setup a semi-random position to test each position. To test your output, I agree with username_1, convert it to algebraic and play through the game. If all else fails, post them online and ask for someone to check the result.
  
  Descriptive notation lesson:
  The first character is the piece being moved, pawns are not considered a pieces except for when they are capturing. The second character is "-" for a normal move or "x" for captures; if a Pawn captures, use the piece symbol, "PxP." The third character is the square where it lands. The files are named after the piece's home square. The third character is the rank counting from the side which made the move. "e4" is written as "P-K4" if White played the move else "P-K5."
  
  Note: The old style did not include a rank if it is the first.
  
  Ambiguity is settled by an expanded description. The first method is to try to expand the destination square. That is if you move a Bishop to "N5", if both Bishop can reach "N5", the square is expanded to either "QN5" or "KN5." If two pieces can reach the same square, the piece is expanded by the original side it started on. That is if both Knights can go to "Q2," you prefix the piece with its starting side, e.g. "QN-Q2." If a promotion occurred, you have to use long notation, "QN5-N6."
  
  Castling was "castles" with the expanded form being "castlesQ." In modern times, people adopt the algebraic form.
  
  > **Comments:**
  > **username_3**: Warning considering ambiguity: With 3 Q, it can happen you must specify the complete starting field. (E.g. Qd4-e5, with a Qd6 and Qf4 present)  
  
  ---
  
  ### Answer by username_4 on 2016-01-11. Score: -1
  
  For sample games, just write a program which generates a sequence of games each composed solely of randomly selected moves. A file with a few million random PGN games should be sufficient to cover all cases of interest.
  
  > **Comments:**
  > **username_5**: Random data is helpful in testing, but it's not a substitute for thoughtful test design. Further, with random moves, how do you propose to check that the result is correct?  
  > **username_1**: I think there is some merit to using random moves, or scavenging large numbers of real games and using those. But certainly the corner cases must be considered and added to the testing database.  
  
  ---
  
  