programming
__MACOSX/._ObstaclesWarrior
ObstaclesWarrior/.DS_Store
__MACOSX/ObstaclesWarrior/._.DS_Store
__MACOSX/ObstaclesWarrior/._target
ObstaclesWarrior/pom.xml
4.0.0 ObstaclesWarrior ObstaclesWarrior 1.0-SNAPSHOT ObstaclesWarrior http://www.example.com UTF-8 12 12 junit junit 4.11 test maven-clean-plugin 3.1.0 maven-resources-plugin 3.0.2 maven-compiler-plugin 3.8.0 maven-surefire-plugin 2.22.1 maven-jar-plugin 3.0.2 maven-install-plugin 2.5.2 maven-deploy-plugin 2.8.2 maven-site-plugin 3.7.1 maven-project-info-reports-plugin 3.0.0__MACOSX/ObstaclesWarrior/._pom.xml
ObstaclesWarrior/.classpath
__MACOSX/ObstaclesWarrior/._.classpath
__MACOSX/ObstaclesWarrior/._.settings
ObstaclesWarrior/.project
ObstaclesWarrior org.eclipse.jdt.core.javabuilder org.eclipse.m2e.core.maven2Builder org.eclipse.jdt.core.javanature org.eclipse.m2e.core.maven2Nature 1599412327219 30 org.eclipse.core.resources.regexFilterMatcher node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER____MACOSX/ObstaclesWarrior/._.project
__MACOSX/ObstaclesWarrior/._src
__MACOSX/ObstaclesWarrior/target/._test-classes
ObstaclesWarrior/target/.DS_Store
__MACOSX/ObstaclesWarrior/target/._.DS_Store
__MACOSX/ObstaclesWarrior/target/._classes
ObstaclesWarrior/.settings/org.eclipse.jdt.core.prefs
eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.targetPlatform=12 org.eclipse.jdt.core.compiler.compliance=12 org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore org.eclipse.jdt.core.compiler.processAnnotations=disabled org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.source=12
__MACOSX/ObstaclesWarrior/.settings/._org.eclipse.jdt.core.prefs
ObstaclesWarrior/.settings/org.eclipse.jdt.apt.core.prefs
eclipse.preferences.version=1 org.eclipse.jdt.apt.aptEnabled=false
__MACOSX/ObstaclesWarrior/.settings/._org.eclipse.jdt.apt.core.prefs
ObstaclesWarrior/.settings/org.eclipse.m2e.core.prefs
activeProfiles= eclipse.preferences.version=1 resolveWorkspaceProjects=true version=1
__MACOSX/ObstaclesWarrior/.settings/._org.eclipse.m2e.core.prefs
ObstaclesWarrior/.settings/org.eclipse.core.resources.prefs
eclipse.preferences.version=1 encoding//src/main/java=UTF-8 encoding//src/test/java=UTF-8 encoding/<project>=UTF-8
__MACOSX/ObstaclesWarrior/.settings/._org.eclipse.core.resources.prefs
ObstaclesWarrior/src/.DS_Store
__MACOSX/ObstaclesWarrior/src/._.DS_Store
__MACOSX/ObstaclesWarrior/src/._test
__MACOSX/ObstaclesWarrior/src/._main
ObstaclesWarrior/target/test-classes/.DS_Store
__MACOSX/ObstaclesWarrior/target/test-classes/._.DS_Store
__MACOSX/ObstaclesWarrior/target/test-classes/._ObstaclesWarrior
ObstaclesWarrior/target/classes/.DS_Store
__MACOSX/ObstaclesWarrior/target/classes/._.DS_Store
__MACOSX/ObstaclesWarrior/target/classes/._ObstaclesWarrior
ObstaclesWarrior/src/test/.DS_Store
__MACOSX/ObstaclesWarrior/src/test/._.DS_Store
__MACOSX/ObstaclesWarrior/src/test/._java
ObstaclesWarrior/src/main/.DS_Store
__MACOSX/ObstaclesWarrior/src/main/._.DS_Store
__MACOSX/ObstaclesWarrior/src/main/._java
ObstaclesWarrior/target/test-classes/ObstaclesWarrior/MainTest.class
__MACOSX/ObstaclesWarrior/target/test-classes/ObstaclesWarrior/._MainTest.class
ObstaclesWarrior/target/classes/ObstaclesWarrior/Position.class
__MACOSX/ObstaclesWarrior/target/classes/ObstaclesWarrior/._Position.class
ObstaclesWarrior/target/classes/ObstaclesWarrior/Main.class
__MACOSX/ObstaclesWarrior/target/classes/ObstaclesWarrior/._Main.class
ObstaclesWarrior/src/test/java/.DS_Store
__MACOSX/ObstaclesWarrior/src/test/java/._.DS_Store
__MACOSX/ObstaclesWarrior/src/test/java/._ObstaclesWarrior
ObstaclesWarrior/src/main/java/.DS_Store
__MACOSX/ObstaclesWarrior/src/main/java/._.DS_Store
__MACOSX/ObstaclesWarrior/src/main/java/._ObstaclesWarrior
ObstaclesWarrior/src/test/java/ObstaclesWarrior/MainTest.java
ObstaclesWarrior/src/test/java/ObstaclesWarrior/MainTest.java
package
ObstaclesWarrior
;
import
static
org
.
junit
.
Assert
.
assertArrayEquals
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
import
static
org
.
junit
.
Assert
.
assertTrue
;
import
java
.
io
.
File
;
import
java
.
io
.
PrintWriter
;
import
org
.
junit
.
Test
;
/**
* Unit test
*/
public
class
MainTest
{
@
Test
public
void
ReadBoardFromFileTest
()
{
final
String
FILE_NAME
=
"Board.dat"
;
//Either dynamically create the Board.dat file or assume it already exists
File
file
=
new
File
(
FILE_NAME
);
PrintWriter
printToFile
=
new
PrintWriter
(
file
);
printToFile
.
println
(
"4 4"
);
printToFile
.
println
(
"0 2"
);
printToFile
.
println
(
"2 2"
);
printToFile
.
println
(
"0 # # #"
);
printToFile
.
println
(
"# -3 # -5"
);
printToFile
.
println
(
"# # # #"
);
printToFile
.
println
(
"# # -1 #"
);
printToFile
.
close
();
//Create start and exit positions to pass to the method.
//These objects will be set with actual values from the
//board file by your code inside the ReadBoardFromFile() method
Position
actualStartPosition
=
new
Position
(
0
,
0
);
Position
actualExitPosition
=
new
Position
(
0
,
0
);
//These are the expected values for the start and exit postions
Position
expectedStartPosition
=
new
Position
(
0
,
2
);
Position
expectedExitPosition
=
new
Position
(
2
,
2
);
//Create the expected array with the data
String
[][]
expectedBoardArray
=
{
{
"0"
,
"#"
,
"#"
,
"#"
},
{
"#"
,
"-3"
,
"#"
,
"-5"
},
{
"#"
,
"#"
,
"#"
,
"#"
},
{
"#"
,
"#"
,
"-1"
,
"#"
},
};
//Invoke the ReadBoardFromFile() method and capture the returned array
String
[][]
actualBoardArray
=
Main
.
ReadBoardFromFile
(
FILE_NAME
,
actualStartPosition
,
actualExitPosition
);
//Check if the start and exit positions match
if
((
expectedStartPosition
.
getX
()
!=
actualStartPosition
.
getX
())
||
(
expectedStartPosition
.
getY
()
!=
actualStartPosition
.
getY
()))
{
assertTrue
(
"Start position does not match"
,
false
);
}
if
((
expectedExitPosition
.
getX
()
!=
actualExitPosition
.
getX
())
||
(
expectedExitPosition
.
getY
()
!=
actualExitPosition
.
getY
()))
{
assertEquals
(
"Exit position does not match"
,
false
);
}
//Compare the actualBoardArray with the testBoardArray.
//Size and data must match.
//Make sure the number of rows match
assertArrayEquals
(
"Board array read from file does not match expected array"
,
expectedBoardArray
,
actualBoardArray
);
}
@
Test
public
void
WriteBoardToFileTest
()
{
}
@
Test
public
void
GenerateDirectionTest
()
{
}
@
Test
public
void
MoveWarriorTest
()
{
}
@
Test
public
void
CalculateWarriorScoreTest
()
{
}
@
Test
public
void
DisplayResultsTest
()
{
}
}
__MACOSX/ObstaclesWarrior/src/test/java/ObstaclesWarrior/._MainTest.java
ObstaclesWarrior/src/main/java/ObstaclesWarrior/Position.java
ObstaclesWarrior/src/main/java/ObstaclesWarrior/Position.java
package
ObstaclesWarrior
;
/**
* Position
*/
public
class
Position
{
private
int
x
;
private
int
y
;
public
Position
(
int
xValue
,
int
yValue
)
{
x
=
xValue
;
y
=
yValue
;
}
public
int
getX
()
{
return
x
;
}
public
void
setX
(
int
x
)
{
this
.
x
=
x
;
}
public
int
getY
()
{
return
y
;
}
public
void
setY
(
int
y
)
{
this
.
y
=
y
;
}
}
__MACOSX/ObstaclesWarrior/src/main/java/ObstaclesWarrior/._Position.java
ObstaclesWarrior/src/main/java/ObstaclesWarrior/Main.java
ObstaclesWarrior/src/main/java/ObstaclesWarrior/Main.java
package
ObstaclesWarrior
;
/**
* ObstaclesWarrior
*
*/
public
class
Main
{
public
static
void
main
(
String
[]
args
)
{
}
public
static
String
[][]
ReadBoardFromFile
(
String
fileName
,
Position
startPosition
,
Position
exitPosition
)
{
//This code was added just to enable you to run the provided unit test.
//Replace this code with your own code.
String
[][]
gameBoard
=
{
{
"0"
,
"#"
,
"#"
,
"#"
},
{
"#"
,
"-3"
,
"#"
,
"-5"
},
{
"#"
,
"#"
,
"#"
,
"#"
},
{
"#"
,
"#"
,
"-1"
,
"#"
},
};
startPosition
.
setX
(
0
);
startPosition
.
setY
(
2
);
exitPosition
.
setX
(
2
);
exitPosition
.
setY
(
2
);
return
gameBoard
;
}
public
static
boolean
WriteBoardToFile
(
String
fileName
,
String
[][]
boardArray
)
{
return
true
;
}
public
static
int
GenerateDirection
()
{
return
0
;
}
public
static
Boolean
MoveWarrior
(
int
direction
,
String
[][]
boardArray
,
Position
currentPosition
)
{
return
true
;
}
public
static
int
CalculateWarriorScore
(
int
currentScore
,
Position
currentPosition
,
String
[][]
boardArray
)
{
return
0
;
}
public
static
String
DisplayResults
(
int
currentScore
,
int
numberOfMoves
,
int
timeElapsed
,
String
[][]
boardArray
)
{
return
""
;
}
}