The WordMatcher is a multithreaded Java program that does the case-insensitive word match counting of given Input sentences against a predefined set of English words.
Download the project from the Github Repo.
Preferred IDE to open the project - JetBrains IntelliJ
Use the java JDK 22 jdk-22 to run the project / compiled jar file
Note: Your system must have Java Runtime Engine to run the project
- The program requires atleast two input files. PredefineWordsTextFile, InputFile.
- At this time the project supports only .txt files, where inputs and words are separated on new lines.
- Place the input files in the
src/resources/input
folder under theIllumioAssessment
root folder.
- From the root folder
IllumioAssessment
. You have 2 options to run the project. - Write your filenames in the <> templates given.
Note: FileNames must be case-sensitive with exact file extension (.txt).
In the command, write only filename and not the entire file path.
Place the file names in the order of the templates provided.
- Run the pre-compiled jar file
java -jar ./target/IllumioAssessment-1.0-SNAPSHOT.jar <PredefineWordsTextFileName.txt> <InputFileName.txt>
- Run the program by yourself.
- Compile
javac ./src/main/java/org/example/*.java
- Execute
java -cp "./target/classes" org.example.Main <PredefineWordsTextFileName.txt> <InputFileName.txt>
- As successful execution, the program automatically places the word and its match count in a new output file on every new execution.
- Find the output files, placed at
src/resources/output
folder under theIllumioAssessment
root folder. - The output is
.csv
file.
There is a test suite included for the project. Tests are places at src/test
under the IllumioAssessment
root folder.
- Test to word match regardless of punctuation marks attached to the words of inputs.
- Test to word match the entire word instead of a partial word match of the predefined word in the inputs.
- Test to word match of predefined words to input sentence words are case insensitive.
For any problems related to setup, execution, please contact the repository admin or nartam.p@northeastern.edu