mirror of
https://github.com/peterosterlund2/droidfish.git
synced 2024-11-27 06:10:28 +01:00
Removed useless comments.
This commit is contained in:
parent
82d2daa29d
commit
1808bbb10c
|
@ -28,10 +28,7 @@ import chess.ComputerPlayer;
|
|||
import chess.Move;
|
||||
import chess.Position;
|
||||
|
||||
/**
|
||||
* The main class for the chess GUI.
|
||||
* @author petero
|
||||
*/
|
||||
/** The main class for the chess GUI. */
|
||||
public class AppletGUI extends javax.swing.JApplet implements GUIInterface {
|
||||
private static final long serialVersionUID = 7357610346389734323L;
|
||||
ChessBoardPainter cbp;
|
||||
|
|
|
@ -35,10 +35,7 @@ import java.io.IOException;
|
|||
import java.io.InputStream;
|
||||
import javax.swing.JLabel;
|
||||
|
||||
/**
|
||||
* Draws a graphical chess board. Also handles user interaction.
|
||||
* @author petero
|
||||
*/
|
||||
/** Draws a graphical chess board. Also handles user interaction. */
|
||||
public class ChessBoardPainter extends JLabel {
|
||||
private static final long serialVersionUID = -1319250011487017825L;
|
||||
private Position pos;
|
||||
|
|
|
@ -25,10 +25,6 @@ import chess.HumanPlayer;
|
|||
import chess.Player;
|
||||
import chess.TreeLogger;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class Main {
|
||||
|
||||
/**
|
||||
|
|
|
@ -41,10 +41,7 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
/**
|
||||
* Control the search thread.
|
||||
* @author petero
|
||||
*/
|
||||
/** Control the search thread. */
|
||||
public class EngineControl {
|
||||
PrintStream os;
|
||||
|
||||
|
|
|
@ -22,10 +22,7 @@ import chess.Move;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Store search parameters (times, increments, max depth, etc).
|
||||
* @author petero
|
||||
*/
|
||||
/** Store search parameters (times, increments, max depth, etc). */
|
||||
public class SearchParams {
|
||||
List<Move> searchMoves; // If non-empty, search only these moves
|
||||
int wTime; // White remaining time, ms
|
||||
|
|
|
@ -30,10 +30,7 @@ import java.io.InputStreamReader;
|
|||
import java.io.PrintStream;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* Handle the UCI protocol mode.
|
||||
* @author petero
|
||||
*/
|
||||
/** Handle the UCI protocol mode. */
|
||||
public class UCIProtocol {
|
||||
// Data set by the "position" command.
|
||||
Position pos;
|
||||
|
|
|
@ -25,10 +25,6 @@ import org.junit.BeforeClass;
|
|||
import org.junit.Test;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class UCIProtocolTest {
|
||||
|
||||
public UCIProtocolTest() {
|
||||
|
|
|
@ -32,10 +32,7 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
import java.util.Random;
|
||||
|
||||
/**
|
||||
* Implements an opening book.
|
||||
* @author petero
|
||||
*/
|
||||
/** Implements an opening book. */
|
||||
public class Book {
|
||||
public static class BookEntry {
|
||||
Move move;
|
||||
|
|
|
@ -18,10 +18,7 @@
|
|||
|
||||
package chess;
|
||||
|
||||
/**
|
||||
* Exception class to represent parse errors in FEN or algebraic notation.
|
||||
* @author petero
|
||||
*/
|
||||
/** Exception class to represent parse errors in FEN or algebraic notation. */
|
||||
public class ChessParseError extends Exception {
|
||||
private static final long serialVersionUID = -6051856171275301175L;
|
||||
public ChessParseError() {
|
||||
|
|
|
@ -22,10 +22,7 @@ import java.security.SecureRandom;
|
|||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
/**
|
||||
* A computer algorithm player.
|
||||
* @author petero
|
||||
*/
|
||||
/** A computer algorithm player. */
|
||||
public class ComputerPlayer implements Player {
|
||||
public static final String engineName;
|
||||
|
||||
|
|
|
@ -21,11 +21,7 @@ package chess;
|
|||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
|
||||
/**
|
||||
* Position evaluation routines.
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
/** Position evaluation routines. */
|
||||
public class Evaluate {
|
||||
static final int pV = 92 + Parameters.instance().getIntPar("pV");
|
||||
static final int nV = 385 + Parameters.instance().getIntPar("nV");
|
||||
|
|
|
@ -23,10 +23,6 @@ import java.util.Collections;
|
|||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class Game {
|
||||
protected List<Move> moveList = null;
|
||||
protected List<UndoInfo> uiInfoList = null;
|
||||
|
|
|
@ -18,10 +18,7 @@
|
|||
|
||||
package chess;
|
||||
|
||||
/**
|
||||
* Implements the relative history heuristic.
|
||||
* @author petero
|
||||
*/
|
||||
/** Implements the relative history heuristic. */
|
||||
public final class History {
|
||||
private int countSuccess[][];
|
||||
private int countFail[][];
|
||||
|
|
|
@ -24,10 +24,7 @@ import java.io.InputStreamReader;
|
|||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* A player that reads input from the keyboard.
|
||||
* @author petero
|
||||
*/
|
||||
/** A player that reads input from the keyboard. */
|
||||
public class HumanPlayer implements Player {
|
||||
private String lastCmd = "";
|
||||
private BufferedReader in;
|
||||
|
|
|
@ -18,10 +18,7 @@
|
|||
|
||||
package chess;
|
||||
|
||||
/**
|
||||
* Implement a table of killer moves for the killer heuristic.
|
||||
* @author petero
|
||||
*/
|
||||
/** Implement a table of killer moves for the killer heuristic. */
|
||||
public class KillerTable {
|
||||
/** There is one KTEntry for each ply in the search tree. */
|
||||
static final class KTEntry {
|
||||
|
|
|
@ -20,10 +20,6 @@ package chess;
|
|||
|
||||
import java.util.Comparator;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class Move {
|
||||
/** From square, 0-63. */
|
||||
public int from;
|
||||
|
|
|
@ -20,10 +20,6 @@ package chess;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public final class MoveGen {
|
||||
static final MoveGen instance;
|
||||
static {
|
||||
|
|
|
@ -18,10 +18,7 @@
|
|||
|
||||
package chess;
|
||||
|
||||
/**
|
||||
* Constants for different piece types.
|
||||
* @author petero
|
||||
*/
|
||||
/** Constants for different piece types. */
|
||||
public class Piece {
|
||||
public static final int EMPTY = 0;
|
||||
|
||||
|
|
|
@ -20,10 +20,7 @@ package chess;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Interface for human/computer players.
|
||||
* @author petero
|
||||
*/
|
||||
/** Interface for human/computer players. */
|
||||
public interface Player {
|
||||
/**
|
||||
* Get a command from a player.
|
||||
|
|
|
@ -27,7 +27,6 @@ import java.security.NoSuchAlgorithmException;
|
|||
* since the last capture or pawn move. That state is only needed
|
||||
* for three-fold repetition draw detection, and is better stored
|
||||
* in a separate hash table.
|
||||
* @author petero
|
||||
*/
|
||||
public class Position {
|
||||
public int[] squares;
|
||||
|
|
|
@ -24,10 +24,6 @@ import java.util.ArrayList;
|
|||
import java.util.Arrays;
|
||||
import java.util.Comparator;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class Search {
|
||||
final static int plyScale = 8; // Fractional ply resolution
|
||||
|
||||
|
|
|
@ -20,10 +20,6 @@ package chess;
|
|||
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class TextIO {
|
||||
static public final String startPosFEN = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1";
|
||||
|
||||
|
|
|
@ -21,10 +21,6 @@ package chess;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class TranspositionTable {
|
||||
static final public class TTEntry {
|
||||
long key; // Zobrist hash key
|
||||
|
|
|
@ -18,10 +18,7 @@
|
|||
|
||||
package chess;
|
||||
|
||||
/**
|
||||
* A small helper class that makes it possible to return two values from a function.
|
||||
* @author petero
|
||||
*/
|
||||
/** A helper class that makes it possible to return two values from a function. */
|
||||
public final class TwoReturnValues<T1, T2> {
|
||||
public final T1 first;
|
||||
public final T2 second;
|
||||
|
|
|
@ -21,7 +21,6 @@ package chess;
|
|||
/**
|
||||
* Contains enough information to undo a previous move.
|
||||
* Set by makeMove(). Used by unMakeMove().
|
||||
* @author petero
|
||||
*/
|
||||
public class UndoInfo {
|
||||
int capturedPiece;
|
||||
|
|
|
@ -39,10 +39,7 @@ import java.util.List;
|
|||
import java.util.Locale;
|
||||
import java.util.Scanner;
|
||||
|
||||
/**
|
||||
* The glue between the chess engine and the GUI.
|
||||
* @author petero
|
||||
*/
|
||||
/** The glue between the chess engine and the GUI. */
|
||||
public class ChessController {
|
||||
Player humanPlayer;
|
||||
ComputerPlayer computerPlayer;
|
||||
|
|
|
@ -23,10 +23,6 @@ import org.junit.BeforeClass;
|
|||
import org.junit.Test;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class BookTest {
|
||||
|
||||
public BookTest() {
|
||||
|
|
|
@ -24,10 +24,6 @@ import org.junit.BeforeClass;
|
|||
import org.junit.Test;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class ComputerPlayerTest {
|
||||
|
||||
public ComputerPlayerTest() {
|
||||
|
|
|
@ -23,10 +23,6 @@ import org.junit.BeforeClass;
|
|||
import org.junit.Test;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class EvaluateTest {
|
||||
|
||||
public EvaluateTest() {
|
||||
|
|
|
@ -23,10 +23,6 @@ import org.junit.BeforeClass;
|
|||
import org.junit.Test;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class GameTest {
|
||||
|
||||
public GameTest() {
|
||||
|
|
|
@ -25,10 +25,6 @@ import org.junit.BeforeClass;
|
|||
import org.junit.Test;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class HistoryTest {
|
||||
|
||||
public HistoryTest() {
|
||||
|
|
|
@ -23,10 +23,6 @@ import org.junit.BeforeClass;
|
|||
import org.junit.Test;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class KillerTableTest {
|
||||
|
||||
public KillerTableTest() {
|
||||
|
|
|
@ -25,10 +25,6 @@ import org.junit.BeforeClass;
|
|||
import org.junit.Test;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class MoveGenTest {
|
||||
|
||||
public MoveGenTest() {
|
||||
|
|
|
@ -25,10 +25,6 @@ import org.junit.BeforeClass;
|
|||
import org.junit.Test;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class MoveTest {
|
||||
|
||||
public MoveTest() {
|
||||
|
|
|
@ -23,10 +23,6 @@ import org.junit.BeforeClass;
|
|||
import org.junit.Test;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class PieceTest {
|
||||
|
||||
public PieceTest() {
|
||||
|
|
|
@ -27,10 +27,6 @@ import org.junit.BeforeClass;
|
|||
import org.junit.Test;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class PositionTest {
|
||||
|
||||
public PositionTest() {
|
||||
|
|
|
@ -25,10 +25,6 @@ import org.junit.BeforeClass;
|
|||
import org.junit.Test;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class SearchTest {
|
||||
static final long[] nullHist = new long[200];
|
||||
static TranspositionTable tt = new TranspositionTable(19);
|
||||
|
|
|
@ -25,10 +25,6 @@ import org.junit.BeforeClass;
|
|||
import org.junit.Test;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class TextIOTest {
|
||||
|
||||
public TextIOTest() {
|
||||
|
|
|
@ -24,10 +24,6 @@ import org.junit.BeforeClass;
|
|||
import org.junit.Test;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class TranspositionTableTest {
|
||||
|
||||
public TranspositionTableTest() {
|
||||
|
|
|
@ -33,10 +33,7 @@ import org.petero.droidfish.gamelogic.Position;
|
|||
import org.petero.droidfish.gamelogic.TextIO;
|
||||
import org.petero.droidfish.gamelogic.Pair;
|
||||
|
||||
/**
|
||||
* Implements an opening book.
|
||||
* @author petero
|
||||
*/
|
||||
/** Implements an opening book. */
|
||||
public final class DroidBook {
|
||||
static final class BookEntry {
|
||||
Move move;
|
||||
|
|
|
@ -36,10 +36,7 @@ import org.petero.droidfish.gamelogic.UndoInfo;
|
|||
import org.petero.droidfish.gamelogic.SearchListener.PvInfo;
|
||||
import org.petero.droidfish.tb.Probe;
|
||||
|
||||
/**
|
||||
* A computer algorithm player.
|
||||
* @author petero
|
||||
*/
|
||||
/** A computer algorithm player. */
|
||||
public class DroidComputerPlayer {
|
||||
private UCIEngine uciEngine = null;
|
||||
private final SearchListener listener;
|
||||
|
|
|
@ -32,10 +32,7 @@ import org.petero.droidfish.EngineOptions;
|
|||
import org.petero.droidfish.engine.LocalPipe;
|
||||
import org.petero.droidfish.engine.UCIEngineBase;
|
||||
|
||||
/**
|
||||
* UCI interface to cuckoochess engine.
|
||||
* @author petero
|
||||
*/
|
||||
/** UCI interface to cuckoochess engine. */
|
||||
public class CuckooChessEngine extends UCIEngineBase {
|
||||
|
||||
// Data set by the "position" command.
|
||||
|
|
|
@ -38,10 +38,7 @@ import java.util.Random;
|
|||
|
||||
import org.petero.droidfish.engine.LocalPipe;
|
||||
|
||||
/**
|
||||
* Control the search thread.
|
||||
* @author petero
|
||||
*/
|
||||
/** Control the search thread. */
|
||||
public class DroidEngineControl {
|
||||
LocalPipe os;
|
||||
|
||||
|
|
|
@ -22,10 +22,7 @@ import chess.Move;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Store search parameters (times, increments, max depth, etc).
|
||||
* @author petero
|
||||
*/
|
||||
/** Store search parameters (times, increments, max depth, etc). */
|
||||
public class SearchParams {
|
||||
List<Move> searchMoves; // If non-empty, search only these moves
|
||||
int wTime; // White remaining time, ms
|
||||
|
|
|
@ -18,10 +18,7 @@
|
|||
|
||||
package org.petero.droidfish.gamelogic;
|
||||
|
||||
/**
|
||||
* Exception class to represent parse errors in FEN or algebraic notation.
|
||||
* @author petero
|
||||
*/
|
||||
/** Exception class to represent parse errors in FEN or algebraic notation. */
|
||||
public class ChessParseError extends Exception {
|
||||
private static final long serialVersionUID = -6051856171275301175L;
|
||||
|
||||
|
|
|
@ -44,10 +44,7 @@ import org.petero.droidfish.engine.DroidComputerPlayer.SearchType;
|
|||
import org.petero.droidfish.gamelogic.Game.GameState;
|
||||
import org.petero.droidfish.gamelogic.GameTree.Node;
|
||||
|
||||
/**
|
||||
* The glue between the chess engine and the GUI.
|
||||
* @author petero
|
||||
*/
|
||||
/** The glue between the chess engine and the GUI. */
|
||||
public class DroidChessController {
|
||||
private DroidComputerPlayer computerPlayer = null;
|
||||
private PgnToken.PgnTokenReceiver gameTextListener = null;
|
||||
|
|
|
@ -27,10 +27,6 @@ import java.util.List;
|
|||
import org.petero.droidfish.PGNOptions;
|
||||
import org.petero.droidfish.gamelogic.GameTree.Node;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class Game {
|
||||
boolean pendingDrawOffer;
|
||||
public GameTree tree;
|
||||
|
|
|
@ -18,10 +18,6 @@
|
|||
|
||||
package org.petero.droidfish.gamelogic;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class Move {
|
||||
/** From square, 0-63. */
|
||||
public int from;
|
||||
|
|
|
@ -21,10 +21,6 @@ package org.petero.droidfish.gamelogic;
|
|||
import java.util.ArrayList;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class MoveGen {
|
||||
public static MoveGen instance;
|
||||
static {
|
||||
|
|
|
@ -18,10 +18,7 @@
|
|||
|
||||
package org.petero.droidfish.gamelogic;
|
||||
|
||||
/**
|
||||
* A small helper class that makes it possible to return two values from a function.
|
||||
* @author petero
|
||||
*/
|
||||
/** A helper class that makes it possible to return two values from a function. */
|
||||
public final class Pair<T1, T2> {
|
||||
public final T1 first;
|
||||
public final T2 second;
|
||||
|
|
|
@ -19,10 +19,7 @@
|
|||
|
||||
package org.petero.droidfish.gamelogic;
|
||||
|
||||
/**
|
||||
* Constants for different piece types.
|
||||
* @author petero
|
||||
*/
|
||||
/** Constants for different piece types. */
|
||||
public class Piece {
|
||||
public static final int EMPTY = 0;
|
||||
|
||||
|
|
|
@ -27,7 +27,6 @@ import java.security.NoSuchAlgorithmException;
|
|||
* since the last capture or pawn move. That state is only needed
|
||||
* for three-fold repetition draw detection, and is better stored
|
||||
* in a separate hash table.
|
||||
* @author petero
|
||||
*/
|
||||
public class Position {
|
||||
private int[] squares;
|
||||
|
|
|
@ -26,10 +26,7 @@ import org.petero.droidfish.PGNOptions;
|
|||
import org.petero.droidfish.R;
|
||||
|
||||
|
||||
/**
|
||||
* Handle conversion of positions and moves to/from text format.
|
||||
* @author petero
|
||||
*/
|
||||
/** Handle conversion of positions and moves to/from text format. */
|
||||
public class TextIO {
|
||||
static public final String startPosFEN = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1";
|
||||
|
||||
|
|
|
@ -21,7 +21,6 @@ package org.petero.droidfish.gamelogic;
|
|||
/**
|
||||
* Contains enough information to undo a previous move.
|
||||
* Set by makeMove(). Used by unMakeMove().
|
||||
* @author petero
|
||||
*/
|
||||
public class UndoInfo {
|
||||
int capturedPiece;
|
||||
|
|
|
@ -30,10 +30,6 @@ import org.petero.droidfish.gamelogic.MoveGen;
|
|||
import org.petero.droidfish.gamelogic.Position;
|
||||
import org.petero.droidfish.gamelogic.TextIO;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class BookTest extends TestCase {
|
||||
|
||||
public BookTest() {
|
||||
|
|
|
@ -23,10 +23,6 @@ import java.util.ArrayList;
|
|||
import junit.framework.TestCase;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class GameTest extends TestCase {
|
||||
|
||||
public GameTest() {
|
||||
|
|
|
@ -23,10 +23,6 @@ import java.util.List;
|
|||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class MoveGenTest extends TestCase {
|
||||
|
||||
public MoveGenTest() {
|
||||
|
|
|
@ -20,10 +20,6 @@ package org.petero.droidfish.gamelogic;
|
|||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class MoveTest extends TestCase {
|
||||
|
||||
public MoveTest() {
|
||||
|
|
|
@ -21,10 +21,6 @@ package org.petero.droidfish.gamelogic;
|
|||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class PieceTest extends TestCase {
|
||||
|
||||
public PieceTest() {
|
||||
|
|
|
@ -23,10 +23,6 @@ import java.util.List;
|
|||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class PositionTest extends TestCase {
|
||||
|
||||
public PositionTest() {
|
||||
|
|
|
@ -21,10 +21,6 @@ package org.petero.droidfish.gamelogic;
|
|||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author petero
|
||||
*/
|
||||
public class TextIOTest extends TestCase {
|
||||
|
||||
public TextIOTest() {
|
||||
|
|
Loading…
Reference in New Issue
Block a user