Go To:
- For internal use
- Maven setup
- Main program that takes a class name as a String on the command line and runs the annotated methods in that class to produce output
@AfterGrading
,@BeforeGrading
, and@Grade
annotations.- JSON output
- Classes for producing output specific to Gradescope's specifications.
- Note: no textual output support.
1.17.2019
- Initial release
- Added
CLITester
andCLIResult
for command line help. - Added
CheckstyleGrader
for creating aGradedTestResult
based off a checkstyle run. - Made domain for package
com.github.tkutche1
- pom to correctly build jar with dependencies (appended with
-all
). - pom with option to build javadoc.
- Full gradescope example.
1.24.2019
- Bug in
CheckstyleGrader
excluding files named withtest
anywhere in the path, now ignores case.
1.28.2019
- Bug in
CLIResult
that returned aList
of size1
rather than0
when the stream actually had an empty string. - Captures the exit value for the sub-process that runs the main program being tested.
getOutput()
without parameters defaults to returning the standard out.- Some (very basic) unit tests in
CLITesterExecutionResultTest
to test these tweaks and that they work as expected.
1.29.2019
- Checkstyle compliance in all files.
- Docs based on GitHub's community standards.
- Maven checkstyle plugin added to object model.
- Updated naming of jars to not include patch number.
1.31.2019
- Added strategy design pattern to
Grader
so when a client callsrunJUnitGradedTests
the strategy for those test results treats them accordingly.- This is the
GraderStrategy
interface class - Added a private class
DefaultGraderStrategy
that does nothing so as to preserve original behavior for tests, etc. - Note this pattern should probably eventually be moved out to be a strategy for the
GradedTestListener
class rather than theGrader
but would be a little messier work and wanted to get it working quickly to use this semester.
- This is the
- Added
DeductiveGraderStrategy
class to go through graded test results from JUnit tests and treat their scores as deductive.- Constructor sets a starting score, failed tests deduct by the amount of points they are worth up to some floor (0 by default).
- Tracks the total points deducted.
- Appends a message to the test result's output if not all (or no) points were deducted so as to not go beyond the floor.
DeductiveGraderStrategyTest
unit tests- Added to
AllJGradeTests
- Added to
1.31.2019
- Fixed bug in
DeductiveGraderStrategy
where starting point value test wasn't added in all cases.
2.1.2019
- Changed fail message to not include the
Failure.toString()
- If a test failed not using the message parameter, it added some useless output that was confusing to students
- Instead just print (no description provided)
2.4.2019
CheckstyleGrader
adds the error type to it's output- Method
getErrorTypes()
to get theMap
of error types to their count. - Method
getErrorTypeCount()
to get the number of error types encountered.
4.15.2019
addCommandLineArg(String)
inCLITester
- Renamed
Observer
toFormatter
everywhere - Renamed domain to
com.github.tkutcher
to match GitHub username.
Repository
- Switched CI to GitLab