This part of the document is provided to help you track where you are in the individual project. This section will be updated in future deliverables.
Provided
Expected
Provided
Expected
Provided
Expected
In this deliverable, you will provide your own implementation of the transformtxt utility, written on the Main.java file. Your implementation must pass all of the test cases that you submitted as part of Deliverable 2 (D2). In addition, we will assume that someone else in your team developed a set of additional test cases, independently from you. Your code will also have to pass these additional tests.
Please note that these tests all pass on the reference implementation we provided for D2, so they should be “compatible” with your own tests (as long as they passed in D2). Similar to D2, we are expecting the test class MyMainTest to be self-contained; that is, MyMainTest should not rely on any external classes or resources. However, you may use different classes or files to implement the transformtxt utility.
Make sure not to make calls to System.exit() within your tests, as that creates problems for JUnit.
For this deliverable, you should not modify or delete any of your D2 tests, but you may append additional tests to MyMainTest. Even if you later realize that your original D2 tests are inadequate or somehow do not test the intended program behavior, do not modify the original tests as it will result in a penalty. Instead, append improved tests to MyMainTest.
Your grade for this deliverable will consist of two parts:
Following are the steps to commit and submit this deliverable:
javac -cp lib/* -d classes src/edu/gatech/seclass/transformtxt/*.java test/edu/gatech/seclass/transformtxt/*.java
java -cp classes:lib/* org.junit.platform.console.ConsoleLauncher
–select-class edu.gatech.seclass.transformtxt.MyMainTest
As soon as you submit, Gradescope will grade your submission by:
If any of the above steps fails, you will see a grade of 0 and an error message with some diagnostic information. Please note that, as before, if your submission does not pass the Gradescope checks, it will receive a 0. Conversely, if Gradescope can successfully compile and run your code and both sets of tests, you will immediately receive a grade that is your actual grade for this deliverable (assuming you did not modify your D2 tests). Note that you can resubmit as many times as you want before the deadline.
Unlike other assignments, this deliverable is not available to submit on Gradescope until the previous deliverable is due. That is, deliverable 3 will be available on Gradescope 48 hours after this assignment is released on Canvas.
The test results that you see in Gradescope tell you whether a given test passed or not. If the test didn’t pass, Gradescope should show the difference between expected and actual outputs. For ease of readability, Gradescope will output newlines as “↵“, tabs as “⇥”, and a single space as ” “. Note that these values are not explicit and not expected as output of the transformtxt program; instead, they are replaced to make the Gradescope output easier to read. For example, if the expected output of a test is
“Hello,tworld ” + System.lineSeparator()
then Gradescope will show a message like
… expected <Hello,⇥world ↵> but was …
If you need clarifications on a specific test or Gradescope output, please post privately on Ed Discussion (if appropriate, we will make it public) and make sure to add, when applicable:
The bottom line is that, to make the interaction efficient, you should make your posts as self-contained and easy-to-check as possible. The faster we can respond to the posts, the more students we can help. Although we tested the autograder, it may still handle some corner cases incorrectly. If you receive feedback that seems to be incorrect, please contact us on Ed Discussion using the approach we describe above.
In addition, if you think you have a legitimate reason to modify your D2 tests, reach out to us privately on Ed Discussion and provide all the necessary details, to include a justification for why specific tests passed the reference implementation, but failed in your implementation. We believe this should not be necessary, but we cannot completely exclude some rare corner cases.
Answer: No, you can only delete or modify tests that did not pass in deliverable 2.
Answer: It is recommended you use git-diff or the github interface to compare commits with the commits from your D2 active submission and D3 active submission. This will let you know which statements, if any, were changed.
Answer: Unfortunately, we cannot give any further guidance from what was given in the assignment instructions above and/or feedback given from the Gradescope autograder.
Answer: Yes, although there are some details to be aware of (1) make sure the autograder runs without problems, (2) ensure that the libraries must not be made specifically for any version of the assignment in the past or present, and (3) you are responsible for behavior of the library, and we will not help debug problems if you run into Gradescope issues using third party dependencies. We would like to caution that using such libraries may cause problems (such as the program exiting abruptly, etc.), and students should be extra careful and aware of what these libraries do.
Answer: Yes, this shouldn’t result in an error and does not change any behavior. This will replace the substring “-w” with “all”. This happens because we parse -r first, so “-w” “all” becomes the parameters for -r, just like any other string.
Answer: We cannot reveal any of the scenarios tested against.
Reviews
There are no reviews yet.