working on test cases

git-svn-id: svn://anubis/gvsu@82 45c1a28c-8058-47b2-ae61-ca45b979098e
This commit is contained in:
josh 2008-03-26 23:59:22 +00:00
parent 5462edb8e8
commit 4654beb362
3 changed files with 42 additions and 3 deletions

View File

@ -8,9 +8,6 @@ public class KnightsTourBoard
KnightsTourBoard(int width, int height) KnightsTourBoard(int width, int height)
{ {
m_board = new int[width][height]; m_board = new int[width][height];
for (int x = 0; x < m_width; x++)
for (int y = 0; y < m_height; y++)
m_board[x][y] = 0;
} }
public int getWidth() { return m_width; } public int getWidth() { return m_width; }
@ -19,6 +16,9 @@ public class KnightsTourBoard
public boolean tour(int startx, int starty) public boolean tour(int startx, int starty)
{ {
for (int x = 0; x < m_width; x++)
for (int y = 0; y < m_height; y++)
m_board[x][y] = 0;
m_board[startx][starty] = 1; m_board[startx][starty] = 1;
return tourFrom(2, startx, starty); return tourFrom(2, startx, starty);
} }

View File

@ -0,0 +1,33 @@
import junit.framework.TestCase;
public class KnightsTourBoardTest extends TestCase
{
public void testKnightsTourBoardImpossible1()
{
KnightsTourBoard ktb = new KnightsTourBoard(3, 3);
assertFalse(ktb.tour(0, 0));
assertFalse(ktb.tour(1, 1));
assertFalse(ktb.tour(0, 1));
}
public void testKnightsTourBoardImpossible2()
{
KnightsTourBoard ktb = new KnightsTourBoard(3, 4);
assertFalse(ktb.tour(0, 0));
assertFalse(ktb.tour(1, 1));
assertFalse(ktb.tour(0, 1));
assertFalse(ktb.tour(1, 2));
assertFalse(ktb.tour(1, 3));
assertFalse(ktb.tour(2, 3));
}
public void testKnightsTourBoardPossible1()
{
KnightsTourBoard ktb = new KnightsTourBoard(5, 5);
assertTrue(ktb.tour(2, 2));
}
}

View File

@ -1,4 +1,6 @@
export CLASSPATH := $(CLASSPATH):/usr/share/junit/lib/junit.jar
all: $(patsubst %.java,%.class,$(wildcard *.java)) all: $(patsubst %.java,%.class,$(wildcard *.java))
%.class: %.java %.class: %.java
@ -9,6 +11,10 @@ javadoc:
-mkdir doc -mkdir doc
javadoc -d doc *.java javadoc -d doc *.java
.PHONY: test
test: all
java junit.swingui.TestRunner KnightsTourBoardTest
clean: clean:
-rm -f *.class -rm -f *.class
-rm -rf doc -rm -rf doc