This assignment will also help you gain some experience with the user interaction issues that arise when developing personal navigation systems.
Finally, it will help you review what you have learned in previous courses about data structures and algorithms (including worst-case performance).
For this assignment, you will be developing some components for an address entry system.
WordFinder
class. You
must use JUnit (v5) for this purpose. Your JUnit test suite must cover
all statements and all branches (as measured by EclEmma) in
WordFinder
, CompletingField
,
and CompletingDocument
.
Your unit tests must be in a
package named testing
and each test class must include
the word "Test" in its name.
Nearby has provided you with the following file that you can use for this purpose.
You must also perform integration testing on all of the components you write. Nearby has provided you with the following classes and files that you can use for this purpose.
The data file and the logo file must be accessed from the current working
directory (i.e., they must not be accessed using a path). In Eclipse,
this means that you must copy the files into the project directory/folder
(not the src
folder or any folder underneath it).
.zip
file named sub1.zip
that contains:
gui
, text
, and
testing
packages
(packaged appropriately). Do not submit the app
package and do not submit any data files.
street-names.txt
will be available on Gradescope in the
current working directory.
There is no limit on the number of submissions and no penalty for excessive submissions.
Points will be deducted manually (i.e., after the due date) for code that is unclear, inelegant, and/or poorly documented.
Be careful when you create classes in Eclipse that you put them in the appropriate package.
Note that you should be able to cover all of the statements and
branches in the CompletingField
class by testing
the CompletingDocument
class.
.zip
file. So, you must not
compress the directory/folder containing these
directories/folders, you must compress the directories/folders
containing the packages. In other words, if you have a directory
named src
inside of a directory named pa1
that contains the directories
app
, gui
, text
,
and testing
, you must not compress src
or pa1
, you must
compress text
, gui
,
and testing
.
Help with creating .zip
files is available on the CS Wiki.
In particular, see:
If Gradescope reports errors in the "CompileOfficialTests" section it means that your code does not conform to the specifications.
Make sure that the code that you submit does not make any GUI components visible because Gradescope is running a "headless" version of Java (i.e., a version without displayable components).
Copyright 2025