Skip to content

Latest commit

 

History

History
91 lines (72 loc) · 3.47 KB

CHANGELOG.md

File metadata and controls

91 lines (72 loc) · 3.47 KB

CHANGELOG

Go To:

Most Recent (1.1.0)


1.0.0 (alpha)

  • 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.0.0

1.17.2019

  • Initial release
  • Added CLITester and CLIResult for command line help.
  • Added CheckstyleGrader for creating a GradedTestResult 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.0.1

1.24.2019

  • Bug in CheckstyleGrader excluding files named with test anywhere in the path, now ignores case.

1.0.2

1.28.2019

  • Bug in CLIResult that returned a List of size 1 rather than 0 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.0.3

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.1.0

1.31.2019

  • Added strategy design pattern to Grader so when a client calls runJUnitGradedTests 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 the Grader but would be a little messier work and wanted to get it working quickly to use this semester.
  • 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

1.1.1

1.31.2019

  • Fixed bug in DeductiveGraderStrategy where starting point value test wasn't added in all cases.

1.1.2

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)

1.1.3

2.4.2019

  • CheckstyleGrader adds the error type to it's output
  • Method getErrorTypes() to get the Map of error types to their count.
  • Method getErrorTypeCount() to get the number of error types encountered.

1.1.4

4.15.2019

  • addCommandLineArg(String) in CLITester

2.0.0

  • Renamed Observer to Formatter everywhere
  • Renamed domain to com.github.tkutcher to match GitHub username.

Repository

  • Switched CI to GitLab